From 4833841797e56b121ba5130266793a49ca9e0a91 Mon Sep 17 00:00:00 2001 From: acdemiralp <demiralpali@gmail.com> Date: Wed, 14 Nov 2018 00:51:19 +0100 Subject: [PATCH] Added initial project. --- .gitignore | 1 + Source/DisplayCluster/DisplayCluster.Build.cs | 145 + .../DisplayClusterBlueprintAPIImpl.cpp | 473 ++ .../DisplayClusterBlueprintAPIImpl.h | 191 + .../Blueprints/DisplayClusterBlueprintLib.cpp | 17 + .../DisplayClusterClusterNodeCtrlBase.cpp | 71 + .../DisplayClusterClusterNodeCtrlBase.h | 32 + .../DisplayClusterClusterNodeCtrlMaster.cpp | 164 + .../DisplayClusterClusterNodeCtrlMaster.h | 60 + .../DisplayClusterClusterNodeCtrlSlave.cpp | 190 + .../DisplayClusterClusterNodeCtrlSlave.h | 67 + .../Controller/DisplayClusterNodeCtrlBase.cpp | 56 + .../Controller/DisplayClusterNodeCtrlBase.h | 70 + .../DisplayClusterNodeCtrlStandalone.cpp | 85 + .../DisplayClusterNodeCtrlStandalone.h | 55 + .../IPDisplayClusterNodeController.h | 29 + .../Cluster/DisplayClusterClusterManager.cpp | 448 ++ .../Cluster/DisplayClusterClusterManager.h | 109 + .../Cluster/IPDisplayClusterClusterManager.h | 42 + .../Checker/DisplayClusterConfigChecker.cpp | 72 + .../Checker/DisplayClusterConfigChecker.h | 33 + .../Config/DisplayClusterConfigManager.cpp | 465 ++ .../Config/DisplayClusterConfigManager.h | 155 + .../Config/DisplayClusterConfigTypes.cpp | 295 ++ .../Config/IPDisplayClusterConfigManager.h | 24 + .../Parser/DisplayClusterConfigParser.cpp | 80 + .../Parser/DisplayClusterConfigParser.h | 44 + .../DisplayClusterConfigParserDebugAuto.cpp | 63 + .../DisplayClusterConfigParserDebugAuto.h | 21 + .../Parser/DisplayClusterConfigParserText.cpp | 98 + .../Parser/DisplayClusterConfigParserText.h | 37 + .../Parser/DisplayClusterConfigParserXml.cpp | 13 + .../Parser/DisplayClusterConfigParserXml.h | 28 + .../IDisplayClusterConfigParserListener.h | 28 + .../Private/DisplayClusterBuildConfig.h | 13 + .../Private/DisplayClusterConstants.h | 30 + .../Private/DisplayClusterGlobals.cpp | 7 + .../Private/DisplayClusterGlobals.h | 9 + .../Private/DisplayClusterModule.cpp | 204 + .../Private/DisplayClusterModule.h | 93 + .../Private/DisplayClusterStrings.h | 190 + .../Basics/DisplayClusterGameEngine.cpp | 236 + .../Classes/Basics/DisplayClusterGameMode.cpp | 217 + .../Basics/DisplayClusterGameModeDefault.cpp | 28 + .../Game/Classes/Basics/DisplayClusterHUD.cpp | 21 + .../Basics/DisplayClusterPlayerController.cpp | 33 + .../Scene/DisplayClusterCameraComponent.cpp | 36 + .../Game/Classes/Scene/DisplayClusterPawn.cpp | 131 + .../Scene/DisplayClusterPawnDefault.cpp | 254 ++ .../Scene/DisplayClusterSceneComponent.cpp | 89 + .../DisplayClusterSceneComponentSync.cpp | 103 + ...DisplayClusterSceneComponentSyncParent.cpp | 70 + .../DisplayClusterSceneComponentSyncThis.cpp | 67 + .../Scene/DisplayClusterScreenComponent.cpp | 92 + .../Classes/Scene/DisplayClusterSettings.cpp | 20 + .../Game/DisplayClusterGameManager.cpp | 502 +++ .../Private/Game/DisplayClusterGameManager.h | 127 + .../Game/IPDisplayClusterGameManager.h | 29 + .../DisplayCluster/Private/IPDisplayCluster.h | 32 + .../Private/IPDisplayClusterManager.h | 47 + .../Devices/DisplayClusterInputDeviceBase.h | 84 + .../Devices/DisplayClusterInputDeviceTraits.h | 52 + .../Devices/IDisplayClusterInputDevice.h | 31 + .../DisplayClusterVrpnAnalogInputData.h | 13 + ...isplayClusterVrpnAnalogInputDataHolder.cpp | 61 + .../DisplayClusterVrpnAnalogInputDataHolder.h | 39 + .../DisplayClusterVrpnAnalogInputDevice.cpp | 75 + .../DisplayClusterVrpnAnalogInputDevice.h | 42 + .../DisplayClusterVrpnButtonInputData.h | 15 + ...isplayClusterVrpnButtonInputDataHolder.cpp | 62 + .../DisplayClusterVrpnButtonInputDataHolder.h | 38 + .../DisplayClusterVrpnButtonInputDevice.cpp | 91 + .../DisplayClusterVrpnButtonInputDevice.h | 43 + .../DisplayClusterVrpnTrackerInputData.h | 15 + ...splayClusterVrpnTrackerInputDataHolder.cpp | 93 + ...DisplayClusterVrpnTrackerInputDataHolder.h | 38 + .../DisplayClusterVrpnTrackerInputDevice.cpp | 264 ++ .../DisplayClusterVrpnTrackerInputDevice.h | 75 + .../Input/DisplayClusterInputManager.cpp | 498 ++ .../Input/DisplayClusterInputManager.h | 119 + .../Input/IPDisplayClusterInputManager.h | 25 + .../Private/Misc/DisplayClusterAppExit.cpp | 97 + .../Private/Misc/DisplayClusterAppExit.h | 32 + .../Private/Misc/DisplayClusterBarrier.cpp | 112 + .../Private/Misc/DisplayClusterBarrier.h | 59 + .../Private/Misc/DisplayClusterHelpers.h | 206 + .../Private/Misc/DisplayClusterLog.cpp | 17 + .../Private/Misc/DisplayClusterLog.h | 47 + .../Misc/DisplayClusterTypesConverter.h | 104 + .../Private/Network/DisplayClusterClient.cpp | 115 + .../Private/Network/DisplayClusterClient.h | 47 + .../Private/Network/DisplayClusterMessage.cpp | 94 + .../Private/Network/DisplayClusterMessage.h | 84 + .../Private/Network/DisplayClusterServer.cpp | 106 + .../Private/Network/DisplayClusterServer.h | 79 + .../Private/Network/DisplayClusterSession.cpp | 68 + .../Private/Network/DisplayClusterSession.h | 35 + .../Network/DisplayClusterSocketOps.cpp | 194 + .../Private/Network/DisplayClusterSocketOps.h | 58 + .../Network/DisplayClusterTcpListener.cpp | 153 + .../Network/DisplayClusterTcpListener.h | 67 + .../Network/IDisplayClusterSessionListener.h | 27 + .../IPDisplayClusterClusterSyncProtocol.h | 43 + .../IPDisplayClusterSwapSyncProtocol.h | 15 + .../DisplayClusterClusterSyncClient.cpp | 131 + .../DisplayClusterClusterSyncClient.h | 35 + .../DisplayClusterClusterSyncMsg.h | 64 + .../DisplayClusterClusterSyncService.cpp | 221 + .../DisplayClusterClusterSyncService.h | 62 + .../Network/Service/DisplayClusterService.cpp | 55 + .../Network/Service/DisplayClusterService.h | 34 + .../SwapSync/DisplayClusterSwapSyncClient.cpp | 47 + .../SwapSync/DisplayClusterSwapSyncClient.h | 26 + .../SwapSync/DisplayClusterSwapSyncMsg.h | 23 + .../DisplayClusterSwapSyncService.cpp | 107 + .../SwapSync/DisplayClusterSwapSyncService.h | 46 + .../Debug/DisplayClusterDeviceDebug.cpp | 28 + .../Devices/Debug/DisplayClusterDeviceDebug.h | 21 + .../Devices/DisplayClusterDeviceBase.cpp | 421 ++ .../Render/Devices/DisplayClusterDeviceBase.h | 202 + .../Devices/DisplayClusterDeviceInternals.cpp | 110 + .../Devices/DisplayClusterDeviceInternals.h | 133 + .../DisplayClusterNativePresentHandler.cpp | 21 + .../DisplayClusterNativePresentHandler.h | 22 + .../Devices/DisplayClusterViewportArea.h | 52 + .../DisplayClusterDeviceMonoscopicD3D11.cpp | 43 + .../DisplayClusterDeviceMonoscopicD3D11.h | 31 + .../DisplayClusterDeviceMonoscopicD3D12.cpp | 42 + .../DisplayClusterDeviceMonoscopicD3D12.h | 32 + .../DisplayClusterDeviceMonoscopicOpenGL.cpp | 89 + .../DisplayClusterDeviceMonoscopicOpenGL.h | 38 + ...splayClusterDeviceQuadBufferStereoBase.cpp | 93 + ...DisplayClusterDeviceQuadBufferStereoBase.h | 29 + ...playClusterDeviceQuadBufferStereoD3D11.cpp | 110 + ...isplayClusterDeviceQuadBufferStereoD3D11.h | 34 + ...playClusterDeviceQuadBufferStereoD3D12.cpp | 105 + ...isplayClusterDeviceQuadBufferStereoD3D12.h | 37 + ...layClusterDeviceQuadBufferStereoOpenGL.cpp | 495 ++ ...splayClusterDeviceQuadBufferStereoOpenGL.h | 37 + .../DisplayClusterDeviceSideBySide.cpp | 32 + .../DisplayClusterDeviceSideBySide.h | 26 + .../DisplayClusterDeviceTopBottom.cpp | 31 + .../TopBottom/DisplayClusterDeviceTopBottom.h | 25 + .../Render/DisplayClusterRenderManager.cpp | 286 ++ .../Render/DisplayClusterRenderManager.h | 58 + .../Render/IPDisplayClusterRenderManager.h | 19 + .../Blueprints/DisplayClusterBlueprintLib.h | 24 + .../Blueprints/IDisplayClusterBlueprintAPI.h | 236 + .../Cluster/IDisplayClusterClusterManager.h | 22 + .../IDisplayClusterClusterSyncObject.h | 23 + .../Public/Config/DisplayClusterConfigTypes.h | 167 + .../Config/IDisplayClusterConfigManager.h | 55 + .../Public/DisplayClusterCameraComponent.h | 28 + .../Public/DisplayClusterGameEngine.h | 44 + .../Public/DisplayClusterGameMode.h | 55 + .../Public/DisplayClusterGameModeDefault.h | 21 + .../DisplayCluster/Public/DisplayClusterHUD.h | 27 + .../Public/DisplayClusterOperationMode.h | 18 + .../Public/DisplayClusterPawn.h | 77 + .../Public/DisplayClusterPawnDefault.h | 105 + .../Public/DisplayClusterPlayerController.h | 21 + .../Public/DisplayClusterSceneComponent.h | 43 + .../Public/DisplayClusterSceneComponentSync.h | 72 + .../DisplayClusterSceneComponentSyncParent.h | 40 + .../DisplayClusterSceneComponentSyncThis.h | 40 + .../Public/DisplayClusterScreenComponent.h | 38 + .../Public/DisplayClusterSettings.h | 51 + .../Public/Game/IDisplayClusterGameManager.h | 42 + .../DisplayCluster/Public/IDisplayCluster.h | 98 + .../Public/IDisplayClusterSerializable.h | 18 + .../IDisplayClusterStringSerializable.h | 16 + .../Input/IDisplayClusterInputManager.h | 42 + .../Render/IDisplayClusterRenderManager.h | 17 + .../Render/IDisplayClusterStereoDevice.h | 112 + .../DisplayClusterEditor.Build.cs | 26 + .../Private/DisplayClusterEditor.cpp | 49 + .../Private/DisplayClusterEditorEngine.cpp | 47 + .../Private/DisplayClusterEditorEngine.h | 29 + .../Private/DisplayClusterEditorLog.cpp | 7 + .../Private/DisplayClusterEditorLog.h | 9 + .../Private/DisplayClusterEditorSettings.cpp | 41 + .../Public/DisplayClusterEditor.h | 22 + .../Public/DisplayClusterEditorSettings.h | 29 + ThirdParty/Vrpn/Include/vrpn/quat.h | 546 +++ ThirdParty/Vrpn/Include/vrpn/vrpn_Analog.h | 210 + .../Vrpn/Include/vrpn/vrpn_Analog_Output.h | 193 + ThirdParty/Vrpn/Include/vrpn/vrpn_Assert.h | 203 + .../Vrpn/Include/vrpn/vrpn_Auxiliary_Logger.h | 253 ++ ThirdParty/Vrpn/Include/vrpn/vrpn_BaseClass.h | 487 ++ ThirdParty/Vrpn/Include/vrpn/vrpn_Button.h | 296 ++ ThirdParty/Vrpn/Include/vrpn/vrpn_Configure.h | 544 +++ .../Vrpn/Include/vrpn/vrpn_Connection.h | 1185 +++++ ThirdParty/Vrpn/Include/vrpn/vrpn_Dial.h | 116 + .../Include/vrpn/vrpn_EndpointContainer.h | 364 ++ .../Vrpn/Include/vrpn/vrpn_FileConnection.h | 326 ++ .../Vrpn/Include/vrpn/vrpn_FileController.h | 47 + .../Vrpn/Include/vrpn/vrpn_ForceDevice.h | 730 +++ ThirdParty/Vrpn/Include/vrpn/vrpn_Forwarder.h | 132 + .../Include/vrpn/vrpn_ForwarderController.h | 131 + .../Include/vrpn/vrpn_FunctionGenerator.h | 429 ++ ThirdParty/Vrpn/Include/vrpn/vrpn_Imager.h | 804 ++++ .../Vrpn/Include/vrpn/vrpn_LamportClock.h | 91 + ThirdParty/Vrpn/Include/vrpn/vrpn_Mutex.h | 333 ++ ThirdParty/Vrpn/Include/vrpn/vrpn_Poser.h | 191 + .../Include/vrpn/vrpn_RedundantTransmission.h | 214 + ThirdParty/Vrpn/Include/vrpn/vrpn_Serial.h | 91 + .../Vrpn/Include/vrpn/vrpn_SerialPort.h | 227 + ThirdParty/Vrpn/Include/vrpn/vrpn_Shared.h | 495 ++ .../Vrpn/Include/vrpn/vrpn_SharedObject.h | 572 +++ ThirdParty/Vrpn/Include/vrpn/vrpn_Sound.h | 443 ++ ThirdParty/Vrpn/Include/vrpn/vrpn_Text.h | 102 + ThirdParty/Vrpn/Include/vrpn/vrpn_Thread.h | 245 + ThirdParty/Vrpn/Include/vrpn/vrpn_Tracker.h | 518 +++ ThirdParty/Vrpn/Include/vrpn/vrpn_Types.h | 223 + ThirdParty/Vrpn/Include/vrpn/vrpn_WindowsH.h | 78 + ThirdParty/Vrpn/Lib/Linux/libquat.lib | Bin 0 -> 32378 bytes ThirdParty/Vrpn/Lib/Linux/libvrpn.lib | Bin 0 -> 1125448 bytes ThirdParty/Vrpn/Lib/x64/quat.lib | Bin 0 -> 41724 bytes ThirdParty/Vrpn/Lib/x64/quatd.lib | Bin 0 -> 83422 bytes ThirdParty/Vrpn/Lib/x64/vrpn.lib | Bin 0 -> 2064990 bytes ThirdParty/Vrpn/Lib/x64/vrpnd.lib | Bin 0 -> 4504732 bytes ThirdParty/Vrpn/Lib/x86/quat.lib | Bin 0 -> 29682 bytes ThirdParty/Vrpn/Lib/x86/quatd.lib | Bin 0 -> 70984 bytes ThirdParty/Vrpn/Lib/x86/vrpn.lib | Bin 0 -> 1352250 bytes ThirdParty/Vrpn/Lib/x86/vrpnd.lib | Bin 0 -> 3542418 bytes ThirdParty/Vrpn/VRPN.tps | 13 + ThirdParty/X11/Include/X11/CallbackI.h | 119 + ThirdParty/X11/Include/X11/Composite.h | 102 + ThirdParty/X11/Include/X11/CompositeP.h | 113 + ThirdParty/X11/Include/X11/ConstrainP.h | 96 + ThirdParty/X11/Include/X11/Constraint.h | 62 + ThirdParty/X11/Include/X11/ConvertI.h | 96 + ThirdParty/X11/Include/X11/Core.h | 65 + ThirdParty/X11/Include/X11/CoreP.h | 170 + ThirdParty/X11/Include/X11/CreateI.h | 42 + ThirdParty/X11/Include/X11/DECkeysym.h | 65 + ThirdParty/X11/Include/X11/EventI.h | 134 + ThirdParty/X11/Include/X11/HPkeysym.h | 164 + ThirdParty/X11/Include/X11/HookObjI.h | 73 + ThirdParty/X11/Include/X11/ICE/ICE.h | 101 + ThirdParty/X11/Include/X11/ICE/ICEconn.h | 250 + ThirdParty/X11/Include/X11/ICE/ICElib.h | 431 ++ ThirdParty/X11/Include/X11/ICE/ICEmsg.h | 300 ++ ThirdParty/X11/Include/X11/ICE/ICEproto.h | 175 + ThirdParty/X11/Include/X11/ICE/ICEutil.h | 124 + ThirdParty/X11/Include/X11/ImUtil.h | 30 + ThirdParty/X11/Include/X11/InitialI.h | 430 ++ ThirdParty/X11/Include/X11/Intrinsic.h | 2585 +++++++++++ ThirdParty/X11/Include/X11/IntrinsicI.h | 229 + ThirdParty/X11/Include/X11/IntrinsicP.h | 329 ++ ThirdParty/X11/Include/X11/Object.h | 63 + ThirdParty/X11/Include/X11/ObjectP.h | 141 + ThirdParty/X11/Include/X11/PM/PM.h | 54 + ThirdParty/X11/Include/X11/PM/PMproto.h | 74 + ThirdParty/X11/Include/X11/PassivGraI.h | 185 + ThirdParty/X11/Include/X11/RectObj.h | 63 + ThirdParty/X11/Include/X11/RectObjP.h | 131 + ThirdParty/X11/Include/X11/ResConfigP.h | 76 + ThirdParty/X11/Include/X11/ResourceI.h | 100 + ThirdParty/X11/Include/X11/SM/SM.h | 128 + ThirdParty/X11/Include/X11/SM/SMlib.h | 543 +++ ThirdParty/X11/Include/X11/SM/SMproto.h | 206 + ThirdParty/X11/Include/X11/SelectionI.h | 168 + ThirdParty/X11/Include/X11/Shell.h | 562 +++ ThirdParty/X11/Include/X11/ShellI.h | 10 + ThirdParty/X11/Include/X11/ShellP.h | 434 ++ ThirdParty/X11/Include/X11/StringDefs.h | 1085 +++++ ThirdParty/X11/Include/X11/Sunkeysym.h | 106 + ThirdParty/X11/Include/X11/ThreadsI.h | 129 + ThirdParty/X11/Include/X11/TranslateI.h | 606 +++ ThirdParty/X11/Include/X11/VarargsI.h | 66 + ThirdParty/X11/Include/X11/Vendor.h | 70 + ThirdParty/X11/Include/X11/VendorP.h | 102 + ThirdParty/X11/Include/X11/X.h | 717 +++ ThirdParty/X11/Include/X11/XF86keysym.h | 220 + ThirdParty/X11/Include/X11/XKBlib.h | 1149 +++++ ThirdParty/X11/Include/X11/XWDFile.h | 113 + ThirdParty/X11/Include/X11/Xalloca.h | 121 + ThirdParty/X11/Include/X11/Xarch.h | 94 + ThirdParty/X11/Include/X11/Xatom.h | 79 + ThirdParty/X11/Include/X11/Xauth.h | 149 + ThirdParty/X11/Include/X11/Xaw/AllWidgets.h | 37 + ThirdParty/X11/Include/X11/Xaw/AsciiSink.h | 77 + ThirdParty/X11/Include/X11/Xaw/AsciiSinkP.h | 95 + ThirdParty/X11/Include/X11/Xaw/AsciiSrc.h | 172 + ThirdParty/X11/Include/X11/Xaw/AsciiSrcP.h | 139 + ThirdParty/X11/Include/X11/Xaw/AsciiText.h | 123 + ThirdParty/X11/Include/X11/Xaw/AsciiTextP.h | 164 + ThirdParty/X11/Include/X11/Xaw/Box.h | 102 + ThirdParty/X11/Include/X11/Xaw/BoxP.h | 97 + ThirdParty/X11/Include/X11/Xaw/Cardinals.h | 42 + ThirdParty/X11/Include/X11/Xaw/Command.h | 116 + ThirdParty/X11/Include/X11/Xaw/CommandP.h | 111 + ThirdParty/X11/Include/X11/Xaw/Dialog.h | 98 + ThirdParty/X11/Include/X11/Xaw/DialogP.h | 100 + ThirdParty/X11/Include/X11/Xaw/Form.h | 167 + ThirdParty/X11/Include/X11/Xaw/FormP.h | 139 + ThirdParty/X11/Include/X11/Xaw/Grip.h | 96 + ThirdParty/X11/Include/X11/Xaw/GripP.h | 85 + ThirdParty/X11/Include/X11/Xaw/Label.h | 132 + ThirdParty/X11/Include/X11/Xaw/LabelP.h | 115 + ThirdParty/X11/Include/X11/Xaw/List.h | 234 + ThirdParty/X11/Include/X11/Xaw/ListP.h | 115 + ThirdParty/X11/Include/X11/Xaw/MenuButtoP.h | 79 + ThirdParty/X11/Include/X11/Xaw/MenuButton.h | 89 + ThirdParty/X11/Include/X11/Xaw/MultiSink.h | 110 + ThirdParty/X11/Include/X11/Xaw/MultiSinkP.h | 138 + ThirdParty/X11/Include/X11/Xaw/MultiSrc.h | 130 + ThirdParty/X11/Include/X11/Xaw/MultiSrcP.h | 179 + ThirdParty/X11/Include/X11/Xaw/Paned.h | 258 ++ ThirdParty/X11/Include/X11/Xaw/PanedP.h | 176 + ThirdParty/X11/Include/X11/Xaw/Panner.h | 105 + ThirdParty/X11/Include/X11/Xaw/PannerP.h | 106 + ThirdParty/X11/Include/X11/Xaw/Porthole.h | 61 + ThirdParty/X11/Include/X11/Xaw/PortholeP.h | 62 + ThirdParty/X11/Include/X11/Xaw/Repeater.h | 73 + ThirdParty/X11/Include/X11/Xaw/RepeaterP.h | 82 + ThirdParty/X11/Include/X11/Xaw/Reports.h | 55 + ThirdParty/X11/Include/X11/Xaw/Scrollbar.h | 133 + ThirdParty/X11/Include/X11/Xaw/ScrollbarP.h | 103 + ThirdParty/X11/Include/X11/Xaw/Simple.h | 113 + ThirdParty/X11/Include/X11/Xaw/SimpleMenP.h | 99 + ThirdParty/X11/Include/X11/Xaw/SimpleMenu.h | 171 + ThirdParty/X11/Include/X11/Xaw/SimpleP.h | 98 + ThirdParty/X11/Include/X11/Xaw/Sme.h | 71 + ThirdParty/X11/Include/X11/Xaw/SmeBSB.h | 96 + ThirdParty/X11/Include/X11/Xaw/SmeBSBP.h | 92 + ThirdParty/X11/Include/X11/Xaw/SmeLine.h | 69 + ThirdParty/X11/Include/X11/Xaw/SmeLineP.h | 73 + ThirdParty/X11/Include/X11/Xaw/SmeP.h | 88 + ThirdParty/X11/Include/X11/Xaw/StripCharP.h | 104 + ThirdParty/X11/Include/X11/Xaw/StripChart.h | 116 + ThirdParty/X11/Include/X11/Xaw/Template.c | 195 + ThirdParty/X11/Include/X11/Xaw/Template.h | 67 + ThirdParty/X11/Include/X11/Xaw/TemplateP.h | 65 + ThirdParty/X11/Include/X11/Xaw/Text.h | 370 ++ ThirdParty/X11/Include/X11/Xaw/TextP.h | 317 ++ ThirdParty/X11/Include/X11/Xaw/TextSink.h | 359 ++ ThirdParty/X11/Include/X11/Xaw/TextSinkP.h | 300 ++ ThirdParty/X11/Include/X11/Xaw/TextSrc.h | 275 ++ ThirdParty/X11/Include/X11/Xaw/TextSrcP.h | 258 ++ ThirdParty/X11/Include/X11/Xaw/Tip.h | 118 + ThirdParty/X11/Include/X11/Xaw/TipP.h | 75 + ThirdParty/X11/Include/X11/Xaw/Toggle.h | 179 + ThirdParty/X11/Include/X11/Xaw/ToggleP.h | 92 + ThirdParty/X11/Include/X11/Xaw/Tree.h | 135 + ThirdParty/X11/Include/X11/Xaw/TreeP.h | 137 + ThirdParty/X11/Include/X11/Xaw/VendorEP.h | 81 + ThirdParty/X11/Include/X11/Xaw/Viewport.h | 118 + ThirdParty/X11/Include/X11/Xaw/ViewportP.h | 107 + ThirdParty/X11/Include/X11/Xaw/XawImP.h | 210 + ThirdParty/X11/Include/X11/Xaw/XawInit.h | 62 + ThirdParty/X11/Include/X11/Xcms.h | 815 ++++ ThirdParty/X11/Include/X11/Xcursor/Xcursor.h | 500 ++ ThirdParty/X11/Include/X11/Xdefs.h | 108 + ThirdParty/X11/Include/X11/Xdmcp.h | 181 + ThirdParty/X11/Include/X11/Xft/Xft.h | 618 +++ ThirdParty/X11/Include/X11/Xft/XftCompat.h | 163 + ThirdParty/X11/Include/X11/Xfuncproto.h | 221 + ThirdParty/X11/Include/X11/Xfuncs.h | 69 + ThirdParty/X11/Include/X11/Xlib-xcb.h | 20 + ThirdParty/X11/Include/X11/Xlib.h | 4015 +++++++++++++++++ ThirdParty/X11/Include/X11/XlibConf.h | 38 + ThirdParty/X11/Include/X11/Xlibint.h | 1444 ++++++ ThirdParty/X11/Include/X11/Xlocale.h | 37 + ThirdParty/X11/Include/X11/Xmd.h | 142 + ThirdParty/X11/Include/X11/Xmu/Atoms.h | 123 + ThirdParty/X11/Include/X11/Xmu/CharSet.h | 73 + ThirdParty/X11/Include/X11/Xmu/CloseHook.h | 70 + ThirdParty/X11/Include/X11/Xmu/Converters.h | 277 ++ ThirdParty/X11/Include/X11/Xmu/CurUtil.h | 46 + ThirdParty/X11/Include/X11/Xmu/CvtCache.h | 59 + ThirdParty/X11/Include/X11/Xmu/DisplayQue.h | 152 + ThirdParty/X11/Include/X11/Xmu/Drawing.h | 158 + ThirdParty/X11/Include/X11/Xmu/Editres.h | 39 + ThirdParty/X11/Include/X11/Xmu/EditresP.h | 406 ++ ThirdParty/X11/Include/X11/Xmu/Error.h | 56 + ThirdParty/X11/Include/X11/Xmu/ExtAgent.h | 41 + ThirdParty/X11/Include/X11/Xmu/Initer.h | 55 + ThirdParty/X11/Include/X11/Xmu/Lookup.h | 124 + ThirdParty/X11/Include/X11/Xmu/Misc.h | 63 + ThirdParty/X11/Include/X11/Xmu/StdCmap.h | 116 + ThirdParty/X11/Include/X11/Xmu/StdSel.h | 54 + ThirdParty/X11/Include/X11/Xmu/SysUtil.h | 53 + ThirdParty/X11/Include/X11/Xmu/WhitePoint.h | 63 + ThirdParty/X11/Include/X11/Xmu/WidgetNode.h | 95 + ThirdParty/X11/Include/X11/Xmu/WinUtil.h | 61 + ThirdParty/X11/Include/X11/Xmu/Xct.h | 165 + ThirdParty/X11/Include/X11/Xmu/Xmu.h | 122 + ThirdParty/X11/Include/X11/Xos.h | 148 + ThirdParty/X11/Include/X11/Xos_r.h | 1095 +++++ ThirdParty/X11/Include/X11/Xosdefs.h | 116 + ThirdParty/X11/Include/X11/Xpoll.h | 230 + ThirdParty/X11/Include/X11/Xproto.h | 2157 +++++++++ ThirdParty/X11/Include/X11/Xprotostr.h | 77 + ThirdParty/X11/Include/X11/Xregion.h | 190 + ThirdParty/X11/Include/X11/Xresource.h | 358 ++ ThirdParty/X11/Include/X11/Xthreads.h | 314 ++ ThirdParty/X11/Include/X11/Xtos.h | 69 + ThirdParty/X11/Include/X11/Xutil.h | 838 ++++ ThirdParty/X11/Include/X11/Xw32defs.h | 79 + ThirdParty/X11/Include/X11/Xwindows.h | 114 + ThirdParty/X11/Include/X11/Xwinsock.h | 77 + ThirdParty/X11/Include/X11/ap_keysym.h | 51 + ThirdParty/X11/Include/X11/cursorfont.h | 111 + ThirdParty/X11/Include/X11/dri/xf86dri.h | 65 + ThirdParty/X11/Include/X11/dri/xf86driproto.h | 342 ++ ThirdParty/X11/Include/X11/dri/xf86dristr.h | 3 + ThirdParty/X11/Include/X11/extensions/EVI.h | 36 + .../X11/Include/X11/extensions/EVIproto.h | 96 + .../X11/Include/X11/extensions/MITMisc.h | 54 + ThirdParty/X11/Include/X11/extensions/Print.h | 552 +++ .../X11/Include/X11/extensions/Printstr.h | 783 ++++ ThirdParty/X11/Include/X11/extensions/XEVI.h | 61 + ThirdParty/X11/Include/X11/extensions/XI.h | 308 ++ ThirdParty/X11/Include/X11/extensions/XI2.h | 245 + .../X11/Include/X11/extensions/XI2proto.h | 1091 +++++ .../X11/Include/X11/extensions/XInput.h | 1277 ++++++ .../X11/Include/X11/extensions/XInput2.h | 657 +++ .../X11/Include/X11/extensions/XIproto.h | 1758 ++++++++ ThirdParty/X11/Include/X11/extensions/XKB.h | 786 ++++ .../X11/Include/X11/extensions/XKBbells.h | 141 + .../X11/Include/X11/extensions/XKBconfig.h | 278 ++ .../X11/Include/X11/extensions/XKBfile.h | 490 ++ .../X11/Include/X11/extensions/XKBgeom.h | 657 +++ .../X11/Include/X11/extensions/XKBproto.h | 1281 ++++++ .../X11/Include/X11/extensions/XKBrules.h | 197 + .../X11/Include/X11/extensions/XKBsrv.h | 1184 +++++ .../X11/Include/X11/extensions/XKBstr.h | 613 +++ ThirdParty/X11/Include/X11/extensions/XKM.h | 69 + .../X11/Include/X11/extensions/XKMformat.h | 299 ++ ThirdParty/X11/Include/X11/extensions/XLbx.h | 50 + .../X11/Include/X11/extensions/XResproto.h | 227 + ThirdParty/X11/Include/X11/extensions/XShm.h | 135 + ThirdParty/X11/Include/X11/extensions/XTest.h | 144 + ThirdParty/X11/Include/X11/extensions/Xag.h | 90 + .../X11/Include/X11/extensions/Xcomposite.h | 99 + ThirdParty/X11/Include/X11/extensions/Xcup.h | 58 + .../X11/Include/X11/extensions/Xdamage.h | 73 + ThirdParty/X11/Include/X11/extensions/Xdbe.h | 138 + .../X11/Include/X11/extensions/Xeviestr.h | 3 + ThirdParty/X11/Include/X11/extensions/Xext.h | 53 + .../X11/Include/X11/extensions/Xfixes.h | 269 ++ ThirdParty/X11/Include/X11/extensions/Xge.h | 57 + .../X11/Include/X11/extensions/Xinerama.h | 74 + .../X11/Include/X11/extensions/Xrandr.h | 587 +++ .../X11/Include/X11/extensions/Xrender.h | 528 +++ ThirdParty/X11/Include/X11/extensions/Xv.h | 128 + ThirdParty/X11/Include/X11/extensions/XvMC.h | 138 + .../X11/Include/X11/extensions/XvMCproto.h | 226 + ThirdParty/X11/Include/X11/extensions/Xvlib.h | 382 ++ .../X11/Include/X11/extensions/Xvproto.h | 603 +++ ThirdParty/X11/Include/X11/extensions/ag.h | 52 + .../X11/Include/X11/extensions/agproto.h | 178 + .../X11/Include/X11/extensions/bigreqsproto.h | 67 + .../X11/Include/X11/extensions/bigreqstr.h | 3 + .../X11/Include/X11/extensions/composite.h | 71 + .../Include/X11/extensions/compositeproto.h | 192 + ThirdParty/X11/Include/X11/extensions/cup.h | 38 + .../X11/Include/X11/extensions/cupproto.h | 105 + .../X11/Include/X11/extensions/damageproto.h | 158 + .../X11/Include/X11/extensions/damagewire.h | 56 + ThirdParty/X11/Include/X11/extensions/dbe.h | 57 + .../X11/Include/X11/extensions/dbeproto.h | 224 + ThirdParty/X11/Include/X11/extensions/dmx.h | 68 + .../X11/Include/X11/extensions/dmxproto.h | 445 ++ ThirdParty/X11/Include/X11/extensions/dpms.h | 53 + .../X11/Include/X11/extensions/dpmsconst.h | 43 + .../X11/Include/X11/extensions/dpmsproto.h | 175 + .../X11/Include/X11/extensions/dri2proto.h | 357 ++ .../X11/Include/X11/extensions/dri2tokens.h | 61 + .../X11/Include/X11/extensions/dri3proto.h | 167 + .../X11/Include/X11/extensions/evieproto.h | 156 + .../X11/Include/X11/extensions/extutil.h | 190 + ThirdParty/X11/Include/X11/extensions/ge.h | 60 + .../X11/Include/X11/extensions/geproto.h | 85 + ThirdParty/X11/Include/X11/extensions/lbx.h | 73 + .../X11/Include/X11/extensions/lbxproto.h | 975 ++++ .../X11/Include/X11/extensions/mitmiscconst.h | 38 + .../X11/Include/X11/extensions/mitmiscproto.h | 68 + .../X11/Include/X11/extensions/multibuf.h | 207 + .../Include/X11/extensions/multibufconst.h | 83 + .../Include/X11/extensions/multibufproto.h | 295 ++ .../X11/Include/X11/extensions/panoramiXext.h | 85 + .../Include/X11/extensions/panoramiXproto.h | 193 + .../X11/Include/X11/extensions/presentproto.h | 246 + .../Include/X11/extensions/presenttokens.h | 91 + ThirdParty/X11/Include/X11/extensions/randr.h | 198 + .../X11/Include/X11/extensions/randrproto.h | 1096 +++++ .../X11/Include/X11/extensions/record.h | 183 + .../X11/Include/X11/extensions/recordconst.h | 54 + .../X11/Include/X11/extensions/recordproto.h | 306 ++ .../X11/Include/X11/extensions/recordstr.h | 4 + .../X11/Include/X11/extensions/render.h | 212 + .../X11/Include/X11/extensions/renderproto.h | 663 +++ ThirdParty/X11/Include/X11/extensions/saver.h | 52 + .../X11/Include/X11/extensions/saverproto.h | 175 + .../X11/Include/X11/extensions/scrnsaver.h | 134 + ThirdParty/X11/Include/X11/extensions/secur.h | 61 + .../X11/Include/X11/extensions/security.h | 77 + .../X11/Include/X11/extensions/securproto.h | 110 + ThirdParty/X11/Include/X11/extensions/shape.h | 152 + .../X11/Include/X11/extensions/shapeconst.h | 55 + .../X11/Include/X11/extensions/shapeproto.h | 237 + .../X11/Include/X11/extensions/shapestr.h | 8 + ThirdParty/X11/Include/X11/extensions/shm.h | 44 + .../X11/Include/X11/extensions/shmproto.h | 229 + .../X11/Include/X11/extensions/shmstr.h | 63 + ThirdParty/X11/Include/X11/extensions/sync.h | 375 ++ .../X11/Include/X11/extensions/syncconst.h | 181 + .../X11/Include/X11/extensions/syncproto.h | 474 ++ .../X11/Include/X11/extensions/syncstr.h | 182 + .../X11/Include/X11/extensions/vldXvMC.h | 174 + .../X11/Include/X11/extensions/xcmiscproto.h | 110 + .../X11/Include/X11/extensions/xcmiscstr.h | 3 + .../X11/Include/X11/extensions/xf86bigfont.h | 20 + .../Include/X11/extensions/xf86bigfproto.h | 92 + .../X11/Include/X11/extensions/xf86bigfstr.h | 3 + .../X11/Include/X11/extensions/xf86dga.h | 13 + .../Include/X11/extensions/xf86dga1const.h | 36 + .../Include/X11/extensions/xf86dga1proto.h | 195 + .../X11/Include/X11/extensions/xf86dga1str.h | 3 + .../X11/Include/X11/extensions/xf86dgaconst.h | 96 + .../X11/Include/X11/extensions/xf86dgaproto.h | 344 ++ .../X11/Include/X11/extensions/xf86dgastr.h | 3 + .../X11/Include/X11/extensions/xf86misc.h | 172 + .../X11/Include/X11/extensions/xf86mscstr.h | 238 + .../X11/Include/X11/extensions/xf86vm.h | 65 + .../X11/Include/X11/extensions/xf86vmode.h | 298 ++ .../X11/Include/X11/extensions/xf86vmproto.h | 583 +++ .../X11/Include/X11/extensions/xf86vmstr.h | 3 + .../X11/Include/X11/extensions/xfixesproto.h | 551 +++ .../X11/Include/X11/extensions/xfixeswire.h | 139 + .../X11/Include/X11/extensions/xtestconst.h | 41 + .../X11/Include/X11/extensions/xtestext1.h | 98 + .../Include/X11/extensions/xtestext1const.h | 160 + .../Include/X11/extensions/xtestext1proto.h | 221 + .../X11/Include/X11/extensions/xtestproto.h | 124 + ThirdParty/X11/Include/X11/fonts/FS.h | 129 + ThirdParty/X11/Include/X11/fonts/FSproto.h | 814 ++++ ThirdParty/X11/Include/X11/fonts/font.h | 166 + ThirdParty/X11/Include/X11/fonts/fontproto.h | 91 + ThirdParty/X11/Include/X11/fonts/fontstruct.h | 297 ++ ThirdParty/X11/Include/X11/fonts/fsmasks.h | 97 + ThirdParty/X11/Include/X11/keysym.h | 74 + ThirdParty/X11/Include/X11/keysymdef.h | 2497 ++++++++++ ThirdParty/X11/Include/X11/xpm.h | 477 ++ ThirdParty/X11/Include/X11/xshmfence.h | 53 + nDisplay.uplugin | 40 + 549 files changed, 103014 insertions(+) create mode 100644 .gitignore create mode 100644 Source/DisplayCluster/DisplayCluster.Build.cs create mode 100644 Source/DisplayCluster/Private/Blueprints/DisplayClusterBlueprintAPIImpl.cpp create mode 100644 Source/DisplayCluster/Private/Blueprints/DisplayClusterBlueprintAPIImpl.h create mode 100644 Source/DisplayCluster/Private/Blueprints/DisplayClusterBlueprintLib.cpp create mode 100644 Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlBase.cpp create mode 100644 Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlBase.h create mode 100644 Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlMaster.cpp create mode 100644 Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlMaster.h create mode 100644 Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlSlave.cpp create mode 100644 Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlSlave.h create mode 100644 Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterNodeCtrlBase.cpp create mode 100644 Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterNodeCtrlBase.h create mode 100644 Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterNodeCtrlStandalone.cpp create mode 100644 Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterNodeCtrlStandalone.h create mode 100644 Source/DisplayCluster/Private/Cluster/Controller/IPDisplayClusterNodeController.h create mode 100644 Source/DisplayCluster/Private/Cluster/DisplayClusterClusterManager.cpp create mode 100644 Source/DisplayCluster/Private/Cluster/DisplayClusterClusterManager.h create mode 100644 Source/DisplayCluster/Private/Cluster/IPDisplayClusterClusterManager.h create mode 100644 Source/DisplayCluster/Private/Config/Checker/DisplayClusterConfigChecker.cpp create mode 100644 Source/DisplayCluster/Private/Config/Checker/DisplayClusterConfigChecker.h create mode 100644 Source/DisplayCluster/Private/Config/DisplayClusterConfigManager.cpp create mode 100644 Source/DisplayCluster/Private/Config/DisplayClusterConfigManager.h create mode 100644 Source/DisplayCluster/Private/Config/DisplayClusterConfigTypes.cpp create mode 100644 Source/DisplayCluster/Private/Config/IPDisplayClusterConfigManager.h create mode 100644 Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParser.cpp create mode 100644 Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParser.h create mode 100644 Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserDebugAuto.cpp create mode 100644 Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserDebugAuto.h create mode 100644 Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserText.cpp create mode 100644 Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserText.h create mode 100644 Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserXml.cpp create mode 100644 Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserXml.h create mode 100644 Source/DisplayCluster/Private/Config/Parser/IDisplayClusterConfigParserListener.h create mode 100644 Source/DisplayCluster/Private/DisplayClusterBuildConfig.h create mode 100644 Source/DisplayCluster/Private/DisplayClusterConstants.h create mode 100644 Source/DisplayCluster/Private/DisplayClusterGlobals.cpp create mode 100644 Source/DisplayCluster/Private/DisplayClusterGlobals.h create mode 100644 Source/DisplayCluster/Private/DisplayClusterModule.cpp create mode 100644 Source/DisplayCluster/Private/DisplayClusterModule.h create mode 100644 Source/DisplayCluster/Private/DisplayClusterStrings.h create mode 100644 Source/DisplayCluster/Private/Game/Classes/Basics/DisplayClusterGameEngine.cpp create mode 100644 Source/DisplayCluster/Private/Game/Classes/Basics/DisplayClusterGameMode.cpp create mode 100644 Source/DisplayCluster/Private/Game/Classes/Basics/DisplayClusterGameModeDefault.cpp create mode 100644 Source/DisplayCluster/Private/Game/Classes/Basics/DisplayClusterHUD.cpp create mode 100644 Source/DisplayCluster/Private/Game/Classes/Basics/DisplayClusterPlayerController.cpp create mode 100644 Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterCameraComponent.cpp create mode 100644 Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterPawn.cpp create mode 100644 Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterPawnDefault.cpp create mode 100644 Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterSceneComponent.cpp create mode 100644 Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterSceneComponentSync.cpp create mode 100644 Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterSceneComponentSyncParent.cpp create mode 100644 Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterSceneComponentSyncThis.cpp create mode 100644 Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterScreenComponent.cpp create mode 100644 Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterSettings.cpp create mode 100644 Source/DisplayCluster/Private/Game/DisplayClusterGameManager.cpp create mode 100644 Source/DisplayCluster/Private/Game/DisplayClusterGameManager.h create mode 100644 Source/DisplayCluster/Private/Game/IPDisplayClusterGameManager.h create mode 100644 Source/DisplayCluster/Private/IPDisplayCluster.h create mode 100644 Source/DisplayCluster/Private/IPDisplayClusterManager.h create mode 100644 Source/DisplayCluster/Private/Input/Devices/DisplayClusterInputDeviceBase.h create mode 100644 Source/DisplayCluster/Private/Input/Devices/DisplayClusterInputDeviceTraits.h create mode 100644 Source/DisplayCluster/Private/Input/Devices/IDisplayClusterInputDevice.h create mode 100644 Source/DisplayCluster/Private/Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputData.h create mode 100644 Source/DisplayCluster/Private/Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputDataHolder.cpp create mode 100644 Source/DisplayCluster/Private/Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputDataHolder.h create mode 100644 Source/DisplayCluster/Private/Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputDevice.cpp create mode 100644 Source/DisplayCluster/Private/Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputDevice.h create mode 100644 Source/DisplayCluster/Private/Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputData.h create mode 100644 Source/DisplayCluster/Private/Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputDataHolder.cpp create mode 100644 Source/DisplayCluster/Private/Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputDataHolder.h create mode 100644 Source/DisplayCluster/Private/Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputDevice.cpp create mode 100644 Source/DisplayCluster/Private/Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputDevice.h create mode 100644 Source/DisplayCluster/Private/Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputData.h create mode 100644 Source/DisplayCluster/Private/Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputDataHolder.cpp create mode 100644 Source/DisplayCluster/Private/Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputDataHolder.h create mode 100644 Source/DisplayCluster/Private/Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputDevice.cpp create mode 100644 Source/DisplayCluster/Private/Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputDevice.h create mode 100644 Source/DisplayCluster/Private/Input/DisplayClusterInputManager.cpp create mode 100644 Source/DisplayCluster/Private/Input/DisplayClusterInputManager.h create mode 100644 Source/DisplayCluster/Private/Input/IPDisplayClusterInputManager.h create mode 100644 Source/DisplayCluster/Private/Misc/DisplayClusterAppExit.cpp create mode 100644 Source/DisplayCluster/Private/Misc/DisplayClusterAppExit.h create mode 100644 Source/DisplayCluster/Private/Misc/DisplayClusterBarrier.cpp create mode 100644 Source/DisplayCluster/Private/Misc/DisplayClusterBarrier.h create mode 100644 Source/DisplayCluster/Private/Misc/DisplayClusterHelpers.h create mode 100644 Source/DisplayCluster/Private/Misc/DisplayClusterLog.cpp create mode 100644 Source/DisplayCluster/Private/Misc/DisplayClusterLog.h create mode 100644 Source/DisplayCluster/Private/Misc/DisplayClusterTypesConverter.h create mode 100644 Source/DisplayCluster/Private/Network/DisplayClusterClient.cpp create mode 100644 Source/DisplayCluster/Private/Network/DisplayClusterClient.h create mode 100644 Source/DisplayCluster/Private/Network/DisplayClusterMessage.cpp create mode 100644 Source/DisplayCluster/Private/Network/DisplayClusterMessage.h create mode 100644 Source/DisplayCluster/Private/Network/DisplayClusterServer.cpp create mode 100644 Source/DisplayCluster/Private/Network/DisplayClusterServer.h create mode 100644 Source/DisplayCluster/Private/Network/DisplayClusterSession.cpp create mode 100644 Source/DisplayCluster/Private/Network/DisplayClusterSession.h create mode 100644 Source/DisplayCluster/Private/Network/DisplayClusterSocketOps.cpp create mode 100644 Source/DisplayCluster/Private/Network/DisplayClusterSocketOps.h create mode 100644 Source/DisplayCluster/Private/Network/DisplayClusterTcpListener.cpp create mode 100644 Source/DisplayCluster/Private/Network/DisplayClusterTcpListener.h create mode 100644 Source/DisplayCluster/Private/Network/IDisplayClusterSessionListener.h create mode 100644 Source/DisplayCluster/Private/Network/Protocol/IPDisplayClusterClusterSyncProtocol.h create mode 100644 Source/DisplayCluster/Private/Network/Protocol/IPDisplayClusterSwapSyncProtocol.h create mode 100644 Source/DisplayCluster/Private/Network/Service/ClusterSync/DisplayClusterClusterSyncClient.cpp create mode 100644 Source/DisplayCluster/Private/Network/Service/ClusterSync/DisplayClusterClusterSyncClient.h create mode 100644 Source/DisplayCluster/Private/Network/Service/ClusterSync/DisplayClusterClusterSyncMsg.h create mode 100644 Source/DisplayCluster/Private/Network/Service/ClusterSync/DisplayClusterClusterSyncService.cpp create mode 100644 Source/DisplayCluster/Private/Network/Service/ClusterSync/DisplayClusterClusterSyncService.h create mode 100644 Source/DisplayCluster/Private/Network/Service/DisplayClusterService.cpp create mode 100644 Source/DisplayCluster/Private/Network/Service/DisplayClusterService.h create mode 100644 Source/DisplayCluster/Private/Network/Service/SwapSync/DisplayClusterSwapSyncClient.cpp create mode 100644 Source/DisplayCluster/Private/Network/Service/SwapSync/DisplayClusterSwapSyncClient.h create mode 100644 Source/DisplayCluster/Private/Network/Service/SwapSync/DisplayClusterSwapSyncMsg.h create mode 100644 Source/DisplayCluster/Private/Network/Service/SwapSync/DisplayClusterSwapSyncService.cpp create mode 100644 Source/DisplayCluster/Private/Network/Service/SwapSync/DisplayClusterSwapSyncService.h create mode 100644 Source/DisplayCluster/Private/Render/Devices/Debug/DisplayClusterDeviceDebug.cpp create mode 100644 Source/DisplayCluster/Private/Render/Devices/Debug/DisplayClusterDeviceDebug.h create mode 100644 Source/DisplayCluster/Private/Render/Devices/DisplayClusterDeviceBase.cpp create mode 100644 Source/DisplayCluster/Private/Render/Devices/DisplayClusterDeviceBase.h create mode 100644 Source/DisplayCluster/Private/Render/Devices/DisplayClusterDeviceInternals.cpp create mode 100644 Source/DisplayCluster/Private/Render/Devices/DisplayClusterDeviceInternals.h create mode 100644 Source/DisplayCluster/Private/Render/Devices/DisplayClusterNativePresentHandler.cpp create mode 100644 Source/DisplayCluster/Private/Render/Devices/DisplayClusterNativePresentHandler.h create mode 100644 Source/DisplayCluster/Private/Render/Devices/DisplayClusterViewportArea.h create mode 100644 Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicD3D11.cpp create mode 100644 Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicD3D11.h create mode 100644 Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicD3D12.cpp create mode 100644 Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicD3D12.h create mode 100644 Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicOpenGL.cpp create mode 100644 Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicOpenGL.h create mode 100644 Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoBase.cpp create mode 100644 Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoBase.h create mode 100644 Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoD3D11.cpp create mode 100644 Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoD3D11.h create mode 100644 Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoD3D12.cpp create mode 100644 Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoD3D12.h create mode 100644 Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoOpenGL.cpp create mode 100644 Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoOpenGL.h create mode 100644 Source/DisplayCluster/Private/Render/Devices/SideBySide/DisplayClusterDeviceSideBySide.cpp create mode 100644 Source/DisplayCluster/Private/Render/Devices/SideBySide/DisplayClusterDeviceSideBySide.h create mode 100644 Source/DisplayCluster/Private/Render/Devices/TopBottom/DisplayClusterDeviceTopBottom.cpp create mode 100644 Source/DisplayCluster/Private/Render/Devices/TopBottom/DisplayClusterDeviceTopBottom.h create mode 100644 Source/DisplayCluster/Private/Render/DisplayClusterRenderManager.cpp create mode 100644 Source/DisplayCluster/Private/Render/DisplayClusterRenderManager.h create mode 100644 Source/DisplayCluster/Private/Render/IPDisplayClusterRenderManager.h create mode 100644 Source/DisplayCluster/Public/Blueprints/DisplayClusterBlueprintLib.h create mode 100644 Source/DisplayCluster/Public/Blueprints/IDisplayClusterBlueprintAPI.h create mode 100644 Source/DisplayCluster/Public/Cluster/IDisplayClusterClusterManager.h create mode 100644 Source/DisplayCluster/Public/Cluster/IDisplayClusterClusterSyncObject.h create mode 100644 Source/DisplayCluster/Public/Config/DisplayClusterConfigTypes.h create mode 100644 Source/DisplayCluster/Public/Config/IDisplayClusterConfigManager.h create mode 100644 Source/DisplayCluster/Public/DisplayClusterCameraComponent.h create mode 100644 Source/DisplayCluster/Public/DisplayClusterGameEngine.h create mode 100644 Source/DisplayCluster/Public/DisplayClusterGameMode.h create mode 100644 Source/DisplayCluster/Public/DisplayClusterGameModeDefault.h create mode 100644 Source/DisplayCluster/Public/DisplayClusterHUD.h create mode 100644 Source/DisplayCluster/Public/DisplayClusterOperationMode.h create mode 100644 Source/DisplayCluster/Public/DisplayClusterPawn.h create mode 100644 Source/DisplayCluster/Public/DisplayClusterPawnDefault.h create mode 100644 Source/DisplayCluster/Public/DisplayClusterPlayerController.h create mode 100644 Source/DisplayCluster/Public/DisplayClusterSceneComponent.h create mode 100644 Source/DisplayCluster/Public/DisplayClusterSceneComponentSync.h create mode 100644 Source/DisplayCluster/Public/DisplayClusterSceneComponentSyncParent.h create mode 100644 Source/DisplayCluster/Public/DisplayClusterSceneComponentSyncThis.h create mode 100644 Source/DisplayCluster/Public/DisplayClusterScreenComponent.h create mode 100644 Source/DisplayCluster/Public/DisplayClusterSettings.h create mode 100644 Source/DisplayCluster/Public/Game/IDisplayClusterGameManager.h create mode 100644 Source/DisplayCluster/Public/IDisplayCluster.h create mode 100644 Source/DisplayCluster/Public/IDisplayClusterSerializable.h create mode 100644 Source/DisplayCluster/Public/IDisplayClusterStringSerializable.h create mode 100644 Source/DisplayCluster/Public/Input/IDisplayClusterInputManager.h create mode 100644 Source/DisplayCluster/Public/Render/IDisplayClusterRenderManager.h create mode 100644 Source/DisplayCluster/Public/Render/IDisplayClusterStereoDevice.h create mode 100644 Source/DisplayClusterEditor/DisplayClusterEditor.Build.cs create mode 100644 Source/DisplayClusterEditor/Private/DisplayClusterEditor.cpp create mode 100644 Source/DisplayClusterEditor/Private/DisplayClusterEditorEngine.cpp create mode 100644 Source/DisplayClusterEditor/Private/DisplayClusterEditorEngine.h create mode 100644 Source/DisplayClusterEditor/Private/DisplayClusterEditorLog.cpp create mode 100644 Source/DisplayClusterEditor/Private/DisplayClusterEditorLog.h create mode 100644 Source/DisplayClusterEditor/Private/DisplayClusterEditorSettings.cpp create mode 100644 Source/DisplayClusterEditor/Public/DisplayClusterEditor.h create mode 100644 Source/DisplayClusterEditor/Public/DisplayClusterEditorSettings.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/quat.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_Analog.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_Analog_Output.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_Assert.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_Auxiliary_Logger.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_BaseClass.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_Button.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_Configure.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_Connection.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_Dial.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_EndpointContainer.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_FileConnection.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_FileController.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_ForceDevice.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_Forwarder.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_ForwarderController.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_FunctionGenerator.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_Imager.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_LamportClock.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_Mutex.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_Poser.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_RedundantTransmission.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_Serial.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_SerialPort.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_Shared.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_SharedObject.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_Sound.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_Text.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_Thread.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_Tracker.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_Types.h create mode 100644 ThirdParty/Vrpn/Include/vrpn/vrpn_WindowsH.h create mode 100644 ThirdParty/Vrpn/Lib/Linux/libquat.lib create mode 100644 ThirdParty/Vrpn/Lib/Linux/libvrpn.lib create mode 100644 ThirdParty/Vrpn/Lib/x64/quat.lib create mode 100644 ThirdParty/Vrpn/Lib/x64/quatd.lib create mode 100644 ThirdParty/Vrpn/Lib/x64/vrpn.lib create mode 100644 ThirdParty/Vrpn/Lib/x64/vrpnd.lib create mode 100644 ThirdParty/Vrpn/Lib/x86/quat.lib create mode 100644 ThirdParty/Vrpn/Lib/x86/quatd.lib create mode 100644 ThirdParty/Vrpn/Lib/x86/vrpn.lib create mode 100644 ThirdParty/Vrpn/Lib/x86/vrpnd.lib create mode 100644 ThirdParty/Vrpn/VRPN.tps create mode 100644 ThirdParty/X11/Include/X11/CallbackI.h create mode 100644 ThirdParty/X11/Include/X11/Composite.h create mode 100644 ThirdParty/X11/Include/X11/CompositeP.h create mode 100644 ThirdParty/X11/Include/X11/ConstrainP.h create mode 100644 ThirdParty/X11/Include/X11/Constraint.h create mode 100644 ThirdParty/X11/Include/X11/ConvertI.h create mode 100644 ThirdParty/X11/Include/X11/Core.h create mode 100644 ThirdParty/X11/Include/X11/CoreP.h create mode 100644 ThirdParty/X11/Include/X11/CreateI.h create mode 100644 ThirdParty/X11/Include/X11/DECkeysym.h create mode 100644 ThirdParty/X11/Include/X11/EventI.h create mode 100644 ThirdParty/X11/Include/X11/HPkeysym.h create mode 100644 ThirdParty/X11/Include/X11/HookObjI.h create mode 100644 ThirdParty/X11/Include/X11/ICE/ICE.h create mode 100644 ThirdParty/X11/Include/X11/ICE/ICEconn.h create mode 100644 ThirdParty/X11/Include/X11/ICE/ICElib.h create mode 100644 ThirdParty/X11/Include/X11/ICE/ICEmsg.h create mode 100644 ThirdParty/X11/Include/X11/ICE/ICEproto.h create mode 100644 ThirdParty/X11/Include/X11/ICE/ICEutil.h create mode 100644 ThirdParty/X11/Include/X11/ImUtil.h create mode 100644 ThirdParty/X11/Include/X11/InitialI.h create mode 100644 ThirdParty/X11/Include/X11/Intrinsic.h create mode 100644 ThirdParty/X11/Include/X11/IntrinsicI.h create mode 100644 ThirdParty/X11/Include/X11/IntrinsicP.h create mode 100644 ThirdParty/X11/Include/X11/Object.h create mode 100644 ThirdParty/X11/Include/X11/ObjectP.h create mode 100644 ThirdParty/X11/Include/X11/PM/PM.h create mode 100644 ThirdParty/X11/Include/X11/PM/PMproto.h create mode 100644 ThirdParty/X11/Include/X11/PassivGraI.h create mode 100644 ThirdParty/X11/Include/X11/RectObj.h create mode 100644 ThirdParty/X11/Include/X11/RectObjP.h create mode 100644 ThirdParty/X11/Include/X11/ResConfigP.h create mode 100644 ThirdParty/X11/Include/X11/ResourceI.h create mode 100644 ThirdParty/X11/Include/X11/SM/SM.h create mode 100644 ThirdParty/X11/Include/X11/SM/SMlib.h create mode 100644 ThirdParty/X11/Include/X11/SM/SMproto.h create mode 100644 ThirdParty/X11/Include/X11/SelectionI.h create mode 100644 ThirdParty/X11/Include/X11/Shell.h create mode 100644 ThirdParty/X11/Include/X11/ShellI.h create mode 100644 ThirdParty/X11/Include/X11/ShellP.h create mode 100644 ThirdParty/X11/Include/X11/StringDefs.h create mode 100644 ThirdParty/X11/Include/X11/Sunkeysym.h create mode 100644 ThirdParty/X11/Include/X11/ThreadsI.h create mode 100644 ThirdParty/X11/Include/X11/TranslateI.h create mode 100644 ThirdParty/X11/Include/X11/VarargsI.h create mode 100644 ThirdParty/X11/Include/X11/Vendor.h create mode 100644 ThirdParty/X11/Include/X11/VendorP.h create mode 100644 ThirdParty/X11/Include/X11/X.h create mode 100644 ThirdParty/X11/Include/X11/XF86keysym.h create mode 100644 ThirdParty/X11/Include/X11/XKBlib.h create mode 100644 ThirdParty/X11/Include/X11/XWDFile.h create mode 100644 ThirdParty/X11/Include/X11/Xalloca.h create mode 100644 ThirdParty/X11/Include/X11/Xarch.h create mode 100644 ThirdParty/X11/Include/X11/Xatom.h create mode 100644 ThirdParty/X11/Include/X11/Xauth.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/AllWidgets.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/AsciiSink.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/AsciiSinkP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/AsciiSrc.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/AsciiSrcP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/AsciiText.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/AsciiTextP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Box.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/BoxP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Cardinals.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Command.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/CommandP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Dialog.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/DialogP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Form.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/FormP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Grip.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/GripP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Label.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/LabelP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/List.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/ListP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/MenuButtoP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/MenuButton.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/MultiSink.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/MultiSinkP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/MultiSrc.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/MultiSrcP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Paned.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/PanedP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Panner.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/PannerP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Porthole.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/PortholeP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Repeater.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/RepeaterP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Reports.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Scrollbar.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/ScrollbarP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Simple.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/SimpleMenP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/SimpleMenu.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/SimpleP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Sme.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/SmeBSB.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/SmeBSBP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/SmeLine.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/SmeLineP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/SmeP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/StripCharP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/StripChart.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Template.c create mode 100644 ThirdParty/X11/Include/X11/Xaw/Template.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/TemplateP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Text.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/TextP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/TextSink.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/TextSinkP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/TextSrc.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/TextSrcP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Tip.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/TipP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Toggle.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/ToggleP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Tree.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/TreeP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/VendorEP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/Viewport.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/ViewportP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/XawImP.h create mode 100644 ThirdParty/X11/Include/X11/Xaw/XawInit.h create mode 100644 ThirdParty/X11/Include/X11/Xcms.h create mode 100644 ThirdParty/X11/Include/X11/Xcursor/Xcursor.h create mode 100644 ThirdParty/X11/Include/X11/Xdefs.h create mode 100644 ThirdParty/X11/Include/X11/Xdmcp.h create mode 100644 ThirdParty/X11/Include/X11/Xft/Xft.h create mode 100644 ThirdParty/X11/Include/X11/Xft/XftCompat.h create mode 100644 ThirdParty/X11/Include/X11/Xfuncproto.h create mode 100644 ThirdParty/X11/Include/X11/Xfuncs.h create mode 100644 ThirdParty/X11/Include/X11/Xlib-xcb.h create mode 100644 ThirdParty/X11/Include/X11/Xlib.h create mode 100644 ThirdParty/X11/Include/X11/XlibConf.h create mode 100644 ThirdParty/X11/Include/X11/Xlibint.h create mode 100644 ThirdParty/X11/Include/X11/Xlocale.h create mode 100644 ThirdParty/X11/Include/X11/Xmd.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/Atoms.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/CharSet.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/CloseHook.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/Converters.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/CurUtil.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/CvtCache.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/DisplayQue.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/Drawing.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/Editres.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/EditresP.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/Error.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/ExtAgent.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/Initer.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/Lookup.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/Misc.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/StdCmap.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/StdSel.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/SysUtil.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/WhitePoint.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/WidgetNode.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/WinUtil.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/Xct.h create mode 100644 ThirdParty/X11/Include/X11/Xmu/Xmu.h create mode 100644 ThirdParty/X11/Include/X11/Xos.h create mode 100644 ThirdParty/X11/Include/X11/Xos_r.h create mode 100644 ThirdParty/X11/Include/X11/Xosdefs.h create mode 100644 ThirdParty/X11/Include/X11/Xpoll.h create mode 100644 ThirdParty/X11/Include/X11/Xproto.h create mode 100644 ThirdParty/X11/Include/X11/Xprotostr.h create mode 100644 ThirdParty/X11/Include/X11/Xregion.h create mode 100644 ThirdParty/X11/Include/X11/Xresource.h create mode 100644 ThirdParty/X11/Include/X11/Xthreads.h create mode 100644 ThirdParty/X11/Include/X11/Xtos.h create mode 100644 ThirdParty/X11/Include/X11/Xutil.h create mode 100644 ThirdParty/X11/Include/X11/Xw32defs.h create mode 100644 ThirdParty/X11/Include/X11/Xwindows.h create mode 100644 ThirdParty/X11/Include/X11/Xwinsock.h create mode 100644 ThirdParty/X11/Include/X11/ap_keysym.h create mode 100644 ThirdParty/X11/Include/X11/cursorfont.h create mode 100644 ThirdParty/X11/Include/X11/dri/xf86dri.h create mode 100644 ThirdParty/X11/Include/X11/dri/xf86driproto.h create mode 100644 ThirdParty/X11/Include/X11/dri/xf86dristr.h create mode 100644 ThirdParty/X11/Include/X11/extensions/EVI.h create mode 100644 ThirdParty/X11/Include/X11/extensions/EVIproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/MITMisc.h create mode 100644 ThirdParty/X11/Include/X11/extensions/Print.h create mode 100644 ThirdParty/X11/Include/X11/extensions/Printstr.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XEVI.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XI.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XI2.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XI2proto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XInput.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XInput2.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XIproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XKB.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XKBbells.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XKBconfig.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XKBfile.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XKBgeom.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XKBproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XKBrules.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XKBsrv.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XKBstr.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XKM.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XKMformat.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XLbx.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XResproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XShm.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XTest.h create mode 100644 ThirdParty/X11/Include/X11/extensions/Xag.h create mode 100644 ThirdParty/X11/Include/X11/extensions/Xcomposite.h create mode 100644 ThirdParty/X11/Include/X11/extensions/Xcup.h create mode 100644 ThirdParty/X11/Include/X11/extensions/Xdamage.h create mode 100644 ThirdParty/X11/Include/X11/extensions/Xdbe.h create mode 100644 ThirdParty/X11/Include/X11/extensions/Xeviestr.h create mode 100644 ThirdParty/X11/Include/X11/extensions/Xext.h create mode 100644 ThirdParty/X11/Include/X11/extensions/Xfixes.h create mode 100644 ThirdParty/X11/Include/X11/extensions/Xge.h create mode 100644 ThirdParty/X11/Include/X11/extensions/Xinerama.h create mode 100644 ThirdParty/X11/Include/X11/extensions/Xrandr.h create mode 100644 ThirdParty/X11/Include/X11/extensions/Xrender.h create mode 100644 ThirdParty/X11/Include/X11/extensions/Xv.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XvMC.h create mode 100644 ThirdParty/X11/Include/X11/extensions/XvMCproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/Xvlib.h create mode 100644 ThirdParty/X11/Include/X11/extensions/Xvproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/ag.h create mode 100644 ThirdParty/X11/Include/X11/extensions/agproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/bigreqsproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/bigreqstr.h create mode 100644 ThirdParty/X11/Include/X11/extensions/composite.h create mode 100644 ThirdParty/X11/Include/X11/extensions/compositeproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/cup.h create mode 100644 ThirdParty/X11/Include/X11/extensions/cupproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/damageproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/damagewire.h create mode 100644 ThirdParty/X11/Include/X11/extensions/dbe.h create mode 100644 ThirdParty/X11/Include/X11/extensions/dbeproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/dmx.h create mode 100644 ThirdParty/X11/Include/X11/extensions/dmxproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/dpms.h create mode 100644 ThirdParty/X11/Include/X11/extensions/dpmsconst.h create mode 100644 ThirdParty/X11/Include/X11/extensions/dpmsproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/dri2proto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/dri2tokens.h create mode 100644 ThirdParty/X11/Include/X11/extensions/dri3proto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/evieproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/extutil.h create mode 100644 ThirdParty/X11/Include/X11/extensions/ge.h create mode 100644 ThirdParty/X11/Include/X11/extensions/geproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/lbx.h create mode 100644 ThirdParty/X11/Include/X11/extensions/lbxproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/mitmiscconst.h create mode 100644 ThirdParty/X11/Include/X11/extensions/mitmiscproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/multibuf.h create mode 100644 ThirdParty/X11/Include/X11/extensions/multibufconst.h create mode 100644 ThirdParty/X11/Include/X11/extensions/multibufproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/panoramiXext.h create mode 100644 ThirdParty/X11/Include/X11/extensions/panoramiXproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/presentproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/presenttokens.h create mode 100644 ThirdParty/X11/Include/X11/extensions/randr.h create mode 100644 ThirdParty/X11/Include/X11/extensions/randrproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/record.h create mode 100644 ThirdParty/X11/Include/X11/extensions/recordconst.h create mode 100644 ThirdParty/X11/Include/X11/extensions/recordproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/recordstr.h create mode 100644 ThirdParty/X11/Include/X11/extensions/render.h create mode 100644 ThirdParty/X11/Include/X11/extensions/renderproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/saver.h create mode 100644 ThirdParty/X11/Include/X11/extensions/saverproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/scrnsaver.h create mode 100644 ThirdParty/X11/Include/X11/extensions/secur.h create mode 100644 ThirdParty/X11/Include/X11/extensions/security.h create mode 100644 ThirdParty/X11/Include/X11/extensions/securproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/shape.h create mode 100644 ThirdParty/X11/Include/X11/extensions/shapeconst.h create mode 100644 ThirdParty/X11/Include/X11/extensions/shapeproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/shapestr.h create mode 100644 ThirdParty/X11/Include/X11/extensions/shm.h create mode 100644 ThirdParty/X11/Include/X11/extensions/shmproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/shmstr.h create mode 100644 ThirdParty/X11/Include/X11/extensions/sync.h create mode 100644 ThirdParty/X11/Include/X11/extensions/syncconst.h create mode 100644 ThirdParty/X11/Include/X11/extensions/syncproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/syncstr.h create mode 100644 ThirdParty/X11/Include/X11/extensions/vldXvMC.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xcmiscproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xcmiscstr.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xf86bigfont.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xf86bigfproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xf86bigfstr.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xf86dga.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xf86dga1const.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xf86dga1proto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xf86dga1str.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xf86dgaconst.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xf86dgaproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xf86dgastr.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xf86misc.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xf86mscstr.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xf86vm.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xf86vmode.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xf86vmproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xf86vmstr.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xfixesproto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xfixeswire.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xtestconst.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xtestext1.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xtestext1const.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xtestext1proto.h create mode 100644 ThirdParty/X11/Include/X11/extensions/xtestproto.h create mode 100644 ThirdParty/X11/Include/X11/fonts/FS.h create mode 100644 ThirdParty/X11/Include/X11/fonts/FSproto.h create mode 100644 ThirdParty/X11/Include/X11/fonts/font.h create mode 100644 ThirdParty/X11/Include/X11/fonts/fontproto.h create mode 100644 ThirdParty/X11/Include/X11/fonts/fontstruct.h create mode 100644 ThirdParty/X11/Include/X11/fonts/fsmasks.h create mode 100644 ThirdParty/X11/Include/X11/keysym.h create mode 100644 ThirdParty/X11/Include/X11/keysymdef.h create mode 100644 ThirdParty/X11/Include/X11/xpm.h create mode 100644 ThirdParty/X11/Include/X11/xshmfence.h create mode 100644 nDisplay.uplugin diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cd108f1 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +!*.lib \ No newline at end of file diff --git a/Source/DisplayCluster/DisplayCluster.Build.cs b/Source/DisplayCluster/DisplayCluster.Build.cs new file mode 100644 index 0000000..d1a9b7e --- /dev/null +++ b/Source/DisplayCluster/DisplayCluster.Build.cs @@ -0,0 +1,145 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +using UnrealBuildTool; +using System.IO; + +public class DisplayCluster : ModuleRules +{ + private string ModulePath + { + get + { + //return Path.GetDirectoryName(RulesCompiler.GetModuleFilename(this.GetType().Name)); + string ModuleFilename = UnrealBuildTool.RulesCompiler.GetFileNameFromType(GetType()); + string ModuleBaseDirectory = Path.GetDirectoryName(ModuleFilename); + return ModuleBaseDirectory; + } + } + + private string ThirdPartyPath + { + get + { + return Path.GetFullPath(Path.Combine(ModulePath, "../../ThirdParty/")); + } + } + + public DisplayCluster(ReadOnlyTargetRules ROTargetRules) : base(ROTargetRules) + { + PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; + + PrivateIncludePaths.AddRange( + new string[] { + "DisplayCluster/Private", + "../../../../../Engine/Source/Runtime/Renderer/Private" + }); + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + "CoreUObject", + "Engine", + "InputCore" + }); + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "Core", + "CoreUObject", + "Engine", + "HeadMountedDisplay", + "InputCore", + "Networking", + "OpenGLDrv", + "RHI", + "RenderCore", + "Slate", + "SlateCore", + "Sockets" + }); + + if ((ROTargetRules.Platform == UnrealTargetPlatform.Win64) || (ROTargetRules.Platform == UnrealTargetPlatform.Win32)) + { + PrivateIncludePaths.AddRange( + new string[] { + "../../../../../Engine/Source/Runtime/Windows/D3D11RHI/Private", + "../../../../../Engine/Source/Runtime/Windows/D3D11RHI/Private/Windows", + "../../../../../Engine/Source/Runtime/D3D12RHI/Private", + "../../../../../Engine/Source/Runtime/D3D12RHI/Private/Windows" + }); + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "D3D11RHI", + "D3D12RHI" + }); + } + else if (ROTargetRules == UnrealTargetPlatform.Linux) + { + PrivateIncludePaths.AddRange( + new string[] { + "../../../../../Engine/Source/Runtime/OpenGLDrv/Private", + "../../../../../Engine/Source/Runtime/OpenGLDrv/Private/Linux", + "../../../../../Engine/Source/Runtime/OpenGLDrv/Public" + }); + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "SDL2" + }); + } + + if (Target.bBuildEditor == true) + { + PrivateDependencyModuleNames.Add("UnrealEd"); + } + + AddEngineThirdPartyPrivateStaticDependencies(Target, "OpenGL"); + AddEngineThirdPartyPrivateStaticDependencies(Target, "IntelMetricsDiscovery"); + + if ((ROTargetRules.Platform == UnrealTargetPlatform.Win64) || (ROTargetRules.Platform == UnrealTargetPlatform.Win32)) + { + AddEngineThirdPartyPrivateStaticDependencies(Target, "DX11"); + AddEngineThirdPartyPrivateStaticDependencies(Target, "DX12"); + AddEngineThirdPartyPrivateStaticDependencies(Target, "NVAftermath"); + } + + // vrpn + AddDependencyVrpn(ROTargetRules); + } + + public bool AddDependencyVrpn(ReadOnlyTargetRules ROTargetRules) + { + if ((ROTargetRules.Platform == UnrealTargetPlatform.Win64) || (ROTargetRules.Platform == UnrealTargetPlatform.Win32)) + { + string PlatformString = (ROTargetRules.Platform == UnrealTargetPlatform.Win64) ? "x64" : "x86"; + string LibrariesPath = Path.Combine(ThirdPartyPath, "VRPN", "Lib/" + PlatformString); + + //@todo: There are also debug versions: vrpnd.lib and quatd.lib + PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "vrpn.lib")); + PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "quat.lib")); + + PublicIncludePaths.Add(Path.Combine(ThirdPartyPath, "VRPN", "Include")); + + return true; + } + else if (ROTargetRules == UnrealTargetPlatform.Linux) + { + string LibrariesPath = Path.Combine(ThirdPartyPath, "VRPN", "Lib/Linux"); + + PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "libvrpn.lib")); + PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "libquat.lib")); + + PublicIncludePaths.Add(Path.Combine(ThirdPartyPath, "VRPN", "Include")); + PublicIncludePaths.Add(Path.Combine(ThirdPartyPath, "X11", "Include")); // Necessary for hardware swap sync. + + return true; + } + + return false; + } +} diff --git a/Source/DisplayCluster/Private/Blueprints/DisplayClusterBlueprintAPIImpl.cpp b/Source/DisplayCluster/Private/Blueprints/DisplayClusterBlueprintAPIImpl.cpp new file mode 100644 index 0000000..da155e8 --- /dev/null +++ b/Source/DisplayCluster/Private/Blueprints/DisplayClusterBlueprintAPIImpl.cpp @@ -0,0 +1,473 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterBlueprintAPIImpl.h" + +#include "IDisplayCluster.h" + +#include "Cluster/IDisplayClusterClusterManager.h" +#include "Config/IDisplayClusterConfigManager.h" +#include "Game/IDisplayClusterGameManager.h" +#include "Input/IDisplayClusterInputManager.h" +#include "Render/IDisplayClusterRenderManager.h" +#include "Render/IDisplayClusterStereoDevice.h" + + + +////////////////////////////////////////////////////////////////////////////////////////////// +// DisplayCluster module API +////////////////////////////////////////////////////////////////////////////////////////////// +/** Return if the module has been initialized. */ +bool UDisplayClusterBlueprintAPIImpl::IsModuleInitialized() +{ + return IDisplayCluster::Get().IsModuleInitialized(); +} + +EDisplayClusterOperationMode UDisplayClusterBlueprintAPIImpl::GetOperationMode() +{ + return IDisplayCluster::Get().GetOperationMode(); +} + +////////////////////////////////////////////////////////////////////////////////////////////// +// Cluster API +////////////////////////////////////////////////////////////////////////////////////////////// +bool UDisplayClusterBlueprintAPIImpl::IsMaster() +{ + IDisplayClusterClusterManager* const Manager = IDisplayCluster::Get().GetClusterMgr(); + if (Manager) + { + return Manager->IsMaster(); + } + + return false; +} + +bool UDisplayClusterBlueprintAPIImpl::IsSlave() +{ + return !IsMaster(); +} + +bool UDisplayClusterBlueprintAPIImpl::IsCluster() +{ + IDisplayClusterClusterManager* const Manager = IDisplayCluster::Get().GetClusterMgr(); + if (Manager) + { + return Manager->IsCluster(); + } + + return false; +} + +bool UDisplayClusterBlueprintAPIImpl::IsStandalone() +{ + return !IsCluster(); +} + +FString UDisplayClusterBlueprintAPIImpl::GetNodeId() +{ + IDisplayClusterClusterManager* const Manager = IDisplayCluster::Get().GetClusterMgr(); + if (Manager) + { + return Manager->GetNodeId(); + } + + return FString(); +} + +int32 UDisplayClusterBlueprintAPIImpl::GetNodesAmount() +{ + IDisplayClusterClusterManager* const Manager = IDisplayCluster::Get().GetClusterMgr(); + if (Manager) + { + return Manager->GetNodesAmount(); + } + + return 0; +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// Config API +////////////////////////////////////////////////////////////////////////////////////////////// + + + +////////////////////////////////////////////////////////////////////////////////////////////// +// Game API +////////////////////////////////////////////////////////////////////////////////////////////// +// Root +ADisplayClusterPawn* UDisplayClusterBlueprintAPIImpl::GetRoot() +{ + IDisplayClusterGameManager* const Manager = IDisplayCluster::Get().GetGameMgr(); + if (Manager) + { + return Manager->GetRoot(); + } + + return nullptr; +} + +// Screens +UDisplayClusterScreenComponent* UDisplayClusterBlueprintAPIImpl::GetActiveScreen() +{ + IDisplayClusterGameManager* const Manager = IDisplayCluster::Get().GetGameMgr(); + if (Manager) + { + return Manager->GetActiveScreen(); + } + + return nullptr; +} + +UDisplayClusterScreenComponent* UDisplayClusterBlueprintAPIImpl::GetScreenById(const FString& id) +{ + IDisplayClusterGameManager* const Manager = IDisplayCluster::Get().GetGameMgr(); + if (Manager) + { + return Manager->GetScreenById(id); + } + + return nullptr; +} + +TArray<UDisplayClusterScreenComponent*> UDisplayClusterBlueprintAPIImpl::GetAllScreens() +{ + IDisplayClusterGameManager* const Manager = IDisplayCluster::Get().GetGameMgr(); + if (Manager) + { + return Manager->GetAllScreens(); + } + + return TArray<UDisplayClusterScreenComponent*>(); +} + +int32 UDisplayClusterBlueprintAPIImpl::GetScreensAmount() +{ + IDisplayClusterGameManager* const Manager = IDisplayCluster::Get().GetGameMgr(); + if (Manager) + { + return Manager->GetScreensAmount(); + } + + return 0; +} + +// Cameras + + +// Nodes +UDisplayClusterSceneComponent* UDisplayClusterBlueprintAPIImpl::GetNodeById(const FString& id) +{ + IDisplayClusterGameManager* const Manager = IDisplayCluster::Get().GetGameMgr(); + if (Manager) + { + return Manager->GetNodeById(id); + } + + return nullptr; +} + +TArray<UDisplayClusterSceneComponent*> UDisplayClusterBlueprintAPIImpl::GetAllNodes() +{ + IDisplayClusterGameManager* const Manager = IDisplayCluster::Get().GetGameMgr(); + if (Manager) + { + return Manager->GetAllNodes(); + } + + return TArray<UDisplayClusterSceneComponent*>(); +} + +// Navigation +USceneComponent* UDisplayClusterBlueprintAPIImpl::GetTranslationDirectionComponent() +{ + IDisplayClusterGameManager* const Manager = IDisplayCluster::Get().GetGameMgr(); + if (Manager) + { + return Manager->GetTranslationDirectionComponent(); + } + + return nullptr; +} + +void UDisplayClusterBlueprintAPIImpl::SetTranslationDirectionComponent(USceneComponent* const pComp) +{ + IDisplayClusterGameManager* const Manager = IDisplayCluster::Get().GetGameMgr(); + if (Manager) + { + Manager->SetTranslationDirectionComponent(pComp); + } +} + +void UDisplayClusterBlueprintAPIImpl::SetTranslationDirectionComponentId(const FString& id) +{ + IDisplayClusterGameManager* const Manager = IDisplayCluster::Get().GetGameMgr(); + if (Manager) + { + Manager->SetTranslationDirectionComponent(id); + } +} + +USceneComponent* UDisplayClusterBlueprintAPIImpl::GetRotateAroundComponent() +{ + IDisplayClusterGameManager* const Manager = IDisplayCluster::Get().GetGameMgr(); + if (Manager) + { + return Manager->GetRotateAroundComponent(); + } + + return nullptr; +} + +void UDisplayClusterBlueprintAPIImpl::SetRotateAroundComponent(USceneComponent* const pComp) +{ + IDisplayClusterGameManager* const Manager = IDisplayCluster::Get().GetGameMgr(); + if (Manager) + { + Manager->SetRotateAroundComponent(pComp); + } +} + +void UDisplayClusterBlueprintAPIImpl::SetRotateAroundComponentId(const FString& id) +{ + IDisplayClusterGameManager* const Manager = IDisplayCluster::Get().GetGameMgr(); + if (Manager) + { + Manager->SetRotateAroundComponent(id); + } +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// Input API +////////////////////////////////////////////////////////////////////////////////////////////// +// Device information +int32 UDisplayClusterBlueprintAPIImpl::GetAxisDeviceAmount() +{ + IDisplayClusterInputManager* const Manager = IDisplayCluster::Get().GetInputMgr(); + if (Manager) + { + Manager->GetAxisDeviceAmount(); + } + + return 0; +} + +int32 UDisplayClusterBlueprintAPIImpl::GetButtonDeviceAmount() +{ + IDisplayClusterInputManager* const Manager = IDisplayCluster::Get().GetInputMgr(); + if (Manager) + { + Manager->GetButtonDeviceAmount(); + } + + return 0; +} + +int32 UDisplayClusterBlueprintAPIImpl::GetTrackerDeviceAmount() +{ + IDisplayClusterInputManager* const Manager = IDisplayCluster::Get().GetInputMgr(); + if (Manager) + { + Manager->GetTrackerDeviceAmount(); + } + + return 0; +} + +bool UDisplayClusterBlueprintAPIImpl::GetAxisDeviceIds(TArray<FString>& IDs) +{ + TArray<FString> result; + IDisplayClusterInputManager* const Manager = IDisplayCluster::Get().GetInputMgr(); + if (Manager) + { + return Manager->GetAxisDeviceIds(IDs); + } + + return false; +} + +bool UDisplayClusterBlueprintAPIImpl::GetButtonDeviceIds(TArray<FString>& IDs) +{ + IDisplayClusterInputManager* const Manager = IDisplayCluster::Get().GetInputMgr(); + if (Manager) + { + return Manager->GetButtonDeviceIds(IDs); + } + + return false; +} + +bool UDisplayClusterBlueprintAPIImpl::GetTrackerDeviceIds(TArray<FString>& IDs) +{ + IDisplayClusterInputManager* const Manager = IDisplayCluster::Get().GetInputMgr(); + if (Manager) + { + return Manager->GetTrackerDeviceIds(IDs); + } + + return false; +} + +// Buttons +void UDisplayClusterBlueprintAPIImpl::GetButtonState(const FString& DeviceId, uint8 DeviceChannel, bool& CurState, bool& IsChannelAvailable) +{ + IDisplayClusterInputManager* const Manager = IDisplayCluster::Get().GetInputMgr(); + if (Manager) + { + IsChannelAvailable = Manager->GetButtonState(DeviceId, DeviceChannel, CurState); + } +} + +void UDisplayClusterBlueprintAPIImpl::IsButtonPressed(const FString& DeviceId, uint8 DeviceChannel, bool& CurPressed, bool& IsChannelAvailable) +{ + IDisplayClusterInputManager* const Manager = IDisplayCluster::Get().GetInputMgr(); + if (Manager) + { + IsChannelAvailable = Manager->IsButtonPressed(DeviceId, DeviceChannel, CurPressed); + } +} + +void UDisplayClusterBlueprintAPIImpl::IsButtonReleased(const FString& DeviceId, uint8 DeviceChannel, bool& CurReleased, bool& IsChannelAvailable) +{ + IDisplayClusterInputManager* const Manager = IDisplayCluster::Get().GetInputMgr(); + if (Manager) + { + IsChannelAvailable = Manager->IsButtonReleased(DeviceId, DeviceChannel, CurReleased); + } +} + +void UDisplayClusterBlueprintAPIImpl::WasButtonPressed(const FString& DeviceId, uint8 DeviceChannel, bool& WasPressed, bool& IsChannelAvailable) +{ + IDisplayClusterInputManager* const Manager = IDisplayCluster::Get().GetInputMgr(); + if (Manager) + { + IsChannelAvailable = Manager->WasButtonPressed(DeviceId, DeviceChannel, WasPressed); + } +} + +void UDisplayClusterBlueprintAPIImpl::WasButtonReleased(const FString& DeviceId, uint8 DeviceChannel, bool& WasReleased, bool& IsChannelAvailable) +{ + IDisplayClusterInputManager* const Manager = IDisplayCluster::Get().GetInputMgr(); + if (Manager) + { + IsChannelAvailable = Manager->WasButtonReleased(DeviceId, DeviceChannel, WasReleased); + } +} + +// Axes +void UDisplayClusterBlueprintAPIImpl::GetAxis(const FString& DeviceId, uint8 DeviceChannel, float& Value, bool& IsChannelAvailable) +{ + IDisplayClusterInputManager* const Manager = IDisplayCluster::Get().GetInputMgr(); + if (Manager) + { + IsChannelAvailable = Manager->GetAxis(DeviceId, DeviceChannel, Value); + } +} + +// Trackers +void UDisplayClusterBlueprintAPIImpl::GetTrackerLocation(const FString& DeviceId, uint8 DeviceChannel, FVector& Location, bool& IsChannelAvailable) +{ + IDisplayClusterInputManager* const Manager = IDisplayCluster::Get().GetInputMgr(); + if (Manager) + { + IsChannelAvailable = Manager->GetTrackerLocation(DeviceId, DeviceChannel, Location); + } +} + +void UDisplayClusterBlueprintAPIImpl::GetTrackerQuat(const FString& DeviceId, uint8 DeviceChannel, FQuat& Rotation, bool& IsChannelAvailable) +{ + IDisplayClusterInputManager* const Manager = IDisplayCluster::Get().GetInputMgr(); + if (Manager) + { + IsChannelAvailable = Manager->GetTrackerQuat(DeviceId, DeviceChannel, Rotation); + } +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// Render API +////////////////////////////////////////////////////////////////////////////////////////////// +void UDisplayClusterBlueprintAPIImpl::SetInterpupillaryDistance(float dist) +{ + IDisplayClusterRenderManager* const Manager = IDisplayCluster::Get().GetRenderMgr(); + if (Manager) + { + return Manager->GetStereoDevice()->SetInterpupillaryDistance(dist); + } + + return; +} + +float UDisplayClusterBlueprintAPIImpl::GetInterpupillaryDistance() +{ + IDisplayClusterRenderManager* const Manager = IDisplayCluster::Get().GetRenderMgr(); + if (Manager) + { + return Manager->GetStereoDevice()->GetInterpupillaryDistance(); + } + + return 0.f; +} + +void UDisplayClusterBlueprintAPIImpl::SetEyesSwap(bool swap) +{ + IDisplayClusterRenderManager* const Manager = IDisplayCluster::Get().GetRenderMgr(); + if (Manager) + { + return Manager->GetStereoDevice()->SetEyesSwap(swap); + } + + return; +} + +bool UDisplayClusterBlueprintAPIImpl::GetEyesSwap() +{ + IDisplayClusterRenderManager* const Manager = IDisplayCluster::Get().GetRenderMgr(); + if (Manager) + { + return Manager->GetStereoDevice()->GetEyesSwap(); + } + + return false; +} + +bool UDisplayClusterBlueprintAPIImpl::ToggleEyesSwap() +{ + IDisplayClusterRenderManager* const Manager = IDisplayCluster::Get().GetRenderMgr(); + if (Manager) + { + return Manager->GetStereoDevice()->ToggleEyesSwap(); + } + + return false; +} + +void UDisplayClusterBlueprintAPIImpl::GetCullingDistance(float& NearClipPlane, float& FarClipPlane) +{ + IDisplayClusterRenderManager* const Manager = IDisplayCluster::Get().GetRenderMgr(); + if (Manager) + { + IDisplayClusterStereoDevice* pDev = Manager->GetStereoDevice(); + if (pDev) + { + return pDev->GetCullingDistance(NearClipPlane, FarClipPlane); + } + } + + return; +} + +void UDisplayClusterBlueprintAPIImpl::SetCullingDistance(float NearClipPlane, float FarClipPlane) +{ + IDisplayClusterRenderManager* const Manager = IDisplayCluster::Get().GetRenderMgr(); + if (Manager) + { + IDisplayClusterStereoDevice* pDev = Manager->GetStereoDevice(); + if (pDev) + { + return pDev->SetCullingDistance(NearClipPlane, FarClipPlane); + } + } + + return; +} diff --git a/Source/DisplayCluster/Private/Blueprints/DisplayClusterBlueprintAPIImpl.h b/Source/DisplayCluster/Private/Blueprints/DisplayClusterBlueprintAPIImpl.h new file mode 100644 index 0000000..6bbbe38 --- /dev/null +++ b/Source/DisplayCluster/Private/Blueprints/DisplayClusterBlueprintAPIImpl.h @@ -0,0 +1,191 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Blueprints/IDisplayClusterBlueprintAPI.h" +#include "DisplayClusterBlueprintAPIImpl.generated.h" + + +/** + * Blueprint API interface implementation + */ +UCLASS() +class DISPLAYCLUSTER_API UDisplayClusterBlueprintAPIImpl + : public UObject + , public IDisplayClusterBlueprintAPI +{ + GENERATED_BODY() + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // DisplayCluster module API + ////////////////////////////////////////////////////////////////////////////////////////////// + /** Return if the module has been initialized. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Is module initialized"), Category = "DisplayCluster") + virtual bool IsModuleInitialized() override; + + /** Return current operation mode. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get operation mode"), Category = "DisplayCluster") + virtual EDisplayClusterOperationMode GetOperationMode() override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // Cluster API + ////////////////////////////////////////////////////////////////////////////////////////////// + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Is master node"), Category = "DisplayCluster|Cluster") + virtual bool IsMaster() override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Is slave node"), Category = "DisplayCluster|Cluster") + virtual bool IsSlave() override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Is cluster mode"), Category = "DisplayCluster|Cluster") + virtual bool IsCluster() override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Is standalone mode"), Category = "DisplayCluster|Cluster") + virtual bool IsStandalone() override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get node ID"), Category = "DisplayCluster|Cluster") + virtual FString GetNodeId() override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get nodes amount"), Category = "DisplayCluster|Cluster") + virtual int32 GetNodesAmount() override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // Config API + ////////////////////////////////////////////////////////////////////////////////////////////// + + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // Game API + ////////////////////////////////////////////////////////////////////////////////////////////// + // Root + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get root"), Category = "DisplayCluster|Game") + virtual ADisplayClusterPawn* GetRoot() override; + + // Screens + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get active screen"), Category = "DisplayCluster|Game") + virtual UDisplayClusterScreenComponent* GetActiveScreen() override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get screen by ID"), Category = "DisplayCluster|Game") + virtual UDisplayClusterScreenComponent* GetScreenById(const FString& id) override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get all screens"), Category = "DisplayCluster|Game") + virtual TArray<UDisplayClusterScreenComponent*> GetAllScreens() override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get amount of screens"), Category = "DisplayCluster|Game") + virtual int32 GetScreensAmount() override; + + // Cameras + /* + virtual UDisplayClusterCameraComponent* GetActiveCamera() const override; + virtual UDisplayClusterCameraComponent* GetCameraById(const FString& id) const override; + virtual TArray<UDisplayClusterCameraComponent*> GetAllCameras() const override; + virtual int32 GetCamerasAmount() const override; + virtual void SetActiveCamera(int32 idx) override; + virtual void SetActiveCamera(const FString& id) override; + */ + + // Nodes + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get node by ID"), Category = "DisplayCluster|Game") + virtual UDisplayClusterSceneComponent* GetNodeById(const FString& id) override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get all nodes"), Category = "DisplayCluster|Game") + virtual TArray<UDisplayClusterSceneComponent*> GetAllNodes() override; + + // Navigation + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get translation direction component"), Category = "DisplayCluster|Game") + virtual USceneComponent* GetTranslationDirectionComponent() override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set translation direction component"), Category = "DisplayCluster|Game") + virtual void SetTranslationDirectionComponent(USceneComponent* pComp) override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set translation direction component by ID"), Category = "DisplayCluster|Game") + virtual void SetTranslationDirectionComponentId(const FString& id) override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get rotate around component"), Category = "DisplayCluster|Game") + virtual USceneComponent* GetRotateAroundComponent() override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set rotate around component"), Category = "DisplayCluster|Game") + virtual void SetRotateAroundComponent(USceneComponent* pComp) override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set rotate around component by ID"), Category = "DisplayCluster|Game") + virtual void SetRotateAroundComponentId(const FString& id) override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // Input API + ////////////////////////////////////////////////////////////////////////////////////////////// + // Device information + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get amount of VRPN axis devices"), Category = "DisplayCluster|Input") + virtual int32 GetAxisDeviceAmount() override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get amount of VRPN button devices"), Category = "DisplayCluster|Input") + virtual int32 GetButtonDeviceAmount() override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get amount of VRPN tracker devices"), Category = "DisplayCluster|Input") + virtual int32 GetTrackerDeviceAmount() override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get IDs of VRPN axis devices"), Category = "DisplayCluster|Input") + virtual bool GetAxisDeviceIds(TArray<FString>& IDs) override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get IDs of VRPN button devices"), Category = "DisplayCluster|Input") + virtual bool GetButtonDeviceIds(TArray<FString>& IDs) override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get IDs of VRPN tracker devices"), Category = "DisplayCluster|Input") + virtual bool GetTrackerDeviceIds(TArray<FString>& IDs) override; + + // Buttons + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get VRPN button state"), Category = "DisplayCluster|Input") + virtual void GetButtonState(const FString& DeviceId, uint8 DeviceChannel, bool& CurState, bool& IsChannelAvailable) override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Is VRPN button pressed"), Category = "DisplayCluster|Input") + virtual void IsButtonPressed(const FString& DeviceId, uint8 DeviceChannel, bool& CurPressed, bool& IsChannelAvailable) override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Is VRPN button released"), Category = "DisplayCluster|Input") + virtual void IsButtonReleased(const FString& DeviceId, uint8 DeviceChannel, bool& CurReleased, bool& IsChannelAvailable) override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Was VRPN button pressed"), Category = "DisplayCluster|Input") + virtual void WasButtonPressed(const FString& DeviceId, uint8 DeviceChannel, bool& WasPressed, bool& IsChannelAvailable) override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Was VRPN button released"), Category = "DisplayCluster|Input") + virtual void WasButtonReleased(const FString& DeviceId, uint8 DeviceChannel, bool& WasReleased, bool& IsChannelAvailable) override; + + // Axes + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get VRPN axis value"), Category = "DisplayCluster|Input") + virtual void GetAxis(const FString& DeviceId, uint8 DeviceChannel, float& Value, bool& IsAvailable) override; + + // Trackers + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get VRPN tracker location"), Category = "DisplayCluster|Input") + virtual void GetTrackerLocation(const FString& DeviceId, uint8 DeviceChannel, FVector& Location, bool& IsChannelAvailable) override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get VRPN tracker rotation (as quaternion)"), Category = "DisplayCluster|Input") + virtual void GetTrackerQuat(const FString& DeviceId, uint8 DeviceChannel, FQuat& Rotation, bool& IsChannelAvailable) override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // Render API + ////////////////////////////////////////////////////////////////////////////////////////////// + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set interpuppillary distance"), Category = "DisplayCluster|Render") + virtual void SetInterpupillaryDistance(float dist) override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get interpuppillary distance"), Category = "DisplayCluster|Render") + virtual float GetInterpupillaryDistance() override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set eye swap"), Category = "DisplayCluster|Render") + virtual void SetEyesSwap(bool swap) override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get eye swap"), Category = "DisplayCluster|Render") + virtual bool GetEyesSwap() override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Toggle eye swap"), Category = "DisplayCluster|Render") + virtual bool ToggleEyesSwap() override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get near and far clipping distance"), Category = "DisplayCluster|Render") + virtual void GetCullingDistance(float& NearClipPlane, float& FarClipPlane) override; + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set near and far clipping distance"), Category = "DisplayCluster|Render") + virtual void SetCullingDistance(float NearClipPlane, float FarClipPlane) override; +}; diff --git a/Source/DisplayCluster/Private/Blueprints/DisplayClusterBlueprintLib.cpp b/Source/DisplayCluster/Private/Blueprints/DisplayClusterBlueprintLib.cpp new file mode 100644 index 0000000..826ad5e --- /dev/null +++ b/Source/DisplayCluster/Private/Blueprints/DisplayClusterBlueprintLib.cpp @@ -0,0 +1,17 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "Blueprints/DisplayClusterBlueprintLib.h" +#include "DisplayClusterBlueprintAPIImpl.h" +#include "UObject/Package.h" + + +UDisplayClusterBlueprintLib::UDisplayClusterBlueprintLib(class FObjectInitializer const & ObjectInitializer) + : Super(ObjectInitializer) +{ +} + +void UDisplayClusterBlueprintLib::GetAPI(TScriptInterface<IDisplayClusterBlueprintAPI>& OutAPI) +{ + static UDisplayClusterBlueprintAPIImpl* Obj = NewObject<UDisplayClusterBlueprintAPIImpl>(GetTransientPackage(), NAME_None, RF_MarkAsRootSet); + OutAPI = Obj; +} diff --git a/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlBase.cpp b/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlBase.cpp new file mode 100644 index 0000000..442f81e --- /dev/null +++ b/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlBase.cpp @@ -0,0 +1,71 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterClusterNodeCtrlBase.h" +#include "DisplayClusterGlobals.h" + +#include "Config/DisplayClusterConfigTypes.h" +#include "Misc/DisplayClusterLog.h" + +#include "IPDisplayCluster.h" +#include "Config/IPDisplayClusterConfigManager.h" +#include "Render/IPDisplayClusterRenderManager.h" +#include "Render/IDisplayClusterStereoDevice.h" + + + +FDisplayClusterClusterNodeCtrlBase::FDisplayClusterClusterNodeCtrlBase(const FString& ctrlName, const FString& nodeName) : + FDisplayClusterNodeCtrlBase(ctrlName, nodeName) +{ + +} + +FDisplayClusterClusterNodeCtrlBase::~FDisplayClusterClusterNodeCtrlBase() +{ +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterNodeController +////////////////////////////////////////////////////////////////////////////////////////////// + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterNodeCtrlBase +////////////////////////////////////////////////////////////////////////////////////////////// +bool FDisplayClusterClusterNodeCtrlBase::InitializeStereo() +{ + if (GDisplayCluster->GetOperationMode() == EDisplayClusterOperationMode::Disabled) + { + return false; + } + + FDisplayClusterConfigViewport ViewportCfg; + if (!GDisplayCluster->GetPrivateConfigMgr()->GetLocalViewport(ViewportCfg)) + { + UE_LOG(LogDisplayClusterRender, Error, TEXT("Viewport config not found")); + return false; + } + + //@todo: Move this logic to the render manager + IDisplayClusterStereoDevice* const StereoDevice = GDisplayCluster->GetPrivateRenderMgr()->GetStereoDevice(); + if (StereoDevice) + { + FDisplayClusterConfigStereo StereoCfg = GDisplayCluster->GetPrivateConfigMgr()->GetConfigStereo(); + FDisplayClusterConfigGeneral GeneralCfg = GDisplayCluster->GetPrivateConfigMgr()->GetConfigGeneral(); + FDisplayClusterConfigClusterNode ClusterNodeCfg; + GDisplayCluster->GetPrivateConfigMgr()->GetLocalClusterNode(ClusterNodeCfg); + + + // Configure the device + StereoDevice->SetViewportArea(ViewportCfg.Loc, ViewportCfg.Size); + StereoDevice->SetEyesSwap(ClusterNodeCfg.EyeSwap); + StereoDevice->SetInterpupillaryDistance(StereoCfg.EyeDist); + StereoDevice->SetSwapSyncPolicy((EDisplayClusterSwapSyncPolicy)GeneralCfg.SwapSyncPolicy); + } + else + { + UE_LOG(LogDisplayClusterRender, Warning, TEXT("Stereo device not found. Stereo initialization skipped.")); + } + + return FDisplayClusterNodeCtrlBase::InitializeStereo(); +} diff --git a/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlBase.h b/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlBase.h new file mode 100644 index 0000000..5f18090 --- /dev/null +++ b/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlBase.h @@ -0,0 +1,32 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "DisplayClusterNodeCtrlBase.h" + + +/** + * Abstract cluster node controller (cluster mode). + */ +class FDisplayClusterClusterNodeCtrlBase + : public FDisplayClusterNodeCtrlBase +{ +public: + FDisplayClusterClusterNodeCtrlBase(const FString& ctrlName, const FString& nodeName); + virtual ~FDisplayClusterClusterNodeCtrlBase() = 0; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterNodeController + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool IsStandalone() const override final + { return false; } + +protected: + ////////////////////////////////////////////////////////////////////////////////////////////// + // FDisplayClusterNodeCtrlBase + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool InitializeStereo() override; +}; + diff --git a/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlMaster.cpp b/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlMaster.cpp new file mode 100644 index 0000000..8011f3e --- /dev/null +++ b/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlMaster.cpp @@ -0,0 +1,164 @@ + +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterClusterNodeCtrlMaster.h" + +#include "Config/IPDisplayClusterConfigManager.h" +#include "Network/Service/ClusterSync/DisplayClusterClusterSyncService.h" +#include "Network/Service/SwapSync/DisplayClusterSwapSyncService.h" + +#include "Misc/DisplayClusterLog.h" +#include "DisplayClusterGlobals.h" +#include "IPDisplayCluster.h" + +#include "Misc/App.h" + + +FDisplayClusterClusterNodeCtrlMaster::FDisplayClusterClusterNodeCtrlMaster(const FString& ctrlName, const FString& nodeName) : + FDisplayClusterClusterNodeCtrlSlave(ctrlName, nodeName) +{ +} + +FDisplayClusterClusterNodeCtrlMaster::~FDisplayClusterClusterNodeCtrlMaster() +{ +} + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterClusterSyncProtocol +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterClusterNodeCtrlMaster::GetTimecode(FTimecode& timecode, FFrameRate& frameRate) +{ + // This values are updated in UEngine::UpdateTimeAndHandleMaxTickRate (via UpdateTimecode). + timecode = FApp::GetTimecode(); + frameRate = FApp::GetTimecodeFrameRate(); +} + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterNodeController +////////////////////////////////////////////////////////////////////////////////////////////// + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterNodeController +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterClusterNodeCtrlMaster::GetSyncData(FDisplayClusterMessage::DataType& data) +{ + // Override slave implementation with empty one. + // There is no need to sync on master side since it have source data being synced. +} + +void FDisplayClusterClusterNodeCtrlMaster::GetInputData(FDisplayClusterMessage::DataType& data) +{ + // Override slave implementation with empty one. + // There is no need to sync on master side since it have source data being synced. +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterNodeCtrlBase +////////////////////////////////////////////////////////////////////////////////////////////// +bool FDisplayClusterClusterNodeCtrlMaster::InitializeServers() +{ + if (GDisplayCluster->GetOperationMode() == EDisplayClusterOperationMode::Disabled) + { + return false; + } + + if (!FDisplayClusterClusterNodeCtrlSlave::InitializeServers()) + { + return false; + } + + UE_LOG(LogDisplayClusterCluster, Log, TEXT("%s - initializing master servers..."), *GetControllerName()); + + // Get config data + FDisplayClusterConfigClusterNode masterCfg; + if (GDisplayCluster->GetPrivateConfigMgr()->GetMasterClusterNode(masterCfg) == false) + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("No master node configuration data found")); + return false; + } + + // Instantiate node servers + UE_LOG(LogDisplayClusterCluster, Log, TEXT("Servers: addr %s, port_cs %d, port_ss %d"), *masterCfg.Addr, masterCfg.Port_CS, masterCfg.Port_SS); + ClusterSyncServer.Reset(new FDisplayClusterClusterSyncService(masterCfg.Addr, masterCfg.Port_CS)); + SwapSyncServer.Reset(new FDisplayClusterSwapSyncService(masterCfg.Addr, masterCfg.Port_SS)); + + return ClusterSyncServer.IsValid() && SwapSyncServer.IsValid(); +} + +bool FDisplayClusterClusterNodeCtrlMaster::StartServers() +{ + if (!FDisplayClusterClusterNodeCtrlSlave::StartServers()) + { + return false; + } + + UE_LOG(LogDisplayClusterCluster, Log, TEXT("%s - starting master servers..."), *GetControllerName()); + + // CS server start + if (ClusterSyncServer->Start()) + { + UE_LOG(LogDisplayClusterCluster, Log, TEXT("%s started"), *ClusterSyncServer->GetName()); + } + else + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("%s failed to start"), *ClusterSyncServer->GetName()); + } + + // SS server start + if (SwapSyncServer->Start()) + { + UE_LOG(LogDisplayClusterCluster, Log, TEXT("%s started"), *SwapSyncServer->GetName()); + } + else + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("%s failed to start"), *SwapSyncServer->GetName()); + } + + // Start the servers + return ClusterSyncServer->IsRunning() && SwapSyncServer->IsRunning(); +} + +void FDisplayClusterClusterNodeCtrlMaster::StopServers() +{ + FDisplayClusterClusterNodeCtrlSlave::StopServers(); + + ClusterSyncServer->Shutdown(); + SwapSyncServer->Shutdown(); +} + +bool FDisplayClusterClusterNodeCtrlMaster::InitializeClients() +{ + if (!FDisplayClusterClusterNodeCtrlSlave::InitializeClients()) + { + return false; + } + + // Master clients initialization + // ... + + return true; +} + +bool FDisplayClusterClusterNodeCtrlMaster::StartClients() +{ + if (!FDisplayClusterClusterNodeCtrlSlave::StartClients()) + { + return false; + } + + // Master clients start + // ... + + return true; +} + +void FDisplayClusterClusterNodeCtrlMaster::StopClients() +{ + FDisplayClusterClusterNodeCtrlSlave::StopClients(); + + // Master clients stop + // ... +} + diff --git a/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlMaster.h b/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlMaster.h new file mode 100644 index 0000000..cfe5c5a --- /dev/null +++ b/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlMaster.h @@ -0,0 +1,60 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "DisplayClusterClusterNodeCtrlSlave.h" + +#include "Network/DisplayClusterMessage.h" + +class FDisplayClusterClusterSyncService; +class FDisplayClusterSwapSyncService; + + +/** + * Master node controller implementation (cluster mode). Manages servers on master side. + */ +class FDisplayClusterClusterNodeCtrlMaster + : public FDisplayClusterClusterNodeCtrlSlave +{ +public: + FDisplayClusterClusterNodeCtrlMaster(const FString& ctrlName, const FString& nodeName); + virtual ~FDisplayClusterClusterNodeCtrlMaster(); + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterClusterSyncProtocol + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void GetTimecode(FTimecode& timecode, FFrameRate& frameRate) override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterNodeController + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool IsSlave() const override final + { return false; } + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterNodeController + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void GetSyncData(FDisplayClusterMessage::DataType& data) override; + virtual void GetInputData(FDisplayClusterMessage::DataType& data) override; + +protected: + ////////////////////////////////////////////////////////////////////////////////////////////// + // FDisplayClusterNodeCtrlBase + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool InitializeServers() override; + virtual bool StartServers() override; + virtual void StopServers() override; + + virtual bool InitializeClients() override; + virtual bool StartClients() override; + virtual void StopClients() override; + +private: + // Node servers + TUniquePtr<FDisplayClusterClusterSyncService> ClusterSyncServer; + TUniquePtr<FDisplayClusterSwapSyncService> SwapSyncServer; +}; + diff --git a/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlSlave.cpp b/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlSlave.cpp new file mode 100644 index 0000000..198c1fc --- /dev/null +++ b/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlSlave.cpp @@ -0,0 +1,190 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterClusterNodeCtrlSlave.h" + +#include "Config/IPDisplayClusterConfigManager.h" +#include "Misc/DisplayClusterLog.h" +#include "Network/Service/ClusterSync/DisplayClusterClusterSyncClient.h" +#include "Network/Service/SwapSync/DisplayClusterSwapSyncClient.h" + +#include "DisplayClusterGlobals.h" +#include "IPDisplayCluster.h" + + +FDisplayClusterClusterNodeCtrlSlave::FDisplayClusterClusterNodeCtrlSlave(const FString& ctrlName, const FString& nodeName) : + FDisplayClusterClusterNodeCtrlBase(ctrlName, nodeName) +{ +} + +FDisplayClusterClusterNodeCtrlSlave::~FDisplayClusterClusterNodeCtrlSlave() +{ +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterNodeController +////////////////////////////////////////////////////////////////////////////////////////////// + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterClusterSyncProtocol +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterClusterNodeCtrlSlave::WaitForGameStart() +{ + ClusterSyncClient->WaitForGameStart(); +} + +void FDisplayClusterClusterNodeCtrlSlave::WaitForFrameStart() +{ + ClusterSyncClient->WaitForFrameStart(); +} + +void FDisplayClusterClusterNodeCtrlSlave::WaitForFrameEnd() +{ + ClusterSyncClient->WaitForFrameEnd(); +} + +void FDisplayClusterClusterNodeCtrlSlave::WaitForTickEnd() +{ + ClusterSyncClient->WaitForTickEnd(); +} + +void FDisplayClusterClusterNodeCtrlSlave::WaitForTrackingUpdate() +{ + ClusterSyncClient->WaitForTrackingUpdate(); +} + +void FDisplayClusterClusterNodeCtrlSlave::GetDeltaTime(float& deltaTime) +{ + ClusterSyncClient->GetDeltaTime(deltaTime); +} + +void FDisplayClusterClusterNodeCtrlSlave::GetTimecode(FTimecode& timecode, FFrameRate& frameRate) +{ + ClusterSyncClient->GetTimecode(timecode, frameRate); +} + +void FDisplayClusterClusterNodeCtrlSlave::GetSyncData(FDisplayClusterMessage::DataType& data) +{ + ClusterSyncClient->GetSyncData(data); +} + +void FDisplayClusterClusterNodeCtrlSlave::GetInputData(FDisplayClusterMessage::DataType& data) +{ + ClusterSyncClient->GetInputData(data); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterSwapSyncProtocol +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterClusterNodeCtrlSlave::WaitForSwapSync(double* pThreadWaitTime, double* pBarrierWaitTime) +{ + check(SwapSyncClient.IsValid()); + SwapSyncClient->WaitForSwapSync(pThreadWaitTime, pBarrierWaitTime); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterNodeCtrlBase +////////////////////////////////////////////////////////////////////////////////////////////// +bool FDisplayClusterClusterNodeCtrlSlave::InitializeServers() +{ + if (!FDisplayClusterClusterNodeCtrlBase::InitializeServers()) + { + return false; + } + + // Slave servers initialization + // ... + + return true; +} + +bool FDisplayClusterClusterNodeCtrlSlave::StartServers() +{ + if (!FDisplayClusterClusterNodeCtrlBase::StartServers()) + { + return false; + } + + // Slave servers start + // ... + + return true; +} + +void FDisplayClusterClusterNodeCtrlSlave::StopServers() +{ + FDisplayClusterClusterNodeCtrlBase::StopServers(); + + // Slave servers stop + // ... +} + +bool FDisplayClusterClusterNodeCtrlSlave::InitializeClients() +{ + if (!FDisplayClusterClusterNodeCtrlBase::InitializeClients()) + { + return false; + } + + UE_LOG(LogDisplayClusterCluster, Log, TEXT("%s - initializing slave clients..."), *GetControllerName()); + + // Instantiate local clients + ClusterSyncClient.Reset(new FDisplayClusterClusterSyncClient); + SwapSyncClient.Reset(new FDisplayClusterSwapSyncClient); + + return ClusterSyncClient.IsValid() && SwapSyncClient.IsValid(); +} + +bool FDisplayClusterClusterNodeCtrlSlave::StartClients() +{ + if (!FDisplayClusterClusterNodeCtrlBase::StartClients()) + { + return false; + } + + UE_LOG(LogDisplayClusterCluster, Log, TEXT("%s - initializing slave clients..."), *GetControllerName()); + + // Master config + FDisplayClusterConfigClusterNode MasterCfg; + if (GDisplayCluster->GetPrivateConfigMgr()->GetMasterClusterNode(MasterCfg) == false) + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("No master node configuration data found")); + return false; + } + + // CS client + if (ClusterSyncClient->Connect(MasterCfg.Addr, MasterCfg.Port_CS)) + { + UE_LOG(LogDisplayClusterCluster, Log, TEXT("%s connected to the server %s:%d"), *ClusterSyncClient->GetName(), *MasterCfg.Addr, MasterCfg.Port_CS); + } + else + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("%s couldn't connect to the server %s:%d"), *ClusterSyncClient->GetName(), *MasterCfg.Addr, MasterCfg.Port_CS); + // No need to wait again for next client connection + return false; + } + + // SS client + if (SwapSyncClient->Connect(MasterCfg.Addr, MasterCfg.Port_SS)) + { + UE_LOG(LogDisplayClusterCluster, Log, TEXT("%s connected to the server %s:%d"), *SwapSyncClient->GetName(), *MasterCfg.Addr, MasterCfg.Port_SS); + } + else + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("%s couldn't connect to the server %s:%d"), *SwapSyncClient->GetName(), *MasterCfg.Addr, MasterCfg.Port_SS); + return false; + } + + return ClusterSyncClient->IsConnected() && SwapSyncClient->IsConnected(); +} + +void FDisplayClusterClusterNodeCtrlSlave::StopClients() +{ + FDisplayClusterClusterNodeCtrlBase::StopClients(); + + ClusterSyncClient->Disconnect(); + SwapSyncClient->Disconnect(); +} diff --git a/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlSlave.h b/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlSlave.h new file mode 100644 index 0000000..366937e --- /dev/null +++ b/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterClusterNodeCtrlSlave.h @@ -0,0 +1,67 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "DisplayClusterClusterNodeCtrlBase.h" +#include "Network/DisplayClusterMessage.h" + +class FDisplayClusterClusterSyncClient; +class FDisplayClusterSwapSyncClient; + + +/** + * Slave node controller implementation (cluster mode). . Manages clients on client side. + */ +class FDisplayClusterClusterNodeCtrlSlave + : public FDisplayClusterClusterNodeCtrlBase +{ +public: + FDisplayClusterClusterNodeCtrlSlave(const FString& ctrlName, const FString& nodeName); + virtual ~FDisplayClusterClusterNodeCtrlSlave(); + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterNodeController + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool IsSlave() const override + { return true; } + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterClusterSyncProtocol + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void WaitForGameStart() override final; + virtual void WaitForFrameStart() override final; + virtual void WaitForFrameEnd() override final; + virtual void WaitForTickEnd() override final; + virtual void WaitForTrackingUpdate() override final; + virtual void GetDeltaTime(float& deltaTime) override final; + virtual void GetTimecode(FTimecode& timecode, FFrameRate& frameRate) override; + virtual void GetSyncData(FDisplayClusterMessage::DataType& data) override; + virtual void GetInputData(FDisplayClusterMessage::DataType& data) override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterSwapSyncProtocol + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void WaitForSwapSync(double* pThreadWaitTime, double* pBarrierWaitTime) override final; + +protected: + ////////////////////////////////////////////////////////////////////////////////////////////// + // FDisplayClusterNodeCtrlBase + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool InitializeServers() override; + virtual bool StartServers() override; + virtual void StopServers() override; + + virtual bool InitializeClients() override; + virtual bool StartClients() override; + virtual void StopClients() override; + +private: + // Cluster node clients + TUniquePtr<FDisplayClusterClusterSyncClient> ClusterSyncClient; + TUniquePtr<FDisplayClusterSwapSyncClient> SwapSyncClient; +}; + diff --git a/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterNodeCtrlBase.cpp b/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterNodeCtrlBase.cpp new file mode 100644 index 0000000..ba47db1 --- /dev/null +++ b/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterNodeCtrlBase.cpp @@ -0,0 +1,56 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterNodeCtrlBase.h" +#include "Misc/DisplayClusterLog.h" + + +FDisplayClusterNodeCtrlBase::FDisplayClusterNodeCtrlBase(const FString& ctrlName, const FString& nodeName) : + NodeName(nodeName), + ControllerName(ctrlName) +{ +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterNodeController +////////////////////////////////////////////////////////////////////////////////////////////// +bool FDisplayClusterNodeCtrlBase::Initialize() +{ + if (!InitializeStereo()) + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("Stereo initialization failed")); + return false; + } + + if (!InitializeServers()) + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("Servers initialization failed")); + return false; + } + + if (!InitializeClients()) + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("Clients initialization failed")); + return false; + } + + if (!StartServers()) + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("An error occurred during servers start")); + return false; + } + + if (!StartClients()) + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("An error occurred during clients start")); + return false; + } + + return true; +} + +void FDisplayClusterNodeCtrlBase::Release() +{ + StopServers(); + StopClients(); +} diff --git a/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterNodeCtrlBase.h b/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterNodeCtrlBase.h new file mode 100644 index 0000000..14a7187 --- /dev/null +++ b/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterNodeCtrlBase.h @@ -0,0 +1,70 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "IPDisplayClusterNodeController.h" + +class FDisplayClusterClusterManager; + + +/** + * Abstract node controller + */ +class FDisplayClusterNodeCtrlBase + : public IPDisplayClusterNodeController +{ + // This is needed to perform initialization from outside of constructor (polymorphic init) + friend FDisplayClusterClusterManager; + +public: + FDisplayClusterNodeCtrlBase(const FString& ctrlName, const FString& nodeName); + + virtual ~FDisplayClusterNodeCtrlBase() { } + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterNodeController + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool Initialize() override final; + virtual void Release() override final; + + virtual bool IsMaster() const override final + { return !IsSlave(); } + + virtual bool IsCluster() const override final + { return !IsStandalone(); } + + virtual FString GetNodeId() const override final + { return NodeName; } + + virtual FString GetControllerName() const override final + { return ControllerName; } + +protected: + virtual bool InitializeStereo() + { return true; } + + virtual bool InitializeServers() + { return true; } + + virtual bool StartServers() + { return true; } + + virtual void StopServers() + { return; } + + virtual bool InitializeClients() + { return true; } + + virtual bool StartClients() + { return true; } + + virtual void StopClients() + { return; } + +private: + const FString NodeName; + const FString ControllerName; +}; + diff --git a/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterNodeCtrlStandalone.cpp b/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterNodeCtrlStandalone.cpp new file mode 100644 index 0000000..b635856 --- /dev/null +++ b/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterNodeCtrlStandalone.cpp @@ -0,0 +1,85 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterNodeCtrlStandalone.h" + +#include "Network/DisplayClusterMessage.h" +#include "Render/IDisplayClusterStereoDevice.h" + + +FDisplayClusterNodeCtrlStandalone::FDisplayClusterNodeCtrlStandalone(const FString& ctrlName, const FString& nodeName) : + FDisplayClusterNodeCtrlBase(ctrlName, nodeName) +{ +} + + +FDisplayClusterNodeCtrlStandalone::~FDisplayClusterNodeCtrlStandalone() +{ +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterClusterSyncProtocol +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterNodeCtrlStandalone::WaitForGameStart() +{ + // Nothing special to do here in standalone mode +} + +void FDisplayClusterNodeCtrlStandalone::WaitForFrameStart() +{ + // Nothing special to do here in standalone mode +} + +void FDisplayClusterNodeCtrlStandalone::WaitForFrameEnd() +{ + // Nothing special to do here in standalone mode +} + +void FDisplayClusterNodeCtrlStandalone::WaitForTickEnd() +{ + // Nothing special to do here in standalone mode +} + +void FDisplayClusterNodeCtrlStandalone::WaitForTrackingUpdate() +{ + // Nothing special to do here in standalone mode +} + +void FDisplayClusterNodeCtrlStandalone::GetDeltaTime(float& deltaTime) +{ + // Nothing special to do here in standalone mode +} + +void FDisplayClusterNodeCtrlStandalone::GetTimecode(FTimecode& timecode, FFrameRate& frameRate) +{ + // Nothing special to do here in standalone mode +} + +void FDisplayClusterNodeCtrlStandalone::GetSyncData(FDisplayClusterMessage::DataType& data) +{ + // Nothing special to do here in standalone mode +} + +void FDisplayClusterNodeCtrlStandalone::GetInputData(FDisplayClusterMessage::DataType& data) +{ + // Nothing special to do here in standalone mode +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterSwapSyncProtocol +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterNodeCtrlStandalone::WaitForSwapSync(double* pThreadWaitTime, double* pBarrierWaitTime) +{ + // Nothing special to do here in standalone mode +} + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterNodeCtrlBase +////////////////////////////////////////////////////////////////////////////////////////////// +bool FDisplayClusterNodeCtrlStandalone::InitializeStereo() +{ + //@todo: initialize stereo for standalone mode + + return FDisplayClusterNodeCtrlBase::InitializeStereo(); +} diff --git a/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterNodeCtrlStandalone.h b/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterNodeCtrlStandalone.h new file mode 100644 index 0000000..792b659 --- /dev/null +++ b/Source/DisplayCluster/Private/Cluster/Controller/DisplayClusterNodeCtrlStandalone.h @@ -0,0 +1,55 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "DisplayClusterNodeCtrlBase.h" + +class FDisplayClusterMessage; + + +/** + * Standalone node controller (no cluster) + */ +class FDisplayClusterNodeCtrlStandalone + : public FDisplayClusterNodeCtrlBase +{ +public: + FDisplayClusterNodeCtrlStandalone(const FString& ctrlName, const FString& nodeName); + virtual ~FDisplayClusterNodeCtrlStandalone(); + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterNodeController + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool IsSlave() const override final + { return false; } + + virtual bool IsStandalone() const override final + { return true; } + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterClusterSyncProtocol + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void WaitForGameStart() override; + virtual void WaitForFrameStart() override; + virtual void WaitForFrameEnd() override; + virtual void WaitForTickEnd() override; + virtual void WaitForTrackingUpdate() override; + virtual void GetDeltaTime(float& deltaTime) override; + virtual void GetTimecode(FTimecode& timecode, FFrameRate& frameRate) override; + virtual void GetSyncData(FDisplayClusterMessage::DataType& data) override; + virtual void GetInputData(FDisplayClusterMessage::DataType& data) override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterSwapSyncProtocol + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void WaitForSwapSync(double* pThreadWaitTime, double* pBarrierWaitTime) override; + +protected: + ////////////////////////////////////////////////////////////////////////////////////////////// + // FDisplayClusterNodeCtrlBase + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool InitializeStereo() override; +}; diff --git a/Source/DisplayCluster/Private/Cluster/Controller/IPDisplayClusterNodeController.h b/Source/DisplayCluster/Private/Cluster/Controller/IPDisplayClusterNodeController.h new file mode 100644 index 0000000..8d7d14f --- /dev/null +++ b/Source/DisplayCluster/Private/Cluster/Controller/IPDisplayClusterNodeController.h @@ -0,0 +1,29 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Network/Protocol/IPDisplayClusterClusterSyncProtocol.h" +#include "Network/Protocol/IPDisplayClusterSwapSyncProtocol.h" + + +/** + * Node controller interface + */ +struct IPDisplayClusterNodeController + : public IPDisplayClusterClusterSyncProtocol + , public IPDisplayClusterSwapSyncProtocol +{ + virtual ~IPDisplayClusterNodeController() + { } + + virtual bool Initialize() = 0; + virtual void Release() = 0; + + virtual bool IsMaster() const = 0; + virtual bool IsSlave() const = 0; + virtual bool IsStandalone() const = 0; + virtual bool IsCluster() const = 0; + virtual FString GetNodeId() const = 0; + virtual FString GetControllerName() const = 0; +}; + diff --git a/Source/DisplayCluster/Private/Cluster/DisplayClusterClusterManager.cpp b/Source/DisplayCluster/Private/Cluster/DisplayClusterClusterManager.cpp new file mode 100644 index 0000000..bf0ef2e --- /dev/null +++ b/Source/DisplayCluster/Private/Cluster/DisplayClusterClusterManager.cpp @@ -0,0 +1,448 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterClusterManager.h" + +#include "Cluster/IDisplayClusterClusterSyncObject.h" +#include "Cluster/Controller/DisplayClusterNodeCtrlStandalone.h" +#include "Cluster/Controller/DisplayClusterClusterNodeCtrlMaster.h" +#include "Cluster/Controller/DisplayClusterClusterNodeCtrlSlave.h" + +#include "Config/IPDisplayClusterConfigManager.h" + +#include "Misc/DisplayClusterAppExit.h" +#include "Misc/DisplayClusterLog.h" +#include "Misc/DisplayClusterHelpers.h" +#include "Misc/DisplayClusterTypesConverter.h" + +#include "Input/IPDisplayClusterInputManager.h" + +#include "DisplayClusterBuildConfig.h" +#include "DisplayClusterGlobals.h" +#include "IPDisplayCluster.h" + +#include "SocketSubsystem.h" + + +FDisplayClusterClusterManager::FDisplayClusterClusterManager() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterCluster); + + ObjectsToSync.Reserve(64); +} + +FDisplayClusterClusterManager::~FDisplayClusterClusterManager() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterCluster); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterManager +////////////////////////////////////////////////////////////////////////////////////////////// +bool FDisplayClusterClusterManager::Init(EDisplayClusterOperationMode OperationMode) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterCluster); + + CurrentOperationMode = OperationMode; + + return true; +} + +void FDisplayClusterClusterManager::Release() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterCluster); +} + +bool FDisplayClusterClusterManager::StartSession(const FString& configPath, const FString& nodeId) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterCluster); + + ConfigPath = configPath; + ClusterNodeId = nodeId; + + if (CurrentOperationMode == EDisplayClusterOperationMode::Cluster) + { +#ifdef DISPLAY_CLUSTER_USE_AUTOMATIC_NODE_ID_RESOLVE + if (ClusterNodeId.IsEmpty()) + { + UE_LOG(LogDisplayClusterCluster, Warning, TEXT("Node name was not specified. Trying to resolve address from available interfaces...")); + + // Try to find the node ID by address (this won't work if you want to run several cluster nodes on the same address) + FString resolvedNodeId; + if (GetResolvedNodeId(resolvedNodeId)) + { + DisplayClusterHelpers::str::DustCommandLineValue(resolvedNodeId); + ClusterNodeId = resolvedNodeId; + } + else + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("Unable to resolve node ID by local addresses")); + return false; + } + } +#endif + } + else if (CurrentOperationMode == EDisplayClusterOperationMode::Standalone) + { + } + else if (CurrentOperationMode == EDisplayClusterOperationMode::Editor) + { + if (ConfigPath.IsEmpty() || ClusterNodeId.IsEmpty()) + { + UE_LOG(LogDisplayClusterCluster, Warning, TEXT("Wrong config path and/or node ID. Using default standalone config.")); + +#ifdef DISPLAY_CLUSTER_USE_DEBUG_STANDALONE_CONFIG + ConfigPath = FString(DisplayClusterStrings::misc::DbgStubConfig); + ClusterNodeId = FString(DisplayClusterStrings::misc::DbgStubNodeId); +#endif + } + } + else if (CurrentOperationMode == EDisplayClusterOperationMode::Disabled) + { + return true; + } + else + { + UE_LOG(LogDisplayClusterCluster, Warning, TEXT("Unknown operation mode")); + return false; + } + + UE_LOG(LogDisplayClusterCluster, Log, TEXT("Node ID: %s"), *ClusterNodeId); + + // Node name must be specified in cluster mode + if (ClusterNodeId.IsEmpty()) + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("Node name was not specified")); + return false; + } + + // Save nodes amount + NodesAmount = GDisplayCluster->GetPrivateConfigMgr()->GetClusterNodesAmount(); + + // Instantiate node controller + Controller = CreateController(); + + if (!Controller) + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("Couldn't create a controller.")); + return false; + } + + // Initialize the controller + UE_LOG(LogDisplayClusterCluster, Log, TEXT("Initializing the controller...")); + if (!Controller->Initialize()) + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("Couldn't initialize a controller.")); + Controller.Reset(); + return false; + } + + return true; +} + +void FDisplayClusterClusterManager::EndSession() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterCluster); + + { + FScopeLock lock(&InternalsSyncScope); + if (Controller) + { + Controller->Release(); + Controller.Reset(); + } + } +} + +bool FDisplayClusterClusterManager::StartScene(UWorld* pWorld) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterCluster); + + check(pWorld); + CurrentWorld = pWorld; + + return true; +} + +void FDisplayClusterClusterManager::EndScene() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterCluster); + + { + FScopeLock lock(&ObjectsToSyncCritSec); + ObjectsToSync.Reset(); + } +} + +void FDisplayClusterClusterManager::PreTick(float DeltaSeconds) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterCluster); + + // Clear cached data from previous game frame + { + FScopeLock lock(&ObjectsToSyncCritSec); + SyncObjectsCache.Empty(SyncObjectsCache.Num() | 0x07); + } +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterClusterManager +////////////////////////////////////////////////////////////////////////////////////////////// +IPDisplayClusterNodeController* FDisplayClusterClusterManager::GetController() const +{ + FScopeLock lock(&InternalsSyncScope); + return Controller ? Controller.Get() : nullptr; +} + +bool FDisplayClusterClusterManager::IsMaster() const +{ + return Controller ? Controller->IsMaster() : false; +} + +bool FDisplayClusterClusterManager::IsSlave() const +{ + return Controller ? Controller->IsSlave() : false; +} + +bool FDisplayClusterClusterManager::IsStandalone() const +{ + return Controller ? Controller->IsStandalone() : false; +} + +bool FDisplayClusterClusterManager::IsCluster() const +{ + return Controller ? Controller->IsCluster() : false; +} + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterClusterManager +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterClusterManager::RegisterSyncObject(IDisplayClusterClusterSyncObject* pSyncObj) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterCluster); + + { + FScopeLock lock(&ObjectsToSyncCritSec); + ObjectsToSync.Add(pSyncObj); + } + + UE_LOG(LogDisplayClusterCluster, Log, TEXT("Registered sync object: %s"), *pSyncObj->GetSyncId()); +} + +void FDisplayClusterClusterManager::UnregisterSyncObject(IDisplayClusterClusterSyncObject* pSyncObj) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterCluster); + + { + FScopeLock lock(&ObjectsToSyncCritSec); + ObjectsToSync.Remove(pSyncObj); + } + + UE_LOG(LogDisplayClusterCluster, Log, TEXT("Unregistered sync object: %s"), *pSyncObj->GetSyncId()); +} + +void FDisplayClusterClusterManager::ExportSyncData(FDisplayClusterMessage::DataType& data) const +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterCluster); + + { + FScopeLock lock(&ObjectsToSyncCritSec); + + // Cache the data for current frame. + // There is on check for ObjectsToSync emptiness because we always have at least one + // shared transform which is AFDisplayClusterPawn. + if (SyncObjectsCache.Num() == 0) + { + for (auto obj : ObjectsToSync) + { + if (obj->IsDirty()) + { + UE_LOG(LogDisplayClusterCluster, Verbose, TEXT("Adding object to sync: %s"), *obj->GetSyncId()); + SyncObjectsCache.Add(obj->GetSyncId(), obj->SerializeToString()); + obj->ClearDirty(); + } + } + } + } + + data = SyncObjectsCache; +} + +void FDisplayClusterClusterManager::ImportSyncData(const FDisplayClusterMessage::DataType& data) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterCluster); + + if (data.Num() > 0) + { + for (auto it = data.CreateConstIterator(); it; ++it) + { + UE_LOG(LogDisplayClusterCluster, Verbose, TEXT("sync-data: %s=%s"), *it->Key, *it->Value); + } + + for (auto obj : ObjectsToSync) + { + const FString syncId = obj->GetSyncId(); + if (!data.Contains(syncId)) + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("%s not found in sync data"), *syncId); + continue; + } + + UE_LOG(LogDisplayClusterCluster, Verbose, TEXT("Found %s in sync data. Applying..."), *syncId); + if (!obj->DeserializeFromString(data[syncId])) + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("Couldn't apply sync data for sync object %s"), *syncId); + } + } + } +} + +void FDisplayClusterClusterManager::SyncObjects() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterCluster); + + //@note: + // Don't use FScopeLock lock(&ObjectsToSyncCritSec) here because + // a) There are no race conditions at this point. We're in single-threaded mode right now (see UDisplayClusterGameEngine::Tick()) + // b) Performance + + // No need to do the sync for master + if (IsSlave()) + { + UE_LOG(LogDisplayClusterCluster, Verbose, TEXT("Downloading synchronization data (objects)...")); + TMap<FString, FString> data; + Controller->GetSyncData(data); + UE_LOG(LogDisplayClusterCluster, Verbose, TEXT("Downloading finished. Available %d records (objects)."), data.Num()); + + // Perform data load (objects state update) + ImportSyncData(data); + } +} + +void FDisplayClusterClusterManager::SyncInput() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterCluster); + + // No need to do the sync for master + if (IsSlave()) + { + UE_LOG(LogDisplayClusterCluster, Verbose, TEXT("Downloading synchronization data (input)...")); + TMap<FString, FString> data; + Controller->GetInputData(data); + UE_LOG(LogDisplayClusterCluster, Verbose, TEXT("Downloading finished. Available %d records (input)."), data.Num()); + + // Perform data load (objects state update) + GDisplayCluster->GetPrivateInputMgr()->ImportInputData(data); + } +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterClusterManager +////////////////////////////////////////////////////////////////////////////////////////////// +FDisplayClusterClusterManager::TController FDisplayClusterClusterManager::CreateController() const +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterCluster); + + UE_LOG(LogDisplayClusterCluster, Log, TEXT("Current operation mode: %s"), *FDisplayClusterTypesConverter::ToString(CurrentOperationMode)); + + // Instantiate appropriate controller depending on operation mode and cluster role + FDisplayClusterNodeCtrlBase* pController = nullptr; + if (CurrentOperationMode == EDisplayClusterOperationMode::Cluster) + { + FDisplayClusterConfigClusterNode nodeCfg; + if (GDisplayCluster->GetPrivateConfigMgr()->GetClusterNode(ClusterNodeId, nodeCfg) == false) + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("Configuration data for node %s not found"), *ClusterNodeId); + return nullptr; + } + + if (nodeCfg.IsMaster) + { + UE_LOG(LogDisplayClusterCluster, Log, TEXT("Instantiating cluster master controller...")); + pController = new FDisplayClusterClusterNodeCtrlMaster(FString("[CTRL-M]"), ClusterNodeId); + } + else + { + UE_LOG(LogDisplayClusterCluster, Log, TEXT("Instantiating cluster slave controller...")); + pController = new FDisplayClusterClusterNodeCtrlSlave(FString("[CTRL-S]"), ClusterNodeId); + } + } + else if (CurrentOperationMode == EDisplayClusterOperationMode::Standalone) + { + UE_LOG(LogDisplayClusterCluster, Log, TEXT("Instantiating standalone controller")); + pController = new FDisplayClusterNodeCtrlStandalone(FString("[CTRL-STNDA]"), FString("standalone")); + } + else if (CurrentOperationMode == EDisplayClusterOperationMode::Editor) + { + UE_LOG(LogDisplayClusterCluster, Log, TEXT("Instantiating cluster master controller...")); + //pController = new FDisplayClusterNodeCtrlStandalone(FString("[CTRL-STNDA]"), ClusterNodeId); + pController = new FDisplayClusterNodeCtrlStandalone(FString("[CTRL-STNDA]"), FString("standalone")); + } + else if (CurrentOperationMode == EDisplayClusterOperationMode::Disabled) + { + UE_LOG(LogDisplayClusterCluster, Log, TEXT("Controller is not required")); + return nullptr; + } + else + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("Unknown operation mode")); + return nullptr; + } + + // Return the controller + return TController(pController); +} + +bool FDisplayClusterClusterManager::GetResolvedNodeId(FString& id) const +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterCluster); + + TArray<TSharedPtr<FInternetAddr>> addrs; + if (!ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->GetLocalAdapterAddresses(addrs)) + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("Couldn't get local addresses list. Cannot find node ID by its address.")); + FDisplayClusterAppExit::ExitApplication(FDisplayClusterAppExit::ExitType::KillImmediately, FString("Cluster manager init error")); + return false; + } + + if (addrs.Num() <= 0) + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("No local addresses found")); + FDisplayClusterAppExit::ExitApplication(FDisplayClusterAppExit::ExitType::KillImmediately, FString("Cluster manager init error")); + return false; + } + + const TArray<FDisplayClusterConfigClusterNode> cnodes = GDisplayCluster->GetPrivateConfigMgr()->GetClusterNodes(); + + // Look for associated node in config + const FDisplayClusterConfigClusterNode* const pNode = cnodes.FindByPredicate([addrs](const FDisplayClusterConfigClusterNode& node) + { + for (auto addr : addrs) + { + const FIPv4Endpoint ep(addr); + const FString epaddr = ep.Address.ToString(); + UE_LOG(LogDisplayClusterCluster, Log, TEXT("Comparing addresses: %s - %s"), *epaddr, *node.Addr); + + //@note: don't add "127.0.0.1" or "localhost" here. There will be a bug. It has been proved already. + if (epaddr == node.Addr) + { + return true; + } + } + + return false; + }); + + if (!pNode) + { + UE_LOG(LogDisplayClusterCluster, Error, TEXT("Couldn't find any local address in config file")); + FDisplayClusterAppExit::ExitApplication(FDisplayClusterAppExit::ExitType::KillImmediately, FString("Cluster manager init error")); + return false; + } + + // Ok, we found the node ID by address (this won't work if you want to run several cluster nodes on the same address) + id = pNode->Id; + return true; +} diff --git a/Source/DisplayCluster/Private/Cluster/DisplayClusterClusterManager.h b/Source/DisplayCluster/Private/Cluster/DisplayClusterClusterManager.h new file mode 100644 index 0000000..3391fff --- /dev/null +++ b/Source/DisplayCluster/Private/Cluster/DisplayClusterClusterManager.h @@ -0,0 +1,109 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "IPDisplayClusterClusterManager.h" +#include "Network/DisplayClusterMessage.h" +#include "Misc/App.h" + +class ADisplayClusterGameMode; +class ADisplayClusterSettings; + + +/** + * Cluster manager. Responsible for network communication and data replication. + */ +class FDisplayClusterClusterManager + : public IPDisplayClusterClusterManager +{ +public: + FDisplayClusterClusterManager(); + virtual ~FDisplayClusterClusterManager(); + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterManager + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool Init(EDisplayClusterOperationMode OperationMode) override; + virtual void Release() override; + virtual bool StartSession(const FString& configPath, const FString& nodeId) override; + virtual void EndSession() override; + virtual bool StartScene(UWorld* pWorld) override; + virtual void EndScene() override; + virtual void PreTick(float DeltaSeconds) override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterClusterManager + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool IsMaster() const override; + virtual bool IsSlave() const override; + virtual bool IsStandalone() const override; + virtual bool IsCluster() const override; + + virtual FString GetNodeId() const override + { return ClusterNodeId; } + + virtual uint32 GetNodesAmount() const override + { return NodesAmount; } + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterClusterManager + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual IPDisplayClusterNodeController* GetController() const override; + + virtual float GetDeltaTime() const override + { return DeltaTime; } + + virtual void SetDeltaTime(float deltaTime) override + { DeltaTime = deltaTime; } + + virtual void GetTimecode(FTimecode& timecode, FFrameRate& frameRate) const override + { timecode = FApp::GetTimecode(); frameRate = FApp::GetTimecodeFrameRate(); } + + virtual void SetTimecode(const FTimecode& timecode, const FFrameRate& frameRate) override + { FApp::SetTimecodeAndFrameRate(timecode, frameRate); } + + virtual void RegisterSyncObject(IDisplayClusterClusterSyncObject* pSyncObj) override; + virtual void UnregisterSyncObject(IDisplayClusterClusterSyncObject* pSyncObj) override; + + virtual void ExportSyncData(FDisplayClusterMessage::DataType& data) const override; + virtual void ImportSyncData(const FDisplayClusterMessage::DataType& data) override; + + virtual void SyncObjects() override; + virtual void SyncInput() override; + +private: + bool GetResolvedNodeId(FString& id) const; + + typedef TUniquePtr<IPDisplayClusterNodeController> TController; + + // Factory method + TController CreateController() const; + +private: + // Controller implementation + TController Controller; + // Cluster/node props + uint32 NodesAmount = 0; + // Current time delta for sync + float DeltaTime = 0.f; + + // Current operation mode + EDisplayClusterOperationMode CurrentOperationMode; + // Current config path + FString ConfigPath; + // Current node ID + FString ClusterNodeId; + // Current world + UWorld* CurrentWorld; + + // Sync transforms + TSet<IDisplayClusterClusterSyncObject*> ObjectsToSync; + mutable FDisplayClusterMessage::DataType SyncObjectsCache; + mutable FCriticalSection ObjectsToSyncCritSec; + + mutable FCriticalSection InternalsSyncScope; +}; + diff --git a/Source/DisplayCluster/Private/Cluster/IPDisplayClusterClusterManager.h b/Source/DisplayCluster/Private/Cluster/IPDisplayClusterClusterManager.h new file mode 100644 index 0000000..fd6af70 --- /dev/null +++ b/Source/DisplayCluster/Private/Cluster/IPDisplayClusterClusterManager.h @@ -0,0 +1,42 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Misc/Timecode.h" +#include "Misc/FrameRate.h" +#include "Cluster/IDisplayClusterClusterManager.h" +#include "IPDisplayClusterManager.h" + +#include "Network/DisplayClusterMessage.h" + +struct IPDisplayClusterNodeController; +struct IDisplayClusterClusterSyncObject; + + +/** + * Cluster manager private interface + */ +struct IPDisplayClusterClusterManager : + public IDisplayClusterClusterManager, + public IPDisplayClusterManager +{ + virtual ~IPDisplayClusterClusterManager() + { } + + virtual IPDisplayClusterNodeController* GetController() const = 0; + + virtual float GetDeltaTime() const = 0; + virtual void SetDeltaTime(float deltaTime) = 0; + + virtual void GetTimecode(FTimecode& timecode, FFrameRate& frameRate) const = 0; + virtual void SetTimecode(const FTimecode& timecode, const FFrameRate& frameRate) = 0; + + virtual void RegisterSyncObject (IDisplayClusterClusterSyncObject* pSyncObj) = 0; + virtual void UnregisterSyncObject(IDisplayClusterClusterSyncObject* pSyncObj) = 0; + + virtual void ExportSyncData(FDisplayClusterMessage::DataType& data) const = 0; + virtual void ImportSyncData(const FDisplayClusterMessage::DataType& data) = 0; + + virtual void SyncObjects() = 0; + virtual void SyncInput() = 0; +}; diff --git a/Source/DisplayCluster/Private/Config/Checker/DisplayClusterConfigChecker.cpp b/Source/DisplayCluster/Private/Config/Checker/DisplayClusterConfigChecker.cpp new file mode 100644 index 0000000..dd9129b --- /dev/null +++ b/Source/DisplayCluster/Private/Config/Checker/DisplayClusterConfigChecker.cpp @@ -0,0 +1,72 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterConfigChecker.h" +#include "Misc/DisplayClusterLog.h" + + +FDisplayClusterConfigChecker::FDisplayClusterConfigChecker() +{ + UE_LOG(LogDisplayClusterConfig, Verbose, TEXT("FDisplayClusterConfigManager .dtor")); +} + +FDisplayClusterConfigChecker::~FDisplayClusterConfigChecker() +{ + UE_LOG(LogDisplayClusterConfig, Verbose, TEXT("FDisplayClusterConfigManager .dtor")); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterConfigParserListener +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterConfigChecker::AddClusterNode(const FDisplayClusterConfigClusterNode& node) +{ + //UE_LOG(LogDisplayClusterConfig, Log, TEXT("Found cluster node: id=%s, addr=%s, role=%s, port_cs=%d, port_ss=%d, port_ce=%d"), + // *node.Id, *node.Addr, node.IsMaster ? TEXT("master") : TEXT("slave"), node.Port_CS, node.Port_SS, node.Port_CE); +} + +void FDisplayClusterConfigChecker::AddScreen(const FDisplayClusterConfigScreen& screen) +{ + //UE_LOG(LogDisplayClusterConfig, Log, TEXT("Found screen: id=%s, parent=%s, loc=%s, rot=%s, size=%s"), + // *screen.Id, *screen.ParentId, *screen.Loc.ToString(), *screen.Rot.ToString(), *screen.Size.ToString()); +} + +void FDisplayClusterConfigChecker::AddViewport(const FDisplayClusterConfigViewport& viewport) +{ + //UE_LOG(LogDisplayClusterConfig, Log, TEXT("Found viewport: id=%s, loc=%s, size=%s"), + // *viewport.Id, *viewport.Loc.ToString(), *viewport.Size.ToString()); +} + +void FDisplayClusterConfigChecker::AddCamera(const FDisplayClusterConfigCamera& camera) +{ +} + +void FDisplayClusterConfigChecker::AddSceneNode(const FDisplayClusterConfigSceneNode& actor) +{ + //UE_LOG(LogDisplayClusterConfig, Log, TEXT("Found scene node: id=%s, parent=%s, type=%d, loc=%s, rot=%s"), + // *actor.Id, *actor.ParentId, static_cast<int>(actor.Type), *actor.Loc.ToString(), *actor.Rot.ToString()); +} + +void FDisplayClusterConfigChecker::AddGeneral(const FDisplayClusterConfigGeneral& general) +{ +} + +void FDisplayClusterConfigChecker::AddRender(const FDisplayClusterConfigRender& render) +{ +} + +void FDisplayClusterConfigChecker::AddStereo(const FDisplayClusterConfigStereo& stereo) +{ +} + +void FDisplayClusterConfigChecker::AddDebug(const FDisplayClusterConfigDebug& debug) +{ +} + +void FDisplayClusterConfigChecker::AddInput(const FDisplayClusterConfigInput& input) +{ +} + +void FDisplayClusterConfigChecker::AddCustom(const FDisplayClusterConfigCustom& custom) +{ +} + diff --git a/Source/DisplayCluster/Private/Config/Checker/DisplayClusterConfigChecker.h b/Source/DisplayCluster/Private/Config/Checker/DisplayClusterConfigChecker.h new file mode 100644 index 0000000..4b189ff --- /dev/null +++ b/Source/DisplayCluster/Private/Config/Checker/DisplayClusterConfigChecker.h @@ -0,0 +1,33 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Config/Parser/IDisplayClusterConfigParserListener.h" + + +/** + * Helper class to analyze if config data is correct + */ +class FDisplayClusterConfigChecker + : protected IDisplayClusterConfigParserListener +{ +public: + FDisplayClusterConfigChecker(); + ~FDisplayClusterConfigChecker(); + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterConfigParserListener + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void AddClusterNode (const FDisplayClusterConfigClusterNode& node) override; + virtual void AddScreen (const FDisplayClusterConfigScreen& screen) override; + virtual void AddViewport (const FDisplayClusterConfigViewport& viewport) override; + virtual void AddCamera (const FDisplayClusterConfigCamera& camera) override; + virtual void AddSceneNode (const FDisplayClusterConfigSceneNode& actor) override; + virtual void AddGeneral (const FDisplayClusterConfigGeneral& general) override; + virtual void AddRender (const FDisplayClusterConfigRender& render) override; + virtual void AddStereo (const FDisplayClusterConfigStereo& stereo) override; + virtual void AddDebug (const FDisplayClusterConfigDebug& debug) override; + virtual void AddInput (const FDisplayClusterConfigInput& input) override; + virtual void AddCustom (const FDisplayClusterConfigCustom& custom) override; +}; diff --git a/Source/DisplayCluster/Private/Config/DisplayClusterConfigManager.cpp b/Source/DisplayCluster/Private/Config/DisplayClusterConfigManager.cpp new file mode 100644 index 0000000..4f0a62e --- /dev/null +++ b/Source/DisplayCluster/Private/Config/DisplayClusterConfigManager.cpp @@ -0,0 +1,465 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterConfigManager.h" + +#include "Cluster/IPDisplayClusterClusterManager.h" + +#include "Config/DisplayClusterConfigTypes.h" +#include "Config/Parser/DisplayClusterConfigParserText.h" +#include "Config/Parser/DisplayClusterConfigParserXml.h" +#include "Config/Parser/DisplayClusterConfigParserDebugAuto.h" + +#include "DisplayClusterBuildConfig.h" +#include "Misc/DisplayClusterLog.h" +#include "Misc/Paths.h" +#include "DisplayClusterGlobals.h" +#include "DisplayClusterStrings.h" +#include "IPDisplayCluster.h" + + +FDisplayClusterConfigManager::FDisplayClusterConfigManager() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterConfig); +} + +FDisplayClusterConfigManager::~FDisplayClusterConfigManager() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterConfig); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterManager +////////////////////////////////////////////////////////////////////////////////////////////// +bool FDisplayClusterConfigManager::Init(EDisplayClusterOperationMode OperationMode) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterConfig); + + return true; +} + +void FDisplayClusterConfigManager::Release() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterConfig); +} + +bool FDisplayClusterConfigManager::StartSession(const FString& configPath, const FString& nodeId) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterConfig); + + ConfigPath = configPath; + ClusterNodeId = nodeId; + + UE_LOG(LogDisplayClusterConfig, Log, TEXT("Starting session with config: %s"), *ConfigPath); + + // Load data + return LoadConfig(ConfigPath); +} + +void FDisplayClusterConfigManager::EndSession() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterConfig); + + ResetConfigData(); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterConfigManager +////////////////////////////////////////////////////////////////////////////////////////////// +// Cluster nodes +TArray<FDisplayClusterConfigClusterNode> FDisplayClusterConfigManager::GetClusterNodes() const +{ + return CfgClusterNodes; +} + +int32 FDisplayClusterConfigManager::GetClusterNodesAmount() const +{ + return CfgClusterNodes.Num(); +} + +bool FDisplayClusterConfigManager::GetClusterNode(int32 idx, FDisplayClusterConfigClusterNode& node) const +{ + return GetItem(CfgClusterNodes, idx, node, FString("GetNode")); +} + +bool FDisplayClusterConfigManager::GetClusterNode(const FString& id, FDisplayClusterConfigClusterNode& node) const +{ + return GetItem(CfgClusterNodes, id, node, FString("GetNode")); +} + +bool FDisplayClusterConfigManager::GetMasterClusterNode(FDisplayClusterConfigClusterNode& node) const +{ + const FDisplayClusterConfigClusterNode* const pFound = CfgClusterNodes.FindByPredicate([](const FDisplayClusterConfigClusterNode& item) + { + return item.IsMaster == true; + }); + + if (!pFound) + { + UE_LOG(LogDisplayClusterConfig, Error, TEXT("Master node configuration not found")); + return false; + } + + node = *pFound; + return true; +} + +bool FDisplayClusterConfigManager::GetLocalClusterNode(FDisplayClusterConfigClusterNode& node) const +{ + if (GDisplayCluster->GetOperationMode() == EDisplayClusterOperationMode::Disabled) + { + return false; + } + + const FString nodeId = GDisplayCluster->GetPrivateClusterMgr()->GetNodeId(); + return GetItem(CfgClusterNodes, nodeId, node, FString("GetLocalNode")); +} + + +// Screens +TArray<FDisplayClusterConfigScreen> FDisplayClusterConfigManager::GetScreens() const +{ + return CfgScreens; +} + +int32 FDisplayClusterConfigManager::GetScreensAmount() const +{ + return CfgScreens.Num(); +} + +bool FDisplayClusterConfigManager::GetScreen(int32 idx, FDisplayClusterConfigScreen& screen) const +{ + return GetItem(CfgScreens, idx, screen, FString("GetScreen")); +} + +bool FDisplayClusterConfigManager::GetScreen(const FString& id, FDisplayClusterConfigScreen& screen) const +{ + return GetItem(CfgScreens, id, screen, FString("GetScreen")); +} + +bool FDisplayClusterConfigManager::GetLocalScreen(FDisplayClusterConfigScreen& screen) const +{ + FDisplayClusterConfigClusterNode localNode; + if (GetLocalClusterNode(localNode)) + { + return GetItem(CfgScreens, localNode.ScreenId, screen, FString("GetLocalScreen")); + } + + return false; +} + + +// Cameras +TArray<FDisplayClusterConfigCamera> FDisplayClusterConfigManager::GetCameras() const +{ + return CfgCameras; +} + +int32 FDisplayClusterConfigManager::GetCamerasAmount() const +{ + return CfgCameras.Num(); +} + +bool FDisplayClusterConfigManager::GetCamera(int32 idx, FDisplayClusterConfigCamera& camera) const +{ + return GetItem(CfgCameras, idx, camera, FString("GetCamera")); +} + +bool FDisplayClusterConfigManager::GetCamera(const FString& id, FDisplayClusterConfigCamera& camera) const +{ + return GetItem(CfgCameras, id, camera, FString("GetCamera")); +} + + +// Viewports +TArray<FDisplayClusterConfigViewport> FDisplayClusterConfigManager::GetViewports() const +{ + return CfgViewports; +} + +int32 FDisplayClusterConfigManager::GetViewportsAmount() const +{ + return static_cast<uint32>(CfgViewports.Num()); +} + +bool FDisplayClusterConfigManager::GetViewport(int32 idx, FDisplayClusterConfigViewport& viewport) const +{ + return GetItem(CfgViewports, idx, viewport, FString("GetViewport")); +} + +bool FDisplayClusterConfigManager::GetViewport(const FString& id, FDisplayClusterConfigViewport& viewport) const +{ + return GetItem(CfgViewports, id, viewport, FString("GetViewport")); +} + +//@todo: remove all GetLocal* functions. Config manager doesn't have to know its place in cluster. +bool FDisplayClusterConfigManager::GetLocalViewport(FDisplayClusterConfigViewport& viewport) const +{ + FDisplayClusterConfigClusterNode localNode; + if (GetLocalClusterNode(localNode)) + { + return GetItem(CfgViewports, localNode.ViewportId, viewport, FString("GetLocalViewport")); + } + + return false; +} + + +// Scene nodes +TArray<FDisplayClusterConfigSceneNode> FDisplayClusterConfigManager::GetSceneNodes() const +{ + return CfgSceneNodes; +} + +int32 FDisplayClusterConfigManager::GetSceneNodesAmount() const +{ + return static_cast<uint32>(CfgSceneNodes.Num()); +} + +bool FDisplayClusterConfigManager::GetSceneNode(int32 idx, FDisplayClusterConfigSceneNode& actor) const +{ + return GetItem(CfgSceneNodes, idx, actor, FString("GetActor")); +} + +bool FDisplayClusterConfigManager::GetSceneNode(const FString& id, FDisplayClusterConfigSceneNode& actor) const +{ + return GetItem(CfgSceneNodes, id, actor, FString("GetActor")); +} + + +// Input devices +TArray<FDisplayClusterConfigInput> FDisplayClusterConfigManager::GetInputDevices() const +{ + return CfgInputDevices; +} + +int32 FDisplayClusterConfigManager::GetInputDevicesAmount() const +{ + return CfgInputDevices.Num(); +} + +bool FDisplayClusterConfigManager::GetInputDevice(int32 idx, FDisplayClusterConfigInput& input) const +{ + return GetItem(CfgInputDevices, idx, input, FString("GetInputDevice")); +} + +bool FDisplayClusterConfigManager::GetInputDevice(const FString& id, FDisplayClusterConfigInput& input) const +{ + return GetItem(CfgInputDevices, id, input, FString("GetInputDevice")); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterConfigParserListener +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterConfigManager::AddClusterNode(const FDisplayClusterConfigClusterNode& cfgCNode) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterConfig); + UE_LOG(LogDisplayClusterConfig, Log, TEXT("Found cluster node: %s"), *cfgCNode.ToString()); + CfgClusterNodes.Add(cfgCNode); +} + +void FDisplayClusterConfigManager::AddScreen(const FDisplayClusterConfigScreen& cfgScreen) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterConfig); + UE_LOG(LogDisplayClusterConfig, Log, TEXT("Found screen: %s"), *cfgScreen.ToString()); + CfgScreens.Add(cfgScreen); +} + +void FDisplayClusterConfigManager::AddViewport(const FDisplayClusterConfigViewport& cfgViewport) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterConfig); + UE_LOG(LogDisplayClusterConfig, Log, TEXT("Found viewport: %s"), *cfgViewport.ToString()); + CfgViewports.Add(cfgViewport); +} + +void FDisplayClusterConfigManager::AddCamera(const FDisplayClusterConfigCamera& cfgCamera) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterConfig); + UE_LOG(LogDisplayClusterConfig, Log, TEXT("Found camera: %s"), *cfgCamera.ToString()); + CfgCameras.Add(cfgCamera); +} + +void FDisplayClusterConfigManager::AddSceneNode(const FDisplayClusterConfigSceneNode& cfgSNode) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterConfig); + UE_LOG(LogDisplayClusterConfig, Log, TEXT("Found scene node: %s"), *cfgSNode.ToString()); + CfgSceneNodes.Add(cfgSNode); +} + +void FDisplayClusterConfigManager::AddInput(const FDisplayClusterConfigInput& cfgInput) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterConfig); + UE_LOG(LogDisplayClusterConfig, Log, TEXT("Found input device: %s"), *cfgInput.ToString()); + CfgInputDevices.Add(cfgInput); +} + +void FDisplayClusterConfigManager::AddGeneral(const FDisplayClusterConfigGeneral& cfgGeneral) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterConfig); + UE_LOG(LogDisplayClusterConfig, Log, TEXT("Found general: %s"), *cfgGeneral.ToString()); + CfgGeneral = cfgGeneral; +} + +void FDisplayClusterConfigManager::AddRender(const FDisplayClusterConfigRender& cfgRender) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterConfig); + UE_LOG(LogDisplayClusterConfig, Log, TEXT("Found render: %s"), *cfgRender.ToString()); + CfgRender = cfgRender; +} + +void FDisplayClusterConfigManager::AddStereo(const FDisplayClusterConfigStereo& cfgStereo) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterConfig); + UE_LOG(LogDisplayClusterConfig, Log, TEXT("Found stereo: %s"), *cfgStereo.ToString()); + CfgStereo = cfgStereo; +} + +void FDisplayClusterConfigManager::AddDebug(const FDisplayClusterConfigDebug& cfgDebug) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterConfig); + UE_LOG(LogDisplayClusterConfig, Log, TEXT("Found debug: %s"), *cfgDebug.ToString()); + CfgDebug = cfgDebug; +} + +void FDisplayClusterConfigManager::AddCustom(const FDisplayClusterConfigCustom& cfgCustom) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterConfig); + UE_LOG(LogDisplayClusterConfig, Log, TEXT("Found custom: %s"), *cfgCustom.ToString()); + CfgCustom = cfgCustom; +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterConfigManager +////////////////////////////////////////////////////////////////////////////////////////////// +FDisplayClusterConfigManager::EConfigFileType FDisplayClusterConfigManager::GetConfigFileType(const FString& cfgPath) const +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterConfig); + +#ifdef DISPLAY_CLUSTER_USE_DEBUG_STANDALONE_CONFIG + if (cfgPath == DisplayClusterStrings::misc::DbgStubConfig) + { + UE_LOG(LogDisplayClusterConfig, Log, TEXT("Debug auto config requested")); + return EConfigFileType::DebugAuto; + } +#endif + + const FString ext = FPaths::GetExtension(cfgPath).ToLower(); + if (ext == FString(DisplayClusterStrings::cfg::file::FileExtXml).ToLower()) + { + UE_LOG(LogDisplayClusterConfig, Log, TEXT("XML config: %s"), *cfgPath); + return EConfigFileType::Xml; + } + else if ( + ext == FString(DisplayClusterStrings::cfg::file::FileExtCfg1).ToLower() || + ext == FString(DisplayClusterStrings::cfg::file::FileExtCfg2).ToLower() || + ext == FString(DisplayClusterStrings::cfg::file::FileExtCfg3).ToLower() || + ext == FString(DisplayClusterStrings::cfg::file::FileExtTxt).ToLower()) + { + UE_LOG(LogDisplayClusterConfig, Log, TEXT("TXT config: %s"), *cfgPath); + return EConfigFileType::Text; + } + + UE_LOG(LogDisplayClusterConfig, Warning, TEXT("Unknown file extension: %s"), *ext); + return EConfigFileType::Unknown; +} + +bool FDisplayClusterConfigManager::LoadConfig(const FString& cfgPath) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterConfig); + + // Actually the data is reset on EndFrame. This one is a safety call. + ResetConfigData(); + +#ifdef DISPLAY_CLUSTER_USE_DEBUG_STANDALONE_CONFIG + if (cfgPath.Compare(FString(DisplayClusterStrings::misc::DbgStubConfig), ESearchCase::IgnoreCase) != 0 && + FPaths::FileExists(cfgPath) == false) + { + UE_LOG(LogDisplayClusterConfig, Error, TEXT("File not found: %s"), *cfgPath); + return false; + } +#else + if (FPaths::FileExists(cfgPath) == false) + { + UE_LOG(LogDisplayClusterConfig, Error, TEXT("File not found: %s"), *cfgPath); + return false; + } +#endif + + // Instantiate appropriate parser + TUniquePtr<FDisplayClusterConfigParser> parser; + switch (GetConfigFileType(cfgPath)) + { + case EConfigFileType::Text: + parser.Reset(new FDisplayClusterConfigParserText(this)); + break; + + case EConfigFileType::Xml: + parser.Reset(new FDisplayClusterConfigParserXml(this)); + break; + +#ifdef DISPLAY_CLUSTER_USE_DEBUG_STANDALONE_CONFIG + case EConfigFileType::DebugAuto: + bIsDebugAuto = true; + parser.Reset(new FDisplayClusterConfigParserDebugAuto(this)); + break; +#endif + + default: + UE_LOG(LogDisplayClusterConfig, Error, TEXT("Unknown config type")); + return false; + } + + return parser->ParseFile(cfgPath); +} + +void FDisplayClusterConfigManager::ResetConfigData() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterConfig); + + CfgClusterNodes.Reset(); + CfgScreens.Reset(); + CfgViewports.Reset(); + CfgCameras.Reset(); + CfgSceneNodes.Reset(); + CfgInputDevices.Reset(); + + CfgGeneral = FDisplayClusterConfigGeneral(); + CfgStereo = FDisplayClusterConfigStereo(); + CfgRender = FDisplayClusterConfigRender(); + CfgDebug = FDisplayClusterConfigDebug(); + CfgCustom = FDisplayClusterConfigCustom(); +} + +template <typename DataType> +bool FDisplayClusterConfigManager::GetItem(const TArray<DataType>& container, uint32 idx, DataType& item, const FString& logHeader) const +{ + if (idx >= static_cast<uint32>(container.Num())) + { + UE_LOG(LogDisplayClusterConfig, Error, TEXT("%s: index is out of bound <%d>"), *logHeader, idx); + return false; + } + + item = container[static_cast<int32>(idx)]; + return true; +} + +template <typename DataType> +bool FDisplayClusterConfigManager::GetItem(const TArray<DataType>& container, const FString& id, DataType& item, const FString& logHeader) const +{ + auto pFound = container.FindByPredicate([id](const DataType& _item) + { + return _item.Id == id; + }); + + if (!pFound) + { + UE_LOG(LogDisplayClusterConfig, Warning, TEXT("%s: ID not found <%s>"), *logHeader, *id); + return false; + } + + item = *pFound; + return true; +} diff --git a/Source/DisplayCluster/Private/Config/DisplayClusterConfigManager.h b/Source/DisplayCluster/Private/Config/DisplayClusterConfigManager.h new file mode 100644 index 0000000..49a6443 --- /dev/null +++ b/Source/DisplayCluster/Private/Config/DisplayClusterConfigManager.h @@ -0,0 +1,155 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "IPDisplayClusterConfigManager.h" + +#include "Parser/IDisplayClusterConfigParserListener.h" + +#include "DisplayClusterBuildConfig.h" + + +class FDisplayClusterConfigParser; + + +/** + * Config manager. Responsible for loading data from config file and providing with it to any other class. + */ +class FDisplayClusterConfigManager + : public IPDisplayClusterConfigManager + , protected IDisplayClusterConfigParserListener +{ +public: + FDisplayClusterConfigManager(); + virtual ~FDisplayClusterConfigManager(); + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterManager + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool Init(EDisplayClusterOperationMode OperationMode) override; + virtual void Release() override; + virtual bool StartSession(const FString& configPath, const FString& nodeId) override; + virtual void EndSession() override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterConfigManager + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual TArray<FDisplayClusterConfigClusterNode> GetClusterNodes() const override; + virtual int32 GetClusterNodesAmount() const override; + virtual bool GetClusterNode(int32 idx, FDisplayClusterConfigClusterNode& node) const override; + virtual bool GetClusterNode(const FString& id, FDisplayClusterConfigClusterNode& node) const override; + virtual bool GetMasterClusterNode(FDisplayClusterConfigClusterNode& node) const override; + virtual bool GetLocalClusterNode(FDisplayClusterConfigClusterNode& node) const override; + + virtual TArray<FDisplayClusterConfigScreen> GetScreens() const override; + virtual int32 GetScreensAmount() const override; + virtual bool GetScreen(int32 idx, FDisplayClusterConfigScreen& screen) const override; + virtual bool GetScreen(const FString& id, FDisplayClusterConfigScreen& screen) const override; + virtual bool GetLocalScreen(FDisplayClusterConfigScreen& screen) const override; + + virtual TArray<FDisplayClusterConfigCamera> GetCameras() const override; + virtual int32 GetCamerasAmount() const override; + virtual bool GetCamera(int32 idx, FDisplayClusterConfigCamera& camera) const override; + virtual bool GetCamera(const FString& id, FDisplayClusterConfigCamera& camera) const override; + + virtual TArray<FDisplayClusterConfigViewport> GetViewports() const override; + virtual int32 GetViewportsAmount() const override; + virtual bool GetViewport(int32 idx, FDisplayClusterConfigViewport& viewport) const override; + virtual bool GetViewport(const FString& id, FDisplayClusterConfigViewport& viewport) const override; + virtual bool GetLocalViewport(FDisplayClusterConfigViewport& screen) const override; + + virtual TArray<FDisplayClusterConfigSceneNode> GetSceneNodes() const override; + virtual int32 GetSceneNodesAmount() const override; + virtual bool GetSceneNode(int32 idx, FDisplayClusterConfigSceneNode& actor) const override; + virtual bool GetSceneNode(const FString& id, FDisplayClusterConfigSceneNode& actor) const override; + + virtual TArray<FDisplayClusterConfigInput> GetInputDevices() const override; + virtual int32 GetInputDevicesAmount() const override; + virtual bool GetInputDevice(int32 idx, FDisplayClusterConfigInput& input) const override; + virtual bool GetInputDevice(const FString& id, FDisplayClusterConfigInput& input) const override; + + virtual FDisplayClusterConfigGeneral GetConfigGeneral() const override + { return CfgGeneral; } + + virtual FDisplayClusterConfigStereo GetConfigStereo() const override + { return CfgStereo; } + + virtual FDisplayClusterConfigRender GetConfigRender() const override + { return CfgRender; } + + virtual FDisplayClusterConfigDebug GetConfigDebug() const override + { return CfgDebug; } + + virtual FDisplayClusterConfigCustom GetConfigCustom() const override + { return CfgCustom; } + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterConfigManager + ////////////////////////////////////////////////////////////////////////////////////////////// +#ifdef DISPLAY_CLUSTER_USE_DEBUG_STANDALONE_CONFIG + virtual bool IsRunningDebugAuto() const override + { return bIsDebugAuto; } +#endif + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterConfigParserListener + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void AddClusterNode(const FDisplayClusterConfigClusterNode& cfgCNode) override; + virtual void AddScreen(const FDisplayClusterConfigScreen& cfgScreen) override; + virtual void AddViewport(const FDisplayClusterConfigViewport& cfgViewport) override; + virtual void AddCamera(const FDisplayClusterConfigCamera& cfgCamera) override; + virtual void AddSceneNode(const FDisplayClusterConfigSceneNode& cfgSNode) override; + virtual void AddGeneral(const FDisplayClusterConfigGeneral& cfgGeneral) override; + virtual void AddRender(const FDisplayClusterConfigRender& cfgRender) override; + virtual void AddStereo(const FDisplayClusterConfigStereo& cfgStereo) override; + virtual void AddDebug(const FDisplayClusterConfigDebug& cfgDebug) override; + virtual void AddInput(const FDisplayClusterConfigInput& cfgInput) override; + virtual void AddCustom(const FDisplayClusterConfigCustom& cfgCustom) override; + +private: + enum class EConfigFileType + { + Unknown, +#ifdef DISPLAY_CLUSTER_USE_DEBUG_STANDALONE_CONFIG + DebugAuto, +#endif + Text, + Xml + }; + + template <typename DataType> + bool GetItem(const TArray<DataType>& container, uint32 idx, DataType& item, const FString& logHeader) const; + + template <typename DataType> + bool GetItem(const TArray<DataType>& container, const FString& id, DataType& item, const FString& logHeader) const; + + EConfigFileType GetConfigFileType(const FString& cfgPath) const; + bool LoadConfig(const FString& cfgPath); + void ResetConfigData(); + +private: + FString ConfigPath; + FString ClusterNodeId; + + TArray<FDisplayClusterConfigClusterNode> CfgClusterNodes; + TArray<FDisplayClusterConfigScreen> CfgScreens; + TArray<FDisplayClusterConfigViewport> CfgViewports; + TArray<FDisplayClusterConfigCamera> CfgCameras; + TArray<FDisplayClusterConfigSceneNode> CfgSceneNodes; + TArray<FDisplayClusterConfigInput> CfgInputDevices; + + FDisplayClusterConfigGeneral CfgGeneral; + FDisplayClusterConfigStereo CfgStereo; + FDisplayClusterConfigRender CfgRender; + FDisplayClusterConfigDebug CfgDebug; + FDisplayClusterConfigCustom CfgCustom; + +#ifdef DISPLAY_CLUSTER_USE_DEBUG_STANDALONE_CONFIG + bool bIsDebugAuto = false; +#endif +}; diff --git a/Source/DisplayCluster/Private/Config/DisplayClusterConfigTypes.cpp b/Source/DisplayCluster/Private/Config/DisplayClusterConfigTypes.cpp new file mode 100644 index 0000000..b8d1f09 --- /dev/null +++ b/Source/DisplayCluster/Private/Config/DisplayClusterConfigTypes.cpp @@ -0,0 +1,295 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "Config/DisplayClusterConfigTypes.h" +#include "DisplayClusterStrings.h" +#include "Misc/DisplayClusterHelpers.h" +#include "Misc/DisplayClusterLog.h" + + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterConfigClusterNode +////////////////////////////////////////////////////////////////////////////////////////////// +FString FDisplayClusterConfigClusterNode::ToString() const +{ + return FString::Printf(TEXT("[%s + %s=%s, %s=%s, %s=%s, %s=%s, %s=%s, %s=%d, %s=%d, %s=%s, %s=%s]"), + *FDisplayClusterConfigBase::ToString(), + DisplayClusterStrings::cfg::data::Id, *Id, + DisplayClusterStrings::cfg::data::cluster::Addr, *Addr, + DisplayClusterStrings::cfg::data::cluster::Master, DisplayClusterHelpers::str::BoolToStr(IsMaster), + DisplayClusterStrings::cfg::data::cluster::Screen, *ScreenId, + DisplayClusterStrings::cfg::data::cluster::Viewport, *ViewportId, + DisplayClusterStrings::cfg::data::cluster::PortCS, Port_CS, + DisplayClusterStrings::cfg::data::cluster::PortSS, Port_SS, + DisplayClusterStrings::cfg::data::cluster::Sound, DisplayClusterHelpers::str::BoolToStr(SoundEnabled), + DisplayClusterStrings::cfg::data::cluster::EyeSwap, DisplayClusterHelpers::str::BoolToStr(EyeSwap)); +} + +bool FDisplayClusterConfigClusterNode::DeserializeFromString(const FString& line) +{ + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::Id), Id); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::cluster::Screen), ScreenId); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::cluster::Viewport), ViewportId); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::cluster::Master), IsMaster); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::cluster::Addr), Addr); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::cluster::PortCS), Port_CS); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::cluster::PortSS), Port_SS); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::cluster::Sound), SoundEnabled); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::cluster::EyeSwap), EyeSwap); + return FDisplayClusterConfigBase::DeserializeFromString(line); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterConfigViewport +////////////////////////////////////////////////////////////////////////////////////////////// +FString FDisplayClusterConfigViewport::ToString() const +{ + return FString::Printf(TEXT("[%s + %s=%s, %s=%s, %s=%d, %s=%d]"), + *FDisplayClusterConfigBase::ToString(), + DisplayClusterStrings::cfg::data::Id, *Id, + DisplayClusterStrings::cfg::data::Loc, *Loc.ToString(), + DisplayClusterStrings::cfg::data::viewport::Width, Size.X, + DisplayClusterStrings::cfg::data::viewport::Height, Size.Y); +} + +bool FDisplayClusterConfigViewport::DeserializeFromString(const FString& line) +{ + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::Id), Id); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::viewport::PosX), Loc.X); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::viewport::PosY), Loc.Y); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::viewport::Width), Size.X); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::viewport::Height), Size.Y); + return FDisplayClusterConfigBase::DeserializeFromString(line); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterConfigSceneNode +////////////////////////////////////////////////////////////////////////////////////////////// +FString FDisplayClusterConfigSceneNode::ToString() const +{ + return FString::Printf(TEXT("[%s + %s=%s, %s=%s, %s=%s, %s=%s, %s=%s, %s=%d]"), + *FDisplayClusterConfigBase::ToString(), + DisplayClusterStrings::cfg::data::Id, *Id, + DisplayClusterStrings::cfg::data::ParentId, *ParentId, + DisplayClusterStrings::cfg::data::Loc, *Loc.ToString(), + DisplayClusterStrings::cfg::data::Rot, *Rot.ToString(), + DisplayClusterStrings::cfg::data::scene::TrackerId, *TrackerId, + DisplayClusterStrings::cfg::data::scene::TrackerCh, TrackerCh); +} + +bool FDisplayClusterConfigSceneNode::DeserializeFromString(const FString& line) +{ + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::Id), Id); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::ParentId), ParentId); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::Loc), Loc); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::Rot), Rot); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::scene::TrackerId), TrackerId); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::scene::TrackerCh), TrackerCh); + return FDisplayClusterConfigBase::DeserializeFromString(line); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterConfigScreen +////////////////////////////////////////////////////////////////////////////////////////////// +FString FDisplayClusterConfigScreen::ToString() const +{ + return FString::Printf(TEXT("[%s + %s=%s]"), + *FDisplayClusterConfigSceneNode::ToString(), + DisplayClusterStrings::cfg::data::screen::Size, *Size.ToString()); +} + +bool FDisplayClusterConfigScreen::DeserializeFromString(const FString& line) +{ + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::screen::Size), Size); + return FDisplayClusterConfigSceneNode::DeserializeFromString(line); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterConfigCamera +////////////////////////////////////////////////////////////////////////////////////////////// +FString FDisplayClusterConfigCamera::ToString() const +{ + return FString::Printf(TEXT("[%s + ]"), + *FDisplayClusterConfigSceneNode::ToString()); +} + +bool FDisplayClusterConfigCamera::DeserializeFromString(const FString& line) +{ + return FDisplayClusterConfigSceneNode::DeserializeFromString(line); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterConfigInput +////////////////////////////////////////////////////////////////////////////////////////////// +FString FDisplayClusterConfigInput::ToString() const +{ + return FString::Printf(TEXT("[%s + %s=%s, %s=%s, %s={%s}]"), + *FDisplayClusterConfigBase::ToString(), + DisplayClusterStrings::cfg::data::Id, *Id, + DisplayClusterStrings::cfg::data::input::Type, *Type, + TEXT("params"), *Params); +} + +bool FDisplayClusterConfigInput::DeserializeFromString(const FString& line) +{ + // Save full string to allow an input device to parse (polymorphic) + Params = line; + FString mapping; + + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::Id), Id); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::input::Type), Type); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::input::Remap), mapping); + + DisplayClusterHelpers::str::DustCommandLineValue(mapping); + + TArray<FString> pairs; + FString pair; + while (mapping.Split(FString(","), &pair, &mapping, ESearchCase::IgnoreCase, ESearchDir::FromStart)) + { + pairs.Add(pair); + } + + pairs.Add(mapping); + + for (const auto& item : pairs) + { + FString strL, strR; + + if (item.Split(FString(":"), &strL, &strR, ESearchCase::IgnoreCase, ESearchDir::FromStart)) + { + const int32 l = FDisplayClusterTypesConverter::FromString<int32>(strL); + const int32 r = FDisplayClusterTypesConverter::FromString<int32>(strR); + + if (l != r) + { + ChMap.Add(l, r); + } + } + } + + return FDisplayClusterConfigBase::DeserializeFromString(line); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterConfigGeneral +////////////////////////////////////////////////////////////////////////////////////////////// +FString FDisplayClusterConfigGeneral::ToString() const +{ + return FString::Printf(TEXT("[%s + %s=%d]"), + *FDisplayClusterConfigBase::ToString(), + DisplayClusterStrings::cfg::data::general::SwapSyncPolicy, SwapSyncPolicy); +} + +bool FDisplayClusterConfigGeneral::DeserializeFromString(const FString& line) +{ + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::general::SwapSyncPolicy), SwapSyncPolicy); + return FDisplayClusterConfigBase::DeserializeFromString(line); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterConfigRender +////////////////////////////////////////////////////////////////////////////////////////////// +FString FDisplayClusterConfigRender::ToString() const +{ + return FString::Printf(TEXT("%s + "), + *FDisplayClusterConfigBase::ToString()); +} + +bool FDisplayClusterConfigRender::DeserializeFromString(const FString& line) +{ + return FDisplayClusterConfigBase::DeserializeFromString(line); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterConfigStereo +////////////////////////////////////////////////////////////////////////////////////////////// +FString FDisplayClusterConfigStereo::ToString() const +{ + return FString::Printf(TEXT("[%s + %s=%f]"), + *FDisplayClusterConfigBase::ToString(), + DisplayClusterStrings::cfg::data::stereo::EyeDist, EyeDist); +} + +bool FDisplayClusterConfigStereo::DeserializeFromString(const FString& line) +{ + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::stereo::EyeDist), EyeDist); + return FDisplayClusterConfigBase::DeserializeFromString(line); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterConfigDebug +////////////////////////////////////////////////////////////////////////////////////////////// +FString FDisplayClusterConfigDebug::ToString() const +{ + return FString::Printf(TEXT("[%s + %s=%s, %s=%s, %s=%f]"), + *FDisplayClusterConfigBase::ToString(), + DisplayClusterStrings::cfg::data::debug::DrawStats, DisplayClusterHelpers::str::BoolToStr(DrawStats), + DisplayClusterStrings::cfg::data::debug::LagSim, DisplayClusterHelpers::str::BoolToStr(LagSimulateEnabled), + DisplayClusterStrings::cfg::data::debug::LagTime, LagMaxTime); +} + +bool FDisplayClusterConfigDebug::DeserializeFromString(const FString& line) +{ + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::debug::DrawStats), DrawStats); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::debug::LagSim), LagSimulateEnabled); + DisplayClusterHelpers::str::ExtractCommandLineValue(line, FString(DisplayClusterStrings::cfg::data::debug::LagTime), LagMaxTime); + return FDisplayClusterConfigBase::DeserializeFromString(line); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterConfigCustom +////////////////////////////////////////////////////////////////////////////////////////////// +FString FDisplayClusterConfigCustom::ToString() const +{ + FString str = FDisplayClusterConfigBase::ToString() + FString( + "["); + int i = 0; + + for (auto it = Args.CreateConstIterator(); it; ++it) + { + str += FString::Printf(TEXT("\nCustom argument %d: %s=%s\n"), i++, *it->Key, *it->Value); + } + + str += FString("]"); + + return str; +} + +bool FDisplayClusterConfigCustom::DeserializeFromString(const FString& line) +{ + // Non-typical way of specifying custom arguments (we don't know + // the argument names) forces us to perform individual parsing approach. + FString tmpLine = line; + + // Prepare string before parsing + tmpLine.RemoveFromStart(DisplayClusterStrings::cfg::data::custom::Header); + tmpLine.TrimStartAndEndInline(); + + // Break into argument-value pairs + TArray<FString> pairs; + tmpLine.ParseIntoArray(pairs, TEXT(" ")); + + // Fill data from pairs + for (auto pair : pairs) + { + FString key, val; + if (pair.Split(FString(DisplayClusterStrings::strKeyValSeparator), &key, &val)) + { + if (key.Len() > 0 && val.Len() > 0) + { + Args.Add(key, val); + } + } + } + + return FDisplayClusterConfigBase::DeserializeFromString(line); +} diff --git a/Source/DisplayCluster/Private/Config/IPDisplayClusterConfigManager.h b/Source/DisplayCluster/Private/Config/IPDisplayClusterConfigManager.h new file mode 100644 index 0000000..87f6d7d --- /dev/null +++ b/Source/DisplayCluster/Private/Config/IPDisplayClusterConfigManager.h @@ -0,0 +1,24 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Config/IDisplayClusterConfigManager.h" +#include "IPDisplayClusterManager.h" + +#include "DisplayClusterBuildConfig.h" + + +/** + * Config manager private interface + */ +struct IPDisplayClusterConfigManager + : public IDisplayClusterConfigManager + , public IPDisplayClusterManager +{ + virtual ~IPDisplayClusterConfigManager() + { } + +#ifdef DISPLAY_CLUSTER_USE_DEBUG_STANDALONE_CONFIG + virtual bool IsRunningDebugAuto() const = 0; +#endif +}; diff --git a/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParser.cpp b/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParser.cpp new file mode 100644 index 0000000..7325886 --- /dev/null +++ b/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParser.cpp @@ -0,0 +1,80 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterConfigParser.h" + + +FDisplayClusterConfigParser::FDisplayClusterConfigParser(IDisplayClusterConfigParserListener* pListener) : + ConfigParserListener(pListener), + CurrentConfigPath() +{ +} + +FDisplayClusterConfigParser::~FDisplayClusterConfigParser() +{ +} + + +bool FDisplayClusterConfigParser::ParseFile(const FString& path) +{ + CurrentConfigPath = path; + return !CurrentConfigPath.IsEmpty(); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterConfigParserListener +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterConfigParser::AddClusterNode(const FDisplayClusterConfigClusterNode& node) +{ + ConfigParserListener->AddClusterNode(node); +} + +void FDisplayClusterConfigParser::AddScreen(const FDisplayClusterConfigScreen& screen) +{ + ConfigParserListener->AddScreen(screen); +} + +void FDisplayClusterConfigParser::AddViewport(const FDisplayClusterConfigViewport& viewport) +{ + ConfigParserListener->AddViewport(viewport); +} + +void FDisplayClusterConfigParser::AddCamera(const FDisplayClusterConfigCamera& camera) +{ + ConfigParserListener->AddCamera(camera); +} + +void FDisplayClusterConfigParser::AddSceneNode(const FDisplayClusterConfigSceneNode& node) +{ + ConfigParserListener->AddSceneNode(node); +} + +void FDisplayClusterConfigParser::AddGeneral(const FDisplayClusterConfigGeneral& general) +{ + ConfigParserListener->AddGeneral(general); +} + +void FDisplayClusterConfigParser::AddRender(const FDisplayClusterConfigRender& render) +{ + ConfigParserListener->AddRender(render); +} + +void FDisplayClusterConfigParser::AddStereo(const FDisplayClusterConfigStereo& stereo) +{ + ConfigParserListener->AddStereo(stereo); +} + +void FDisplayClusterConfigParser::AddDebug(const FDisplayClusterConfigDebug& debug) +{ + ConfigParserListener->AddDebug(debug); +} + +void FDisplayClusterConfigParser::AddInput(const FDisplayClusterConfigInput& input) +{ + ConfigParserListener->AddInput(input); +} + +void FDisplayClusterConfigParser::AddCustom(const FDisplayClusterConfigCustom& custom) +{ + ConfigParserListener->AddCustom(custom); +} diff --git a/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParser.h b/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParser.h new file mode 100644 index 0000000..85d6af3 --- /dev/null +++ b/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParser.h @@ -0,0 +1,44 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "IDisplayClusterConfigParserListener.h" +#include "Config/DisplayClusterConfigTypes.h" + + +/** + * Abstract config parser + */ +class FDisplayClusterConfigParser + : protected IDisplayClusterConfigParserListener +{ +public: + explicit FDisplayClusterConfigParser(IDisplayClusterConfigParserListener* pListener); + virtual ~FDisplayClusterConfigParser() = 0; + +public: + // Entry point for file parsing + virtual bool ParseFile(const FString& path); + +protected: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterConfigParserListener + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void AddClusterNode(const FDisplayClusterConfigClusterNode& node) override final; + virtual void AddScreen(const FDisplayClusterConfigScreen& screen) override final; + virtual void AddViewport(const FDisplayClusterConfigViewport& viewport) override final; + virtual void AddCamera(const FDisplayClusterConfigCamera& camera) override final; + virtual void AddSceneNode(const FDisplayClusterConfigSceneNode& node) override final; + virtual void AddGeneral(const FDisplayClusterConfigGeneral& general) override final; + virtual void AddRender(const FDisplayClusterConfigRender& render) override final; + virtual void AddStereo(const FDisplayClusterConfigStereo& stereo) override final; + virtual void AddDebug(const FDisplayClusterConfigDebug& debug) override final; + virtual void AddInput(const FDisplayClusterConfigInput& input) override final; + virtual void AddCustom(const FDisplayClusterConfigCustom& custom) override final; + +private: + IDisplayClusterConfigParserListener* const ConfigParserListener; + FString CurrentConfigPath; +}; + diff --git a/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserDebugAuto.cpp b/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserDebugAuto.cpp new file mode 100644 index 0000000..7811eb2 --- /dev/null +++ b/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserDebugAuto.cpp @@ -0,0 +1,63 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterConfigParserDebugAuto.h" + +#include "DisplayClusterBuildConfig.h" +#include "DisplayClusterConstants.h" +#include "DisplayClusterStrings.h" +#include "Config/DisplayClusterConfigTypes.h" + + +FDisplayClusterConfigParserDebugAuto::FDisplayClusterConfigParserDebugAuto(IDisplayClusterConfigParserListener* pListener) : + FDisplayClusterConfigParser(pListener) +{ +} + +bool FDisplayClusterConfigParserDebugAuto::ParseFile(const FString& path) +{ +#ifdef DISPLAY_CLUSTER_USE_DEBUG_STANDALONE_CONFIG + FDisplayClusterConfigClusterNode ClusterNode; + ClusterNode.Id = DisplayClusterStrings::misc::DbgStubNodeId; + ClusterNode.IsMaster = true; + ClusterNode.Addr = TEXT("127.0.0.1"); + ClusterNode.Port_CS = 41001; + ClusterNode.Port_SS = 41002; + ClusterNode.ScreenId = TEXT("screen_stub");; + ClusterNode.ViewportId = TEXT("viewport_stub"); + ClusterNode.SoundEnabled = true; + ClusterNode.EyeSwap = false; + AddClusterNode(ClusterNode); + + const float PixelDensity = 0.6f / 1920.f; + + FDisplayClusterConfigScreen Screen; + Screen.Id = ClusterNode.ScreenId; + Screen.Loc = FVector(0.7f, 0.f, 0.f); + Screen.Rot = FRotator::ZeroRotator; + Screen.Size = FVector2D(PixelDensity * DisplayClusterConstants::misc::DebugAutoResX, PixelDensity * DisplayClusterConstants::misc::DebugAutoResY); + AddScreen(Screen); + + FDisplayClusterConfigViewport Viewport; + Viewport.Id = ClusterNode.ViewportId; + Viewport.Loc = FIntPoint(0, 0); + Viewport.Size = FIntPoint(DisplayClusterConstants::misc::DebugAutoResX, DisplayClusterConstants::misc::DebugAutoResY); + AddViewport(Viewport); + + FDisplayClusterConfigCamera Camera; + Camera.Id = TEXT("camera_stub"); + Camera.Loc = FVector::ZeroVector; + Camera.Rot = FRotator::ZeroRotator; + AddCamera(Camera); + + FDisplayClusterConfigGeneral General; + General.SwapSyncPolicy = 1; + AddGeneral(General); + + FDisplayClusterConfigStereo Stereo; + Stereo.EyeDist = 0.064f; + AddStereo(Stereo); +#endif // DISPLAY_CLUSTER_USE_DEBUG_STANDALONE_CONFIG + + return true; +} + diff --git a/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserDebugAuto.h b/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserDebugAuto.h new file mode 100644 index 0000000..2f9deca --- /dev/null +++ b/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserDebugAuto.h @@ -0,0 +1,21 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "DisplayClusterConfigParser.h" + + +/** + * Auxiliary config parser. It generates hard-coded config. + */ +class FDisplayClusterConfigParserDebugAuto + : public FDisplayClusterConfigParser +{ +public: + FDisplayClusterConfigParserDebugAuto(IDisplayClusterConfigParserListener* pListener); + +protected: + // Entry point for file parsing + virtual bool ParseFile(const FString& path) override; +}; + diff --git a/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserText.cpp b/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserText.cpp new file mode 100644 index 0000000..9bfff4e --- /dev/null +++ b/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserText.cpp @@ -0,0 +1,98 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterConfigParserText.h" +#include "Misc/FileHelper.h" +#include "Misc/Paths.h" +#include "Misc/DisplayClusterLog.h" +#include "DisplayClusterStrings.h" + + +FDisplayClusterConfigParserText::FDisplayClusterConfigParserText(IDisplayClusterConfigParserListener* pListener) : + FDisplayClusterConfigParser(pListener) +{ +} + +bool FDisplayClusterConfigParserText::ParseFile(const FString& path) +{ + // Prepare path + FString cfgPath(path); + FPaths::NormalizeFilename(cfgPath); + + // Load data + UE_LOG(LogDisplayClusterConfig, Log, TEXT("Parsing config file %s"), *cfgPath); + if (FPaths::FileExists(cfgPath)) + { + TArray<FString> data; + if (FFileHelper::LoadANSITextFileToStrings(*cfgPath, nullptr, data) == true) + { + // Parse each line from config + for (auto line : data) + { + line.TrimStartAndEndInline(); + ParseLine(line); + } + + // Parsed, complete on base + return FDisplayClusterConfigParser::ParseFile(path); + } + } + + // An error occurred + return false; +} + +void FDisplayClusterConfigParserText::ParseLine(const FString& line) +{ + if (line.IsEmpty() || line.StartsWith(FString(DisplayClusterStrings::cfg::spec::Comment))) + { + // Skip this line + } + else if (line.StartsWith(FString(DisplayClusterStrings::cfg::data::cluster::Header))) + { + AddClusterNode(impl_parse<FDisplayClusterConfigClusterNode>(line)); + } + else if (line.StartsWith(FString(DisplayClusterStrings::cfg::data::screen::Header))) + { + AddScreen(impl_parse<FDisplayClusterConfigScreen>(line)); + } + else if (line.StartsWith(FString(DisplayClusterStrings::cfg::data::viewport::Header))) + { + AddViewport(impl_parse<FDisplayClusterConfigViewport>(line)); + } + else if (line.StartsWith(FString(DisplayClusterStrings::cfg::data::camera::Header))) + { + AddCamera(impl_parse<FDisplayClusterConfigCamera>(line)); + } + else if (line.StartsWith(FString(DisplayClusterStrings::cfg::data::scene::Header))) + { + AddSceneNode(impl_parse<FDisplayClusterConfigSceneNode>(line)); + } + else if (line.StartsWith(FString(DisplayClusterStrings::cfg::data::general::Header))) + { + AddGeneral(impl_parse<FDisplayClusterConfigGeneral>(line)); + } + else if (line.StartsWith(FString(DisplayClusterStrings::cfg::data::render::Header))) + { + AddRender(impl_parse<FDisplayClusterConfigRender>(line)); + } + else if (line.StartsWith(FString(DisplayClusterStrings::cfg::data::stereo::Header))) + { + AddStereo(impl_parse<FDisplayClusterConfigStereo>(line)); + } + else if (line.StartsWith(FString(DisplayClusterStrings::cfg::data::debug::Header))) + { + AddDebug(impl_parse<FDisplayClusterConfigDebug>(line)); + } + else if (line.StartsWith(FString(DisplayClusterStrings::cfg::data::input::Header))) + { + AddInput(impl_parse<FDisplayClusterConfigInput>(line)); + } + else if (line.StartsWith(FString(DisplayClusterStrings::cfg::data::custom::Header))) + { + AddCustom(impl_parse<FDisplayClusterConfigCustom>(line)); + } + else + { + UE_LOG(LogDisplayClusterConfig, Warning, TEXT("Unknown config token [%s]"), *line); + } +} diff --git a/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserText.h b/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserText.h new file mode 100644 index 0000000..2c00726 --- /dev/null +++ b/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserText.h @@ -0,0 +1,37 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "DisplayClusterConfigParser.h" +#include "Misc/DisplayClusterLog.h" + + +/** + * Config parser for text based config files + */ +class FDisplayClusterConfigParserText + : public FDisplayClusterConfigParser +{ +public: + FDisplayClusterConfigParserText(IDisplayClusterConfigParserListener* pListener); + +protected: + // Entry point for file parsing + virtual bool ParseFile(const FString& path) override; + + // Entry point for line parsing + void ParseLine(const FString& line); + +protected: + // Data type parsing + template <typename T> + inline T impl_parse(const FString& line) + { + static_assert(std::is_base_of<FDisplayClusterConfigBase, T>::value, "Only Display Cluster config types allowed"); + T tmp; bool result = static_cast<FDisplayClusterConfigBase&>(tmp).DeserializeFromString(line); + UE_LOG(LogDisplayClusterConfig, Log, TEXT("Deserialization: %s"), result ? TEXT("ok") : TEXT("failed")); + return tmp; + } +}; + diff --git a/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserXml.cpp b/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserXml.cpp new file mode 100644 index 0000000..c1b803e --- /dev/null +++ b/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserXml.cpp @@ -0,0 +1,13 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterConfigParserXml.h" + + +FDisplayClusterConfigParserXml::FDisplayClusterConfigParserXml(IDisplayClusterConfigParserListener* pListener) : + FDisplayClusterConfigParser(pListener) +{ +} + +//bool FDisplayClusterConfigParserXml::ReadConfigFile(const FString& path) +//{ +//} diff --git a/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserXml.h b/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserXml.h new file mode 100644 index 0000000..59973f3 --- /dev/null +++ b/Source/DisplayCluster/Private/Config/Parser/DisplayClusterConfigParserXml.h @@ -0,0 +1,28 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "DisplayClusterConfigParser.h" + + +/** + * Config parser for XML based config files + */ +class FDisplayClusterConfigParserXml + : public FDisplayClusterConfigParser +{ +public: + FDisplayClusterConfigParserXml(IDisplayClusterConfigParserListener* pListener); + +public: + // Entry point for file parsing + virtual bool ParseFile(const FString& path) override + { + // Not implemented yet + return false; + } + +protected: + //virtual bool ReadConfigFile(const FString& path); +}; + diff --git a/Source/DisplayCluster/Private/Config/Parser/IDisplayClusterConfigParserListener.h b/Source/DisplayCluster/Private/Config/Parser/IDisplayClusterConfigParserListener.h new file mode 100644 index 0000000..64bc030 --- /dev/null +++ b/Source/DisplayCluster/Private/Config/Parser/IDisplayClusterConfigParserListener.h @@ -0,0 +1,28 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Config/DisplayClusterConfigTypes.h" + + +/** + * Interface for parser listener. Notifies about entities found in a config file. + */ +struct IDisplayClusterConfigParserListener +{ +public: + virtual ~IDisplayClusterConfigParserListener() + { } + + virtual void AddClusterNode(const FDisplayClusterConfigClusterNode& cnode) = 0; + virtual void AddScreen(const FDisplayClusterConfigScreen& screen) = 0; + virtual void AddViewport(const FDisplayClusterConfigViewport& viewport) = 0; + virtual void AddCamera(const FDisplayClusterConfigCamera& camera) = 0; + virtual void AddSceneNode(const FDisplayClusterConfigSceneNode& snode) = 0; + virtual void AddGeneral(const FDisplayClusterConfigGeneral& general) = 0; + virtual void AddRender(const FDisplayClusterConfigRender& render) = 0; + virtual void AddStereo(const FDisplayClusterConfigStereo& stereo) = 0; + virtual void AddDebug(const FDisplayClusterConfigDebug& debug) = 0; + virtual void AddInput(const FDisplayClusterConfigInput& input) = 0; + virtual void AddCustom(const FDisplayClusterConfigCustom& custom) = 0; +}; diff --git a/Source/DisplayCluster/Private/DisplayClusterBuildConfig.h b/Source/DisplayCluster/Private/DisplayClusterBuildConfig.h new file mode 100644 index 0000000..183968b --- /dev/null +++ b/Source/DisplayCluster/Private/DisplayClusterBuildConfig.h @@ -0,0 +1,13 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +// Enables automatic ID resolve by host address. This feature +// can be used only with single DisplayCluster instance per PC. +#define DISPLAY_CLUSTER_USE_AUTOMATIC_NODE_ID_RESOLVE + +// Allows to run game with stereo in easy way. You don't have +// to have a config file and a lot of command line arguments. +// Simple argument list would be: +// -dc_cluster -dc_cfg=? -quad_buffer_stereo -opengl4 +#define DISPLAY_CLUSTER_USE_DEBUG_STANDALONE_CONFIG diff --git a/Source/DisplayCluster/Private/DisplayClusterConstants.h b/Source/DisplayCluster/Private/DisplayClusterConstants.h new file mode 100644 index 0000000..abc1322 --- /dev/null +++ b/Source/DisplayCluster/Private/DisplayClusterConstants.h @@ -0,0 +1,30 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "DisplayClusterBuildConfig.h" + + +namespace DisplayClusterConstants +{ + namespace net + { + static constexpr int32 ClientConnectTriesAmount = 100; // times + static constexpr float ClientConnectRetryDelay = 1.0f; // sec + static constexpr uint32 BarrierGameStartWaitTimeout = 80000; // ms + static constexpr uint32 BarrierWaitTimeout = 10000; // ms + static constexpr int32 SocketBufferSize = INT16_MAX; // bytes + static constexpr int32 MessageBufferSize = INT16_MAX; // bytes + }; + + namespace misc + { +#ifdef DISPLAY_CLUSTER_USE_DEBUG_STANDALONE_CONFIG + static constexpr int32 DebugAutoWinX = 0; + static constexpr int32 DebugAutoWinY = 0; + static constexpr int32 DebugAutoResX = 1920; + static constexpr int32 DebugAutoResY = 1080; +#endif + } +}; diff --git a/Source/DisplayCluster/Private/DisplayClusterGlobals.cpp b/Source/DisplayCluster/Private/DisplayClusterGlobals.cpp new file mode 100644 index 0000000..f46eb28 --- /dev/null +++ b/Source/DisplayCluster/Private/DisplayClusterGlobals.cpp @@ -0,0 +1,7 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterGlobals.h" + + +IPDisplayCluster* GDisplayCluster = nullptr; + diff --git a/Source/DisplayCluster/Private/DisplayClusterGlobals.h b/Source/DisplayCluster/Private/DisplayClusterGlobals.h new file mode 100644 index 0000000..d514084 --- /dev/null +++ b/Source/DisplayCluster/Private/DisplayClusterGlobals.h @@ -0,0 +1,9 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +struct IPDisplayCluster; + + +// Internal global DisplayCluster module interface +extern IPDisplayCluster* GDisplayCluster; diff --git a/Source/DisplayCluster/Private/DisplayClusterModule.cpp b/Source/DisplayCluster/Private/DisplayClusterModule.cpp new file mode 100644 index 0000000..d830116 --- /dev/null +++ b/Source/DisplayCluster/Private/DisplayClusterModule.cpp @@ -0,0 +1,204 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterModule.h" + +#include "Cluster/DisplayClusterClusterManager.h" +#include "Config/DisplayClusterConfigManager.h" +#include "Game/DisplayClusterGameManager.h" +#include "Input/DisplayClusterInputManager.h" +#include "Render/DisplayClusterRenderManager.h" + +#include "Misc/DisplayClusterLog.h" + +#include "DisplayClusterGlobals.h" + + +FDisplayClusterModule::FDisplayClusterModule() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterModule); + + GDisplayCluster = this; +} + +FDisplayClusterModule::~FDisplayClusterModule() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterModule); + +#if 1 + GDisplayCluster = nullptr; +#else + // WORKAROUND + // UE4 does something like that: + // 1. inst1 = new FDisplayClusterModule + // 2. inst2 = new FDisplayClusterModule + // 3. delete inst1 + // To store valid pointer (inst2) I need the check below. + if (GDisplayCluster == this) + { + GDisplayCluster = nullptr; + } +#endif +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IModuleInterface +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterModule::StartupModule() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterModule); + + UE_LOG(LogDisplayClusterModule, Log, TEXT("DisplayCluster module has been started")); +} + +void FDisplayClusterModule::ShutdownModule() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterModule); + + // Clean everything before .dtor call + Release(); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayCluster +////////////////////////////////////////////////////////////////////////////////////////////// + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterManager +////////////////////////////////////////////////////////////////////////////////////////////// +bool FDisplayClusterModule::Init(EDisplayClusterOperationMode OperationMode) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterModule); + + UE_LOG(LogDisplayClusterModule, Log, TEXT("Instantiating subsystem managers...")); + + CurrentOperationMode = OperationMode; + + // Initialize internals (the order is important) + Managers.Add(MgrConfig = new FDisplayClusterConfigManager); + Managers.Add(MgrRender = new FDisplayClusterRenderManager); + Managers.Add(MgrCluster = new FDisplayClusterClusterManager); + Managers.Add(MgrInput = new FDisplayClusterInputManager); + Managers.Add(MgrGame = new FDisplayClusterGameManager); + + UE_LOG(LogDisplayClusterModule, Log, TEXT("Initializing subsystems to %s operation mode"), *FDisplayClusterTypesConverter::ToString(CurrentOperationMode)); + + bool result = true; + auto it = Managers.CreateIterator(); + while (result && it) + { + result = result && (*it)->Init(CurrentOperationMode); + ++it; + } + + if (!result) + { + UE_LOG(LogDisplayClusterModule, Error, TEXT("An error occurred during internal initialization")); + } + + // Set internal initialization flag + bIsModuleInitialized = result; + + return result; +} + +void FDisplayClusterModule::Release() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterModule); + + UE_LOG(LogDisplayClusterModule, Log, TEXT("Cleaning up internals...")); + + for (auto pMgr : Managers) + { + pMgr->Release(); + delete pMgr; + } + + Managers.Empty(); +} + +bool FDisplayClusterModule::StartSession(const FString& configPath, const FString& nodeId) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterModule); + + UE_LOG(LogDisplayClusterModule, Log, TEXT("StartSession: config path is %s"), *configPath); + + bool result = true; + auto it = Managers.CreateIterator(); + while (result && it) + { + result = result && (*it)->StartSession(configPath, nodeId); + ++it; + } + + if (!result) + { + UE_LOG(LogDisplayClusterModule, Error, TEXT("An error occurred during session start")); + } + + return result; +} + +void FDisplayClusterModule::EndSession() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterModule); + + UE_LOG(LogDisplayClusterModule, Log, TEXT("Stopping DisplayCluster session...")); + + for (auto pMgr : Managers) + { + pMgr->EndSession(); + } +} + +bool FDisplayClusterModule::StartScene(UWorld* pWorld) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterModule); + + UE_LOG(LogDisplayClusterModule, Log, TEXT("Starting game...")); + + check(pWorld); + + bool result = true; + auto it = Managers.CreateIterator(); + while (result && it) + { + result = result && (*it)->StartScene(pWorld); + ++it; + } + + if (!result) + { + UE_LOG(LogDisplayClusterModule, Error, TEXT("An error occurred during game (level) start")); + } + + return result; +} + +void FDisplayClusterModule::EndScene() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterModule); + + UE_LOG(LogDisplayClusterModule, Log, TEXT("Stopping game...")); + + for (auto pMgr : Managers) + { + pMgr->EndScene(); + } +} + +void FDisplayClusterModule::PreTick(float DeltaSeconds) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterModule); + + UE_LOG(LogDisplayClusterModule, Verbose, TEXT("PreTick: delta time - %f"), DeltaSeconds); + + for (auto pMgr : Managers) + { + pMgr->PreTick(DeltaSeconds); + } +} + +IMPLEMENT_MODULE(FDisplayClusterModule, DisplayCluster) diff --git a/Source/DisplayCluster/Private/DisplayClusterModule.h b/Source/DisplayCluster/Private/DisplayClusterModule.h new file mode 100644 index 0000000..078bbe4 --- /dev/null +++ b/Source/DisplayCluster/Private/DisplayClusterModule.h @@ -0,0 +1,93 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "IPDisplayCluster.h" + +#include "Cluster/IPDisplayClusterClusterManager.h" +#include "Config/IPDisplayClusterConfigManager.h" +#include "Game/IPDisplayClusterGameManager.h" +#include "Input/IPDisplayClusterInputManager.h" +#include "Render/IPDisplayClusterRenderManager.h" + + +/** + * Display Cluster module implementation + */ +class FDisplayClusterModule : + public IPDisplayCluster +{ +public: + FDisplayClusterModule(); + virtual ~FDisplayClusterModule(); + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayCluster + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool IsModuleInitialized() const override + { return bIsModuleInitialized; } + + virtual EDisplayClusterOperationMode GetOperationMode() const override + { return CurrentOperationMode; } + + virtual IDisplayClusterRenderManager* GetRenderMgr() const override { return MgrRender; } + virtual IDisplayClusterClusterManager* GetClusterMgr() const override { return MgrCluster; } + virtual IDisplayClusterInputManager* GetInputMgr() const override { return MgrInput; } + virtual IDisplayClusterConfigManager* GetConfigMgr() const override { return MgrConfig; } + virtual IDisplayClusterGameManager* GetGameMgr() const override { return MgrGame; } + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayCluster + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual IPDisplayClusterRenderManager* GetPrivateRenderMgr() const override { return MgrRender; } + virtual IPDisplayClusterClusterManager* GetPrivateClusterMgr() const override { return MgrCluster; } + virtual IPDisplayClusterInputManager* GetPrivateInputMgr() const override { return MgrInput; } + virtual IPDisplayClusterConfigManager* GetPrivateConfigMgr() const override { return MgrConfig; } + virtual IPDisplayClusterGameManager* GetPrivateGameMgr() const override { return MgrGame; } + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterManager + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool Init(EDisplayClusterOperationMode OperationMode) override; + virtual void Release() override; + virtual bool StartSession(const FString& configPath, const FString& nodeId) override; + virtual void EndSession() override; + virtual bool StartScene(UWorld* pWorld) override; + virtual void EndScene() override; + virtual void PreTick(float DeltaSeconds) override; + +private: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IModuleInterface + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void StartupModule() override; + virtual void ShutdownModule() override; +#if 0 + virtual void PreUnloadCallback() override; + virtual void PostLoadCallback() override; + virtual bool SupportsDynamicReloading() override; + virtual bool SupportsAutomaticShutdown() override; + virtual bool IsGameModule() const override; +#endif + +private: + // Is module initialized. + // This flag is not the same as EDisplayClusterOperationMode::Disabled which is used when we turn off the DC functionality in a game mode. + bool bIsModuleInitialized = false; + + // DisplayCluster subsystems + IPDisplayClusterClusterManager* MgrCluster = nullptr; + IPDisplayClusterRenderManager* MgrRender = nullptr; + IPDisplayClusterInputManager* MgrInput = nullptr; + IPDisplayClusterConfigManager* MgrConfig = nullptr; + IPDisplayClusterGameManager* MgrGame = nullptr; + + // Array of available managers + TArray<IPDisplayClusterManager*> Managers; + + // Runtime + EDisplayClusterOperationMode CurrentOperationMode = EDisplayClusterOperationMode::Disabled; +}; diff --git a/Source/DisplayCluster/Private/DisplayClusterStrings.h b/Source/DisplayCluster/Private/DisplayClusterStrings.h new file mode 100644 index 0000000..be698ed --- /dev/null +++ b/Source/DisplayCluster/Private/DisplayClusterStrings.h @@ -0,0 +1,190 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "DisplayClusterBuildConfig.h" + + +namespace DisplayClusterStrings +{ + // Common strings + static constexpr auto strKeyValSeparator = TEXT("="); + + // Command line arguments + namespace args + { + static constexpr auto Cluster = TEXT("dc_cluster"); + static constexpr auto Standalone = TEXT("dc_standalone"); + static constexpr auto Node = TEXT("dc_node"); + static constexpr auto Config = TEXT("dc_cfg"); + static constexpr auto Camera = TEXT("dc_camera"); + + // Stereo device types (command line values) + namespace dev + { + static constexpr auto Debug = TEXT("dc_dev_debug"); + static constexpr auto QBS = TEXT("quad_buffer_stereo"); + static constexpr auto TB = TEXT("dc_dev_top_bottom"); + static constexpr auto SbS = TEXT("dc_dev_side_by_side"); + static constexpr auto Mono = TEXT("dc_dev_mono"); + } + } + + namespace cfg + { + // Config file extensions + namespace file + { + static constexpr auto FileExtCfg1 = TEXT("cfg"); + static constexpr auto FileExtCfg2 = TEXT("conf"); + static constexpr auto FileExtCfg3 = TEXT("config"); + static constexpr auto FileExtTxt = TEXT("txt"); + static constexpr auto FileExtXml = TEXT("xml"); + } + + // Config special constants + namespace spec + { + static constexpr auto Comment = TEXT("#"); + static constexpr auto KeyValSeparator = TEXT("="); + static constexpr auto ValTrue = TEXT("true"); + static constexpr auto ValFalse = TEXT("false"); + static constexpr auto MappingDelimiter = TEXT(","); + } + + // Config data tokens + namespace data + { + static constexpr auto Id = TEXT("id"); + static constexpr auto ParentId = TEXT("parent"); + static constexpr auto Loc = TEXT("loc"); + static constexpr auto Rot = TEXT("rot"); + + // Cluster tokens + namespace cluster + { + static constexpr auto Header = TEXT("[cluster_node]"); + static constexpr auto Addr = TEXT("addr"); + static constexpr auto Screen = TEXT("screen"); + static constexpr auto Viewport = TEXT("viewport"); + static constexpr auto PortCS = TEXT("port_cs"); + static constexpr auto PortSS = TEXT("port_ss"); + static constexpr auto Master = TEXT("master"); + static constexpr auto Sound = TEXT("sound"); + static constexpr auto EyeSwap = TEXT("eye_swap"); + // + Id + } + + // Screen tokens + namespace screen + { + static constexpr auto Header = TEXT("[screen]"); + static constexpr auto Size = TEXT("size"); + // + Id, Parent, Loc, Rot + } + + // Viewport tokens + namespace viewport + { + static constexpr auto Header = TEXT("[viewport]"); + static constexpr auto PosX = TEXT("x"); + static constexpr auto PosY = TEXT("y"); + static constexpr auto Width = TEXT("width"); + static constexpr auto Height = TEXT("height"); + // + Id + } + + // Camera tokens + namespace camera + { + static constexpr auto Header = TEXT("[camera]"); + // + Id, Loc, Rot, Parent + } + + // Scene node (transforms) + namespace scene + { + static constexpr auto Header = TEXT("[scene_node]"); + static constexpr auto TrackerId = TEXT("tracker_id"); + static constexpr auto TrackerCh = TEXT("tracker_ch"); + // + Id, Loc, Rot, Parent + } + + // Input tokens + namespace input + { + static constexpr auto Header = TEXT("[input]"); + static constexpr auto Type = TEXT("type"); + static constexpr auto Address = TEXT("addr"); + static constexpr auto Remap = TEXT("remap"); + // + Id + + static constexpr auto Right = TEXT("right"); + static constexpr auto Front = TEXT("front"); + static constexpr auto Up = TEXT("up"); + + static constexpr auto MapX = TEXT("x"); + static constexpr auto MapNX = TEXT("-x"); + static constexpr auto MapY = TEXT("y"); + static constexpr auto MapNY = TEXT("-y"); + static constexpr auto MapZ = TEXT("z"); + static constexpr auto MapNZ = TEXT("-z"); + + static constexpr auto DeviceTracker = TEXT("tracker"); + static constexpr auto DeviceAnalog = TEXT("analog"); + static constexpr auto DeviceButtons = TEXT("buttons"); + } + + // General settings tokens + namespace general + { + static constexpr auto Header = TEXT("[general]"); + static constexpr auto SwapSyncPolicy = TEXT("swap_sync_policy"); + } + + // Stereo tokens + namespace stereo + { + static constexpr auto Header = TEXT("[stereo]"); + static constexpr auto EyeDist = TEXT("eye_dist"); + } + + // Render tokens + namespace render + { + static constexpr auto Header = TEXT("[render]"); + } + + // Debug tokens + namespace debug + { + static constexpr auto Header = TEXT("[debug]"); + static constexpr auto LagSim = TEXT("lag_simulation"); + static constexpr auto LagTime = TEXT("lag_max_time"); + static constexpr auto DrawStats = TEXT("draw_stats"); + } + + // Custom arguments + namespace custom + { + static constexpr auto Header = TEXT("[custom]"); + } + } + }; + + namespace rhi + { + static constexpr auto OpenGL = TEXT("OpenGL"); + static constexpr auto D3D11 = TEXT("D3D11"); + static constexpr auto D3D12 = TEXT("D3D12"); + } + + namespace misc + { +#ifdef DISPLAY_CLUSTER_USE_DEBUG_STANDALONE_CONFIG + static constexpr auto DbgStubConfig = TEXT("?"); + static constexpr auto DbgStubNodeId = TEXT("node_stub"); +#endif + } +}; diff --git a/Source/DisplayCluster/Private/Game/Classes/Basics/DisplayClusterGameEngine.cpp b/Source/DisplayCluster/Private/Game/Classes/Basics/DisplayClusterGameEngine.cpp new file mode 100644 index 0000000..58e1ae3 --- /dev/null +++ b/Source/DisplayCluster/Private/Game/Classes/Basics/DisplayClusterGameEngine.cpp @@ -0,0 +1,236 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterGameEngine.h" + +#include "Cluster/IPDisplayClusterClusterManager.h" +#include "Cluster/Controller/IPDisplayClusterNodeController.h" +#include "Config/IPDisplayClusterConfigManager.h" +#include "Input/IPDisplayClusterInputManager.h" + +#include "Misc/App.h" +#include "Misc/CommandLine.h" +#include "Misc/DisplayClusterAppExit.h" +#include "Misc/DisplayClusterHelpers.h" +#include "Misc/DisplayClusterLog.h" +#include "Misc/Parse.h" +#include "DisplayClusterBuildConfig.h" +#include "DisplayClusterGlobals.h" +#include "IPDisplayCluster.h" + + +void UDisplayClusterGameEngine::Init(class IEngineLoop* InEngineLoop) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterEngine); + + // Detect requested operation mode + OperationMode = DetectOperationMode(); + + // Initialize Display Cluster + if (!GDisplayCluster->Init(OperationMode)) + { + FDisplayClusterAppExit::ExitApplication(FDisplayClusterAppExit::ExitType::KillImmediately, FString("Couldn't initialize DisplayCluster module")); + } + + FString cfgPath; + FString nodeId; + + if (OperationMode == EDisplayClusterOperationMode::Cluster) + { + // Extract config path from command line + if (!FParse::Value(FCommandLine::Get(), DisplayClusterStrings::args::Config, cfgPath)) + { + UE_LOG(LogDisplayClusterEngine, Error, TEXT("No config file specified")); + FDisplayClusterAppExit::ExitApplication(FDisplayClusterAppExit::ExitType::KillImmediately, FString("Cluster mode requires config file")); + } + + // Extract node ID from command line + if (!FParse::Value(FCommandLine::Get(), DisplayClusterStrings::args::Node, nodeId)) + { +#ifdef DISPLAY_CLUSTER_USE_AUTOMATIC_NODE_ID_RESOLVE + UE_LOG(LogDisplayClusterEngine, Log, TEXT("Node ID is not specified")); +#else + UE_LOG(LogDisplayClusterEngine, Warning, TEXT("Node ID is not specified")); + FDisplayClusterAppExit::ExitApplication(FDisplayClusterAppExit::ExitType::KillImmediately, FString("Cluster mode requires node ID")); +#endif + } + } + else if (OperationMode == EDisplayClusterOperationMode::Standalone) + { +#ifdef DISPLAY_CLUSTER_USE_DEBUG_STANDALONE_CONFIG + // Save config path from command line + cfgPath = DisplayClusterStrings::misc::DbgStubConfig; + nodeId = DisplayClusterStrings::misc::DbgStubNodeId; +#endif + } + + if (OperationMode == EDisplayClusterOperationMode::Cluster || + OperationMode == EDisplayClusterOperationMode::Standalone) + { + DisplayClusterHelpers::str::DustCommandLineValue(cfgPath); + DisplayClusterHelpers::str::DustCommandLineValue(nodeId); + + // Start game session + if (!GDisplayCluster->StartSession(cfgPath, nodeId)) + { + FDisplayClusterAppExit::ExitApplication(FDisplayClusterAppExit::ExitType::KillImmediately, FString("Couldn't start DisplayCluster session")); + } + + // Initialize internals + InitializeInternals(); + } + + // Initialize base stuff. + UGameEngine::Init(InEngineLoop); +} + +EDisplayClusterOperationMode UDisplayClusterGameEngine::DetectOperationMode() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterEngine); + + EDisplayClusterOperationMode OpMode = EDisplayClusterOperationMode::Disabled; + if (FParse::Param(FCommandLine::Get(), DisplayClusterStrings::args::Cluster)) + { + OpMode = EDisplayClusterOperationMode::Cluster; + } + else if (FParse::Param(FCommandLine::Get(), DisplayClusterStrings::args::Standalone)) + { + OpMode = EDisplayClusterOperationMode::Standalone; + } + + UE_LOG(LogDisplayClusterEngine, Log, TEXT("Detected operation mode: %s"), *FDisplayClusterTypesConverter::ToString(OpMode)); + + return OpMode; +} + +bool UDisplayClusterGameEngine::InitializeInternals() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterEngine); + + // Store debug settings locally + CfgDebug = GDisplayCluster->GetPrivateConfigMgr()->GetConfigDebug(); + + InputMgr = GDisplayCluster->GetPrivateInputMgr(); + ClusterMgr = GDisplayCluster->GetPrivateClusterMgr(); + NodeController = ClusterMgr->GetController(); + + FDisplayClusterConfigClusterNode nodeCfg; + if (GDisplayCluster->GetPrivateConfigMgr()->GetLocalClusterNode(nodeCfg)) + { + UE_LOG(LogDisplayClusterEngine, Log, TEXT("Configuring sound enabled: %s"), *FDisplayClusterTypesConverter::ToString(nodeCfg.SoundEnabled)); + bUseSound = nodeCfg.SoundEnabled; + } + + check(ClusterMgr); + check(InputMgr); + + return true; +} + +void UDisplayClusterGameEngine::PreExit() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterEngine); + + if (OperationMode == EDisplayClusterOperationMode::Cluster || + OperationMode == EDisplayClusterOperationMode::Standalone) + { + // Close current DisplayCluster session + GDisplayCluster->EndSession(); + } + + // Release the engine + UGameEngine::PreExit(); +} + +bool UDisplayClusterGameEngine::LoadMap(FWorldContext& WorldContext, FURL URL, class UPendingNetGame* Pending, FString& Error) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterEngine); + + // Perform map loading + if (!Super::LoadMap(WorldContext, URL, Pending, Error)) + { + return false; + } + + if (OperationMode == EDisplayClusterOperationMode::Cluster || + OperationMode == EDisplayClusterOperationMode::Standalone) + { + // Game start barrier + NodeController->WaitForGameStart(); + } + + return true; +} + +void UDisplayClusterGameEngine::Tick(float DeltaSeconds, bool bIdleMode) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterEngine); + + if (OperationMode == EDisplayClusterOperationMode::Cluster || + OperationMode == EDisplayClusterOperationMode::Standalone) + { + FTimecode Timecode; + FFrameRate FrameRate; + + // Update input device state (master only) + InputMgr->Update(); + + // Update delta time. Cluster slaves will get this value from the master few steps later + ClusterMgr->SetDeltaTime(DeltaSeconds); + + ////////////////////////////////////////////////////////////////////////////////////////////// + // Frame start barrier + NodeController->WaitForFrameStart(); + UE_LOG(LogDisplayClusterEngine, Verbose, TEXT("Sync frame start")); + + // Get DisplayCluster time delta + NodeController->GetDeltaTime(DeltaSeconds); + NodeController->GetTimecode(Timecode, FrameRate); + UE_LOG(LogDisplayClusterEngine, Verbose, TEXT("DisplayCluster delta time (seconds): %f"), DeltaSeconds); + UE_LOG(LogDisplayClusterEngine, Verbose, TEXT("DisplayCluster Timecode: %s | %s"), *Timecode.ToString(), *FrameRate.ToPrettyText().ToString()); + + // Update delta time in the application + FApp::SetDeltaTime(DeltaSeconds); + FApp::SetTimecodeAndFrameRate(Timecode, FrameRate); + + // Update input state in the cluster + ClusterMgr->SyncInput(); + + // Perform PreTick for DisplayCluster module + UE_LOG(LogDisplayClusterEngine, Verbose, TEXT("Perform PreTick()")); + GDisplayCluster->PreTick(DeltaSeconds); + + // Perform Tick() calls for scene actors + UE_LOG(LogDisplayClusterEngine, Verbose, TEXT("Perform Tick()")); + Super::Tick(DeltaSeconds, bIdleMode); + + if (CfgDebug.LagSimulateEnabled) + { + const float lag = CfgDebug.LagMaxTime; + UE_LOG(LogDisplayClusterEngine, Log, TEXT("Simulating lag: %f seconds"), lag); +#if 1 + FPlatformProcess::Sleep(FMath::RandRange(0.f, lag)); +#else + FPlatformProcess::Sleep(lag); +#endif + } + +#if 0 + ////////////////////////////////////////////////////////////////////////////////////////////// + // Tick end barrier + NodeController->WaitForTickEnd(); +#endif + + ////////////////////////////////////////////////////////////////////////////////////////////// + // Frame end barrier + NodeController->WaitForFrameEnd(); + UE_LOG(LogDisplayClusterEngine, Verbose, TEXT("Sync frame end")); + + // Sync cluster objects + ClusterMgr->SyncObjects(); + } + else + { + Super::Tick(DeltaSeconds, bIdleMode); + } +} + diff --git a/Source/DisplayCluster/Private/Game/Classes/Basics/DisplayClusterGameMode.cpp b/Source/DisplayCluster/Private/Game/Classes/Basics/DisplayClusterGameMode.cpp new file mode 100644 index 0000000..4717aa7 --- /dev/null +++ b/Source/DisplayCluster/Private/Game/Classes/Basics/DisplayClusterGameMode.cpp @@ -0,0 +1,217 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterGameMode.h" + +#include "Game/IPDisplayClusterGameManager.h" +#include "Input/IPDisplayClusterInputManager.h" + +#include "Misc/DisplayClusterAppExit.h" +#include "Misc/DisplayClusterLog.h" +#include "Misc/DisplayClusterHelpers.h" +#include "Misc/Paths.h" + +#include "DisplayClusterPawn.h" +#include "DisplayClusterSettings.h" + +#include "DisplayClusterStrings.h" +#include "DisplayClusterPlayerController.h" +#include "DisplayClusterHUD.h" +#include "DisplayClusterGlobals.h" +#include "IPDisplayCluster.h" + + +#if WITH_EDITOR +bool ADisplayClusterGameMode::bNeedSessionStart = true; +bool ADisplayClusterGameMode::bSessionStarted = false; +#endif + + +ADisplayClusterGameMode::ADisplayClusterGameMode() : + Super() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + if (!bIsDisplayClusterActive) + { + return; + } + + DefaultPawnClass = ADisplayClusterPawn::StaticClass(); + PlayerControllerClass = ADisplayClusterPlayerController::StaticClass(); + HUDClass = ADisplayClusterHUD::StaticClass(); +} + +ADisplayClusterGameMode::~ADisplayClusterGameMode() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); +} + +void ADisplayClusterGameMode::InitGame(const FString& MapName, const FString& Options, FString& ErrorMessage) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + Super::InitGame(MapName, Options, ErrorMessage); + + if (!GDisplayCluster->IsModuleInitialized()) + { + return; + } + + UE_LOG(LogDisplayClusterGame, Log, TEXT("%s"), bIsDisplayClusterActive ? + TEXT("DisplayCluster feature is active for this world.") : + TEXT("DisplayCluster feature has been deactivated for this world by game mode.")); + + if (!bIsDisplayClusterActive) + { + return; + } + +#if WITH_EDITOR + if (GIsEditor && ADisplayClusterGameMode::bNeedSessionStart) + { + // Look for DisplayClusterSettings actor + TArray<ADisplayClusterSettings*> Settings; + DisplayClusterHelpers::game::FindAllActors(GetWorld(), Settings); + + FString NodeId; + FString ConfigPath; + + // Extract user settings + if (Settings.Num() > 0) + { + NodeId = Settings[0]->EditorNodeId; + ConfigPath = Settings[0]->EditorConfigPath; + } + else + { + UE_LOG(LogDisplayClusterGame, Warning, TEXT("No DisplayCluster settings found. Using defaults.")); + + NodeId = DisplayClusterStrings::misc::DbgStubNodeId; + ConfigPath = DisplayClusterStrings::misc::DbgStubConfig; + } + + DisplayClusterHelpers::str::DustCommandLineValue(ConfigPath); + DisplayClusterHelpers::str::DustCommandLineValue(NodeId); + + // Check if config path is relative. In this case we have to build an absolute path from a project directory. + if (FPaths::IsRelative(ConfigPath)) + { + UE_LOG(LogDisplayClusterGame, Log, TEXT("Relative path detected. Generating absolute path...")); + ConfigPath = FPaths::Combine(FPaths::ProjectDir(), ConfigPath); + ConfigPath = FPaths::ConvertRelativePathToFull(ConfigPath); + UE_LOG(LogDisplayClusterGame, Log, TEXT("Absolute path: %s"), *ConfigPath); + } + + ADisplayClusterGameMode::bSessionStarted = GDisplayCluster->StartSession(ConfigPath, NodeId); + if (!ADisplayClusterGameMode::bSessionStarted) + { + UE_LOG(LogDisplayClusterGame, Error, TEXT("Couldn't start DisplayCluster session")); + FDisplayClusterAppExit::ExitApplication(FDisplayClusterAppExit::ExitType::NormalSoft, FString("Couldn't start DisplayCluster session")); + } + + // Subscribe to EndPIE event to close the DisplayCluster session + EndPIEDelegate = FEditorDelegates::EndPIE.AddUObject(this, &ADisplayClusterGameMode::OnEndPIE); + + // Don't start DisplayCluster session again after LoadLevel + ADisplayClusterGameMode::bNeedSessionStart = false; + } +#endif +} + +void ADisplayClusterGameMode::StartPlay() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + if (GDisplayCluster->IsModuleInitialized() && bIsDisplayClusterActive) + { + IPDisplayClusterGameManager* const pGameMgr = GDisplayCluster->GetPrivateGameMgr(); + if (pGameMgr) + { + // Set current DisplayClusterGameMode + pGameMgr->SetDisplayClusterGameMode(this); + + TArray<ADisplayClusterSettings*> Settings; + DisplayClusterHelpers::game::FindAllActors(GetWorld(), Settings); + + // Set current DisplayCluster scene settings + if (Settings.Num()) + { + UE_LOG(LogDisplayClusterGame, Log, TEXT("Found DisplayCluster settings for this level")); + pGameMgr->SetDisplayClusterSceneSettings(Settings[0]); + } + } + } + + Super::StartPlay(); +} + + +void ADisplayClusterGameMode::BeginPlay() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + if (GDisplayCluster->IsModuleInitialized() && bIsDisplayClusterActive) + { + bGameStarted = GDisplayCluster->StartScene(GetWorld()); + if (!bGameStarted) + { + UE_LOG(LogDisplayClusterGame, Error, TEXT("Couldn't start game")); + GetWorld()->Exec(GetWorld(), TEXT("quit")); + } + } + + Super::BeginPlay(); +} + +void ADisplayClusterGameMode::BeginDestroy() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + if (GDisplayCluster->IsModuleInitialized() && bIsDisplayClusterActive) + { + if (bGameStarted) + { + GDisplayCluster->EndScene(); + } + + // ... + } + + Super::BeginDestroy(); +} + +void ADisplayClusterGameMode::Tick(float DeltaSeconds) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + Super::Tick(DeltaSeconds); + + if (!GDisplayCluster->IsModuleInitialized() || !bIsDisplayClusterActive) + { + return; + } + +#if WITH_EDITOR + IPDisplayClusterInputManager* const pInputMgr = GDisplayCluster->GetPrivateInputMgr(); + if (pInputMgr) + { + pInputMgr->Update(); + } + + GDisplayCluster->PreTick(DeltaSeconds); +#endif +} + +#if WITH_EDITOR +void ADisplayClusterGameMode::OnEndPIE(const bool bSimulate) +{ + if (GIsEditor) + { + FEditorDelegates::EndPIE.Remove(EndPIEDelegate); + GDisplayCluster->EndSession(); + + ADisplayClusterGameMode::bNeedSessionStart = true; + ADisplayClusterGameMode::bSessionStarted = false; + } +} +#endif diff --git a/Source/DisplayCluster/Private/Game/Classes/Basics/DisplayClusterGameModeDefault.cpp b/Source/DisplayCluster/Private/Game/Classes/Basics/DisplayClusterGameModeDefault.cpp new file mode 100644 index 0000000..9d1c4e0 --- /dev/null +++ b/Source/DisplayCluster/Private/Game/Classes/Basics/DisplayClusterGameModeDefault.cpp @@ -0,0 +1,28 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterGameModeDefault.h" +#include "DisplayClusterPawnDefault.h" + +#include "Misc/DisplayClusterLog.h" +#include "IPDisplayCluster.h" +#include "DisplayClusterGlobals.h" + + +ADisplayClusterGameModeDefault::ADisplayClusterGameModeDefault() : + Super() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + if (!bIsDisplayClusterActive) + { + return; + } + + DefaultPawnClass = ADisplayClusterPawnDefault::StaticClass(); +} + +ADisplayClusterGameModeDefault::~ADisplayClusterGameModeDefault() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); +} + diff --git a/Source/DisplayCluster/Private/Game/Classes/Basics/DisplayClusterHUD.cpp b/Source/DisplayCluster/Private/Game/Classes/Basics/DisplayClusterHUD.cpp new file mode 100644 index 0000000..d2f63b5 --- /dev/null +++ b/Source/DisplayCluster/Private/Game/Classes/Basics/DisplayClusterHUD.cpp @@ -0,0 +1,21 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterHUD.h" + + +ADisplayClusterHUD::ADisplayClusterHUD(const FObjectInitializer& ObjectInitializer) : + AHUD(ObjectInitializer) +{ + PrimaryActorTick.bCanEverTick = true; +} + + +void ADisplayClusterHUD::BeginPlay() +{ + Super::BeginPlay(); +} + +void ADisplayClusterHUD::DrawHUD() +{ + Super::DrawHUD(); +} diff --git a/Source/DisplayCluster/Private/Game/Classes/Basics/DisplayClusterPlayerController.cpp b/Source/DisplayCluster/Private/Game/Classes/Basics/DisplayClusterPlayerController.cpp new file mode 100644 index 0000000..c14a65c --- /dev/null +++ b/Source/DisplayCluster/Private/Game/Classes/Basics/DisplayClusterPlayerController.cpp @@ -0,0 +1,33 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterPlayerController.h" +#include "Misc/DisplayClusterAppExit.h" + + +void ADisplayClusterPlayerController::PlayerTick(float DeltaTime) +{ + Super::PlayerTick(DeltaTime); + + if (WasInputKeyJustPressed(EKeys::Escape)) + { + FDisplayClusterAppExit::ExitApplication(FDisplayClusterAppExit::ExitType::NormalSoft, FString("Exit on ESC requested")); + } +} + +void ADisplayClusterPlayerController::BeginPlay() +{ + Super::BeginPlay(); + +#if 0 + //@todo: temporary solution. we need generic DisplayCluster access to statistics + //@note: next line causes crash + FDisplayClusterConfigDebug cfgDebug = FGDisplayCluster->GetPrivateConfigMgr()->GetConfigDebug(); + if (cfgDebug.DrawStats) + { + UE_LOG(LogDisplayClusterGame, Log, TEXT("Activating onscreen stats")); + ConsoleCommand(FString("stat fps"), true); + ConsoleCommand(FString("stat unit"), true); + } +#endif +} + diff --git a/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterCameraComponent.cpp b/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterCameraComponent.cpp new file mode 100644 index 0000000..1e367e1 --- /dev/null +++ b/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterCameraComponent.cpp @@ -0,0 +1,36 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterCameraComponent.h" + + +UDisplayClusterCameraComponent::UDisplayClusterCameraComponent(const FObjectInitializer& ObjectInitializer) : + UDisplayClusterSceneComponent(ObjectInitializer) +{ + PrimaryComponentTick.bCanEverTick = true; +} + + +void UDisplayClusterCameraComponent::BeginPlay() +{ + Super::BeginPlay(); + + // ... + +} + +void UDisplayClusterCameraComponent::TickComponent( float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction ) +{ + Super::TickComponent( DeltaTime, TickType, ThisTickFunction ); + + // ... +} + +void UDisplayClusterCameraComponent::SetSettings(const FDisplayClusterConfigSceneNode* pConfig) +{ + Super::SetSettings(pConfig); +} + +bool UDisplayClusterCameraComponent::ApplySettings() +{ + return Super::ApplySettings(); +} diff --git a/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterPawn.cpp b/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterPawn.cpp new file mode 100644 index 0000000..031ae76 --- /dev/null +++ b/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterPawn.cpp @@ -0,0 +1,131 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterPawn.h" + +#include "Engine/CollisionProfile.h" +#include "Engine/World.h" + +#include "Camera/CameraComponent.h" +#include "Components/SphereComponent.h" +#include "GameFramework/PlayerController.h" + +#include "Cluster/IPDisplayClusterClusterManager.h" +#include "Game/IPDisplayClusterGameManager.h" +#include "Kismet/GameplayStatics.h" + +#include "DisplayClusterSceneComponentSyncParent.h" + +#include "IPDisplayCluster.h" +#include "Misc/DisplayClusterLog.h" +#include "DisplayClusterSettings.h" +#include "DisplayClusterGameMode.h" +#include "DisplayClusterGlobals.h" + + +ADisplayClusterPawn::ADisplayClusterPawn(const FObjectInitializer& ObjectInitializer) : + Super(ObjectInitializer) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + // Collision component + CollisionComponent = CreateDefaultSubobject<USphereComponent>(TEXT("CollisionComponent0")); + CollisionComponent->InitSphereRadius(35.0f); + CollisionComponent->SetCollisionProfileName(UCollisionProfile::Pawn_ProfileName); + CollisionComponent->CanCharacterStepUpOn = ECB_No; + CollisionComponent->SetCanEverAffectNavigation(true); + CollisionComponent->bDynamicObstacle = true; + CollisionComponent->SetCollisionEnabled(ECollisionEnabled::NoCollision); + + // Collision component must always be a root + RootComponent = CollisionComponent; + + // Collision offset component + CollisionOffsetComponent = CreateDefaultSubobject<UDisplayClusterSceneComponent>(TEXT("DisplayCluster_offset")); + CollisionOffsetComponent->AttachToComponent(RootComponent, FAttachmentTransformRules(EAttachmentRule::KeepRelative, false)); + + // DisplayCluster sync + DisplayClusterSyncRoot = CreateDefaultSubobject<UDisplayClusterSceneComponentSyncParent>(TEXT("DisplayCluster_root_sync")); + DisplayClusterSyncRoot->AttachToComponent(RootComponent, FAttachmentTransformRules(EAttachmentRule::KeepRelative, false)); + + DisplayClusterSyncCollisionOffset = CreateDefaultSubobject<UDisplayClusterSceneComponentSyncParent>(TEXT("DisplayCluster_colloffset_sync")); + DisplayClusterSyncCollisionOffset->AttachToComponent(CollisionOffsetComponent, FAttachmentTransformRules(EAttachmentRule::KeepRelative, false)); + + // Camera + CameraComponent = CreateDefaultSubobject<UCameraComponent>(TEXT("DisplayCluster_camera")); + CameraComponent->AttachToComponent(CollisionOffsetComponent, FAttachmentTransformRules(EAttachmentRule::KeepRelative, false)); + CameraComponent->bUsePawnControlRotation = false; + CameraComponent->bAbsoluteLocation = false; + CameraComponent->bAbsoluteRotation = false; + + PrimaryActorTick.bCanEverTick = true; + bFindCameraComponentWhenViewTarget = true; + bCanBeDamaged = false; + bReplicates = false; + SpawnCollisionHandlingMethod = ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButAlwaysSpawn; +} + +void ADisplayClusterPawn::BeginPlay() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + Super::BeginPlay(); + + if (!GDisplayCluster->IsModuleInitialized()) + { + return; + } + + GameMgr = GDisplayCluster->GetPrivateGameMgr(); + bIsCluster = (GDisplayCluster->GetOperationMode() == EDisplayClusterOperationMode::Cluster); + + // No collision by default + CollisionComponent->SetCollisionEnabled(ECollisionEnabled::NoCollision); + + // Enable collision if needed + if (GameMgr && GameMgr->IsDisplayClusterActive()) + { + const ADisplayClusterSettings* const pDisplayClusterSettings = GameMgr->GetDisplayClusterSceneSettings(); + + const IPDisplayClusterClusterManager* const ClusterMgr = GDisplayCluster->GetPrivateClusterMgr(); + if (ClusterMgr && ClusterMgr->IsMaster()) + { + if (pDisplayClusterSettings && pDisplayClusterSettings->bEnableCollisions) + { + // Enable collisions + CollisionComponent->SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics); + // Apply collision related offset to DisplayCluster hierarchy + const FVector CollisionOffset(0.f, 0.f, -CollisionComponent->GetUnscaledSphereRadius()); + CollisionOffsetComponent->SetRelativeLocation(CollisionOffset); + UE_LOG(LogDisplayClusterGame, Log, TEXT("Collision offset: %s"), *CollisionOffset.ToString()); + } + } + else + { + // Turn off input processing on slave nodes + UWorld* World = GetWorld(); + if (World) + { + APlayerController* PlayerController = World->GetFirstPlayerController(); + if (PlayerController) + { + UE_LOG(LogDisplayClusterGame, Log, TEXT("Deactivating input on slave node...")); + this->DisableInput(PlayerController); + } + } + } + } +} + +void ADisplayClusterPawn::BeginDestroy() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + Super::BeginDestroy(); +} + +void ADisplayClusterPawn::Tick(float DeltaSeconds) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + Super::Tick(DeltaSeconds); +} diff --git a/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterPawnDefault.cpp b/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterPawnDefault.cpp new file mode 100644 index 0000000..101119c --- /dev/null +++ b/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterPawnDefault.cpp @@ -0,0 +1,254 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterPawnDefault.h" + +#include "Cluster/IPDisplayClusterClusterManager.h" +#include "Game/IPDisplayClusterGameManager.h" + +#include "DisplayClusterSceneComponentSyncParent.h" + +#include "DisplayClusterSettings.h" +#include "DisplayClusterGameMode.h" +#include "DisplayClusterGlobals.h" + +#include "Engine/World.h" +#include "Misc/DisplayClusterLog.h" +#include "GameFramework/WorldSettings.h" + +#include "IPDisplayCluster.h" + + +ADisplayClusterPawnDefault::ADisplayClusterPawnDefault(const FObjectInitializer& ObjectInitializer) : + Super(ObjectInitializer) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + // Movement component + MovementComponent = CreateDefaultSubobject<UFloatingPawnMovement>(TEXT("MovementComponent0")); + MovementComponent->UpdatedComponent = RootComponent; + + // Rotation component + RotatingComponent = CreateDefaultSubobject<URotatingMovementComponent>(TEXT("RotatingComponent0")); + RotatingComponent->UpdatedComponent = RootComponent; + RotatingComponent->bRotationInLocalSpace = true; + RotatingComponent->PivotTranslation = FVector::ZeroVector; + RotatingComponent->RotationRate = FRotator::ZeroRotator; + + // Rotation component2 + RotatingComponent2 = CreateDefaultSubobject<URotatingMovementComponent>(TEXT("RotatingComponent1")); + RotatingComponent2->UpdatedComponent = RootComponent; + RotatingComponent2->bRotationInLocalSpace = false; + RotatingComponent2->PivotTranslation = FVector::ZeroVector; + RotatingComponent2->RotationRate = FRotator::ZeroRotator; + + BaseTurnRate = 45.f; + BaseLookUpRate = 45.f; +} + +void ADisplayClusterPawnDefault::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + check(PlayerInputComponent); + + Super::SetupPlayerInputComponent(PlayerInputComponent); + + if (PlayerInputComponent) + { + PlayerInputComponent->BindAxis("MoveForward", this, &ADisplayClusterPawnDefault::MoveForward); + PlayerInputComponent->BindAxis("MoveRight", this, &ADisplayClusterPawnDefault::MoveRight); + PlayerInputComponent->BindAxis("MoveUp", this, &ADisplayClusterPawnDefault::MoveUp); + PlayerInputComponent->BindAxis("TurnRate", this, &ADisplayClusterPawnDefault::TurnAtRate2); + PlayerInputComponent->BindAxis("LookUpRate", this, &ADisplayClusterPawnDefault::LookUpAtRate); + } +} + +void ADisplayClusterPawnDefault::BeginPlay() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + Super::BeginPlay(); + + if (!GDisplayCluster->IsModuleInitialized()) + { + return; + } + + GameMgr = GDisplayCluster->GetPrivateGameMgr(); + bIsCluster = (GDisplayCluster->GetOperationMode() == EDisplayClusterOperationMode::Cluster); + + bUseControllerRotationYaw = !bIsCluster; + bUseControllerRotationPitch = !bIsCluster; + bUseControllerRotationRoll = !bIsCluster; + + // Enable collision if needed + if (GameMgr && GameMgr->IsDisplayClusterActive()) + { + const ADisplayClusterSettings* const pDisplayClusterSettings = GameMgr->GetDisplayClusterSceneSettings(); + if (pDisplayClusterSettings) + { + // Apply movement settings + MovementComponent->MaxSpeed = pDisplayClusterSettings->MovementMaxSpeed; + MovementComponent->Acceleration = pDisplayClusterSettings->MovementAcceleration; + MovementComponent->Deceleration = pDisplayClusterSettings->MovementDeceleration; + MovementComponent->TurningBoost = pDisplayClusterSettings->MovementTurningBoost; + + // Apply rotation settings + BaseTurnRate = pDisplayClusterSettings->RotationSpeed; + BaseLookUpRate = pDisplayClusterSettings->RotationSpeed; + } + } +} + +void ADisplayClusterPawnDefault::BeginDestroy() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + Super::BeginDestroy(); +} + +void ADisplayClusterPawnDefault::Tick(float DeltaSeconds) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + Super::Tick(DeltaSeconds); + + const float Mult = GetWorld()->GetWorldSettings()->WorldToMeters / 100.f; + SetActorScale3D(FVector(Mult, Mult, Mult)); +} + +void ADisplayClusterPawnDefault::MoveRight(float Val) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + if (Val != 0.f) + { + UE_LOG(LogDisplayClusterGame, Verbose, TEXT("ADisplayClusterPawn::MoveRight: %f"), Val); + + const USceneComponent* const pComp = (TranslationDirection ? TranslationDirection : RootComponent); + AddMovementInput(pComp->GetRightVector(), Val); + } +} + +void ADisplayClusterPawnDefault::MoveForward(float Val) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + if (Val != 0.f) + { + UE_LOG(LogDisplayClusterGame, Verbose, TEXT("ADisplayClusterPawn::MoveForward: %f"), Val); + + const USceneComponent* const pComp = (TranslationDirection ? TranslationDirection : RootComponent); + AddMovementInput(pComp->GetForwardVector(), Val); + } +} + +void ADisplayClusterPawnDefault::MoveUp(float Val) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + if (Val != 0.f) + { + UE_LOG(LogDisplayClusterGame, Verbose, TEXT("ADisplayClusterPawn::MoveUp: %f"), Val); + + const USceneComponent* const pComp = (TranslationDirection ? TranslationDirection : RootComponent); + AddMovementInput(pComp->GetUpVector(), Val); + } +} + +void ADisplayClusterPawnDefault::TurnAtRate(float Rate) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + UE_LOG(LogDisplayClusterGame, Verbose, TEXT("ADisplayClusterPawn::TurnAtRate: %f"), Rate); + + if (bIsCluster) + { + IPDisplayClusterGameManager* const pMgr = GDisplayCluster->GetPrivateGameMgr(); + if (pMgr) + { + auto* const pCam = pMgr->GetActiveCamera(); + if (pCam) + { + if (RotatingComponent->UpdatedComponent) + { + const FTransform TransformToRotate = RotatingComponent->UpdatedComponent->GetComponentTransform(); + const FVector RotateAroundPivot = TransformToRotate.InverseTransformPositionNoScale(pCam->GetComponentLocation()); + RotatingComponent->PivotTranslation = RotateAroundPivot; + RotatingComponent->RotationRate = FRotator(RotatingComponent->RotationRate.Pitch, Rate * BaseTurnRate, 0.f); + } + } + } + } + else + { + if (Rate != 0.f) + { + AddControllerYawInput(BaseTurnRate * Rate * GetWorld()->GetDeltaSeconds() * CustomTimeDilation); + } + } +} + +void ADisplayClusterPawnDefault::TurnAtRate2(float Rate) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + UE_LOG(LogDisplayClusterGame, Verbose, TEXT("ADisplayClusterPawn::TurnAtRate2: %f"), Rate); + + if (bIsCluster) + { + IPDisplayClusterGameManager* const pMgr = GDisplayCluster->GetPrivateGameMgr(); + if (pMgr) + { + UDisplayClusterCameraComponent* const pCam = pMgr->GetActiveCamera(); + if (pCam) + { + if (RotatingComponent2->UpdatedComponent) + { + const FTransform TransformToRotate = RotatingComponent2->UpdatedComponent->GetComponentTransform(); + const FVector RotateAroundPivot = TransformToRotate.InverseTransformPositionNoScale(pCam->GetComponentLocation()); + RotatingComponent2->PivotTranslation = RotateAroundPivot; + RotatingComponent2->RotationRate = FRotator(RotatingComponent2->RotationRate.Pitch, Rate * BaseTurnRate, 0.f); + } + } + } + } + else + { + if (Rate != 0.f) + { + AddControllerYawInput(BaseTurnRate * Rate * GetWorld()->GetDeltaSeconds() * CustomTimeDilation); + } + } +} + +void ADisplayClusterPawnDefault::LookUpAtRate(float Rate) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + if (bIsCluster) + { + //@note: usually CAVE-like systems don't use roll and pitch rotation since it can cause dizziness. +#if 0 + //@todo: rotate around active camera + IPDisplayClusterGameManager* const pMgr = GDisplayCluster->GetPrivateGameMgr(); + if (pMgr) + { + auto* const pCam = pMgr->GetActiveCamera(); + if (pCam) + { + RotatingComponent->bRotationInLocalSpace = true; + RotatingComponent->PivotTranslation = FVector::ZeroVector; + RotatingComponent->RotationRate = FRotator(Rate * BaseLookUpRate, RotatingComponent->RotationRate.Yaw, 0.f); + } + } +#endif + } + else + { + if (Rate != 0.f) + { + AddControllerPitchInput(BaseTurnRate * Rate * GetWorld()->GetDeltaSeconds() * CustomTimeDilation); + } + } +} diff --git a/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterSceneComponent.cpp b/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterSceneComponent.cpp new file mode 100644 index 0000000..5ec86b7 --- /dev/null +++ b/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterSceneComponent.cpp @@ -0,0 +1,89 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterSceneComponent.h" + +#include "Config/DisplayClusterConfigTypes.h" +#include "Game/IPDisplayClusterGameManager.h" +#include "Input/IPDisplayClusterInputManager.h" +#include "Misc/DisplayClusterLog.h" + +#include "DisplayClusterGlobals.h" +#include "IPDisplayCluster.h" + + +UDisplayClusterSceneComponent::UDisplayClusterSceneComponent(const FObjectInitializer& ObjectInitializer) : + USceneComponent(ObjectInitializer) +{ + PrimaryComponentTick.bCanEverTick = true; +} + +void UDisplayClusterSceneComponent::BeginPlay() +{ + Super::BeginPlay(); +} + +void UDisplayClusterSceneComponent::BeginDestroy() +{ + Super::BeginDestroy(); +} + +void UDisplayClusterSceneComponent::TickComponent( float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction ) +{ + Super::TickComponent(DeltaTime, TickType, ThisTickFunction); + + // Update transform if attached to a tracker + if (!Config.TrackerId.IsEmpty()) + { + const IPDisplayClusterInputManager* const InputMgr = GDisplayCluster->GetPrivateInputMgr(); + if (InputMgr) + { + FVector loc; + FQuat rot; + const bool bLocAvail = InputMgr->GetTrackerLocation(Config.TrackerId, Config.TrackerCh, loc); + const bool bRotAvail = InputMgr->GetTrackerQuat(Config.TrackerId, Config.TrackerCh, rot); + + if (bLocAvail && bRotAvail) + { + UE_LOG(LogDisplayClusterGame, Verbose, TEXT("%s[%s] update from tracker %s:%d - {loc %s} {quat %s}"), + *GetName(), *GetId(), *Config.TrackerId, Config.TrackerCh, *loc.ToString(), *rot.ToString()); + + // Update transform + FHitResult hitResult; + this->SetRelativeLocationAndRotation(loc, rot, false, &hitResult, ETeleportType::ResetPhysics); + // Force child transforms update + UpdateChildTransforms(/*true*/); + } + } + } +} + +void UDisplayClusterSceneComponent::SetSettings(const FDisplayClusterConfigSceneNode* pConfig) +{ + check(pConfig); + + Config = *pConfig; + + // Convert m to cm + Config.Loc *= 100.f; +} + +bool UDisplayClusterSceneComponent::ApplySettings() +{ + // Take place in hierarchy + if (!GetParentId().IsEmpty()) + { + const IPDisplayClusterGameManager* const GameMgr = GDisplayCluster->GetPrivateGameMgr(); + if (GameMgr) + { + UE_LOG(LogDisplayClusterGame, Log, TEXT("Attaching %s to %s"), *GetId(), *GetParentId()); + UDisplayClusterSceneComponent* const pComp = GameMgr->GetNodeById(GetParentId()); + AttachToComponent(pComp, FAttachmentTransformRules(EAttachmentRule::KeepRelative, false)); + //this->SetRelativeTransform(FTransform::Identity); + } + } + + // Set up location and rotation + this->SetRelativeLocationAndRotation(Config.Loc, Config.Rot); + + return true; +} diff --git a/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterSceneComponentSync.cpp b/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterSceneComponentSync.cpp new file mode 100644 index 0000000..9cdc673 --- /dev/null +++ b/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterSceneComponentSync.cpp @@ -0,0 +1,103 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterSceneComponentSync.h" + +#include "IPDisplayCluster.h" +#include "Cluster/IPDisplayClusterClusterManager.h" +#include "Game/IPDisplayClusterGameManager.h" +#include "Misc/DisplayClusterLog.h" +#include "DisplayClusterGlobals.h" + + +UDisplayClusterSceneComponentSync::UDisplayClusterSceneComponentSync(const FObjectInitializer& ObjectInitializer) : + USceneComponent(ObjectInitializer) +{ + PrimaryComponentTick.bCanEverTick = true; +} + +void UDisplayClusterSceneComponentSync::BeginPlay() +{ + Super::BeginPlay(); + + if (!GDisplayCluster->IsModuleInitialized()) + { + return; + } + + // Generate unique sync id + SyncId = GetSyncId(); + + GameMgr = GDisplayCluster->GetPrivateGameMgr(); + if (GameMgr && GameMgr->IsDisplayClusterActive()) + { + // Register sync object + ClusterMgr = GDisplayCluster->GetPrivateClusterMgr(); + if (ClusterMgr) + { + UE_LOG(LogDisplayClusterGame, Log, TEXT("Registering sync object %s..."), *SyncId); + ClusterMgr->RegisterSyncObject(this); + } + else + { + UE_LOG(LogDisplayClusterGame, Warning, TEXT("Couldn't register %s scene component sync. Looks like we're in non-DisplayCluster mode."), *SyncId); + } + } +} + + +void UDisplayClusterSceneComponentSync::TickComponent( float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction ) +{ + Super::TickComponent( DeltaTime, TickType, ThisTickFunction ); + + // ... +} + +void UDisplayClusterSceneComponentSync::DestroyComponent(bool bPromoteChildren) +{ + if (GDisplayCluster->IsModuleInitialized()) + { + if (GameMgr && GameMgr->IsDisplayClusterActive()) + { + if (ClusterMgr) + { + UE_LOG(LogDisplayClusterGame, Log, TEXT("Unregistering sync object %s..."), *SyncId); + ClusterMgr->UnregisterSyncObject(this); + } + } + } + + Super::DestroyComponent(bPromoteChildren); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterClusterSyncObject +////////////////////////////////////////////////////////////////////////////////////////////// +FString UDisplayClusterSceneComponentSync::GetSyncId() const +{ + return FString::Printf(TEXT("S_%s"), *GetOwner()->GetName()); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterStringSerializable +////////////////////////////////////////////////////////////////////////////////////////////// +FString UDisplayClusterSceneComponentSync::SerializeToString() const +{ + return GetSyncTransform().ToString(); +} + +bool UDisplayClusterSceneComponentSync::DeserializeFromString(const FString& data) +{ + FTransform t; + if (!t.InitFromString(data)) + { + UE_LOG(LogDisplayClusterGame, Error, TEXT("Unable to deserialize transform data")); + return false; + } + + UE_LOG(LogDisplayClusterGame, Verbose, TEXT("%s: applying transform data <%s>"), *SyncId, *t.ToHumanReadableString()); + SetSyncTransform(t); + + return true; +} diff --git a/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterSceneComponentSyncParent.cpp b/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterSceneComponentSyncParent.cpp new file mode 100644 index 0000000..162d1b5 --- /dev/null +++ b/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterSceneComponentSyncParent.cpp @@ -0,0 +1,70 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterSceneComponentSyncParent.h" +#include "GameFramework/Actor.h" + + +UDisplayClusterSceneComponentSyncParent::UDisplayClusterSceneComponentSyncParent(const FObjectInitializer& ObjectInitializer) : + UDisplayClusterSceneComponentSync(ObjectInitializer) +{ + PrimaryComponentTick.bCanEverTick = false; +} + +void UDisplayClusterSceneComponentSyncParent::BeginPlay() +{ + Super::BeginPlay(); + + // ... +} + + +void UDisplayClusterSceneComponentSyncParent::TickComponent( float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction ) +{ + Super::TickComponent( DeltaTime, TickType, ThisTickFunction ); + + // ... +} + +void UDisplayClusterSceneComponentSyncParent::DestroyComponent(bool bPromoteChildren) +{ + Super::DestroyComponent(bPromoteChildren); +} + + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterClusterSyncObject +////////////////////////////////////////////////////////////////////////////////////////////// +FString UDisplayClusterSceneComponentSyncParent::GetSyncId() const +{ + return FString::Printf(TEXT("SP_%s.%s"), *GetOwner()->GetName(), *GetAttachParent()->GetName()); +} + + +bool UDisplayClusterSceneComponentSyncParent::IsDirty() const +{ + USceneComponent* const pParent = GetAttachParent(); + return (LastSyncLoc != pParent->RelativeLocation || LastSyncRot != pParent->RelativeRotation || LastSyncScale != pParent->RelativeScale3D); +} + +void UDisplayClusterSceneComponentSyncParent::ClearDirty() +{ + USceneComponent* const pParent = GetAttachParent(); + LastSyncLoc = pParent->RelativeLocation; + LastSyncRot = pParent->RelativeRotation; + LastSyncScale = pParent->RelativeScale3D; +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// UDisplayClusterSceneComponentSync +////////////////////////////////////////////////////////////////////////////////////////////// +FTransform UDisplayClusterSceneComponentSyncParent::GetSyncTransform() const +{ + return GetAttachParent()->GetRelativeTransform(); +} + +void UDisplayClusterSceneComponentSyncParent::SetSyncTransform(const FTransform& t) +{ + GetAttachParent()->SetRelativeTransform(t); +} diff --git a/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterSceneComponentSyncThis.cpp b/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterSceneComponentSyncThis.cpp new file mode 100644 index 0000000..6160061 --- /dev/null +++ b/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterSceneComponentSyncThis.cpp @@ -0,0 +1,67 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterSceneComponentSyncThis.h" + +#include "GameFramework/Actor.h" + + +UDisplayClusterSceneComponentSyncThis::UDisplayClusterSceneComponentSyncThis(const FObjectInitializer& ObjectInitializer) : + UDisplayClusterSceneComponentSync(ObjectInitializer) +{ + PrimaryComponentTick.bCanEverTick = false; +} + +void UDisplayClusterSceneComponentSyncThis::BeginPlay() +{ + Super::BeginPlay(); + + // ... +} + + +void UDisplayClusterSceneComponentSyncThis::TickComponent( float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction ) +{ + Super::TickComponent( DeltaTime, TickType, ThisTickFunction ); + + // ... +} + +void UDisplayClusterSceneComponentSyncThis::DestroyComponent(bool bPromoteChildren) +{ + Super::DestroyComponent(bPromoteChildren); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterClusterSyncObject +////////////////////////////////////////////////////////////////////////////////////////////// +FString UDisplayClusterSceneComponentSyncThis::GetSyncId() const +{ + return FString::Printf(TEXT("ST_%s"), *GetOwner()->GetName()); +} + +bool UDisplayClusterSceneComponentSyncThis::IsDirty() const +{ + return (LastSyncLoc != RelativeLocation || LastSyncRot != RelativeRotation || LastSyncScale != RelativeScale3D); +} + +void UDisplayClusterSceneComponentSyncThis::ClearDirty() +{ + LastSyncLoc = RelativeLocation; + LastSyncRot = RelativeRotation; + LastSyncScale = RelativeScale3D; +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// UDisplayClusterSceneComponentSync +////////////////////////////////////////////////////////////////////////////////////////////// +FTransform UDisplayClusterSceneComponentSyncThis::GetSyncTransform() const +{ + return GetRelativeTransform(); +} + +void UDisplayClusterSceneComponentSyncThis::SetSyncTransform(const FTransform& t) +{ + SetRelativeTransform(t); +} diff --git a/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterScreenComponent.cpp b/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterScreenComponent.cpp new file mode 100644 index 0000000..2cc6b0c --- /dev/null +++ b/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterScreenComponent.cpp @@ -0,0 +1,92 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterScreenComponent.h" +#include "DisplayClusterSettings.h" +#include "Components/StaticMeshComponent.h" +#include "Engine/GameEngine.h" +#include "Engine/StaticMesh.h" +#include "Materials/MaterialInterface.h" +#include "Materials/Material.h" +#include "UObject/ConstructorHelpers.h" + +#include "Game/IPDisplayClusterGameManager.h" +#include "DisplayClusterGlobals.h" +#include "IPDisplayCluster.h" +#include "EngineDefines.h" + + +UDisplayClusterScreenComponent::UDisplayClusterScreenComponent(const FObjectInitializer& ObjectInitializer) : + UDisplayClusterSceneComponent(ObjectInitializer) +{ + PrimaryComponentTick.bCanEverTick = true; + +#if WITH_EDITOR + if (GEngine && GEngine->IsEditor()) + { + const IPDisplayClusterGameManager* const GameMgr = GDisplayCluster->GetPrivateGameMgr(); + if (GameMgr) + { + const ADisplayClusterSettings* const pDisplayClusterSettings = GameMgr->GetDisplayClusterSceneSettings(); + if (pDisplayClusterSettings && pDisplayClusterSettings->bEditorShowProjectionScreens) + { + ScreenGeometryComponent = CreateDefaultSubobject<UStaticMeshComponent>(FName(*(GetName() + FString("_impl")))); + check(ScreenGeometryComponent); + + if (ScreenGeometryComponent) + { + static ConstructorHelpers::FObjectFinder<UStaticMesh> screenMesh(TEXT("StaticMesh'/Engine/BasicShapes/Cube.Cube'")); + static ConstructorHelpers::FObjectFinder<UMaterial> screenMat(TEXT("Material'/Engine/Engine_MI_Shaders/M_Shader_SimpleTranslucent.M_Shader_SimpleTranslucent'")); + + ScreenGeometryComponent->AttachToComponent(this, FAttachmentTransformRules(EAttachmentRule::KeepRelative, false)); + ScreenGeometryComponent->SetStaticMesh(screenMesh.Object); + ScreenGeometryComponent->SetMobility(EComponentMobility::Movable); + ScreenGeometryComponent->SetMaterial(0, screenMat.Object); + ScreenGeometryComponent->SetCollisionEnabled(ECollisionEnabled::NoCollision); + } + } + } + } +#endif +} + + +void UDisplayClusterScreenComponent::BeginPlay() +{ + Super::BeginPlay(); + + // ... +} + + +void UDisplayClusterScreenComponent::TickComponent( float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction ) +{ + Super::TickComponent(DeltaTime, TickType, ThisTickFunction); + + // ... +} + +void UDisplayClusterScreenComponent::SetSettings(const FDisplayClusterConfigSceneNode* pConfig) +{ + const FDisplayClusterConfigScreen* pScreenCfg = static_cast<const FDisplayClusterConfigScreen*>(pConfig); + Size = pScreenCfg->Size; + + Super::SetSettings(pConfig); +} + +bool UDisplayClusterScreenComponent::ApplySettings() +{ + Super::ApplySettings(); + +#if WITH_EDITOR + if (ScreenGeometryComponent) + { + ScreenGeometryComponent->RegisterComponent(); + ScreenGeometryComponent->AttachToComponent(this, FAttachmentTransformRules(EAttachmentRule::KeepRelative, false)); + ScreenGeometryComponent->SetRelativeLocationAndRotation(FVector::ZeroVector, FRotator::ZeroRotator, false); + } +#endif + + SetRelativeScale3D(FVector(0.0001f, Size.X, Size.Y)); + + return true; +} diff --git a/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterSettings.cpp b/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterSettings.cpp new file mode 100644 index 0000000..8811141 --- /dev/null +++ b/Source/DisplayCluster/Private/Game/Classes/Scene/DisplayClusterSettings.cpp @@ -0,0 +1,20 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterSettings.h" + + +ADisplayClusterSettings::ADisplayClusterSettings(const FObjectInitializer& ObjectInitializer) : + AActor(ObjectInitializer), + MovementMaxSpeed(1200.f), + MovementAcceleration(4000.f), + MovementDeceleration(8000.f), + MovementTurningBoost(8.f), + RotationSpeed(45.f) +{ + PrimaryActorTick.bCanEverTick = true; + +} + +ADisplayClusterSettings::~ADisplayClusterSettings() +{ +} diff --git a/Source/DisplayCluster/Private/Game/DisplayClusterGameManager.cpp b/Source/DisplayCluster/Private/Game/DisplayClusterGameManager.cpp new file mode 100644 index 0000000..2d7a84e --- /dev/null +++ b/Source/DisplayCluster/Private/Game/DisplayClusterGameManager.cpp @@ -0,0 +1,502 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterGameManager.h" + +#include "Config/IPDisplayClusterConfigManager.h" + +#include "DisplayClusterGameMode.h" +#include "DisplayClusterSettings.h" + +#include "Kismet/GameplayStatics.h" +#include "Misc/CommandLine.h" +#include "Misc/DisplayClusterHelpers.h" +#include "Misc/DisplayClusterLog.h" +#include "Config/DisplayClusterConfigTypes.h" + +#include "Camera/CameraComponent.h" +#include "Components/SceneComponent.h" +#include "DisplayClusterCameraComponent.h" +#include "DisplayClusterSceneComponent.h" + +#include "IPDisplayCluster.h" +#include "DisplayClusterGlobals.h" +#include "DisplayClusterStrings.h" + + +FDisplayClusterGameManager::FDisplayClusterGameManager() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); +} + +FDisplayClusterGameManager::~FDisplayClusterGameManager() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterManager +////////////////////////////////////////////////////////////////////////////////////////////// +bool FDisplayClusterGameManager::Init(EDisplayClusterOperationMode OperationMode) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + CurrentOperationMode = OperationMode; + + return true; +} + +void FDisplayClusterGameManager::Release() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); +} + +bool FDisplayClusterGameManager::StartSession(const FString& configPath, const FString& nodeId) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + ConfigPath = configPath; + ClusterNodeId = nodeId; + + return true; +} + +void FDisplayClusterGameManager::EndSession() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); +} + +bool FDisplayClusterGameManager::StartScene(UWorld* pWorld) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + check(pWorld); + CurrentWorld = pWorld; + + VRRootActor = nullptr; + ActiveScreenComponent = nullptr; + ActiveCameraComponent = nullptr; + + // Clean containers. We store only pointers so there is no need to do any additional + // operations. All components will be destroyed by the engine. + ScreenComponents.Reset(); + CameraComponents.Reset(); + SceneNodeComponents.Reset(); + + if (IsDisplayClusterActive()) + { + //@todo: move initialization to DisplayClusterRoot side + if (!InitializeDisplayClusterActor()) + { + UE_LOG(LogDisplayClusterGame, Error, TEXT("Couldn't initialize DisplayCluster hierarchy")); + return false; + } + } + + return true; +} + +void FDisplayClusterGameManager::EndScene() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + FScopeLock lock(&InternalsSyncScope); + + VRRootActor = nullptr; + ActiveScreenComponent = nullptr; + ActiveCameraComponent = nullptr; + + // Clean containers. We store only pointers so there is no need to do any additional + // operations. All components will be destroyed by the engine. + ScreenComponents.Reset(); + CameraComponents.Reset(); + SceneNodeComponents.Reset(); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterGameManager +////////////////////////////////////////////////////////////////////////////////////////////// +ADisplayClusterPawn* FDisplayClusterGameManager::GetRoot() const +{ + FScopeLock lock(&InternalsSyncScope); + return VRRootActor; +} + +TArray<UDisplayClusterScreenComponent*> FDisplayClusterGameManager::GetAllScreens() const +{ + FScopeLock lock(&InternalsSyncScope); + return GetMapValues<UDisplayClusterScreenComponent>(ScreenComponents); +} + +UDisplayClusterScreenComponent* FDisplayClusterGameManager::GetActiveScreen() const +{ + FScopeLock lock(&InternalsSyncScope); + return ActiveScreenComponent; +} + +UDisplayClusterScreenComponent* FDisplayClusterGameManager::GetScreenById(const FString& id) const +{ + FScopeLock lock(&InternalsSyncScope); + return GetItem<UDisplayClusterScreenComponent>(ScreenComponents, id, FString("GetScreenById")); +} + +int32 FDisplayClusterGameManager::GetScreensAmount() const +{ + FScopeLock lock(&InternalsSyncScope); + return ScreenComponents.Num(); +} + +UDisplayClusterCameraComponent* FDisplayClusterGameManager::GetActiveCamera() const +{ + FScopeLock lock(&InternalsSyncScope); + return ActiveCameraComponent; +} + +UDisplayClusterCameraComponent* FDisplayClusterGameManager::GetCameraById(const FString& id) const +{ + FScopeLock lock(&InternalsSyncScope); + return GetItem<UDisplayClusterCameraComponent>(CameraComponents, id, FString("GetCameraById")); +} + +TArray<UDisplayClusterCameraComponent*> FDisplayClusterGameManager::GetAllCameras() const +{ + FScopeLock lock(&InternalsSyncScope); + return GetMapValues<UDisplayClusterCameraComponent>(CameraComponents); +} + +int32 FDisplayClusterGameManager::GetCamerasAmount() const +{ + FScopeLock lock(&InternalsSyncScope); + return CameraComponents.Num(); +} + +void FDisplayClusterGameManager::SetActiveCamera(int32 idx) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + if (!IsDisplayClusterActive()) + { + return; + } + + FDisplayClusterConfigCamera cam; + if (!GDisplayCluster->GetPrivateConfigMgr()->GetCamera(idx, cam)) + { + UE_LOG(LogDisplayClusterGame, Error, TEXT("Camera not found (idx=%d)"), idx); + return; + } + + return SetActiveCamera(cam.Id); +} + +void FDisplayClusterGameManager::SetActiveCamera(const FString& id) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + if (!IsDisplayClusterActive()) + { + return; + } + + FScopeLock lock(&InternalsSyncScope); + + if (!CameraComponents.Contains(id)) + { + UE_LOG(LogDisplayClusterGame, Error, TEXT("Couldn't switch camera. No such node id: %s"), *id); + return; + } + + ActiveCameraComponent = CameraComponents[id]; + VRRootActor->GetCameraComponent()->AttachToComponent(ActiveCameraComponent, FAttachmentTransformRules(EAttachmentRule::KeepRelative, false)); + VRRootActor->GetCameraComponent()->SetRelativeLocation(FVector::ZeroVector); + VRRootActor->GetCameraComponent()->SetRelativeRotation(FRotator::ZeroRotator); + + // Update 'rotate around' component + SetRotateAroundComponent(ActiveCameraComponent); + + UE_LOG(LogDisplayClusterGame, Log, TEXT("Camera %s activated"), *ActiveCameraComponent->GetId()); +} + +UDisplayClusterSceneComponent* FDisplayClusterGameManager::GetNodeById(const FString& id) const +{ + FScopeLock lock(&InternalsSyncScope); + return GetItem<UDisplayClusterSceneComponent>(SceneNodeComponents, id, FString("GetNodeById")); +} + +TArray<UDisplayClusterSceneComponent*> FDisplayClusterGameManager::GetAllNodes() const +{ + FScopeLock lock(&InternalsSyncScope); + return GetMapValues<UDisplayClusterSceneComponent>(SceneNodeComponents); +} + +USceneComponent* FDisplayClusterGameManager::GetTranslationDirectionComponent() const +{ + if (!IsDisplayClusterActive()) + { + return nullptr; + } + + if (VRRootActor == nullptr) + { + return nullptr; + } + + FScopeLock lock(&InternalsSyncScope); + UE_LOG(LogDisplayClusterGame, Verbose, TEXT("GetTranslationDirectionComponent: %s"), (VRRootActor->TranslationDirection ? *VRRootActor->TranslationDirection->GetName() : TEXT("nullptr"))); + return VRRootActor->TranslationDirection; +} + +void FDisplayClusterGameManager::SetTranslationDirectionComponent(USceneComponent* pComp) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + if (!IsDisplayClusterActive()) + { + return; + } + + if (VRRootActor == nullptr) + { + return; + } + + FScopeLock lock(&InternalsSyncScope); + UE_LOG(LogDisplayClusterGame, Log, TEXT("New translation direction component set: %s"), (pComp ? *pComp->GetName() : TEXT("nullptr"))); + VRRootActor->TranslationDirection = pComp; +} + +void FDisplayClusterGameManager::SetTranslationDirectionComponent(const FString& id) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + if (!IsDisplayClusterActive()) + { + return; + } + + UE_LOG(LogDisplayClusterGame, Log, TEXT("New translation direction node id requested: %s"), *id); + SetTranslationDirectionComponent(GetNodeById(id)); +} + +USceneComponent* FDisplayClusterGameManager::GetRotateAroundComponent() const +{ + if (!IsDisplayClusterActive()) + { + return nullptr; + } + + if (VRRootActor == nullptr) + { + return nullptr; + } + + FScopeLock lock(&InternalsSyncScope); + UE_LOG(LogDisplayClusterGame, Verbose, TEXT("GetRotateAroundComponent: %s"), (VRRootActor->RotationAround ? *VRRootActor->RotationAround->GetName() : TEXT("nullptr"))); + return VRRootActor->RotationAround; +} + +void FDisplayClusterGameManager::SetRotateAroundComponent(USceneComponent* pComp) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + if (!IsDisplayClusterActive()) + { + return; + } + + if (VRRootActor == nullptr) + { + return; + } + + FScopeLock lock(&InternalsSyncScope); + UE_LOG(LogDisplayClusterGame, Log, TEXT("New rotate around component set: %s"), (pComp ? *pComp->GetName() : TEXT("nullptr"))); + VRRootActor->RotationAround = pComp; +} + +void FDisplayClusterGameManager::SetRotateAroundComponent(const FString& id) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + if (!IsDisplayClusterActive()) + { + return; + } + + if (VRRootActor == nullptr) + { + return; + } + + FScopeLock lock(&InternalsSyncScope); + UE_LOG(LogDisplayClusterGame, Log, TEXT("New rotate around node id requested: %s"), *id); + VRRootActor->RotationAround = GetNodeById(id); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterGameManager +////////////////////////////////////////////////////////////////////////////////////////////// +bool FDisplayClusterGameManager::InitializeDisplayClusterActor() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterGame); + + APlayerController* pController = UGameplayStatics::GetPlayerController(CurrentWorld, 0); + check(pController); + + VRRootActor = StaticCast<ADisplayClusterPawn*>(pController->GetPawn()); + if (!VRRootActor) + { + // Seems the DisplayCluster features has been disabled + UE_LOG(LogDisplayClusterGame, Warning, TEXT("No DisplayCluster root found")); + return false; + } + + if (!(CreateCameras() && CreateScreens() && CreateNodes())) + { + UE_LOG(LogDisplayClusterGame, Error, TEXT("An error occurred during DisplayCluster root initialization")); + return false; + } + + // Let DisplayCluster nodes initialize ourselves + for (auto it = SceneNodeComponents.CreateIterator(); it; ++it) + { + if (it->Value->ApplySettings() == false) + { + UE_LOG(LogDisplayClusterGame, Warning, TEXT("Coulnd't initialize DisplayCluster node: ID=%s"), *it->Key); + } + } + + // Set the first camera active by default + SetActiveCamera(ActiveCameraComponent->GetId()); + + // Check if default camera was specified in command line arguments + FString camId; + if (FParse::Value(FCommandLine::Get(), DisplayClusterStrings::args::Camera, camId)) + { + DisplayClusterHelpers::str::DustCommandLineValue(camId); + UE_LOG(LogDisplayClusterGame, Log, TEXT("Default camera from command line arguments: %s"), *camId); + if (CameraComponents.Contains(camId)) + { + SetActiveCamera(camId); + } + } + + return true; +} + +bool FDisplayClusterGameManager::CreateScreens() +{ + // Get local screen settings + FDisplayClusterConfigScreen localScreen; + if (GDisplayCluster->GetPrivateConfigMgr()->GetLocalScreen(localScreen) == false) + { + UE_LOG(LogDisplayClusterGame, Error, TEXT("Couldn't get projection screen settings")); + return false; + } + + // Create screens + const TArray<FDisplayClusterConfigScreen> screens = GDisplayCluster->GetPrivateConfigMgr()->GetScreens(); + for (const auto& screen : screens) + { + // Create screen + UDisplayClusterScreenComponent* pScreen = NewObject<UDisplayClusterScreenComponent>(VRRootActor, FName(*screen.Id), RF_Transient); + check(pScreen); + + pScreen->AttachToComponent(VRRootActor->GetCollisionOffsetComponent(), FAttachmentTransformRules(EAttachmentRule::KeepRelative, false)); + pScreen->RegisterComponent(); + + // Pass settings + pScreen->SetSettings(&screen); + + // Is this active screen (for this node)? + if (screen.Id == localScreen.Id) + ActiveScreenComponent = pScreen; + + // Store the screen + ScreenComponents.Add(screen.Id, pScreen); + SceneNodeComponents.Add(screen.Id, pScreen); + } + + // Check if local screen was found + if (!ActiveScreenComponent) + { + UE_LOG(LogDisplayClusterGame, Error, TEXT("Local screen not found")); + return false; + } + + return true; +} + +bool FDisplayClusterGameManager::CreateNodes() +{ + // Create other nodes + const TArray<FDisplayClusterConfigSceneNode> nodes = GDisplayCluster->GetPrivateConfigMgr()->GetSceneNodes(); + for (const auto& node : nodes) + { + UDisplayClusterSceneComponent* pNode = NewObject<UDisplayClusterSceneComponent>(VRRootActor, FName(*node.Id), RF_Transient); + check(pNode); + + pNode->AttachToComponent(VRRootActor->GetCollisionOffsetComponent(), FAttachmentTransformRules(EAttachmentRule::KeepRelative, false)); + pNode->RegisterComponent(); + + pNode->SetSettings(&node); + SceneNodeComponents.Add(node.Id, pNode); + } + + return true; +} + +bool FDisplayClusterGameManager::CreateCameras() +{ + const TArray<FDisplayClusterConfigCamera> cams = GDisplayCluster->GetPrivateConfigMgr()->GetCameras(); + for (const auto& cam : cams) + { + UDisplayClusterCameraComponent* pCam = NewObject<UDisplayClusterCameraComponent>(VRRootActor, FName(*cam.Id), RF_Transient); + check(pCam); + + pCam->AttachToComponent(VRRootActor->GetCollisionOffsetComponent(), FAttachmentTransformRules(EAttachmentRule::KeepRelative, false)); + pCam->RegisterComponent(); + + pCam->SetSettings(&cam); + + CameraComponents.Add(cam.Id, pCam); + SceneNodeComponents.Add(cam.Id, pCam); + + if (ActiveCameraComponent == nullptr) + { + ActiveCameraComponent = pCam; + } + } + + // At least one camera must be set up + if (!ActiveCameraComponent) + { + UE_LOG(LogDisplayClusterGame, Warning, TEXT("No camera found")); + return false; + } + + return CameraComponents.Num() > 0; +} + +// Extracts array of values from a map +template <typename ObjType> +TArray<ObjType*> FDisplayClusterGameManager::GetMapValues(const TMap<FString, ObjType*>& container) const +{ + TArray<ObjType*> items; + container.GenerateValueArray(items); + return items; +} + +// Gets item by id. Performs checks and logging. +template <typename DataType> +DataType* FDisplayClusterGameManager::GetItem(const TMap<FString, DataType*>& container, const FString& id, const FString& logHeader) const +{ + if (container.Contains(id)) + { + return container[id]; + } + + UE_LOG(LogDisplayClusterGame, Warning, TEXT("%s: ID not found <%s>. Return nullptr."), *logHeader, *id); + return nullptr; +} diff --git a/Source/DisplayCluster/Private/Game/DisplayClusterGameManager.h b/Source/DisplayCluster/Private/Game/DisplayClusterGameManager.h new file mode 100644 index 0000000..f2bea76 --- /dev/null +++ b/Source/DisplayCluster/Private/Game/DisplayClusterGameManager.h @@ -0,0 +1,127 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" + +#include "IPDisplayClusterGameManager.h" +#include "DisplayClusterOperationMode.h" + +#include "DisplayClusterGameMode.h" +#include "DisplayClusterPawn.h" +#include "DisplayClusterSettings.h" +#include "DisplayClusterScreenComponent.h" +#include "DisplayClusterCameraComponent.h" + + +/** + * Game manager. Responsible for building VR object hierarchy from a config file. Implements some in-game logic. + */ +class FDisplayClusterGameManager + : public IPDisplayClusterGameManager +{ +public: + FDisplayClusterGameManager(); + virtual ~FDisplayClusterGameManager(); + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterManager + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool Init(EDisplayClusterOperationMode OperationMode) override; + virtual void Release() override; + virtual bool StartSession(const FString& configPath, const FString& nodeId) override; + virtual void EndSession() override; + virtual bool StartScene(UWorld* pWorld) override; + virtual void EndScene() override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterGameManager + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual ADisplayClusterPawn* GetRoot() const override; + + virtual TArray<UDisplayClusterScreenComponent*> GetAllScreens() const override; + virtual UDisplayClusterScreenComponent* GetActiveScreen() const override; + virtual UDisplayClusterScreenComponent* GetScreenById(const FString& id) const override; + virtual int32 GetScreensAmount() const override; + + virtual TArray<UDisplayClusterCameraComponent*> GetAllCameras() const override; + virtual UDisplayClusterCameraComponent* GetActiveCamera() const override; + virtual UDisplayClusterCameraComponent* GetCameraById(const FString& id) const override; + virtual int32 GetCamerasAmount() const override; + virtual void SetActiveCamera(int32 idx) override; + virtual void SetActiveCamera(const FString& id) override; + + virtual TArray<UDisplayClusterSceneComponent*> GetAllNodes() const override; + virtual UDisplayClusterSceneComponent* GetNodeById(const FString& id) const override; + + virtual USceneComponent* GetTranslationDirectionComponent() const override; + virtual void SetTranslationDirectionComponent(USceneComponent* pComp) override; + virtual void SetTranslationDirectionComponent(const FString& id) override; + + virtual USceneComponent* GetRotateAroundComponent() const override; + virtual void SetRotateAroundComponent(USceneComponent* pComp) override; + virtual void SetRotateAroundComponent(const FString& id) override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterGameManager + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool IsDisplayClusterActive() const override + { return ((CurrentOperationMode != EDisplayClusterOperationMode::Disabled) && (CurrentGameMode ? CurrentGameMode->IsDisplayClusterActive() : false)); } + + virtual void SetDisplayClusterGameMode(ADisplayClusterGameMode* pGameMode) override + { CurrentGameMode = pGameMode; } + + virtual ADisplayClusterGameMode* GetDisplayClusterGameMode() const override + { return CurrentGameMode; } + + virtual void SetDisplayClusterSceneSettings(ADisplayClusterSettings* pSceneSettings) override + { CurrentSceneSettings = pSceneSettings; } + + virtual ADisplayClusterSettings* GetDisplayClusterSceneSettings() const override + { return CurrentSceneSettings; } + +private: + // Creates DisplayCluster actor and fulfills with components hierarchy + bool InitializeDisplayClusterActor(); + + bool CreateScreens(); + bool CreateNodes(); + bool CreateCameras(); + + // Extracts array of values from a map + template <typename ObjType> + TArray<ObjType*> GetMapValues(const TMap<FString, ObjType*>& container) const; + + // Gets item by id. Performs checks and logging. + template <typename DataType> + DataType* GetItem(const TMap<FString, DataType*>& container, const FString& id, const FString& logHeader) const; + +private: + // DisplayCluster root actor + ADisplayClusterPawn* VRRootActor = nullptr; + // Currently active projection screen (for this cluster node) + UDisplayClusterScreenComponent* ActiveScreenComponent = nullptr; + // Currently active camera (joint component) + UDisplayClusterCameraComponent* ActiveCameraComponent = nullptr; + + // Available screens (from config file) + TMap<FString, UDisplayClusterScreenComponent*> ScreenComponents; + // Available cameras (from config file) + TMap<FString, UDisplayClusterCameraComponent*> CameraComponents; + // All available DisplayCluster nodes in hierarchy + TMap<FString, UDisplayClusterSceneComponent*> SceneNodeComponents; + + EDisplayClusterOperationMode CurrentOperationMode; + FString ConfigPath; + FString ClusterNodeId; + UWorld* CurrentWorld; + + ADisplayClusterSettings* CurrentSceneSettings = nullptr; + ADisplayClusterGameMode* CurrentGameMode = nullptr; + + mutable FCriticalSection InternalsSyncScope; +}; + diff --git a/Source/DisplayCluster/Private/Game/IPDisplayClusterGameManager.h b/Source/DisplayCluster/Private/Game/IPDisplayClusterGameManager.h new file mode 100644 index 0000000..d0db935 --- /dev/null +++ b/Source/DisplayCluster/Private/Game/IPDisplayClusterGameManager.h @@ -0,0 +1,29 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Game/IDisplayClusterGameManager.h" +#include "IPDisplayClusterManager.h" + +class ADisplayClusterGameMode; +class ADisplayClusterSettings; + + +/** + * Game manager private interface + */ +struct IPDisplayClusterGameManager : + public IDisplayClusterGameManager, + public IPDisplayClusterManager +{ + virtual ~IPDisplayClusterGameManager() + { } + + virtual bool IsDisplayClusterActive() const = 0; + + virtual void SetDisplayClusterGameMode(ADisplayClusterGameMode* pGameMode) = 0; + virtual ADisplayClusterGameMode* GetDisplayClusterGameMode() const = 0; + + virtual void SetDisplayClusterSceneSettings(ADisplayClusterSettings* pSceneSettings) = 0; + virtual ADisplayClusterSettings* GetDisplayClusterSceneSettings() const = 0; +}; diff --git a/Source/DisplayCluster/Private/IPDisplayCluster.h b/Source/DisplayCluster/Private/IPDisplayCluster.h new file mode 100644 index 0000000..19784d4 --- /dev/null +++ b/Source/DisplayCluster/Private/IPDisplayCluster.h @@ -0,0 +1,32 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "IDisplayCluster.h" +#include "IPDisplayClusterManager.h" + +struct IPDisplayClusterRenderManager; +struct IPDisplayClusterClusterManager; +struct IPDisplayClusterInputManager; +struct IPDisplayClusterConfigManager; +struct IPDisplayClusterGameManager; + +class ADisplayClusterGameMode; +class ADisplayClusterSettings; + + +/** + * Private module interface + */ +struct IPDisplayCluster + : public IDisplayCluster + , public IPDisplayClusterManager +{ + virtual ~IPDisplayCluster() { } + + virtual IPDisplayClusterRenderManager* GetPrivateRenderMgr() const = 0; + virtual IPDisplayClusterClusterManager* GetPrivateClusterMgr() const = 0; + virtual IPDisplayClusterInputManager* GetPrivateInputMgr() const = 0; + virtual IPDisplayClusterConfigManager* GetPrivateConfigMgr() const = 0; + virtual IPDisplayClusterGameManager* GetPrivateGameMgr() const = 0; +}; diff --git a/Source/DisplayCluster/Private/IPDisplayClusterManager.h b/Source/DisplayCluster/Private/IPDisplayClusterManager.h new file mode 100644 index 0000000..fbc0042 --- /dev/null +++ b/Source/DisplayCluster/Private/IPDisplayClusterManager.h @@ -0,0 +1,47 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "DisplayClusterOperationMode.h" + + +class ADisplayClusterGameMode; +class ADisplayClusterSettings; + + +/** + * Private manager interface + */ +struct IPDisplayClusterManager +{ + virtual ~IPDisplayClusterManager() { } + + // Called at start to initialize internals + virtual bool Init(EDisplayClusterOperationMode OperationMode) + { return true; } + + // Called before application/Editor exit to release internals + virtual void Release() + { } + + // Called on each session start before first level start (before the first tick) + virtual bool StartSession(const FString& configPath, const FString& nodeId) + { return true; } + + // Called on each session end at early step before exit (before UGameEngine::Preexit) + virtual void EndSession() + { } + + // Called each time a new game level starts + virtual bool StartScene(UWorld* pWorld) + { return true; } + + // Called when current level is going to be closed (i.e. when loading new map) + virtual void EndScene() + { } + + // Called every frame before world Tick + virtual void PreTick(float DeltaSeconds) + { } +}; diff --git a/Source/DisplayCluster/Private/Input/Devices/DisplayClusterInputDeviceBase.h b/Source/DisplayCluster/Private/Input/Devices/DisplayClusterInputDeviceBase.h new file mode 100644 index 0000000..4d0b529 --- /dev/null +++ b/Source/DisplayCluster/Private/Input/Devices/DisplayClusterInputDeviceBase.h @@ -0,0 +1,84 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "IDisplayClusterInputDevice.h" +#include "DisplayClusterInputDeviceTraits.h" +#include "Misc/DisplayClusterLog.h" + +#include "CoreMinimal.h" + + +/** + * Abstract input device + */ +template <int DevTypeID> +class FDisplayClusterInputDeviceBase + : public IDisplayClusterInputDevice +{ +public: + typedef typename display_cluster_input_device_traits<DevTypeID>::dev_channel_data_type TChannelData; + +public: + FDisplayClusterInputDeviceBase(const FDisplayClusterConfigInput& config) : + ConfigData(config) + { } + + virtual ~FDisplayClusterInputDeviceBase() + { } + +public: + virtual bool GetChannelData(const uint8 channel, TChannelData& data) const + { + uint8 channelToGet = channel; + if (ConfigData.ChMap.Contains(channel)) + { + channelToGet = (uint8)ConfigData.ChMap[channel]; + UE_LOG(LogDisplayClusterInputVRPN, Verbose, TEXT("DevType %d, channel %d - remapped to channel %d"), DevTypeID, channel, channelToGet); + } + + if (!DeviceData.Contains(static_cast<int32>(channelToGet))) + { + UE_LOG(LogDisplayClusterInputVRPN, Verbose, TEXT("%s - channel %d data is not available yet"), *GetId(), channelToGet); + return false; + } + + data = DeviceData[static_cast<int32>(channelToGet)]; + + return true; + } + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterInputDevice + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual FString GetId() const override + { return ConfigData.Id; } + + virtual FString GetType() const override + { return ConfigData.Type; } + + virtual EDisplayClusterInputDevice GetTypeId() const override + { return static_cast<EDisplayClusterInputDevice>(DevTypeID); } + + virtual FDisplayClusterConfigInput GetConfig() const override + { return ConfigData; } + + virtual void PreUpdate() override + { } + + virtual void Update() override + { } + + virtual void PostUpdate() override + { } + + virtual FString ToString() const override + { return FString::Printf(TEXT("DisplayCluster input device: id=%s, type=%s"), *GetId(), *GetType()); } + +protected: + // Original config data + const FDisplayClusterConfigInput ConfigData; + // Device data + TMap<int32, TChannelData> DeviceData; +}; diff --git a/Source/DisplayCluster/Private/Input/Devices/DisplayClusterInputDeviceTraits.h b/Source/DisplayCluster/Private/Input/Devices/DisplayClusterInputDeviceTraits.h new file mode 100644 index 0000000..2b908d8 --- /dev/null +++ b/Source/DisplayCluster/Private/Input/Devices/DisplayClusterInputDeviceTraits.h @@ -0,0 +1,52 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputData.h" +#include "Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputData.h" +#include "Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputData.h" + + +/** + * Available types of input devices + */ +enum EDisplayClusterInputDevice +{ + VrpnAnalog = 0, + VrpnButton, + VrpnTracker +}; + + +/** + * Input device traits + */ +template<int DevTypeID> +struct display_cluster_input_device_traits { }; + +/** + * Specialization for VRPN analog device + */ +template <> +struct display_cluster_input_device_traits<EDisplayClusterInputDevice::VrpnAnalog> +{ + typedef FDisplayClusterVrpnAnalogChannelData dev_channel_data_type; +}; + +/** + * Specialization for VRPN button device + */ +template <> +struct display_cluster_input_device_traits<EDisplayClusterInputDevice::VrpnButton> +{ + typedef FDisplayClusterVrpnButtonChannelData dev_channel_data_type; +}; + +/** + * Specialization for VRPN tracker device + */ +template <> +struct display_cluster_input_device_traits<EDisplayClusterInputDevice::VrpnTracker> +{ + typedef FDisplayClusterVrpnTrackerChannelData dev_channel_data_type; +}; diff --git a/Source/DisplayCluster/Private/Input/Devices/IDisplayClusterInputDevice.h b/Source/DisplayCluster/Private/Input/Devices/IDisplayClusterInputDevice.h new file mode 100644 index 0000000..c318d04 --- /dev/null +++ b/Source/DisplayCluster/Private/Input/Devices/IDisplayClusterInputDevice.h @@ -0,0 +1,31 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "DisplayClusterInputDeviceTraits.h" +#include "IDisplayClusterStringSerializable.h" + +#include "Config/DisplayClusterConfigTypes.h" + + +/** + * Interface for input devices + */ +struct IDisplayClusterInputDevice + : public IDisplayClusterStringSerializable +{ + virtual ~IDisplayClusterInputDevice() { } + + virtual FString GetId() const = 0; + virtual FString GetType() const = 0; + virtual EDisplayClusterInputDevice GetTypeId() const = 0; + virtual FDisplayClusterConfigInput GetConfig() const = 0; + + virtual bool Initialize() = 0; + virtual void PreUpdate() = 0; + virtual void Update() = 0; + virtual void PostUpdate() = 0; + + virtual FString ToString() const = 0; +}; + diff --git a/Source/DisplayCluster/Private/Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputData.h b/Source/DisplayCluster/Private/Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputData.h new file mode 100644 index 0000000..b8da4c1 --- /dev/null +++ b/Source/DisplayCluster/Private/Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputData.h @@ -0,0 +1,13 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" + +/** + * VRPN analog device data type + */ +struct FDisplayClusterVrpnAnalogChannelData +{ + float axisValue; +}; diff --git a/Source/DisplayCluster/Private/Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputDataHolder.cpp b/Source/DisplayCluster/Private/Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputDataHolder.cpp new file mode 100644 index 0000000..a6e465c --- /dev/null +++ b/Source/DisplayCluster/Private/Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputDataHolder.cpp @@ -0,0 +1,61 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterVrpnAnalogInputDataHolder.h" +#include "Misc/DisplayClusterLog.h" + + +FDisplayClusterVrpnAnalogInputDataHolder::FDisplayClusterVrpnAnalogInputDataHolder(const FDisplayClusterConfigInput& config) : + FDisplayClusterInputDeviceBase<EDisplayClusterInputDevice::VrpnAnalog>(config) +{ +} + +FDisplayClusterVrpnAnalogInputDataHolder::~FDisplayClusterVrpnAnalogInputDataHolder() +{ +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterInputDevice +////////////////////////////////////////////////////////////////////////////////////////////// +bool FDisplayClusterVrpnAnalogInputDataHolder::Initialize() +{ + return true; +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterStringSerializable +////////////////////////////////////////////////////////////////////////////////////////////// +FString FDisplayClusterVrpnAnalogInputDataHolder::SerializeToString() const +{ + FString result; + result.Reserve(128); + + for (auto it = DeviceData.CreateConstIterator(); it; ++it) + { + result += FString::Printf(TEXT("%d%s%f%s"), it->Key, SerializationDelimiter, it->Value.axisValue, SerializationDelimiter); + } + + return result; +} + +bool FDisplayClusterVrpnAnalogInputDataHolder::DeserializeFromString(const FString& data) +{ + TArray<FString> parsed; + data.ParseIntoArray(parsed, SerializationDelimiter); + + if (parsed.Num() % SerializationItems) + { + UE_LOG(LogDisplayClusterInputVRPN, Error, TEXT("Wrong items amount after deserialization [%s]"), *data); + return false; + } + + for (int i = 0; i < parsed.Num(); i += SerializationItems) + { + const int ch = FCString::Atoi(*parsed[i]); + const float val = FCString::Atof(*parsed[i + 1]); + DeviceData.Add(ch, FDisplayClusterVrpnAnalogChannelData{ val }); + } + + return true; +} diff --git a/Source/DisplayCluster/Private/Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputDataHolder.h b/Source/DisplayCluster/Private/Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputDataHolder.h new file mode 100644 index 0000000..f1097a9 --- /dev/null +++ b/Source/DisplayCluster/Private/Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputDataHolder.h @@ -0,0 +1,39 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Input/Devices/DisplayClusterInputDeviceBase.h" +#include "Input/Devices/DisplayClusterInputDeviceTraits.h" + +struct FDisplayClusterConfigInput; + + +/** + * VRPN analog device data holder. Responsible for data serialization and deserialization. + */ +class FDisplayClusterVrpnAnalogInputDataHolder + : public FDisplayClusterInputDeviceBase<EDisplayClusterInputDevice::VrpnAnalog> +{ +public: + FDisplayClusterVrpnAnalogInputDataHolder(const FDisplayClusterConfigInput& config); + virtual ~FDisplayClusterVrpnAnalogInputDataHolder(); + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterInputDevice + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool Initialize() override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterStringSerializable + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual FString SerializeToString() const override final; + virtual bool DeserializeFromString(const FString& data) override final; + +private: + // Serialization constants + static constexpr auto SerializationDelimiter = TEXT("@"); + static constexpr auto SerializationItems = 2; +}; diff --git a/Source/DisplayCluster/Private/Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputDevice.cpp b/Source/DisplayCluster/Private/Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputDevice.cpp new file mode 100644 index 0000000..b04c059 --- /dev/null +++ b/Source/DisplayCluster/Private/Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputDevice.cpp @@ -0,0 +1,75 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterVrpnAnalogInputDevice.h" + +#include "Misc/DisplayClusterHelpers.h" +#include "Misc/DisplayClusterLog.h" + +#include "DisplayClusterStrings.h" + + +FDisplayClusterVrpnAnalogInputDevice::FDisplayClusterVrpnAnalogInputDevice(const FDisplayClusterConfigInput& config) : + FDisplayClusterVrpnAnalogInputDataHolder(config) +{ +} + +FDisplayClusterVrpnAnalogInputDevice::~FDisplayClusterVrpnAnalogInputDevice() +{ +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterInputDevice +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterVrpnAnalogInputDevice::Update() +{ + if (DevImpl) + { + UE_LOG(LogDisplayClusterInputVRPN, Verbose, TEXT("Updating device: %s"), *GetId()); + DevImpl->mainloop(); + } +} + +bool FDisplayClusterVrpnAnalogInputDevice::Initialize() +{ + FString addr; + if (!DisplayClusterHelpers::str::ExtractParam(ConfigData.Params, FString(DisplayClusterStrings::cfg::data::input::Address), addr)) + { + UE_LOG(LogDisplayClusterInputVRPN, Error, TEXT("%s - device address not found"), *ToString()); + return false; + } + + // Instantiate device implementation + DevImpl.Reset(new vrpn_Analog_Remote(TCHAR_TO_UTF8(*addr))); + + // Register update handler + if (DevImpl->register_change_handler(this, &FDisplayClusterVrpnAnalogInputDevice::HandleAnalogDevice) != 0) + { + UE_LOG(LogDisplayClusterInputVRPN, Error, TEXT("%s - couldn't register VRPN change handler"), *ToString()); + return false; + } + + // Base initialization + return FDisplayClusterVrpnAnalogInputDataHolder::Initialize(); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterVrpnAnalogInputDevice +////////////////////////////////////////////////////////////////////////////////////////////// +void VRPN_CALLBACK FDisplayClusterVrpnAnalogInputDevice::HandleAnalogDevice(void * userData, vrpn_ANALOGCB const an) +{ + auto pDev = reinterpret_cast<FDisplayClusterVrpnAnalogInputDevice*>(userData); + + for (int32 i = 0; i < an.num_channel; ++i) + { + auto pItem = pDev->DeviceData.Find(i); + if (!pItem) + { + pItem = &pDev->DeviceData.Add(i); + } + + pItem->axisValue = static_cast<float>(an.channel[i]); + UE_LOG(LogDisplayClusterInputVRPN, VeryVerbose, TEXT("Axis %s:%d - %f"), *pDev->GetId(), i, pItem->axisValue); + } +} diff --git a/Source/DisplayCluster/Private/Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputDevice.h b/Source/DisplayCluster/Private/Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputDevice.h new file mode 100644 index 0000000..a0fbd6a --- /dev/null +++ b/Source/DisplayCluster/Private/Input/Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputDevice.h @@ -0,0 +1,42 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "DisplayClusterVrpnAnalogInputDataHolder.h" + +#if PLATFORM_WINDOWS +#include "Windows/AllowWindowsPlatformTypes.h" +#endif + +#include "vrpn/vrpn_Analog.h" + +#if PLATFORM_WINDOWS +#include "Windows/HideWindowsPlatformTypes.h" +#endif + + +/** + * VRPN analog device implementation + */ +class FDisplayClusterVrpnAnalogInputDevice + : public FDisplayClusterVrpnAnalogInputDataHolder +{ +public: + FDisplayClusterVrpnAnalogInputDevice(const FDisplayClusterConfigInput& config); + virtual ~FDisplayClusterVrpnAnalogInputDevice(); + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterInputDevice + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void Update() override; + virtual bool Initialize() override; + +private: + // Data update handler + static void VRPN_CALLBACK HandleAnalogDevice(void *userData, vrpn_ANALOGCB const tr); + +private: + // The device (PIMPL) + TUniquePtr<vrpn_Analog_Remote> DevImpl; +}; diff --git a/Source/DisplayCluster/Private/Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputData.h b/Source/DisplayCluster/Private/Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputData.h new file mode 100644 index 0000000..cf8aae6 --- /dev/null +++ b/Source/DisplayCluster/Private/Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputData.h @@ -0,0 +1,15 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" + + +/** + * VRPN button device data type + */ +struct FDisplayClusterVrpnButtonChannelData +{ + bool btnStateOld; + bool btnStateNew; +}; diff --git a/Source/DisplayCluster/Private/Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputDataHolder.cpp b/Source/DisplayCluster/Private/Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputDataHolder.cpp new file mode 100644 index 0000000..ca414a4 --- /dev/null +++ b/Source/DisplayCluster/Private/Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputDataHolder.cpp @@ -0,0 +1,62 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterVrpnButtonInputDataHolder.h" +#include "Misc/DisplayClusterLog.h" + + +FDisplayClusterVrpnButtonInputDataHolder::FDisplayClusterVrpnButtonInputDataHolder(const FDisplayClusterConfigInput& config) : + FDisplayClusterInputDeviceBase<EDisplayClusterInputDevice::VrpnButton>(config) +{ +} + +FDisplayClusterVrpnButtonInputDataHolder::~FDisplayClusterVrpnButtonInputDataHolder() +{ +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterInputDevice +////////////////////////////////////////////////////////////////////////////////////////////// +bool FDisplayClusterVrpnButtonInputDataHolder::Initialize() +{ + return true; +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterStringSerializable +////////////////////////////////////////////////////////////////////////////////////////////// +FString FDisplayClusterVrpnButtonInputDataHolder::SerializeToString() const +{ + FString result; + result.Reserve(64); + + for (auto it = DeviceData.CreateConstIterator(); it; ++it) + { + result += FString::Printf(TEXT("%d%s%d%s%d%s"), it->Key, SerializationDelimiter, it->Value.btnStateOld, SerializationDelimiter, it->Value.btnStateNew, SerializationDelimiter); + } + + return result; +} + +bool FDisplayClusterVrpnButtonInputDataHolder::DeserializeFromString(const FString& data) +{ + TArray<FString> parsed; + data.ParseIntoArray(parsed, SerializationDelimiter); + + if (parsed.Num() % SerializationItems) + { + UE_LOG(LogDisplayClusterInputVRPN, Error, TEXT("Wrong items amount after deserialization [%s]"), *data); + return false; + } + + for (int i = 0; i < parsed.Num(); i += SerializationItems) + { + const int ch = FCString::Atoi(*parsed[i]); + const bool stateOld = (FCString::Atoi(*parsed[i + 1]) != 0); + const bool stateNew = (FCString::Atoi(*parsed[i + 2]) != 0); + DeviceData.Add(ch, FDisplayClusterVrpnButtonChannelData{ stateOld, stateNew }); + } + + return true; +} diff --git a/Source/DisplayCluster/Private/Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputDataHolder.h b/Source/DisplayCluster/Private/Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputDataHolder.h new file mode 100644 index 0000000..f3ddaf4 --- /dev/null +++ b/Source/DisplayCluster/Private/Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputDataHolder.h @@ -0,0 +1,38 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Input/Devices/DisplayClusterInputDeviceTraits.h" +#include "Input/Devices/DisplayClusterInputDeviceBase.h" + +#include "CoreMinimal.h" + + +/** + * VRPN button device data holder. Responsible for data serialization and deserialization. + */ +class FDisplayClusterVrpnButtonInputDataHolder + : public FDisplayClusterInputDeviceBase<EDisplayClusterInputDevice::VrpnButton> +{ +public: + FDisplayClusterVrpnButtonInputDataHolder(const FDisplayClusterConfigInput& config); + virtual ~FDisplayClusterVrpnButtonInputDataHolder(); + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterInputDevice + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool Initialize() override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterStringSerializable + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual FString SerializeToString() const override final; + virtual bool DeserializeFromString(const FString& data) override final; + +private: + // Serialization constants + static constexpr auto SerializationDelimiter = TEXT("@"); + static constexpr auto SerializationItems = 3; +}; diff --git a/Source/DisplayCluster/Private/Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputDevice.cpp b/Source/DisplayCluster/Private/Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputDevice.cpp new file mode 100644 index 0000000..eef4de7 --- /dev/null +++ b/Source/DisplayCluster/Private/Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputDevice.cpp @@ -0,0 +1,91 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterVrpnButtonInputDevice.h" + +#include "Misc/DisplayClusterHelpers.h" +#include "Misc/DisplayClusterLog.h" + +#include "DisplayClusterStrings.h" + + +FDisplayClusterVrpnButtonInputDevice::FDisplayClusterVrpnButtonInputDevice(const FDisplayClusterConfigInput& config) : + FDisplayClusterVrpnButtonInputDataHolder(config) +{ +} + +FDisplayClusterVrpnButtonInputDevice::~FDisplayClusterVrpnButtonInputDevice() +{ +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterInputDevice +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterVrpnButtonInputDevice::PreUpdate() +{ + // Update 'old' states before calling mainloop + for (auto it = DeviceData.CreateIterator(); it; ++it) + { + it->Value.btnStateOld = it->Value.btnStateNew; + } +} + +void FDisplayClusterVrpnButtonInputDevice::Update() +{ + if (DevImpl) + { + UE_LOG(LogDisplayClusterInputVRPN, Verbose, TEXT("Updating device: %s"), *GetId()); + DevImpl->mainloop(); + } +} + +bool FDisplayClusterVrpnButtonInputDevice::Initialize() +{ + FString addr; + if (!DisplayClusterHelpers::str::ExtractParam(ConfigData.Params, FString(DisplayClusterStrings::cfg::data::input::Address), addr)) + { + UE_LOG(LogDisplayClusterInputVRPN, Error, TEXT("%s - device address not found"), *ToString()); + return false; + } + + // Instantiate device implementation + DevImpl.Reset(new vrpn_Button_Remote(TCHAR_TO_UTF8(*addr))); + // Register update handler + if(DevImpl->register_change_handler(this, &FDisplayClusterVrpnButtonInputDevice::HandleButtonDevice) != 0) + { + UE_LOG(LogDisplayClusterInputVRPN, Error, TEXT("%s - couldn't register VRPN change handler"), *ToString()); + return false; + } + + // Base initialization + return FDisplayClusterVrpnButtonInputDataHolder::Initialize(); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterVrpnButtonInputDevice +////////////////////////////////////////////////////////////////////////////////////////////// +void VRPN_CALLBACK FDisplayClusterVrpnButtonInputDevice::HandleButtonDevice(void *userData, vrpn_BUTTONCB const b) +{ + auto pDev = reinterpret_cast<FDisplayClusterVrpnButtonInputDevice*>(userData); + + auto pItem = pDev->DeviceData.Find(b.button); + if (!pItem) + { + pItem = &pDev->DeviceData.Add(b.button); + // Explicit initial old state set + pItem->btnStateOld = false; + } + + //@note: Actually the button can change state for several time during one update cycle. For example + // it could change 0->1->0. Then we will send only the latest state and as a result the state + // change won't be processed. I don't process such situations because it's not ok if button + // changes the state so quickly. It's probably a contact shiver or something else. Normal button + // usage will lead to state change separation between update frames. + + + // Convert button state from int to bool here. Actually VRPN has only two states for + // buttons (0-released, 1-pressed) but still uses int32 type for the state. + pItem->btnStateNew = (b.state != 0); + UE_LOG(LogDisplayClusterInputVRPN, VeryVerbose, TEXT("Button %s:%d - %d"), *pDev->GetId(), b.button, b.state); +} diff --git a/Source/DisplayCluster/Private/Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputDevice.h b/Source/DisplayCluster/Private/Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputDevice.h new file mode 100644 index 0000000..4ce726d --- /dev/null +++ b/Source/DisplayCluster/Private/Input/Devices/VRPN/Button/DisplayClusterVrpnButtonInputDevice.h @@ -0,0 +1,43 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "DisplayClusterVrpnButtonInputDataHolder.h" + +#if PLATFORM_WINDOWS +#include "Windows/AllowWindowsPlatformTypes.h" +#endif + +#include "vrpn/vrpn_Button.h" + +#if PLATFORM_WINDOWS +#include "Windows/HideWindowsPlatformTypes.h" +#endif + + +/** + * VRPN button device implementation + */ +class FDisplayClusterVrpnButtonInputDevice + : public FDisplayClusterVrpnButtonInputDataHolder +{ +public: + FDisplayClusterVrpnButtonInputDevice(const FDisplayClusterConfigInput& config); + virtual ~FDisplayClusterVrpnButtonInputDevice(); + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterInputDevice + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void PreUpdate() override; + virtual void Update() override; + virtual bool Initialize() override; + +private: + // Data update handler + static void VRPN_CALLBACK HandleButtonDevice(void *userData, vrpn_BUTTONCB const b); + +private: + // The device (PIMPL) + TUniquePtr<vrpn_Button_Remote> DevImpl; +}; diff --git a/Source/DisplayCluster/Private/Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputData.h b/Source/DisplayCluster/Private/Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputData.h new file mode 100644 index 0000000..91f4fd3 --- /dev/null +++ b/Source/DisplayCluster/Private/Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputData.h @@ -0,0 +1,15 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" + + +/** + * VRPN tracker device data type + */ +struct FDisplayClusterVrpnTrackerChannelData +{ + FVector trLoc; + FQuat trQuat; +}; diff --git a/Source/DisplayCluster/Private/Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputDataHolder.cpp b/Source/DisplayCluster/Private/Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputDataHolder.cpp new file mode 100644 index 0000000..873240f --- /dev/null +++ b/Source/DisplayCluster/Private/Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputDataHolder.cpp @@ -0,0 +1,93 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterVrpnTrackerInputDataHolder.h" +#include "Misc/DisplayClusterLog.h" + + +namespace +{ + // Create a FQuat from a string that is in the same format as generated by + // FQuat::ToString. + // FQuat is missing InitializeFromString member function. + FQuat QuatFromString(const FString& InSourceString) + { + FQuat Result; + const bool bSuccessful + = FParse::Value( *InSourceString, TEXT("X="), Result.X ) + && FParse::Value( *InSourceString, TEXT("Y="), Result.Y ) + && FParse::Value( *InSourceString, TEXT("Z="), Result.Z ) + && FParse::Value( *InSourceString, TEXT("W="), Result.W ); + + if (!bSuccessful) + { + UE_LOG(LogDisplayClusterInputVRPN, Error, TEXT("Parsing FQuat from string '%s' failed!"), *InSourceString); + Result = FQuat::Identity; + } + + return Result; + } + +} // namespace + + + +FDisplayClusterVrpnTrackerInputDataHolder::FDisplayClusterVrpnTrackerInputDataHolder(const FDisplayClusterConfigInput& config) : + FDisplayClusterInputDeviceBase<EDisplayClusterInputDevice::VrpnTracker>(config) +{ +} + +FDisplayClusterVrpnTrackerInputDataHolder::~FDisplayClusterVrpnTrackerInputDataHolder() +{ +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterInputDevice +////////////////////////////////////////////////////////////////////////////////////////////// +bool FDisplayClusterVrpnTrackerInputDataHolder::Initialize() +{ + return true; +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterStringSerializable +////////////////////////////////////////////////////////////////////////////////////////////// +FString FDisplayClusterVrpnTrackerInputDataHolder::SerializeToString() const +{ + FString result; + result.Reserve(256); + + for (auto it = DeviceData.CreateConstIterator(); it; ++it) + { + result += FString::Printf(TEXT("%d%s%s%s%s%s"), + it->Key, SerializationDelimiter, *it->Value.trLoc.ToString(), SerializationDelimiter, *it->Value.trQuat.ToString(), SerializationDelimiter); + } + + return result; +} + +bool FDisplayClusterVrpnTrackerInputDataHolder::DeserializeFromString(const FString& data) +{ + TArray<FString> parsed; + data.ParseIntoArray(parsed, SerializationDelimiter); + + if (parsed.Num() % SerializationItems) + { + UE_LOG(LogDisplayClusterInputVRPN, Error, TEXT("Wrong items amount after deserialization [%s]"), *data); + return false; + } + + for (int i = 0; i < parsed.Num(); i += SerializationItems) + { + const int ch = FCString::Atoi(*parsed[i]); + FVector loc; + FQuat quat = QuatFromString(parsed[i + 2]); + loc.InitFromString(parsed[i + 1]); + + DeviceData.Add(ch, FDisplayClusterVrpnTrackerChannelData{ loc, quat }); + } + + return true; +} + diff --git a/Source/DisplayCluster/Private/Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputDataHolder.h b/Source/DisplayCluster/Private/Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputDataHolder.h new file mode 100644 index 0000000..d4eb241 --- /dev/null +++ b/Source/DisplayCluster/Private/Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputDataHolder.h @@ -0,0 +1,38 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Input/Devices/DisplayClusterInputDeviceTraits.h" +#include "Input/Devices/DisplayClusterInputDeviceBase.h" + +#include "CoreMinimal.h" + + +/** + * VRPN tracker device data holder. Responsible for data serialization and deserialization. + */ +class FDisplayClusterVrpnTrackerInputDataHolder + : public FDisplayClusterInputDeviceBase<EDisplayClusterInputDevice::VrpnTracker> +{ +public: + FDisplayClusterVrpnTrackerInputDataHolder(const FDisplayClusterConfigInput& config); + virtual ~FDisplayClusterVrpnTrackerInputDataHolder(); + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterInputDevice + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool Initialize() override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterStringSerializable + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual FString SerializeToString() const override final; + virtual bool DeserializeFromString(const FString& data) override final; + +private: + // Serialization constants + static constexpr auto SerializationDelimiter = TEXT("@"); + static constexpr auto SerializationItems = 3; +}; diff --git a/Source/DisplayCluster/Private/Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputDevice.cpp b/Source/DisplayCluster/Private/Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputDevice.cpp new file mode 100644 index 0000000..1b476f7 --- /dev/null +++ b/Source/DisplayCluster/Private/Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputDevice.cpp @@ -0,0 +1,264 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterVrpnTrackerInputDevice.h" + +#include "Misc/DisplayClusterHelpers.h" +#include "Misc/DisplayClusterLog.h" + +#include "DisplayClusterBuildConfig.h" +#include "DisplayClusterStrings.h" + + +FDisplayClusterVrpnTrackerInputDevice::FDisplayClusterVrpnTrackerInputDevice(const FDisplayClusterConfigInput& config) : + FDisplayClusterVrpnTrackerInputDataHolder(config) +{ +} + +FDisplayClusterVrpnTrackerInputDevice::~FDisplayClusterVrpnTrackerInputDevice() +{ +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterInputDevice +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterVrpnTrackerInputDevice::PreUpdate() +{ + if (DevImpl) + { + UE_LOG(LogDisplayClusterInputVRPN, Verbose, TEXT("Updating device: %s"), *GetId()); + DevImpl->mainloop(); + + const double StartTime = FPlatformTime::Seconds(); + ReceivedReport = false; + while (!ReceivedReport && !Lost) + { + DevImpl->mainloop(); + if (!ReceivedReport && (FPlatformTime::Seconds() - StartTime) >= LostTimeout) + { + Lost = true; + break; + } + } + } + + // Perform coordinates conversion + for (auto it = DeviceData.CreateIterator(); it; ++it) + { + if (DirtyMap.Contains(it->Key)) + { + // Convert data from updated channels only + if (DirtyMap[it->Key] == true) + { + TransformCoordinates(it->Value); + DirtyMap[it->Key] = false; + } + } + } +} + +bool FDisplayClusterVrpnTrackerInputDevice::Initialize() +{ + FString addr; + if (!DisplayClusterHelpers::str::ExtractParam(ConfigData.Params, DisplayClusterStrings::cfg::data::input::Address, addr)) + { + UE_LOG(LogDisplayClusterInputVRPN, Error, TEXT("%s - device address not found"), *ToString()); + return false; + } + + // Instantiate device implementation + DevImpl.Reset(new vrpn_Tracker_Remote(TCHAR_TO_UTF8(*addr))); + + // Register update handler + if (DevImpl->register_change_handler(this, &FDisplayClusterVrpnTrackerInputDevice::HandleTrackerDevice) != 0) + { + UE_LOG(LogDisplayClusterInputVRPN, Error, TEXT("%s - couldn't register VRPN change handler"), *ToString()); + return false; + } + + // Extract tracker location + FString loc; + if (!DisplayClusterHelpers::str::ExtractParam(ConfigData.Params, DisplayClusterStrings::cfg::data::Loc, loc, false)) + { + UE_LOG(LogDisplayClusterInputVRPN, Error, TEXT("%s - tracker origin location not found"), *ToString()); + return false; + } + + // Extract tracker rotation + FString rot; + if (!DisplayClusterHelpers::str::ExtractParam(ConfigData.Params, DisplayClusterStrings::cfg::data::Rot, rot, false)) + { + UE_LOG(LogDisplayClusterInputVRPN, Error, TEXT("%s - tracker origin rotation not found"), *ToString()); + return false; + } + + // Parse location + if (!OriginLoc.InitFromString(loc)) + { + UE_LOG(LogDisplayClusterInputVRPN, Error, TEXT("%s - unable to parse the tracker origin location"), *ToString()); + return false; + } + + // Parse rotation + FRotator originRot; + if (!originRot.InitFromString(rot)) + { + UE_LOG(LogDisplayClusterInputVRPN, Error, TEXT("%s - unable to parse the tracker origin rotation"), *ToString()); + return false; + } + else + { + OriginQuat = originRot.Quaternion(); + } + + // Parse 'right' axis mapping + FString right; + if (!DisplayClusterHelpers::str::ExtractParam(ConfigData.Params, DisplayClusterStrings::cfg::data::input::Right, right)) + { + UE_LOG(LogDisplayClusterInputVRPN, Error, TEXT("%s - 'right' axis mapping not found"), *ToString()); + return false; + } + + // Parse 'forward' axis mapping + FString front; + if (!DisplayClusterHelpers::str::ExtractParam(ConfigData.Params, DisplayClusterStrings::cfg::data::input::Front, front)) + { + UE_LOG(LogDisplayClusterInputVRPN, Error, TEXT("%s - 'front' axis mapping not found"), *ToString()); + return false; + } + + // Parse 'up' axis mapping + FString up; + if (!DisplayClusterHelpers::str::ExtractParam(ConfigData.Params, DisplayClusterStrings::cfg::data::input::Up, up)) + { + UE_LOG(LogDisplayClusterInputVRPN, Error, TEXT("%s - 'up' axis mapping not found"), *ToString()); + return false; + } + + // Store mapping rules + AxisFront = String2Map(front, AxisMapType::X); + AxisRight = String2Map(right, AxisMapType::Y); + AxisUp = String2Map(up, AxisMapType::Z); + AxisW = ComputeAxisW(AxisFront, AxisRight, AxisUp); + + // Base initialization + return FDisplayClusterVrpnTrackerInputDataHolder::Initialize(); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterVrpnTrackerInputDevice +////////////////////////////////////////////////////////////////////////////////////////////// +namespace +{ + // Location + float LocGetX(const FVector& loc) { return loc.X; } + float LocGetNX(const FVector& loc) { return -loc.X; } + + float LocGetY(const FVector& loc) { return loc.Y; } + float LocGetNY(const FVector& loc) { return -loc.Y; } + + float LocGetZ(const FVector& loc) { return loc.Z; } + float LocGetNZ(const FVector& loc) { return -loc.Z; } + + // Rotation + float RotGetX(const FQuat& quat) { return quat.X; } + float RotGetNX(const FQuat& quat) { return -quat.X; } + + float RotGetY(const FQuat& quat) { return quat.Y; } + float RotGetNY(const FQuat& quat) { return -quat.Y; } + + float RotGetZ(const FQuat& quat) { return quat.Z; } + float RotGetNZ(const FQuat& quat) { return -quat.Z; } + + float RotGetW(const FQuat& quat) { return quat.W; } + float RotGetNW(const FQuat& quat) { return -quat.W; } + + typedef float(*TLocGetter)(const FVector& loc); + typedef float(*TRotGetter)(const FQuat& rot); +} + +FDisplayClusterVrpnTrackerInputDevice::AxisMapType FDisplayClusterVrpnTrackerInputDevice::String2Map(const FString& str, const AxisMapType defaultMap) const +{ + const FString mapVal = str.ToLower(); + + if (mapVal == DisplayClusterStrings::cfg::data::input::MapX) + return AxisMapType::X; + else if (mapVal == DisplayClusterStrings::cfg::data::input::MapNX) + return AxisMapType::NX; + else if (mapVal == DisplayClusterStrings::cfg::data::input::MapY) + return AxisMapType::Y; + else if (mapVal == DisplayClusterStrings::cfg::data::input::MapNY) + return AxisMapType::NY; + else if (mapVal == DisplayClusterStrings::cfg::data::input::MapZ) + return AxisMapType::Z; + else if (mapVal == DisplayClusterStrings::cfg::data::input::MapNZ) + return AxisMapType::NZ; + else + { + UE_LOG(LogDisplayClusterInputVRPN, Warning, TEXT("Unknown mapping type: %s"), *str); + } + + return defaultMap; +} + +FDisplayClusterVrpnTrackerInputDevice::AxisMapType FDisplayClusterVrpnTrackerInputDevice::ComputeAxisW(const AxisMapType front, const AxisMapType right, const AxisMapType up) const +{ + int det = 1; + + if (front == AxisMapType::NX || front == AxisMapType::NY || front == AxisMapType::NZ) + det *= -1; + + if (right == AxisMapType::NX || right == AxisMapType::NY || right == AxisMapType::NZ) + det *= -1; + + if (up == AxisMapType::NX || up == AxisMapType::NY || up == AxisMapType::NZ) + det *= -1; + + return (det < 0) ? AxisMapType::NW : AxisMapType::W; +} + +FVector FDisplayClusterVrpnTrackerInputDevice::GetMappedLocation(const FVector& loc, const AxisMapType front, const AxisMapType right, const AxisMapType up) const +{ + static TLocGetter funcs[] = { &LocGetX, &LocGetNX, &LocGetY, &LocGetNY, &LocGetZ, &LocGetNZ }; + return FVector(funcs[front](loc), funcs[right](loc), funcs[up](loc)); +} + +FQuat FDisplayClusterVrpnTrackerInputDevice::GetMappedQuat(const FQuat& quat, const AxisMapType front, const AxisMapType right, const AxisMapType up, const AxisMapType axisW) const +{ + static TRotGetter funcs[] = { &RotGetX, &RotGetNX, &RotGetY, &RotGetNY, &RotGetZ, &RotGetNZ, &RotGetW, &RotGetNW }; + return FQuat(funcs[front](quat), funcs[right](quat), funcs[up](quat), -quat.W);// funcs[axisW](quat)); +} + +void FDisplayClusterVrpnTrackerInputDevice::TransformCoordinates(FDisplayClusterVrpnTrackerChannelData &data) const +{ + UE_LOG(LogDisplayClusterInputVRPN, VeryVerbose, TEXT("TransformCoordinates old: <loc:%s> <quat:%s>"), *data.trLoc.ToString(), *data.trQuat.ToString()); + + // Transform location + data.trLoc = OriginLoc + GetMappedLocation(data.trLoc, AxisFront, AxisRight, AxisUp); + data.trLoc *= 100.f; + + // Transform rotation + data.trQuat = OriginQuat * data.trQuat; + data.trQuat = GetMappedQuat(data.trQuat, AxisFront, AxisRight, AxisUp, AxisW); + + UE_LOG(LogDisplayClusterInputVRPN, VeryVerbose, TEXT("TransformCoordinates new: <loc:%s> <quat:%s>"), *data.trLoc.ToString(), *data.trQuat.ToString()); +} + +void VRPN_CALLBACK FDisplayClusterVrpnTrackerInputDevice::HandleTrackerDevice(void *userData, vrpn_TRACKERCB const tr) +{ + auto pDev = reinterpret_cast<FDisplayClusterVrpnTrackerInputDevice*>(userData); + + const FVector loc(tr.pos[0], tr.pos[1], tr.pos[2]); + const FQuat quat(tr.quat[0], tr.quat[1], tr.quat[2], tr.quat[3]); + + const FDisplayClusterVrpnTrackerChannelData data{ loc, quat }; + auto pItem = &pDev->DeviceData.Add(tr.sensor, data); + + pDev->DirtyMap.Add(static_cast<int32>(tr.sensor), true); + + pDev->ReceivedReport = true; + pDev->Lost = false; + + UE_LOG(LogDisplayClusterInputVRPN, VeryVerbose, TEXT("Tracker %s:%d {loc %s} {rot %s}"), *pDev->GetId(), tr.sensor, *pItem->trLoc.ToString(), *pItem->trQuat.ToString()); +} diff --git a/Source/DisplayCluster/Private/Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputDevice.h b/Source/DisplayCluster/Private/Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputDevice.h new file mode 100644 index 0000000..c207c1c --- /dev/null +++ b/Source/DisplayCluster/Private/Input/Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputDevice.h @@ -0,0 +1,75 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "DisplayClusterVrpnTrackerInputDataHolder.h" + +#if PLATFORM_WINDOWS +#include "Windows/AllowWindowsPlatformTypes.h" +#endif + +#include "vrpn/vrpn_Tracker.h" + +#if PLATFORM_WINDOWS +#include "Windows/HideWindowsPlatformTypes.h" +#endif + + +/** + * VRPN tracker device implementation + */ +class FDisplayClusterVrpnTrackerInputDevice + : public FDisplayClusterVrpnTrackerInputDataHolder +{ +public: + FDisplayClusterVrpnTrackerInputDevice(const FDisplayClusterConfigInput& config); + virtual ~FDisplayClusterVrpnTrackerInputDevice(); + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterInputDevice + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void PreUpdate() override; + virtual bool Initialize() override; + +protected: + // Per-channel dirty state + TMap<int32, bool> DirtyMap; + + // Transform form tracker space to DisplayCluster space + void TransformCoordinates(FDisplayClusterVrpnTrackerChannelData& data) const; + + +private: + // Tracker origin + FVector OriginLoc = FVector::ZeroVector; + FQuat OriginQuat = FQuat::Identity; + +private: + // Coordinate system conversion + enum AxisMapType { X = 0, NX, Y, NY, Z, NZ, W, NW }; + + // Internal conversion helpers + AxisMapType String2Map(const FString& str, const AxisMapType defaultMap) const; + AxisMapType ComputeAxisW(const AxisMapType front, const AxisMapType right, const AxisMapType up) const; + FVector GetMappedLocation(const FVector& loc, const AxisMapType front, const AxisMapType right, const AxisMapType up) const; + FQuat GetMappedQuat(const FQuat& quat, const AxisMapType front, const AxisMapType right, const AxisMapType up, const AxisMapType axisW) const; + + // Tracker space to DisplayCluster space axis mapping + AxisMapType AxisFront; + AxisMapType AxisRight; + AxisMapType AxisUp; + AxisMapType AxisW; + +private: + // Data update handler + static void VRPN_CALLBACK HandleTrackerDevice(void *userData, vrpn_TRACKERCB const tr); + +private: + // The device (PIMPL) + TUniquePtr<vrpn_Tracker_Remote> DevImpl; + + bool ReceivedReport = false; + bool Lost = true; + float LostTimeout = 0.032f; // ~2 frames +}; diff --git a/Source/DisplayCluster/Private/Input/DisplayClusterInputManager.cpp b/Source/DisplayCluster/Private/Input/DisplayClusterInputManager.cpp new file mode 100644 index 0000000..da90d83 --- /dev/null +++ b/Source/DisplayCluster/Private/Input/DisplayClusterInputManager.cpp @@ -0,0 +1,498 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterInputManager.h" + +#include "Cluster/IPDisplayClusterClusterManager.h" +#include "Config/IPDisplayClusterConfigManager.h" + +#include "Devices/VRPN/Analog/DisplayClusterVrpnAnalogInputDevice.h" +#include "Devices/VRPN/Button/DisplayClusterVrpnButtonInputDevice.h" +#include "Devices/VRPN/Tracker/DisplayClusterVrpnTrackerInputDevice.h" + +#include "Misc/DisplayClusterLog.h" +#include "DisplayClusterGameMode.h" +#include "DisplayClusterGlobals.h" +#include "IPDisplayCluster.h" + + +FDisplayClusterInputManager::FDisplayClusterInputManager() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterInput); +} + +FDisplayClusterInputManager::~FDisplayClusterInputManager() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterInput); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterManager +////////////////////////////////////////////////////////////////////////////////////////////// +bool FDisplayClusterInputManager::Init(EDisplayClusterOperationMode OperationMode) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterInput); + + return true; +} + +void FDisplayClusterInputManager::Release() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterInput); +} + +bool FDisplayClusterInputManager::StartSession(const FString& configPath, const FString& nodeId) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterInput); + + ConfigPath = configPath; + ClusterNodeId = nodeId; + + if (!InitDevices()) + { + UE_LOG(LogDisplayClusterInput, Error, TEXT("Couldn't initialize input devices")); + return false; + } + + return true; +} + +void FDisplayClusterInputManager::EndSession() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterInput); + + ReleaseDevices(); +} + +bool FDisplayClusterInputManager::StartScene(UWorld* pWorld) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterInput); + + check(pWorld); + CurrentWorld = pWorld; + + return true; +} + +void FDisplayClusterInputManager::EndScene() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterInput); +} + +void FDisplayClusterInputManager::PreTick(float DeltaSeconds) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterInput); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterInputManager +////////////////////////////////////////////////////////////////////////////////////////////// +// Basic functionality (device amount) +uint32 FDisplayClusterInputManager::GetAxisDeviceAmount() const +{ + FScopeLock ScopeLock(&InternalsSyncScope); + return GetDeviceAmount_impl<EDisplayClusterInputDevice::VrpnAnalog>(); +} + +uint32 FDisplayClusterInputManager::GetButtonDeviceAmount() const +{ + FScopeLock ScopeLock(&InternalsSyncScope); + return GetDeviceAmount_impl<EDisplayClusterInputDevice::VrpnButton>(); +} + +uint32 FDisplayClusterInputManager::GetTrackerDeviceAmount() const +{ + FScopeLock ScopeLock(&InternalsSyncScope); + return GetDeviceAmount_impl<EDisplayClusterInputDevice::VrpnTracker>(); +} + +// Access to the device lists +bool FDisplayClusterInputManager::GetAxisDeviceIds(TArray<FString>& ids) const +{ + FScopeLock ScopeLock(&InternalsSyncScope); + return GetDeviceIds_impl<EDisplayClusterInputDevice::VrpnAnalog>(ids); +} + +bool FDisplayClusterInputManager::GetButtonDeviceIds(TArray<FString>& ids) const +{ + FScopeLock ScopeLock(&InternalsSyncScope); + return GetDeviceIds_impl<EDisplayClusterInputDevice::VrpnButton>(ids); +} + +bool FDisplayClusterInputManager::GetTrackerDeviceIds(TArray<FString>& ids) const +{ + FScopeLock ScopeLock(&InternalsSyncScope); + return GetDeviceIds_impl<EDisplayClusterInputDevice::VrpnTracker>(ids); +} + + +// Button data access +bool FDisplayClusterInputManager::GetButtonState(const FString& devId, const uint8 btn, bool& curState) const +{ + FDisplayClusterVrpnButtonChannelData data; + if (GetButtonData(devId, btn, data)) + { + curState = data.btnStateNew; + return true; + } + + return false; +} + +bool FDisplayClusterInputManager::IsButtonPressed(const FString& devId, const uint8 btn, bool& curPressed) const +{ + bool btnState; + if (GetButtonState(devId, btn, btnState)) + { + curPressed = (btnState == true); + return true; + } + + return false; +} + +bool FDisplayClusterInputManager::IsButtonReleased(const FString& devId, const uint8 btn, bool& curReleased) const +{ + bool btnState; + if (GetButtonState(devId, btn, btnState)) + { + curReleased = (btnState == false); + return true; + } + + return false; +} + +bool FDisplayClusterInputManager::WasButtonPressed(const FString& devId, const uint8 btn, bool& wasPressed) const +{ + FDisplayClusterVrpnButtonChannelData data; + if (GetButtonData(devId, btn, data)) + { + wasPressed = (data.btnStateOld == false && data.btnStateNew == true); + return true; + } + + return false; +} + +bool FDisplayClusterInputManager::WasButtonReleased(const FString& devId, const uint8 btn, bool& wasReleased) const +{ + FDisplayClusterVrpnButtonChannelData data; + if (GetButtonData(devId, btn, data)) + { + wasReleased = (data.btnStateOld == true && data.btnStateNew == false); + return true; + } + + return false; +} + +// Axes data access +bool FDisplayClusterInputManager::GetAxis(const FString& devId, const uint8 axis, float& value) const +{ + FDisplayClusterVrpnAnalogChannelData data; + if (GetAxisData(devId, axis, data)) + { + value = data.axisValue; + return true; + } + + return false; +} + +// Tracking data access +bool FDisplayClusterInputManager::GetTrackerLocation(const FString& devId, const uint8 tr, FVector& location) const +{ + FDisplayClusterVrpnTrackerChannelData data; + if (GetTrackerData(devId, tr, data)) + { + location = data.trLoc; + return true; + } + + return false; +} + +bool FDisplayClusterInputManager::GetTrackerQuat(const FString& devId, const uint8 tr, FQuat& rotation) const +{ + FDisplayClusterVrpnTrackerChannelData data; + if (GetTrackerData(devId, tr, data)) + { + rotation = data.trQuat; + return true; + } + + return false; +} + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterInputManager +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterInputManager::Update() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterInput); + + if (GDisplayCluster->GetOperationMode() == EDisplayClusterOperationMode::Disabled) + { + return; + } + + // Perform input update on master only. Slaves' state will be replicated later. + if (GDisplayCluster->GetPrivateClusterMgr()->IsMaster()) + { + UE_LOG(LogDisplayClusterInput, Verbose, TEXT("Input update started")); + { + FScopeLock ScopeLock(&InternalsSyncScope); + + // Pre-Update + UE_LOG(LogDisplayClusterInput, Verbose, TEXT("Input pre-update...")); + for (auto classIt = Devices.CreateIterator(); classIt; ++classIt) + { + for (auto devIt = classIt->Value.CreateConstIterator(); devIt; ++devIt) + { + devIt->Value->PreUpdate(); + } + } + + // Update + UE_LOG(LogDisplayClusterInput, Verbose, TEXT("Input update...")); + for (auto classIt = Devices.CreateIterator(); classIt; ++classIt) + { + for (auto devIt = classIt->Value.CreateConstIterator(); devIt; ++devIt) + { + devIt->Value->Update(); + } + } + + // Post-Update + for (auto classIt = Devices.CreateIterator(); classIt; ++classIt) + { + for (auto devIt = classIt->Value.CreateConstIterator(); devIt; ++devIt) + { + devIt->Value->PostUpdate(); + } + } + } + UE_LOG(LogDisplayClusterInput, Verbose, TEXT("Input update finished")); + + // Update input data cache for slave nodes + UpdateInputDataCache(); + } +} + +void FDisplayClusterInputManager::ExportInputData(FDisplayClusterMessage::DataType& data) const +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterInput); + + // Get data from cache + data = PackedTransferData; +} + +void FDisplayClusterInputManager::ImportInputData(const FDisplayClusterMessage::DataType& data) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterInput); + + FScopeLock ScopeLock(&InternalsSyncScope); + + for (auto rec : data) + { + FString strClassId; + FString strDevId; + if (rec.Key.Split(FString(SerializationDeviceTypeNameDelimiter), &strClassId, &strDevId)) + { + UE_LOG(LogDisplayClusterInput, VeryVerbose, TEXT("Deserializing input device: <%s, %s>"), *rec.Key, *rec.Value); + + int classId = FCString::Atoi(*strClassId); + if (Devices.Contains(classId)) + { + if (Devices[classId].Contains(strDevId)) + { + Devices[classId][strDevId]->DeserializeFromString(rec.Value); + } + } + } + } +} + + +bool FDisplayClusterInputManager::GetAxisData(const FString& devId, const uint8 channel, FDisplayClusterVrpnAnalogChannelData& data) const +{ + FScopeLock ScopeLock(&InternalsSyncScope); + return GetChannelData_impl<EDisplayClusterInputDevice::VrpnAnalog>(devId, channel, data); +} + +bool FDisplayClusterInputManager::GetButtonData(const FString& devId, const uint8 channel, FDisplayClusterVrpnButtonChannelData& data) const +{ + FScopeLock ScopeLock(&InternalsSyncScope); + return GetChannelData_impl<EDisplayClusterInputDevice::VrpnButton>(devId, channel, data); +} + +bool FDisplayClusterInputManager::GetTrackerData(const FString& devId, const uint8 channel, FDisplayClusterVrpnTrackerChannelData& data) const +{ + FScopeLock ScopeLock(&InternalsSyncScope); + return GetChannelData_impl<EDisplayClusterInputDevice::VrpnTracker>(devId, channel, data); +} + +template<int DevTypeID> +uint32 FDisplayClusterInputManager::GetDeviceAmount_impl() const +{ + if (!Devices.Contains(DevTypeID)) + { + return 0; + } + + return static_cast<uint32>(Devices[DevTypeID].Num()); +} + +template<int DevTypeID> +bool FDisplayClusterInputManager::GetDeviceIds_impl(TArray<FString>& ids) const +{ + if (!Devices.Contains(DevTypeID)) + { + return false; + } + + Devices[DevTypeID].GenerateKeyArray(ids); + return true; +} + +template<int DevTypeID> +bool FDisplayClusterInputManager::GetChannelData_impl(const FString& devId, const uint8 channel, typename display_cluster_input_device_traits<DevTypeID>::dev_channel_data_type& data) const +{ + if (!Devices.Contains(DevTypeID)) + { + return false; + } + + if (!Devices[DevTypeID].Contains(devId)) + { + return false; + } + + return static_cast<FDisplayClusterInputDeviceBase<DevTypeID>*>(Devices[DevTypeID][devId].Get())->GetChannelData(channel, data); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterInputManager +////////////////////////////////////////////////////////////////////////////////////////////// +bool FDisplayClusterInputManager::InitDevices() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterInput); + + if (GDisplayCluster->GetOperationMode() == EDisplayClusterOperationMode::Disabled) + { + return false; + } + + FScopeLock ScopeLock(&InternalsSyncScope); + + UE_LOG(LogDisplayClusterInput, Log, TEXT("Initializing input devices...")); + + const TArray<FDisplayClusterConfigInput> cfgInputDevs = GDisplayCluster->GetPrivateConfigMgr()->GetInputDevices(); + + for (auto& cfgDev : cfgInputDevs) + { + UE_LOG(LogDisplayClusterInput, Verbose, TEXT("Creating input device: %s"), *cfgDev.ToString()); + + IDisplayClusterInputDevice* pDev = nullptr; + + if (cfgDev.Type.Compare(FString(DisplayClusterStrings::cfg::data::input::DeviceAnalog), ESearchCase::IgnoreCase) == 0) + { + if (GDisplayCluster->GetPrivateClusterMgr()->IsMaster()) + { + pDev = new FDisplayClusterVrpnAnalogInputDevice(cfgDev); + } + else + { + pDev = new FDisplayClusterVrpnAnalogInputDataHolder(cfgDev); + } + } + else if (cfgDev.Type.Compare(FString(DisplayClusterStrings::cfg::data::input::DeviceButtons), ESearchCase::IgnoreCase) == 0) + { + if (GDisplayCluster->GetPrivateClusterMgr()->IsMaster()) + { + pDev = new FDisplayClusterVrpnButtonInputDevice(cfgDev); + } + else + { + pDev = new FDisplayClusterVrpnButtonInputDataHolder(cfgDev); + } + } + else if (cfgDev.Type.Compare(FString(DisplayClusterStrings::cfg::data::input::DeviceTracker), ESearchCase::IgnoreCase) == 0) + { + if (GDisplayCluster->GetPrivateClusterMgr()->IsMaster()) + { + pDev = new FDisplayClusterVrpnTrackerInputDevice(cfgDev); + } + else + { + pDev = new FDisplayClusterVrpnTrackerInputDataHolder(cfgDev); + } + } + else + { + UE_LOG(LogDisplayClusterInput, Error, TEXT("Unsupported device type: %s"), *cfgDev.Type); + continue; + } + + if (pDev && pDev->Initialize()) + { + UE_LOG(LogDisplayClusterInput, Log, TEXT("Adding device: %s"), *pDev->ToString()); + + auto pDevMap = Devices.Find(pDev->GetTypeId()); + if (!pDevMap) + { + pDevMap = &Devices.Add(pDev->GetTypeId()); + } + + pDevMap->Add(cfgDev.Id, TDevice(pDev)); + } + else + { + UE_LOG(LogDisplayClusterInput, Warning, TEXT("Neither data holder nor true device was instantiated for item id: %s"), *cfgDev.Id); + + // It's safe to delete nullptr so no checking performed + delete pDev; + + //@note: Allow other devices to be initialized. User will locate the problem from logs. + //return false; + } + } + + return true; +} + +void FDisplayClusterInputManager::ReleaseDevices() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterInput); + + FScopeLock ScopeLock(&InternalsSyncScope); + + UE_LOG(LogDisplayClusterInput, Log, TEXT("Releasing input subsystem...")); + + UE_LOG(LogDisplayClusterInput, Log, TEXT("Releasing input devices...")); + Devices.Empty(); +} + +void FDisplayClusterInputManager::UpdateInputDataCache() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterInput); + + FScopeLock ScopeLock(&InternalsSyncScope); + + // Clear previously cached data + PackedTransferData.Empty(PackedTransferData.Num() | 0x07); + + for (auto classIt = Devices.CreateConstIterator(); classIt; ++classIt) + { + for (auto devIt = classIt->Value.CreateConstIterator(); devIt; ++devIt) + { + const FString key = FString::Printf(TEXT("%d%s%s"), classIt->Key, SerializationDeviceTypeNameDelimiter, *devIt->Key); + const FString val = devIt->Value->SerializeToString(); + UE_LOG(LogDisplayClusterInput, VeryVerbose, TEXT("Input device %d:%s serialized: <%s, %s>"), classIt->Key, *devIt->Key, *key, *val); + PackedTransferData.Add(key, val); + } + } +} diff --git a/Source/DisplayCluster/Private/Input/DisplayClusterInputManager.h b/Source/DisplayCluster/Private/Input/DisplayClusterInputManager.h new file mode 100644 index 0000000..fe1e34a --- /dev/null +++ b/Source/DisplayCluster/Private/Input/DisplayClusterInputManager.h @@ -0,0 +1,119 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "IPDisplayClusterInputManager.h" + +#include "CoreMinimal.h" + +#include "Devices/DisplayClusterInputDeviceTraits.h" +#include "Network/DisplayClusterMessage.h" + +struct IDisplayClusterInputDevice; +struct FDisplayClusterVrpnAnalogChannelData; +struct FDisplayClusterVrpnButtonChannelData; +struct FDisplayClusterVrpnTrackerChannelData; + + +/** + * Input manager. Implements everything related to VR input devices (VRPN, etc.) + */ +class FDisplayClusterInputManager + : public IPDisplayClusterInputManager +{ +public: + FDisplayClusterInputManager(); + virtual ~FDisplayClusterInputManager(); + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterManager + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool Init(EDisplayClusterOperationMode OperationMode) override; + virtual void Release() override; + virtual bool StartSession(const FString& configPath, const FString& nodeId) override; + virtual void EndSession() override; + virtual bool StartScene(UWorld* pWorld) override; + virtual void EndScene() override; + virtual void PreTick(float DeltaSeconds); + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterInputManager + ////////////////////////////////////////////////////////////////////////////////////////////// + // Device amount + virtual uint32 GetAxisDeviceAmount() const override; + virtual uint32 GetButtonDeviceAmount() const override; + virtual uint32 GetTrackerDeviceAmount() const override; + + // Device IDs + virtual bool GetAxisDeviceIds (TArray<FString>& ids) const override; + virtual bool GetButtonDeviceIds (TArray<FString>& ids) const override; + virtual bool GetTrackerDeviceIds(TArray<FString>& ids) const override; + + // Button data access + virtual bool GetButtonState(const FString& devId, const uint8 btn, bool& curState) const override; + virtual bool IsButtonPressed(const FString& devId, const uint8 btn, bool& curPressed) const override; + virtual bool IsButtonReleased(const FString& devId, const uint8 btn, bool& curReleased) const override; + virtual bool WasButtonPressed(const FString& devId, const uint8 btn, bool& wasPressed) const override; + virtual bool WasButtonReleased(const FString& devId, const uint8 btn, bool& wasReleased) const override; + + // Axes data access + virtual bool GetAxis(const FString& devId, const uint8 axis, float& value) const override; + + // Tracking data access + virtual bool GetTrackerLocation(const FString& devId, const uint8 tr, FVector& location) const override; + virtual bool GetTrackerQuat(const FString& devId, const uint8 tr, FQuat& rotation) const override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterInputManager + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void Update() override; + + virtual void ExportInputData(FDisplayClusterMessage::DataType& data) const override; + virtual void ImportInputData(const FDisplayClusterMessage::DataType& data) override; + +private: + typedef TUniquePtr<IDisplayClusterInputDevice> TDevice; + typedef TMap<FString, TDevice> TDeviceClassMap; + typedef TMap<int, TDeviceClassMap> TDeviceMap; + + bool InitDevices(); + void ReleaseDevices(); + void UpdateInputDataCache(); + + // Device data + bool GetAxisData (const FString& devId, const uint8 channel, FDisplayClusterVrpnAnalogChannelData& data) const; + bool GetButtonData (const FString& devId, const uint8 channel, FDisplayClusterVrpnButtonChannelData& data) const; + bool GetTrackerData(const FString& devId, const uint8 channel, FDisplayClusterVrpnTrackerChannelData& data) const; + +private: + // Input devices + TDeviceMap Devices; + // Input state data cache + FDisplayClusterMessage::DataType PackedTransferData; + // Current config path + FString ConfigPath; + // Current cluster node ID + FString ClusterNodeId; + // Current world + UWorld* CurrentWorld; + + mutable FCriticalSection InternalsSyncScope; + +private: + template<int DevTypeID> + uint32 GetDeviceAmount_impl() const; + + template<int DevTypeID> + bool GetDeviceIds_impl(TArray<FString>& ids) const; + + template<int DevTypeID> + bool GetChannelData_impl(const FString& devId, const uint8 channel, typename display_cluster_input_device_traits<DevTypeID>::dev_channel_data_type& data) const; + +private: + static constexpr auto SerializationDeviceTypeNameDelimiter = TEXT(" "); +}; + diff --git a/Source/DisplayCluster/Private/Input/IPDisplayClusterInputManager.h b/Source/DisplayCluster/Private/Input/IPDisplayClusterInputManager.h new file mode 100644 index 0000000..bc91976 --- /dev/null +++ b/Source/DisplayCluster/Private/Input/IPDisplayClusterInputManager.h @@ -0,0 +1,25 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Input/IDisplayClusterInputManager.h" +#include "IPDisplayClusterManager.h" + +#include "Network/DisplayClusterMessage.h" + + +/** + * Input manager private interface + */ +struct IPDisplayClusterInputManager + : public IDisplayClusterInputManager + , public IPDisplayClusterManager +{ + virtual ~IPDisplayClusterInputManager() + { } + + virtual void Update() = 0; + + virtual void ExportInputData(FDisplayClusterMessage::DataType& data) const = 0; + virtual void ImportInputData(const FDisplayClusterMessage::DataType& data) = 0; +}; diff --git a/Source/DisplayCluster/Private/Misc/DisplayClusterAppExit.cpp b/Source/DisplayCluster/Private/Misc/DisplayClusterAppExit.cpp new file mode 100644 index 0000000..9e21491 --- /dev/null +++ b/Source/DisplayCluster/Private/Misc/DisplayClusterAppExit.cpp @@ -0,0 +1,97 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterAppExit.h" +#include "DisplayClusterLog.h" +#include "Engine/GameEngine.h" + +#if WITH_EDITOR +#include "Editor/UnrealEd/Public/UnrealEdGlobals.h" +#include "Editor/UnrealEdEngine.h" +#endif + +FCriticalSection FDisplayClusterAppExit::InternalsSyncScope; + +auto FDisplayClusterAppExit::ExitTypeToStr(ExitType type) +{ + switch (type) + { + case ExitType::KillImmediately: + return TEXT("KILL"); + case ExitType::NormalSoft: + return TEXT("UE4_soft"); + case ExitType::NormalForce: + return TEXT("UE4_force"); + default: + return TEXT("unknown"); + } +} + +void FDisplayClusterAppExit::ExitApplication(ExitType exitType, const FString& strMsg) +{ + if (GEngine && GEngine->IsEditor()) + { +#if WITH_EDITOR + UE_LOG(LogDisplayClusterModule, Log, TEXT("PIE STOP: %s application quit requested: %s"), ExitTypeToStr(exitType), *strMsg); + GUnrealEd->RequestEndPlayMap(); +#endif + return; + } + else + { + FScopeLock lock(&InternalsSyncScope); + + // We process only first call. Thus we won't have a lot of requests from different socket threads. + // We also will know the first requester which may be useful in step-by-step problem solving. + static bool bRequestedBefore = false; + if (bRequestedBefore == false || exitType == ExitType::KillImmediately) + { + bRequestedBefore = true; + UE_LOG(LogDisplayClusterModule, Log, TEXT("%s application quit requested: %s"), ExitTypeToStr(exitType), *strMsg); + + GLog->Flush(); + +#if 0 + if (IsInGameThread()) + { + GLog->FlushThreadedLogs(); +#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST) + TGuardValue<bool> GuardMainThreadBlockedOnRenderThread(GMainThreadBlockedOnRenderThread, true); +#endif + SCOPE_CYCLE_COUNTER(STAT_PumpMessages); + FPlatformMisc::PumpMessages(false); + } +#endif + + switch (exitType) + { + case ExitType::KillImmediately: + { + FProcHandle hProc = FPlatformProcess::OpenProcess(FPlatformProcess::GetCurrentProcessId()); + FPlatformProcess::TerminateProc(hProc, true); + break; + } + + case ExitType::NormalSoft: + { +//@todo: This is workaround for exit issue - crash on exit. Need to be checked on new UE versions. +// <ErrorMessage>Assertion failed: NumRemoved == 1 [File:D:\work\UE4.12.5.build\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectHash.cpp] [Line: 905] &nl;&nl;</ErrorMessage> + FProcHandle hProc = FPlatformProcess::OpenProcess(FPlatformProcess::GetCurrentProcessId()); + FPlatformProcess::TerminateProc(hProc, true); + break; + } + + case ExitType::NormalForce: + { + FPlatformMisc::RequestExit(true); + break; + } + + default: + { + UE_LOG(LogDisplayClusterModule, Warning, TEXT("Unknown exit type requested")); + break; + } + } + } + } +} diff --git a/Source/DisplayCluster/Private/Misc/DisplayClusterAppExit.h b/Source/DisplayCluster/Private/Misc/DisplayClusterAppExit.h new file mode 100644 index 0000000..e99c7cd --- /dev/null +++ b/Source/DisplayCluster/Private/Misc/DisplayClusterAppExit.h @@ -0,0 +1,32 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" + + +/** + * Auxiliary class. Responsible for terminating application. + */ +class FDisplayClusterAppExit +{ +public: + enum class ExitType + { + // Kills current process. No resource cleaning performed. + KillImmediately, + // UE4 based soft exit (game thread). Full resource cleaning. + NormalSoft, + // UE4 game termination. Error window and dump file should appear after exit. + NormalForce + }; + +public: + static void ExitApplication(ExitType exitType, const FString& strMsg); + +private: + static auto ExitTypeToStr(ExitType type); + +private: + static FCriticalSection InternalsSyncScope; +}; diff --git a/Source/DisplayCluster/Private/Misc/DisplayClusterBarrier.cpp b/Source/DisplayCluster/Private/Misc/DisplayClusterBarrier.cpp new file mode 100644 index 0000000..609eb9d --- /dev/null +++ b/Source/DisplayCluster/Private/Misc/DisplayClusterBarrier.cpp @@ -0,0 +1,112 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterBarrier.h" + +#include "DisplayClusterLog.h" +#include "Engine/EngineTypes.h" + +#include <chrono> + + +FDisplayClusterBarrier::FDisplayClusterBarrier(uint32 threadsAmount, const FString& name, uint32 timeout) : + Name(name), + ThreadsAmount(threadsAmount), + ThreadsLeft(threadsAmount), + IterationCounter(0), + Timeout(timeout) +{ + UE_LOG(LogDisplayClusterNetwork, Log, TEXT("Initialized barrier %s with timeout %u for threads count: %u"), *Name, Timeout, ThreadsAmount); +} + +FDisplayClusterBarrier::FDisplayClusterBarrier(uint32 threadsAmount, uint32 timeout) : + FDisplayClusterBarrier(threadsAmount, FString("noname_barrier"), timeout) +{ +} + + +FDisplayClusterBarrier::~FDisplayClusterBarrier() +{ + // Free currently blocked threads + Deactivate(); +} + +FDisplayClusterBarrier::WaitResult FDisplayClusterBarrier::Wait(double* pThreadWaitTime /*= nullptr*/, double* pBarrierWaitTime /*= nullptr*/) +{ + if (bEnabled == false) + { + UE_LOG(LogDisplayClusterNetwork, Verbose, TEXT("%s barrier is not active"), *Name); + return WaitResult::NotActive; + } + + const double threadWaitTimeStart = FPlatformTime::Seconds(); + + { + std::unique_lock<std::mutex> lock{ Mutex }; + + size_t curIter = IterationCounter; + + if (ThreadsLeft == ThreadsAmount) + { + WaitTimeStart = FPlatformTime::Seconds(); + UE_LOG(LogDisplayClusterNetwork, VeryVerbose, TEXT("%s barrier start time: %lf"), *Name, WaitTimeStart); + } + + // Check if all threads are in front of the barrier + if (--ThreadsLeft == 0) + { + UE_LOG(LogDisplayClusterNetwork, Verbose, TEXT("%s barrier trigger!"), *Name); + ++IterationCounter; + ThreadsLeft = ThreadsAmount; + + WaitTimeFinish = FPlatformTime::Seconds(); + UE_LOG(LogDisplayClusterNetwork, VeryVerbose, TEXT("%s barrier finish time: %lf"), *Name, WaitTimeFinish); + + WaitTimeOverall = WaitTimeFinish - WaitTimeStart; + UE_LOG(LogDisplayClusterNetwork, VeryVerbose, TEXT("%s barrier overall wait time: %lf"), *Name, WaitTimeOverall); + + // This is the last node. Unblock the barrier. + CondVar.notify_all(); + } + else + { + UE_LOG(LogDisplayClusterNetwork, VeryVerbose, TEXT("%s barrier waiting, %u threads left"), *Name, ThreadsLeft); + // Not all of threads have came here. Wait. + if (!CondVar.wait_for(lock, std::chrono::milliseconds(Timeout), [this, curIter] { return curIter != IterationCounter || bEnabled == false; })) + { + //@todo: no timeout result if barrier has been disabled + UE_LOG(LogDisplayClusterNetwork, Warning, TEXT("%s barrier waiting timeout"), *Name); + return WaitResult::Timeout; + } + } + } + + const double threadWaitTimeFinish = FPlatformTime::Seconds(); + + if (pBarrierWaitTime) + *pBarrierWaitTime = WaitTimeOverall; + + if (pThreadWaitTime) + *pThreadWaitTime = threadWaitTimeFinish - threadWaitTimeStart; + + // Go ahead + return WaitResult::Ok; +} + +void FDisplayClusterBarrier::Activate() +{ + std::unique_lock<std::mutex> lock{ Mutex }; + + IterationCounter = 0; + ThreadsLeft = ThreadsAmount; + bEnabled = true; + CondVar.notify_all(); +} + +void FDisplayClusterBarrier::Deactivate() +{ + std::unique_lock<std::mutex> lock{ Mutex }; + + bEnabled = false; + CondVar.notify_all(); +} + diff --git a/Source/DisplayCluster/Private/Misc/DisplayClusterBarrier.h b/Source/DisplayCluster/Private/Misc/DisplayClusterBarrier.h new file mode 100644 index 0000000..6f1adce --- /dev/null +++ b/Source/DisplayCluster/Private/Misc/DisplayClusterBarrier.h @@ -0,0 +1,59 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include <condition_variable> +#include <mutex> + + +/** + * Thread barrier + */ +class FDisplayClusterBarrier +{ +public: + explicit FDisplayClusterBarrier(uint32 threadsAmount, uint32 timeout); + explicit FDisplayClusterBarrier(uint32 threadsAmount, const FString& name, uint32 timeout); + ~FDisplayClusterBarrier(); + +public: + enum class WaitResult + { + Ok, + NotActive, + Timeout + }; + +public: + // Wait until all threads arrive + WaitResult Wait(double* pThreadWaitTime = nullptr, double* pBarrierWaitTime = nullptr); + // Enable barrier + void Activate(); + // Disable barrier (no blocking operation performed anymore) + void Deactivate(); + +private: + // Barrier name for logging + const FString Name; + + // Barrier state + bool bEnabled = true; + + // Amount of threads to wait at the barrier + const uint32 ThreadsAmount; + // Waiting threads amount + uint32 ThreadsLeft; + // Iteration counter (kind of barrier sync transaction) + size_t IterationCounter; + + std::condition_variable CondVar; + std::mutex Mutex; + + uint32 Timeout = 0; + + double WaitTimeStart = 0; + double WaitTimeFinish = 0; + double WaitTimeOverall = 0; +}; + diff --git a/Source/DisplayCluster/Private/Misc/DisplayClusterHelpers.h b/Source/DisplayCluster/Private/Misc/DisplayClusterHelpers.h new file mode 100644 index 0000000..ad2b81a --- /dev/null +++ b/Source/DisplayCluster/Private/Misc/DisplayClusterHelpers.h @@ -0,0 +1,206 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "CoreTypes.h" +#include "EngineUtils.h" + +#include "DisplayClusterStrings.h" + +#include "Misc/DisplayClusterTypesConverter.h" + +#include "Interfaces/IPv4/IPv4Address.h" +#include "Interfaces/IPv4/IPv4Endpoint.h" + + +class AActor; + + +namespace DisplayClusterHelpers +{ + ////////////////////////////////////////////////////////////////////////////////////////////// + // Common String helpers + ////////////////////////////////////////////////////////////////////////////////////////////// + namespace str + { + static constexpr auto StrFalse = TEXT("false"); + static constexpr auto StrTrue = TEXT("true"); + + static inline auto BoolToStr(bool bVal) + { + return (bVal ? StrTrue : StrFalse); + } + + static void DustCommandLineValue(FString& val, bool bTrimQuotes = true) + { + val.RemoveFromStart(DisplayClusterStrings::strKeyValSeparator); + + if(bTrimQuotes) + val = val.TrimQuotes(); + + val.TrimStartAndEndInline(); + } + + template<typename T> + static bool ExtractCommandLineValue(const FString& line, const FString& argName, T& argVal) + { + FString tmp; + if (FParse::Value(*line, *argName, tmp, false)) + { + DustCommandLineValue(tmp, false); + argVal = FDisplayClusterTypesConverter::FromString<T>(tmp); + return true; + } + return false; + } + + static bool ExtractParam(const FString& source, const FString& param, FString& value, bool bTrimQuotes = true) + { + // Extract device address + if (!FParse::Value(*source, *param, value, false)) + return false; + + DisplayClusterHelpers::str::DustCommandLineValue(value, bTrimQuotes); + + return true; + } + +#if 0 + bool GetPair(FString& line, FString& pair) + { + if (line.IsEmpty()) + return false; + + if (line.Split(FString(" "), &pair, &line) == false) + { + pair = line; + line.Empty(); + return true; + } + + line = line.Trim().TrimTrailing(); + pair = pair.Trim().TrimTrailing(); + + return true; + } + + bool GetKeyVal(FString& line, FString& key, FString& val) + { + FString pair; + if (GetPair(line, pair) == false) + return false; + + if (pair.Split(FString(DisplayClusterStrings::cfg::spec::KeyValSeparator), &key, &val) == false) + return false; + + key = key.Trim().TrimTrailing(); + val = val.Trim().TrimTrailing(); + + return true; + } +#endif + }; + + + ////////////////////////////////////////////////////////////////////////////////////////////// + // Network helpers + ////////////////////////////////////////////////////////////////////////////////////////////// + namespace net + { + static bool GenIPv4Endpoint(const FString& addr, const int32 port, FIPv4Endpoint& ep) + { + FIPv4Address ipAddr; + if (!FIPv4Address::Parse(addr, ipAddr)) + return false; + + ep = FIPv4Endpoint(ipAddr, port); + return true; + } + }; + + ////////////////////////////////////////////////////////////////////////////////////////////// + // Array helpers + ////////////////////////////////////////////////////////////////////////////////////////////// struct str + namespace arrays + { + // Max element in array + template<typename T> + T max(const T* data, int size) + { + T result = data[0]; + for (int i = 1; i < size; i++) + if (result < data[i]) + result = data[i]; + return result; + } + + // Max element's index in array + template<typename T> + size_t max_idx(const T* data, int size) + { + size_t idx = 0; + T result = data[0]; + for (int i = 1; i < size; i++) + if (result < data[i]) + { + result = data[i]; + idx = i; + } + return idx; + } + + // Min element in array + template<typename T> + T min(const T* data, int size) + { + T result = data[0]; + for (int i = 1; i < size; i++) + if (result > data[i]) + result = data[i]; + return result; + } + + // Min element's index in array + template<typename T> + size_t min_idx(const T* data, int size) + { + size_t idx = 0; + T result = data[0]; + for (int i = 1; i < size; i++) + if (result > data[i]) + { + result = data[i]; + idx = i; + } + return idx; + } + + // Helper for array size + template <typename T, size_t n> + constexpr size_t array_size(const T(&)[n]) + { + return n; + } + } + + + ////////////////////////////////////////////////////////////////////////////////////////////// + // Game helpers + ////////////////////////////////////////////////////////////////////////////////////////////// + namespace game + { + template<typename T> + static void FindAllActors(UWorld* World, TArray<T*>& Out) + { + for (TActorIterator<AActor> It(World, T::StaticClass()); It; ++It) + { + T* Actor = Cast<T>(*It); + if (Actor && !Actor->IsPendingKill()) + { + Out.Add(Actor); + } + } + } + } +}; diff --git a/Source/DisplayCluster/Private/Misc/DisplayClusterLog.cpp b/Source/DisplayCluster/Private/Misc/DisplayClusterLog.cpp new file mode 100644 index 0000000..2337f8e --- /dev/null +++ b/Source/DisplayCluster/Private/Misc/DisplayClusterLog.cpp @@ -0,0 +1,17 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterLog.h" + +// Plugin-wide log categories +DEFINE_LOG_CATEGORY(LogDisplayClusterGameMode); +DEFINE_LOG_CATEGORY(LogDisplayClusterEngine); +DEFINE_LOG_CATEGORY(LogDisplayClusterModule); +DEFINE_LOG_CATEGORY(LogDisplayClusterCluster); +DEFINE_LOG_CATEGORY(LogDisplayClusterConfig); +DEFINE_LOG_CATEGORY(LogDisplayClusterGame); +DEFINE_LOG_CATEGORY(LogDisplayClusterInput); +DEFINE_LOG_CATEGORY(LogDisplayClusterInputVRPN); +DEFINE_LOG_CATEGORY(LogDisplayClusterNetwork); +DEFINE_LOG_CATEGORY(LogDisplayClusterNetworkMsg); +DEFINE_LOG_CATEGORY(LogDisplayClusterRender); +DEFINE_LOG_CATEGORY(LogDisplayClusterBlueprint); diff --git a/Source/DisplayCluster/Private/Misc/DisplayClusterLog.h b/Source/DisplayCluster/Private/Misc/DisplayClusterLog.h new file mode 100644 index 0000000..92810ea --- /dev/null +++ b/Source/DisplayCluster/Private/Misc/DisplayClusterLog.h @@ -0,0 +1,47 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" + +// Plugin-wide log categories +#if UE_BUILD_SHIPPING +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterGameMode, Warning, Warning); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterEngine, Warning, Warning); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterModule, Warning, Warning); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterCluster, Warning, Warning); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterConfig, Warning, Warning); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterGame, Warning, Warning); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterInput, Warning, Warning); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterInputVRPN, Warning, Warning); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterNetwork, Warning, Warning); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterNetworkMsg, Warning, Warning); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterRender, Warning, Warning); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterBlueprint, Warning, Warning); +#else +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterGameMode, Log, All); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterEngine, Log, All); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterModule, Log, All); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterCluster, Log, All); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterConfig, Log, All); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterGame, Log, All); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterInput, Log, All); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterInputVRPN, Log, All); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterNetwork, Log, All); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterNetworkMsg, Log, All); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterRender, Log, All); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterBlueprint, Log, All); +#endif + + +//@todo: Linux@GCC will probably require other macro +#if UE_BUILD_SHIPPING + #define DISPLAY_CLUSTER_FUNC_TRACE(cat) ; +#else + #if PLATFORM_WINDOWS + #define DISPLAY_CLUSTER_FUNC_TRACE(cat) UE_LOG(cat, VeryVerbose, TEXT(">> %s"), TEXT(__FUNCTION__)) + //#define DISPLAY_CLUSTER_FUNC_TRACE(cat) UE_LOG(cat, VeryVerbose, TEXT(">> %s::%s::%d"), TEXT(__FILE__), TEXT(__FUNCTION__), __LINE__) + #else + #define DISPLAY_CLUSTER_FUNC_TRACE(cat) ; + #endif // PLATFORM_WINDOWS +#endif // UE_BUILD_SHIPPING diff --git a/Source/DisplayCluster/Private/Misc/DisplayClusterTypesConverter.h b/Source/DisplayCluster/Private/Misc/DisplayClusterTypesConverter.h new file mode 100644 index 0000000..bb33c6b --- /dev/null +++ b/Source/DisplayCluster/Private/Misc/DisplayClusterTypesConverter.h @@ -0,0 +1,104 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Misc/Timecode.h" +#include "Misc/FrameRate.h" +#include "DisplayClusterOperationMode.h" +#include "DisplayClusterStrings.h" + + +/** + * Auxiliary class with different type conversion functions + */ +namespace FDisplayClusterTypesConverter +{ + ////////////////////////////////////////////////////////////////////////////////////////////// + // TYPE --> STRING + ////////////////////////////////////////////////////////////////////////////////////////////// + template <typename ConvertFrom> + FString ToString(const ConvertFrom& from); + + template <> FString ToString<> (const FString& from) { return from; } + template <> FString ToString<> (const bool& from) { return (from ? DisplayClusterStrings::cfg::spec::ValTrue : DisplayClusterStrings::cfg::spec::ValFalse); } + template <> FString ToString<> (const int32& from) { return FString::FromInt(from); } + template <> FString ToString<> (const float& from) { return FString::SanitizeFloat(from); } + template <> FString ToString<> (const double& from) { return FString::Printf(TEXT("%lf"), from); } + template <> FString ToString<> (const FVector& from) { return from.ToString(); } + template <> FString ToString<> (const FVector2D& from) { return from.ToString(); } + template <> FString ToString<> (const FRotator& from) { return from.ToString(); } + + // We can't just use FTimecode ToString as that loses information. + template <> FString ToString<> (const FTimecode& from) { return FString::Printf(TEXT("%d;%d;%d;%d;%d"), from.bDropFrameFormat ? 1 : 0, from.Hours, from.Minutes, from.Seconds, from.Frames); } + template <> FString ToString<> (const FFrameRate& from) { return FString::Printf(TEXT("%d;%d"), from.Numerator, from.Denominator); } + + template <> FString ToString<> (const EDisplayClusterOperationMode& from) + { + switch (from) + { + case EDisplayClusterOperationMode::Cluster: + return FString("cluster"); + case EDisplayClusterOperationMode::Standalone: + return FString("standalone"); + case EDisplayClusterOperationMode::Editor: + return FString("editor"); + case EDisplayClusterOperationMode::Disabled: + return FString("disabled"); + default: + return FString("unknown"); + } + } + + ////////////////////////////////////////////////////////////////////////////////////////////// + // STRING --> TYPE + ////////////////////////////////////////////////////////////////////////////////////////////// + template <typename ConvertTo> + ConvertTo FromString(const FString& from); + + template <> FString FromString<> (const FString& from) { return from; } + template <> bool FromString<> (const FString& from) { return (from == FString("1") || from == DisplayClusterStrings::cfg::spec::ValTrue); } + template <> int32 FromString<> (const FString& from) { return FCString::Atoi(*from); } + template <> float FromString<> (const FString& from) { return FCString::Atof(*from); } + template <> double FromString<> (const FString& from) { return FCString::Atod(*from); } + template <> FVector FromString<> (const FString& from) { FVector vec; vec.InitFromString(from); return vec; } + template <> FVector2D FromString<> (const FString& from) { FVector2D vec; vec.InitFromString(from); return vec; } + template <> FRotator FromString<> (const FString& from) { FRotator rot; rot.InitFromString(from); return rot; } + template <> FTimecode FromString<> (const FString& from) + { + FTimecode timecode; + + TArray<FString> parts; + parts.Reserve(5); + const int32 found = from.ParseIntoArray(parts, TEXT(";")); + + // We are expecting 5 "parts" - DropFrame, Hours, Minutes, Seconds, Frames. + if (found == 5) + { + timecode.bDropFrameFormat = FromString<bool>(parts[0]); + timecode.Hours = FromString<int32>(parts[1]); + timecode.Minutes = FromString<int32>(parts[2]); + timecode.Seconds = FromString<int32>(parts[3]); + timecode.Frames = FromString<int32>(parts[4]); + } + + return timecode; + } + template <> FFrameRate FromString<> (const FString& from) + { + FFrameRate frameRate; + + TArray<FString> parts; + parts.Reserve(2); + const int32 found = from.ParseIntoArray(parts, TEXT(";")); + + // We are expecting 2 "parts" - Numerator, Denominator. + if (found == 2) + { + frameRate.Numerator = FromString<int32>(parts[0]); + frameRate.Denominator = FromString<int32>(parts[1]); + } + + return frameRate; + } +}; diff --git a/Source/DisplayCluster/Private/Network/DisplayClusterClient.cpp b/Source/DisplayCluster/Private/Network/DisplayClusterClient.cpp new file mode 100644 index 0000000..034b658 --- /dev/null +++ b/Source/DisplayCluster/Private/Network/DisplayClusterClient.cpp @@ -0,0 +1,115 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterClient.h" +#include "Common/TcpSocketBuilder.h" + +#include "Misc/DisplayClusterAppExit.h" +#include "Misc/DisplayClusterLog.h" +#include "Misc/ScopeLock.h" + + +FDisplayClusterClient::FDisplayClusterClient(const FString& name) : + FDisplayClusterSocketOps(CreateSocket(name)), + Name(name) +{ +} + +FDisplayClusterClient::~FDisplayClusterClient() +{ + Disconnect(); +} + +bool FDisplayClusterClient::Connect(const FString& addr, const int32 port, const int32 triesAmount, const float delay) +{ + FScopeLock lock(&GetSyncObj()); + + // Generate IPv4 address + FIPv4Address ipAddr; + if (!FIPv4Address::Parse(addr, ipAddr)) + { + UE_LOG(LogDisplayClusterNetwork, Error, TEXT("%s couldn't parse the address [%s:%d]"), *Name, *addr, port); + return false; + } + + // Generate internet address + TSharedRef<FInternetAddr> internetAddr = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->CreateInternetAddr(); + internetAddr->SetIp(ipAddr.Value); + internetAddr->SetPort(port); + + // Start connection loop + int32 tryIdx = 0; + while(GetSocket()->Connect(*internetAddr) == false) + { + UE_LOG(LogDisplayClusterNetwork, Log, TEXT("%s couldn't connect to the server %s [%d]"), *Name, *(internetAddr->ToString(true)), tryIdx++); + if (triesAmount > 0 && tryIdx >= triesAmount) + { + UE_LOG(LogDisplayClusterNetwork, Error, TEXT("%s connection attempts limit reached"), *Name); + break; + } + + // Sleep some time before next try + FPlatformProcess::Sleep(delay); + } + + return IsOpen(); +} + +void FDisplayClusterClient::Disconnect() +{ + FScopeLock lock(&GetSyncObj()); + + UE_LOG(LogDisplayClusterNetwork, Log, TEXT("%s disconnecting..."), *Name); + + if (IsOpen()) + { + GetSocket()->Close(); + } +} + +FSocket* FDisplayClusterClient::CreateSocket(const FString& name, const int32 bufSize) +{ + FSocket* pSock = FTcpSocketBuilder(*name).AsBlocking().WithReceiveBufferSize(bufSize).WithSendBufferSize(bufSize); + check(pSock); + return pSock; +} + +bool FDisplayClusterClient::SendMsg(const FDisplayClusterMessage::Ptr& msg) +{ + const bool result = FDisplayClusterSocketOps::SendMsg(msg); + if (result == false) + { + FDisplayClusterAppExit::ExitApplication(FDisplayClusterAppExit::ExitType::NormalSoft, FString("Something wrong with connection (send). The cluster is inconsistent. Exit required.")); + } + + return result; +} + +FDisplayClusterMessage::Ptr FDisplayClusterClient::RecvMsg() +{ + FDisplayClusterMessage::Ptr response = FDisplayClusterSocketOps::RecvMsg(); + if (!response.IsValid()) + { + FDisplayClusterAppExit::ExitApplication(FDisplayClusterAppExit::ExitType::NormalSoft, FString("Something wrong with connection (recv). The cluster is inconsistent. Exit required.")); + } + + return response; +} + +FDisplayClusterMessage::Ptr FDisplayClusterClient::SendRecvMsg(const FDisplayClusterMessage::Ptr& msg) +{ + FDisplayClusterMessage::Ptr response; + + { + FScopeLock lock(&GetSyncObj()); + SendMsg(msg); + response = RecvMsg(); + } + + if (!response.IsValid()) + { + UE_LOG(LogDisplayClusterNetworkMsg, Warning, TEXT("No response")); + } + + return response; +} + diff --git a/Source/DisplayCluster/Private/Network/DisplayClusterClient.h b/Source/DisplayCluster/Private/Network/DisplayClusterClient.h new file mode 100644 index 0000000..96e01da --- /dev/null +++ b/Source/DisplayCluster/Private/Network/DisplayClusterClient.h @@ -0,0 +1,47 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "DisplayClusterMessage.h" +#include "DisplayClusterSocketOps.h" + +#include "DisplayClusterConstants.h" + + +/** + * TCP client + */ +class FDisplayClusterClient + : protected FDisplayClusterSocketOps +{ +public: + FDisplayClusterClient(const FString& name); + virtual ~FDisplayClusterClient(); + +public: + // Connects to a server + bool Connect(const FString& addr, const int32 port, const int32 triesAmount = DisplayClusterConstants::net::ClientConnectTriesAmount, const float delay = DisplayClusterConstants::net::ClientConnectRetryDelay); + // Terminates current connection + void Disconnect(); + + virtual bool SendMsg(const FDisplayClusterMessage::Ptr& msg) override final; + virtual FDisplayClusterMessage::Ptr RecvMsg() override final; + + FDisplayClusterMessage::Ptr SendRecvMsg(const FDisplayClusterMessage::Ptr& msg); + + virtual FString GetName() const override final + { return Name; } + + inline bool IsConnected() const + { return IsOpen(); } + +protected: + // Creates client socket + FSocket* CreateSocket(const FString& name, const int32 bufSize = DisplayClusterConstants::net::SocketBufferSize); + +private: + // Client name + const FString Name; +}; + diff --git a/Source/DisplayCluster/Private/Network/DisplayClusterMessage.cpp b/Source/DisplayCluster/Private/Network/DisplayClusterMessage.cpp new file mode 100644 index 0000000..4e1a9f6 --- /dev/null +++ b/Source/DisplayCluster/Private/Network/DisplayClusterMessage.cpp @@ -0,0 +1,94 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterMessage.h" + +#include "Misc/DisplayClusterLog.h" + + +FDisplayClusterMessage::FDisplayClusterMessage() +{ +} + +FDisplayClusterMessage::FDisplayClusterMessage(const FString& name, const FString& type, const FString& protocol) : + Name(name), + Type(type), + Protocol(protocol) +{ +} + +FDisplayClusterMessage::~FDisplayClusterMessage() +{ +} + + +bool FDisplayClusterMessage::Serialize(FMemoryWriter& ar) +{ + // Header + ar << Name; + ar << Type; + ar << Protocol; + + TArray<FString> keys; + Arguments.GenerateKeyArray(keys); + + // Arguments amount + FString strArgAmount = FString::FromInt(Arguments.Num()); + ar << strArgAmount; + + // Arguments + for (int i = 0; i < keys.Num(); ++i) + { + ar << keys[i]; + ar << Arguments[keys[i]]; + } + + return true; +} + +bool FDisplayClusterMessage::Deserialize(FMemoryReader& ar) +{ + // Header + ar << Name; + ar << Type; + ar << Protocol; + + // Arguments amount + FString strArgsAmount; + ar << strArgsAmount; + const int32 amount = FCString::Atoi(*strArgsAmount); + check(amount >= 0); + + // Arguments + for (int32 i = 0; i < amount; ++i) + { + FString key; + FString val; + + ar << key; + ar << val; + + Arguments.Add(key, val); + } + + UE_LOG(LogDisplayClusterNetworkMsg, VeryVerbose, TEXT("Deserialized message: %s"), *ToString()); + + return true; +} + +FString FDisplayClusterMessage::ToString() const +{ + return FString::Printf(TEXT("<prot=%s type=%s name=%s args={%s}>"), *GetProtocol(), *GetType(), *GetName(), *ArgsToString()); +} + +FString FDisplayClusterMessage::ArgsToString() const +{ + FString str; + str.Reserve(512); + + for (auto it = Arguments.CreateConstIterator(); it; ++it) + { + str += FString::Printf(TEXT("%s=%s "), *it->Key, *it->Value); + } + + return str; +} diff --git a/Source/DisplayCluster/Private/Network/DisplayClusterMessage.h b/Source/DisplayCluster/Private/Network/DisplayClusterMessage.h new file mode 100644 index 0000000..7831123 --- /dev/null +++ b/Source/DisplayCluster/Private/Network/DisplayClusterMessage.h @@ -0,0 +1,84 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "IDisplayClusterSerializable.h" + +#include "Serialization/MemoryReader.h" +#include "Serialization/MemoryWriter.h" + +#include "Misc/DisplayClusterTypesConverter.h" + + +/** + * Abstract network message + */ +class FDisplayClusterMessage + : IDisplayClusterSerializable +{ +public: + typedef TSharedPtr<FDisplayClusterMessage> Ptr; + typedef TMap<FString, FString> DataType; + +public: + FDisplayClusterMessage(); + FDisplayClusterMessage(const FString& name, const FString& type, const FString& protocol); + + FDisplayClusterMessage(const FDisplayClusterMessage&) = default; + FDisplayClusterMessage(FDisplayClusterMessage&&) = default; + + FDisplayClusterMessage& operator= (const FDisplayClusterMessage&) = default; + FDisplayClusterMessage& operator= (FDisplayClusterMessage&&) = default; + + virtual ~FDisplayClusterMessage(); + +public: + // Message head + inline FString GetName() const { return Name; } + inline FString GetType() const { return Type; } + inline FString GetProtocol() const { return Protocol; } + + // Sets arguments to a message + template <typename ValType> + bool GetArg(const FString& argName, ValType& argVal) const + { + if (Arguments.Contains(argName)) + { + FString strVal = Arguments[argName]; + argVal = FDisplayClusterTypesConverter::FromString<ValType>(strVal); + return true; + } + return false; + } + + // Get arguments from a message + template <typename ValType> + void SetArg(const FString& argName, const ValType& argVal) + { + Arguments.Add(argName, FDisplayClusterTypesConverter::ToString<ValType>(argVal)); + } + + // Get all arguments (be careful with the reference) + const DataType& GetArgs() const + { return Arguments; } + + void SetArgs(const DataType& data) + { Arguments = data; } + + // Serialization + virtual bool Serialize (FMemoryWriter& ar) override; + virtual bool Deserialize(FMemoryReader& ar) override; + + FString ToString() const; + +private: + //inline bool ExtractKeyVal(const FString& pair, FString& key, FString& val); + FString ArgsToString() const; + +private: + FString Name; + FString Type; + FString Protocol; + + DataType Arguments; +}; diff --git a/Source/DisplayCluster/Private/Network/DisplayClusterServer.cpp b/Source/DisplayCluster/Private/Network/DisplayClusterServer.cpp new file mode 100644 index 0000000..c39650c --- /dev/null +++ b/Source/DisplayCluster/Private/Network/DisplayClusterServer.cpp @@ -0,0 +1,106 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterServer.h" + +#include "Misc/DisplayClusterLog.h" +#include "Misc/ScopeLock.h" + + +FDisplayClusterServer::FDisplayClusterServer(const FString& name, const FString& addr, const int32 port) : + Name(name), + Address(addr), + Port(port), + Listener(name + FString("_listener")) +{ + check(port > 0 && port < 0xffff); + + // Bind connection handler method + Listener.OnConnectionAccepted().BindRaw(this, &FDisplayClusterServer::ConnectionHandler); +} + +FDisplayClusterServer::~FDisplayClusterServer() +{ + // Call from child .dtor + Shutdown(); +} + +bool FDisplayClusterServer::Start() +{ + FScopeLock lock(&InternalsSyncScope); + + if (bIsRunning == true) + { + return true; + } + + if (!Listener.StartListening(Address, Port)) + { + UE_LOG(LogDisplayClusterNetwork, Error, TEXT("%s couldn't start the listener [%s:%d]"), *Name, *Address, Port); + return false; + } + + // Update server state + bIsRunning = true; + + return bIsRunning; +} + +void FDisplayClusterServer::Shutdown() +{ + FScopeLock lock(&InternalsSyncScope); + + if (bIsRunning == false) + { + return; + } + + UE_LOG(LogDisplayClusterNetwork, Log, TEXT("%s stopping the service..."), *Name); + + // Stop connections listening + Listener.StopListening(); + // Destroy active sessions + Sessions.Reset(); + // Update server state + bIsRunning = false; +} + +bool FDisplayClusterServer::IsRunning() +{ + FScopeLock lock(&InternalsSyncScope); + return bIsRunning; +} + +bool FDisplayClusterServer::ConnectionHandler(FSocket* pSock, const FIPv4Endpoint& ep) +{ + FScopeLock lock(&InternalsSyncScope); + check(pSock); + + if (IsRunning() && IsConnectionAllowed(pSock, ep)) + { + pSock->SetLinger(false, 0); + pSock->SetNonBlocking(false); + + int32 newSize = static_cast<int32>(DisplayClusterConstants::net::SocketBufferSize); + int32 setSize; + pSock->SetReceiveBufferSize(newSize, setSize); + pSock->SetSendBufferSize(newSize, setSize); + + Sessions.Add(TUniquePtr<FDisplayClusterSession>(new FDisplayClusterSession(pSock, this, GetName() + FString("_session_") + ep.ToString()))); + return true; + } + + return false; +} + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterSessionListener +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterServer::NotifySessionOpen(FDisplayClusterSession* pSession) +{ +} + +void FDisplayClusterServer::NotifySessionClose(FDisplayClusterSession* pSession) +{ +} + + diff --git a/Source/DisplayCluster/Private/Network/DisplayClusterServer.h b/Source/DisplayCluster/Private/Network/DisplayClusterServer.h new file mode 100644 index 0000000..49c6108 --- /dev/null +++ b/Source/DisplayCluster/Private/Network/DisplayClusterServer.h @@ -0,0 +1,79 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "IDisplayClusterSessionListener.h" + +#include "DisplayClusterSession.h" +#include "DisplayClusterTcpListener.h" + + +struct FIPv4Endpoint; + + +/** + * TCP server + */ +class FDisplayClusterServer + : public IDisplayClusterSessionListener +{ +public: + FDisplayClusterServer(const FString& name, const FString& addr, const int32 port); + virtual ~FDisplayClusterServer(); + +public: + // Start server + virtual bool Start(); + // Stop server + virtual void Shutdown(); + + // Returns current server state + bool IsRunning(); + + // Server name + inline const FString& GetName() const + { return Name; } + + // Server addr + inline const FString& GetAddr() const + { return Address; } + + // Server port + inline const int32& GetPort() const + { return Port; } + +protected: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterSessionListener + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void NotifySessionOpen(FDisplayClusterSession* pSession) override; + virtual void NotifySessionClose(FDisplayClusterSession* pSession) override; + virtual FDisplayClusterMessage::Ptr ProcessMessage(FDisplayClusterMessage::Ptr msg) = 0; + +protected: + // Ask concrete server implementation if connection is allowed + virtual bool IsConnectionAllowed(FSocket* pSock, const FIPv4Endpoint& ep) + { return true; } + +private: + // Handles incoming connections + bool ConnectionHandler(FSocket* pSock, const FIPv4Endpoint& ep); + +private: + // Server data + const FString Name; + const FString Address; + const int32 Port; + + // Simple server state + bool bIsRunning = false; + // Socket listener + FDisplayClusterTcpListener Listener; + // Sync access + FCriticalSection InternalsSyncScope; + + // Active sessions + TArray<TUniquePtr<FDisplayClusterSession>> Sessions; +}; + diff --git a/Source/DisplayCluster/Private/Network/DisplayClusterSession.cpp b/Source/DisplayCluster/Private/Network/DisplayClusterSession.cpp new file mode 100644 index 0000000..1a60d1b --- /dev/null +++ b/Source/DisplayCluster/Private/Network/DisplayClusterSession.cpp @@ -0,0 +1,68 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterSession.h" +#include "DisplayClusterServer.h" +#include "DisplayClusterMessage.h" + +#include "HAL/RunnableThread.h" + +#include "Misc/DisplayClusterLog.h" + + +FDisplayClusterSession::FDisplayClusterSession(FSocket* pSock, IDisplayClusterSessionListener* pListener, const FString& name) : + FDisplayClusterSocketOps(pSock), + Name(name), + Listener(pListener) +{ + check(pSock); + check(pListener); + + ThreadObj = FRunnableThread::Create(this, *(Name + FString("_thread")), 128 * 1024, TPri_Normal, FPlatformAffinity::GetPoolThreadMask()); + ensure(ThreadObj); + + Listener->NotifySessionOpen(this); + + UE_LOG(LogDisplayClusterNetwork, Log, TEXT("Session %s started"), *Name); +} + +FDisplayClusterSession::~FDisplayClusterSession() +{ + UE_LOG(LogDisplayClusterNetwork, VeryVerbose, TEXT("Session %s .dtor"), *Name); + + Stop(); + ThreadObj->WaitForCompletion(); + delete ThreadObj; +} + +void FDisplayClusterSession::Stop() +{ + GetSocket()->Close(); +} + +uint32 FDisplayClusterSession::Run() +{ + UE_LOG(LogDisplayClusterNetwork, Log, TEXT("Session thread %s started"), *Name); + + while (IsOpen()) + { + FDisplayClusterMessage::Ptr req = RecvMsg(); + if (req.IsValid()) + { + FDisplayClusterMessage::Ptr resp = Listener->ProcessMessage(req); + if (resp.IsValid()) + { + if (SendMsg(resp)) + { + // 'Transaction' has been completed successfully so we continue the processing + continue; + } + } + } + + GetSocket()->Close(); + Listener->NotifySessionClose(this); + } + + UE_LOG(LogDisplayClusterNetwork, Log, TEXT("Session thread %s finished"), *Name); + return 0; +} diff --git a/Source/DisplayCluster/Private/Network/DisplayClusterSession.h b/Source/DisplayCluster/Private/Network/DisplayClusterSession.h new file mode 100644 index 0000000..2b4ff9a --- /dev/null +++ b/Source/DisplayCluster/Private/Network/DisplayClusterSession.h @@ -0,0 +1,35 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "HAL/Runnable.h" +#include "DisplayClusterSocketOps.h" + +#include "IDisplayClusterSessionListener.h" + + +/** + * TCP connection session + */ +class FDisplayClusterSession + : public FRunnable + , protected FDisplayClusterSocketOps +{ +public: + FDisplayClusterSession(FSocket* pSock, IDisplayClusterSessionListener* pListener, const FString& name = FString("DisplayClusterSession")); + ~FDisplayClusterSession(); + + virtual FString GetName() const override final + { return Name; } + +private: + virtual uint32 Run() override; + virtual void Stop() override; + +private: + const FString Name; + IDisplayClusterSessionListener* Listener = nullptr; + FRunnableThread* ThreadObj = nullptr; +}; + diff --git a/Source/DisplayCluster/Private/Network/DisplayClusterSocketOps.cpp b/Source/DisplayCluster/Private/Network/DisplayClusterSocketOps.cpp new file mode 100644 index 0000000..5f5ba80 --- /dev/null +++ b/Source/DisplayCluster/Private/Network/DisplayClusterSocketOps.cpp @@ -0,0 +1,194 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterSocketOps.h" + +#include "DisplayClusterConstants.h" +#include "SocketSubsystem.h" + +#include "Misc/DisplayClusterLog.h" +#include "Misc/ScopeLock.h" + + +FDisplayClusterSocketOps::FDisplayClusterSocketOps(FSocket* pSock) : + Socket(pSock) +{ + DataBuffer.Reserve(DisplayClusterConstants::net::MessageBufferSize); +} + + +FDisplayClusterSocketOps::~FDisplayClusterSocketOps() +{ + ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->DestroySocket(Socket); +} + +FDisplayClusterMessage::Ptr FDisplayClusterSocketOps::RecvMsg() +{ + FScopeLock lock(&GetSyncObj()); + + if (!IsOpen()) + { + UE_LOG(LogDisplayClusterNetwork, Error, TEXT("%s - not connected"), *GetName()); + return nullptr; + } + + // Read message header + if (!RecvChunk(sizeof(FDisplayClusterMessageHeader), DataBuffer, FString("header-chunk"))) + { + return nullptr; + } + + // Ok. Now we can extract header data + FDisplayClusterMessageHeader msgHeader; + FMemory::Memcpy(&msgHeader, DataBuffer.GetData(), sizeof(FDisplayClusterMessageHeader)); + + UE_LOG(LogDisplayClusterNetwork, VeryVerbose, TEXT("%s - message header received: %s"), *GetName(), *msgHeader.ToString()); + check(msgHeader.length > 0); + + // Read message body + if (!RecvChunk(msgHeader.length, DataBuffer, FString("body-chunk"))) + { + return nullptr; + } + + UE_LOG(LogDisplayClusterNetwork, VeryVerbose, TEXT("%s - message body received"), *GetName()); + + FDisplayClusterMessage::Ptr msg(new FDisplayClusterMessage()); + FMemoryReader ar = FMemoryReader(DataBuffer, false); + + // Deserialize message from buffer + if (!msg->Deserialize(ar)) + { + UE_LOG(LogDisplayClusterNetworkMsg, Error, TEXT("%s couldn't deserialize a message"), *GetName()); + return nullptr; + } + + // Succeeded + UE_LOG(LogDisplayClusterNetworkMsg, Verbose, TEXT("%s - received a message: %s"), *GetName(), *msg->ToString()); + return msg; +} + +bool FDisplayClusterSocketOps::RecvChunk(int32 chunkSize, TArray<uint8>& chunkBuffer, const FString& chunkName) +{ + int32 bytesReadAll = 0; + int32 bytesReadNow = 0; + int32 bytesReadLeft = 0; + const int32 bytesAll = chunkSize; + chunkBuffer.Empty(DisplayClusterConstants::net::MessageBufferSize); + + // Receive message header at first + while (bytesReadAll < bytesAll) + { + // Read data + bytesReadLeft = bytesAll - bytesReadAll; + if (!Socket->Recv(chunkBuffer.GetData(), bytesReadLeft, bytesReadNow)) + { + UE_LOG(LogDisplayClusterNetwork, Warning, TEXT("%s - %s recv failed - socket error. Cluster integrity disturbed."), *GetName(), *chunkName); + return false; + } + + // Check amount of read data + if (bytesReadNow <= 0 || bytesReadNow > bytesReadLeft) + { + UE_LOG(LogDisplayClusterNetwork, Error, TEXT("%s - %s recv failed - read wrong amount of bytes: %d"), *GetName(), *chunkName, bytesReadNow); + return false; + } + + bytesReadAll += bytesReadNow; + UE_LOG(LogDisplayClusterNetwork, VeryVerbose, TEXT("%s - %s received %d bytes, left %d bytes"), *GetName(), *chunkName, bytesReadNow, bytesAll - bytesReadAll); + + // Convergence check + if (bytesReadAll > bytesAll) + { + UE_LOG(LogDisplayClusterNetwork, Error, TEXT("%s - %s convergence fail: overall received %d of %d"), *GetName(), *chunkName, bytesReadAll, bytesAll); + return false; + } + } + + // Update array length (amount of bytes as array elements) + chunkBuffer.SetNumUninitialized(bytesReadAll); + + // Operation succeeded + return true; +} + +bool FDisplayClusterSocketOps::SendMsg(const FDisplayClusterMessage::Ptr& msg) +{ + FScopeLock lock(&GetSyncObj()); + + UE_LOG(LogDisplayClusterNetwork, Verbose, TEXT("%s - sending message: %s"), *GetName(), *msg->ToString()); + + if (!IsOpen()) + { + UE_LOG(LogDisplayClusterNetwork, Error, TEXT("%s not connected"), *GetName()); + return false; + } + + // Prepare output buffer + DataBuffer.Empty(DisplayClusterConstants::net::MessageBufferSize); + DataBuffer.AddZeroed(sizeof(FDisplayClusterMessageHeader)); + FMemoryWriter memoryWriter(DataBuffer); + + // Reserve space for message header + memoryWriter.Seek(sizeof(FDisplayClusterMessageHeader)); + + // Serialize the message + if (!msg->Serialize(memoryWriter)) + { + UE_LOG(LogDisplayClusterNetworkMsg, Error, TEXT("%s couldn't serialize a message"), *GetName()); + return false; + } + + // Check bounds + const int32 msgLength = DataBuffer.Num(); + if (msgLength > DisplayClusterConstants::net::SocketBufferSize) + { + UE_LOG(LogDisplayClusterNetworkMsg, Error, TEXT("Outgoing message length exceeds buffer limit: length=%d > limit=%d"), msgLength, DisplayClusterConstants::net::SocketBufferSize); + return false; + } + + // Initialize message header + FDisplayClusterMessageHeader msgHeader; + msgHeader.length = static_cast<int16>(msgLength & 0x7FFF) - sizeof(FDisplayClusterMessageHeader); + UE_LOG(LogDisplayClusterNetworkMsg, Verbose, TEXT("Outgoing message body length %d"), msgHeader.length); + + // Fill packet header with message data length + FMemory::Memcpy(DataBuffer.GetData(), &msgHeader, sizeof(FDisplayClusterMessageHeader)); + + int32 bytesWriteAll = 0; + int32 bytesWriteNow = 0; + int32 bytesWriteLeft = 0; + + while (bytesWriteAll < msgLength) + { + bytesWriteLeft = msgLength - bytesWriteAll; + + // Send data + if (!Socket->Send(DataBuffer.GetData() + bytesWriteAll, bytesWriteLeft, bytesWriteNow)) + { + UE_LOG(LogDisplayClusterNetwork, Error, TEXT("%s - couldn't send a message (length=%d)"), *GetName(), msgLength); + return false; + } + + // Check amount of sent bytes + if (bytesWriteNow <= 0 || bytesWriteNow > bytesWriteLeft) + { + UE_LOG(LogDisplayClusterNetwork, Error, TEXT("%s - sent wrong amount of bytes: %d of %d left"), *GetName(), bytesWriteNow, bytesWriteLeft); + return false; + } + + bytesWriteAll += bytesWriteNow; + UE_LOG(LogDisplayClusterNetwork, VeryVerbose, TEXT("%s - sent %d bytes, left %d bytes"), *GetName(), bytesWriteNow, msgLength - bytesWriteAll); + + // Convergence check + if (bytesWriteAll > msgLength) + { + UE_LOG(LogDisplayClusterNetwork, Error, TEXT("%s - convergence failed: overall sent %d of %d"), *GetName(), bytesWriteAll, msgLength); + return false; + } + } + + UE_LOG(LogDisplayClusterNetwork, Verbose, TEXT("%s - message sent"), *GetName()); + + return true; +} + diff --git a/Source/DisplayCluster/Private/Network/DisplayClusterSocketOps.h b/Source/DisplayCluster/Private/Network/DisplayClusterSocketOps.h new file mode 100644 index 0000000..f8cfe3e --- /dev/null +++ b/Source/DisplayCluster/Private/Network/DisplayClusterSocketOps.h @@ -0,0 +1,58 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Sockets.h" +#include "DisplayClusterMessage.h" + + +/** + * Socket operations (base class for client and server) + */ +class FDisplayClusterSocketOps +{ +public: + FDisplayClusterSocketOps(FSocket* pSock); + virtual ~FDisplayClusterSocketOps(); + +public: + virtual bool SendMsg(const FDisplayClusterMessage::Ptr& msg); + virtual FDisplayClusterMessage::Ptr RecvMsg(); + + inline FSocket* GetSocket() const + { return Socket; } + + inline bool IsOpen() const + { return (Socket && (Socket->GetConnectionState() == ESocketConnectionState::SCS_Connected)); } + + // Provides with net unit name + virtual FString GetName() const = 0; + +protected: + // Provides with a synchronization object for underlying operations (message send/recv) + inline FCriticalSection& GetSyncObj() const + { return InternalsSyncScope; } + +private: + bool RecvChunk(int32 chunkSize, TArray<uint8>& chunkBuffer, const FString& chunkName = FString("DataChunk")); + +private: + struct FDisplayClusterMessageHeader + { + int16 length; + + FString ToString() + { return FString::Printf(TEXT("<length=%d>"), length); } + + }; + +private: + // Socket + FSocket* Socket = nullptr; + // Data buffer for incoming and outgoing messages + TArray<uint8> DataBuffer; + // Access sync object + mutable FCriticalSection InternalsSyncScope; +}; + diff --git a/Source/DisplayCluster/Private/Network/DisplayClusterTcpListener.cpp b/Source/DisplayCluster/Private/Network/DisplayClusterTcpListener.cpp new file mode 100644 index 0000000..f7bc1d3 --- /dev/null +++ b/Source/DisplayCluster/Private/Network/DisplayClusterTcpListener.cpp @@ -0,0 +1,153 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterTcpListener.h" + +#include "Misc/DisplayClusterLog.h" +#include "HAL/RunnableThread.h" + +#include "Common/TcpSocketBuilder.h" + +#include "Misc/DisplayClusterAppExit.h" +#include "Misc/DisplayClusterHelpers.h" + + +FDisplayClusterTcpListener::FDisplayClusterTcpListener(const FString& name) : + Name(name) +{ +} + + +FDisplayClusterTcpListener::~FDisplayClusterTcpListener() +{ + // Just free resources by stopping the listening + StopListening(); +} + + +bool FDisplayClusterTcpListener::StartListening(const FString& addr, const int32 port) +{ + FScopeLock lock(&InternalsSyncScope); + + if (bIsListening == true) + { + return true; + } + + FIPv4Endpoint ep; + if (!DisplayClusterHelpers::net::GenIPv4Endpoint(addr, port, ep)) + { + return false; + } + + return StartListening(ep); +} + +bool FDisplayClusterTcpListener::StartListening(const FIPv4Endpoint& ep) +{ + FScopeLock lock(&InternalsSyncScope); + + if (bIsListening == true) + { + return true; + } + + // Save new endpoint + Endpoint = ep; + + // Create listening thread + ThreadObj = FRunnableThread::Create(this, *(Name + FString("_thread")), 1 * 1024, TPri_Normal); + ensure(ThreadObj); + + // Update state + bIsListening = true; + + return bIsListening; +} + + +void FDisplayClusterTcpListener::StopListening() +{ + FScopeLock lock(&InternalsSyncScope); + + if (bIsListening == false) + { + return; + } + + // Ask runnable to stop + Stop(); + + // Wait for thread finish and release it then + if (ThreadObj) + { + ThreadObj->WaitForCompletion(); + delete ThreadObj; + ThreadObj = nullptr; + } +} + +bool FDisplayClusterTcpListener::IsActive() const +{ + return bIsListening; +} + +bool FDisplayClusterTcpListener::Init() +{ + // Create socket + SocketObj = FTcpSocketBuilder(*Name).AsBlocking().BoundToEndpoint(Endpoint).Listening(128); + if (!SocketObj) + { + // Just exit. No need to perform some notification from this thread to the cluster manager to notify + // about this fail. Just kill the application. + FDisplayClusterAppExit::ExitApplication(FDisplayClusterAppExit::ExitType::KillImmediately, FString("Couldn't start listener socket")); + return false; + } + + return true; +} + +uint32 FDisplayClusterTcpListener::Run() +{ + TSharedRef<FInternetAddr> RemoteAddress = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->CreateInternetAddr(); + + if (SocketObj) + { + while (FSocket* pSock = SocketObj->Accept(*RemoteAddress, TEXT("FDisplayClusterTcpListener client"))) + { + if (OnConnectionAcceptedDelegate.IsBound()) + { + if (!OnConnectionAcceptedDelegate.Execute(pSock, FIPv4Endpoint(RemoteAddress))) + { + pSock->Close(); + ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->DestroySocket(pSock); + } + } + } + } + else + { + UE_LOG(LogDisplayClusterNetwork, Error, TEXT("Socket is not initialized")); + return 0; + } + + return 0; +} + +void FDisplayClusterTcpListener::Stop() +{ + // Close the socket to unblock thread + if (SocketObj) + { + SocketObj->Close(); + } +} + +void FDisplayClusterTcpListener::Exit() +{ + // Release the socket + if (SocketObj) + { + ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->DestroySocket(SocketObj); + SocketObj = nullptr; + } +} diff --git a/Source/DisplayCluster/Private/Network/DisplayClusterTcpListener.h b/Source/DisplayCluster/Private/Network/DisplayClusterTcpListener.h new file mode 100644 index 0000000..9e674ff --- /dev/null +++ b/Source/DisplayCluster/Private/Network/DisplayClusterTcpListener.h @@ -0,0 +1,67 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Sockets.h" +#include "HAL/Runnable.h" +#include "Delegates/DelegateCombinations.h" +#include "Interfaces/IPv4/IPv4Endpoint.h" +#include "DisplayClusterConstants.h" + + +/** + * TCP connection listener + */ +class FDisplayClusterTcpListener + : public FRunnable +{ +public: + DECLARE_DELEGATE_RetVal_TwoParams(bool, TOnConnectionAcceptedDelegate, FSocket*, const FIPv4Endpoint&) + +public: + FDisplayClusterTcpListener(const FString& name); + ~FDisplayClusterTcpListener(); + +public: + + bool StartListening(const FString& addr, const int32 port); + bool StartListening(const FIPv4Endpoint& ep); + void StopListening(); + + bool IsActive() const; + + inline TOnConnectionAcceptedDelegate& OnConnectionAccepted() + { return OnConnectionAcceptedDelegate; } + +protected: + ////////////////////////////////////////////////////////////////////////////////////////////// + // FRunnable + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool Init() override; + virtual uint32 Run() override; + virtual void Stop() override; + virtual void Exit() override; + +private: + // Creates server socket + FSocket* CreateSocket(const FString& name, const FString& addr, const int32 port, const int32 bufSize = DisplayClusterConstants::net::SocketBufferSize); + +private: + // Socket name + FString Name; + // Listening socket + FSocket* SocketObj = nullptr; + // Listening endpoint + FIPv4Endpoint Endpoint; + // Holds the thread object + FRunnableThread* ThreadObj; + // Sync access + FCriticalSection InternalsSyncScope; + // Listening state + bool bIsListening = false; + +private: + // Holds a delegate to be invoked when an incoming connection has been accepted. + TOnConnectionAcceptedDelegate OnConnectionAcceptedDelegate; +}; diff --git a/Source/DisplayCluster/Private/Network/IDisplayClusterSessionListener.h b/Source/DisplayCluster/Private/Network/IDisplayClusterSessionListener.h new file mode 100644 index 0000000..28ee446 --- /dev/null +++ b/Source/DisplayCluster/Private/Network/IDisplayClusterSessionListener.h @@ -0,0 +1,27 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "DisplayClusterMessage.h" + +class FDisplayClusterSession; + + +/** + * TCP session listener interface + */ +struct IDisplayClusterSessionListener +{ + virtual ~IDisplayClusterSessionListener() + { } + + virtual void NotifySessionOpen(FDisplayClusterSession* pSession) + { } + + virtual void NotifySessionClose(FDisplayClusterSession* pSession) + { } + + // Pass a message to a concrete implementation + virtual FDisplayClusterMessage::Ptr ProcessMessage(FDisplayClusterMessage::Ptr msg) = 0; +}; + diff --git a/Source/DisplayCluster/Private/Network/Protocol/IPDisplayClusterClusterSyncProtocol.h b/Source/DisplayCluster/Private/Network/Protocol/IPDisplayClusterClusterSyncProtocol.h new file mode 100644 index 0000000..4b898df --- /dev/null +++ b/Source/DisplayCluster/Private/Network/Protocol/IPDisplayClusterClusterSyncProtocol.h @@ -0,0 +1,43 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Misc/FrameRate.h" +#include "Misc/Timecode.h" +#include "Network/DisplayClusterMessage.h" + + +/** + * Cluster state synchronization protocol + */ +class IPDisplayClusterClusterSyncProtocol +{ +public: + // Game start barrier + virtual void WaitForGameStart() = 0; + + // Frame start barrier + virtual void WaitForFrameStart() = 0; + + // Frame end barrier + virtual void WaitForFrameEnd() = 0; + + // Tick end barrier + virtual void WaitForTickEnd() = 0; + + // Tracking update barrier + virtual void WaitForTrackingUpdate() = 0; + + // Provides with time delta for current frame + virtual void GetDeltaTime(float& deltaTime) = 0; + + // Get the Timecode value for the current frame. + virtual void GetTimecode(FTimecode& timecode, FFrameRate& frameRate) = 0; + + // Sync objects + virtual void GetSyncData(FDisplayClusterMessage::DataType& data) = 0; + + // Sync input + virtual void GetInputData(FDisplayClusterMessage::DataType& data) = 0; +}; + diff --git a/Source/DisplayCluster/Private/Network/Protocol/IPDisplayClusterSwapSyncProtocol.h b/Source/DisplayCluster/Private/Network/Protocol/IPDisplayClusterSwapSyncProtocol.h new file mode 100644 index 0000000..d31a1d0 --- /dev/null +++ b/Source/DisplayCluster/Private/Network/Protocol/IPDisplayClusterSwapSyncProtocol.h @@ -0,0 +1,15 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + + +/** + * Swap synchronization protocol + */ +class IPDisplayClusterSwapSyncProtocol +{ +public: + // Swap sync barrier + virtual void WaitForSwapSync(double* pThreadWaitTime, double* pBarrierWaitTime) = 0; +}; + diff --git a/Source/DisplayCluster/Private/Network/Service/ClusterSync/DisplayClusterClusterSyncClient.cpp b/Source/DisplayCluster/Private/Network/Service/ClusterSync/DisplayClusterClusterSyncClient.cpp new file mode 100644 index 0000000..b9a99fb --- /dev/null +++ b/Source/DisplayCluster/Private/Network/Service/ClusterSync/DisplayClusterClusterSyncClient.cpp @@ -0,0 +1,131 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterClusterSyncClient.h" +#include "DisplayClusterClusterSyncMsg.h" + +#include "Misc/DisplayClusterLog.h" +#include "Misc/ScopeLock.h" + + +FDisplayClusterClusterSyncClient::FDisplayClusterClusterSyncClient() : + FDisplayClusterClient(FString("CLN_CS")) +{ +} + +FDisplayClusterClusterSyncClient::FDisplayClusterClusterSyncClient(const FString& name) : + FDisplayClusterClient(name) +{ +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterClusterSyncProtocol +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterClusterSyncClient::WaitForGameStart() +{ + static TSharedPtr<FDisplayClusterMessage> request(new FDisplayClusterMessage(FDisplayClusterClusterSyncMsg::WaitForGameStart::name, FDisplayClusterClusterSyncMsg::TypeRequest, FDisplayClusterClusterSyncMsg::ProtocolName)); + TSharedPtr<FDisplayClusterMessage> response; + + { + FScopeLock lock(&GetSyncObj()); + SendMsg(request); + response = RecvMsg(); + } + + if (!response.IsValid()) + { + UE_LOG(LogDisplayClusterNetworkMsg, Warning, TEXT("No response")); + return; + } +} + +void FDisplayClusterClusterSyncClient::WaitForFrameStart() +{ + static const TSharedPtr<FDisplayClusterMessage> request(new FDisplayClusterMessage(FDisplayClusterClusterSyncMsg::WaitForFrameStart::name, FDisplayClusterClusterSyncMsg::TypeRequest, FDisplayClusterClusterSyncMsg::ProtocolName)); + TSharedPtr<FDisplayClusterMessage> response = SendRecvMsg(request); +} + +void FDisplayClusterClusterSyncClient::WaitForFrameEnd() +{ + static const TSharedPtr<FDisplayClusterMessage> request(new FDisplayClusterMessage(FDisplayClusterClusterSyncMsg::WaitForFrameEnd::name, FDisplayClusterClusterSyncMsg::TypeRequest, FDisplayClusterClusterSyncMsg::ProtocolName)); + TSharedPtr<FDisplayClusterMessage> response = SendRecvMsg(request); +} + +void FDisplayClusterClusterSyncClient::WaitForTickEnd() +{ + static const TSharedPtr<FDisplayClusterMessage> request(new FDisplayClusterMessage(FDisplayClusterClusterSyncMsg::WaitForTickEnd::name, FDisplayClusterClusterSyncMsg::TypeRequest, FDisplayClusterClusterSyncMsg::ProtocolName)); + TSharedPtr<FDisplayClusterMessage> response = SendRecvMsg(request); +} + +void FDisplayClusterClusterSyncClient::WaitForTrackingUpdate() +{ + static const TSharedPtr<FDisplayClusterMessage> request(new FDisplayClusterMessage(FDisplayClusterClusterSyncMsg::WaitForTrackingUpdate::name, FDisplayClusterClusterSyncMsg::TypeRequest, FDisplayClusterClusterSyncMsg::ProtocolName)); + TSharedPtr<FDisplayClusterMessage> response = SendRecvMsg(request); +} + +void FDisplayClusterClusterSyncClient::GetDeltaTime(float& deltaTime) +{ + static const TSharedPtr<FDisplayClusterMessage> request(new FDisplayClusterMessage(FDisplayClusterClusterSyncMsg::GetDeltaTime::name, FDisplayClusterClusterSyncMsg::TypeRequest, FDisplayClusterClusterSyncMsg::ProtocolName)); + TSharedPtr<FDisplayClusterMessage> response = SendRecvMsg(request); + + if (!response.IsValid()) + { + return; + } + + // Extract sync data from response message + if (response->GetArg(FDisplayClusterClusterSyncMsg::GetDeltaTime::argDeltaTime, deltaTime) == false) + { + UE_LOG(LogDisplayClusterNetworkMsg, Error, TEXT("Couldn't extract an argument: %s"), FDisplayClusterClusterSyncMsg::GetDeltaTime::argDeltaTime); + } +} + +void FDisplayClusterClusterSyncClient::GetTimecode(FTimecode& timecode, FFrameRate& frameRate) +{ + static const TSharedPtr<FDisplayClusterMessage> request(new FDisplayClusterMessage(FDisplayClusterClusterSyncMsg::GetTimecode::name, FDisplayClusterClusterSyncMsg::TypeRequest, FDisplayClusterClusterSyncMsg::ProtocolName)); + TSharedPtr<FDisplayClusterMessage> response = SendRecvMsg(request); + + if (!response.IsValid()) + { + return; + } + + // Extract sync data from response message + if (response->GetArg(FDisplayClusterClusterSyncMsg::GetTimecode::argTimecode, timecode) == false) + { + UE_LOG(LogDisplayClusterNetworkMsg, Error, TEXT("Couldn't extract an argument: %s"), FDisplayClusterClusterSyncMsg::GetTimecode::argTimecode); + } + if (response->GetArg(FDisplayClusterClusterSyncMsg::GetTimecode::argFrameRate, frameRate) == false) + { + UE_LOG(LogDisplayClusterNetworkMsg, Error, TEXT("Couldn't extract an argument: %s"), FDisplayClusterClusterSyncMsg::GetTimecode::argTimecode); + } +} + +void FDisplayClusterClusterSyncClient::GetSyncData(FDisplayClusterMessage::DataType& data) +{ + static const TSharedPtr<FDisplayClusterMessage> request(new FDisplayClusterMessage(FDisplayClusterClusterSyncMsg::GetSyncData::name, FDisplayClusterClusterSyncMsg::TypeRequest, FDisplayClusterClusterSyncMsg::ProtocolName)); + TSharedPtr<FDisplayClusterMessage> response = SendRecvMsg(request); + + if (!response.IsValid()) + { + return; + } + + // Extract sync data from response message + data = response->GetArgs(); +} + +void FDisplayClusterClusterSyncClient::GetInputData(FDisplayClusterMessage::DataType& data) +{ + static const TSharedPtr<FDisplayClusterMessage> request(new FDisplayClusterMessage(FDisplayClusterClusterSyncMsg::GetInputData::name, FDisplayClusterClusterSyncMsg::TypeRequest, FDisplayClusterClusterSyncMsg::ProtocolName)); + TSharedPtr<FDisplayClusterMessage> response = SendRecvMsg(request); + + if (!response.IsValid()) + { + return; + } + + // Extract sync data from response message + data = response->GetArgs(); +} + diff --git a/Source/DisplayCluster/Private/Network/Service/ClusterSync/DisplayClusterClusterSyncClient.h b/Source/DisplayCluster/Private/Network/Service/ClusterSync/DisplayClusterClusterSyncClient.h new file mode 100644 index 0000000..f11b37c --- /dev/null +++ b/Source/DisplayCluster/Private/Network/Service/ClusterSync/DisplayClusterClusterSyncClient.h @@ -0,0 +1,35 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Network/DisplayClusterClient.h" +#include "Network/DisplayClusterMessage.h" +#include "Network/Protocol/IPDisplayClusterClusterSyncProtocol.h" + + +/** + * Cluster synchronization client + */ +class FDisplayClusterClusterSyncClient + : public FDisplayClusterClient + , public IPDisplayClusterClusterSyncProtocol +{ +public: + FDisplayClusterClusterSyncClient(); + FDisplayClusterClusterSyncClient(const FString& name); + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterClusterSyncProtocol + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void WaitForGameStart() override; + virtual void WaitForFrameStart() override; + virtual void WaitForFrameEnd() override; + virtual void WaitForTickEnd() override; + virtual void WaitForTrackingUpdate() override; + virtual void GetDeltaTime(float& deltaTime) override; + virtual void GetTimecode(FTimecode& timecode, FFrameRate& frameRate) override; + virtual void GetSyncData(FDisplayClusterMessage::DataType& data) override; + virtual void GetInputData(FDisplayClusterMessage::DataType& data) override; +}; + diff --git a/Source/DisplayCluster/Private/Network/Service/ClusterSync/DisplayClusterClusterSyncMsg.h b/Source/DisplayCluster/Private/Network/Service/ClusterSync/DisplayClusterClusterSyncMsg.h new file mode 100644 index 0000000..fcff0fc --- /dev/null +++ b/Source/DisplayCluster/Private/Network/Service/ClusterSync/DisplayClusterClusterSyncMsg.h @@ -0,0 +1,64 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + + +/** + * Cluster synchronization messages + */ +//@todo: encapsulate strings below in message classes +namespace FDisplayClusterClusterSyncMsg +{ + constexpr static auto ProtocolName = "ClusterSync"; + + constexpr static auto TypeRequest = "request"; + constexpr static auto TypeResponse = "response"; + + namespace WaitForGameStart + { + constexpr static auto name = "WaitForGameStart"; + }; + + namespace WaitForFrameStart + { + constexpr static auto name = "WaitForFrameStart"; + }; + + namespace WaitForFrameEnd + { + constexpr static auto name = "WaitForFrameEnd"; + }; + + namespace WaitForTickEnd + { + constexpr static auto name = "WaitForTickEnd"; + }; + + namespace WaitForTrackingUpdate + { + constexpr static auto name = "WaitForTrackingUpdate"; + }; + + namespace GetDeltaTime + { + constexpr static auto name = "GetDeltaTime"; + constexpr static auto argDeltaTime = "DeltaTime"; + }; + + namespace GetTimecode + { + constexpr static auto name = "GetTimecode"; + constexpr static auto argTimecode = "Timecode"; + constexpr static auto argFrameRate = "FrameRate"; + } + + namespace GetSyncData + { + constexpr static auto name = "GetSyncData"; + }; + + namespace GetInputData + { + constexpr static auto name = "GetInputData"; + } +}; diff --git a/Source/DisplayCluster/Private/Network/Service/ClusterSync/DisplayClusterClusterSyncService.cpp b/Source/DisplayCluster/Private/Network/Service/ClusterSync/DisplayClusterClusterSyncService.cpp new file mode 100644 index 0000000..40c673d --- /dev/null +++ b/Source/DisplayCluster/Private/Network/Service/ClusterSync/DisplayClusterClusterSyncService.cpp @@ -0,0 +1,221 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterClusterSyncService.h" +#include "DisplayClusterClusterSyncMsg.h" + +#include "Cluster/IPDisplayClusterClusterManager.h" +#include "Input/IPDisplayClusterInputManager.h" + +#include "Misc/DisplayClusterAppExit.h" +#include "Misc/DisplayClusterLog.h" + +#include "DisplayClusterGlobals.h" +#include "IPDisplayCluster.h" + + +FDisplayClusterClusterSyncService::FDisplayClusterClusterSyncService(const FString& addr, const int32 port) : + FDisplayClusterService(FString("SRV_CS"), addr, port), + BarrierGameStart (GDisplayCluster->GetPrivateClusterMgr()->GetNodesAmount(), FString("GameStart_barrier"), DisplayClusterConstants::net::BarrierGameStartWaitTimeout), + BarrierFrameStart (GDisplayCluster->GetPrivateClusterMgr()->GetNodesAmount(), FString("FrameStart_barrier"), DisplayClusterConstants::net::BarrierWaitTimeout), + BarrierFrameEnd (GDisplayCluster->GetPrivateClusterMgr()->GetNodesAmount(), FString("FrameEnd_barrier"), DisplayClusterConstants::net::BarrierWaitTimeout), + BarrierTickEnd (GDisplayCluster->GetPrivateClusterMgr()->GetNodesAmount(), FString("TickEnd_barrier"), DisplayClusterConstants::net::BarrierWaitTimeout), + BarrierTrackingUpdate(GDisplayCluster->GetPrivateClusterMgr()->GetNodesAmount(), FString("TrackingUpdate_barrier"), DisplayClusterConstants::net::BarrierWaitTimeout) +{ +} + +FDisplayClusterClusterSyncService::~FDisplayClusterClusterSyncService() +{ + Shutdown(); +} + + +bool FDisplayClusterClusterSyncService::Start() +{ + BarrierGameStart.Activate(); + BarrierFrameStart.Activate(); + BarrierFrameEnd.Activate(); + BarrierTickEnd.Activate(); + BarrierTrackingUpdate.Activate(); + + return FDisplayClusterServer::Start(); +} + +void FDisplayClusterClusterSyncService::Shutdown() +{ + BarrierGameStart.Deactivate(); + BarrierFrameStart.Deactivate(); + BarrierFrameEnd.Deactivate(); + BarrierTickEnd.Deactivate(); + BarrierTrackingUpdate.Deactivate(); + + return FDisplayClusterServer::Shutdown(); +} + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterSessionListener +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterClusterSyncService::NotifySessionOpen(FDisplayClusterSession* pSession) +{ + FDisplayClusterService::NotifySessionOpen(pSession); +} + +void FDisplayClusterClusterSyncService::NotifySessionClose(FDisplayClusterSession* pSession) +{ + // Unblock waiting threads to allow current Tick() finish + BarrierGameStart.Deactivate(); + BarrierFrameStart.Deactivate(); + BarrierFrameEnd.Deactivate(); + BarrierTickEnd.Deactivate(); + + FDisplayClusterService::NotifySessionClose(pSession); +} + +FDisplayClusterMessage::Ptr FDisplayClusterClusterSyncService::ProcessMessage(FDisplayClusterMessage::Ptr msg) +{ + // Check the pointer + if (msg.IsValid() == false) + { + UE_LOG(LogDisplayClusterNetworkMsg, Error, TEXT("%s - Couldn't process the message"), *GetName()); + return nullptr; + } + + UE_LOG(LogDisplayClusterNetwork, Verbose, TEXT("%s - Processing message %s"), *GetName(), *msg->ToString()); + + // Check protocol and type + if (msg->GetProtocol() != FDisplayClusterClusterSyncMsg::ProtocolName || msg->GetType() != FDisplayClusterClusterSyncMsg::TypeRequest) + { + UE_LOG(LogDisplayClusterNetworkMsg, Error, TEXT("%s - Unsupported message type: %s"), *GetName(), *msg->ToString()); + return nullptr; + } + + // Initialize response message + FDisplayClusterMessage::Ptr response = FDisplayClusterMessage::Ptr(new FDisplayClusterMessage(msg->GetName(), FDisplayClusterClusterSyncMsg::TypeResponse, msg->GetProtocol())); + + // Dispatch the message + const FString msgName = msg->GetName(); + if (msgName == FDisplayClusterClusterSyncMsg::WaitForGameStart::name) + { + WaitForGameStart(); + return response; + } + else if (msgName == FDisplayClusterClusterSyncMsg::WaitForFrameStart::name) + { + WaitForFrameStart(); + return response; + } + else if (msgName == FDisplayClusterClusterSyncMsg::WaitForFrameEnd::name) + { + WaitForFrameEnd(); + return response; + } + else if (msgName == FDisplayClusterClusterSyncMsg::WaitForTickEnd::name) + { + WaitForTickEnd(); + return response; + } + else if (msgName == FDisplayClusterClusterSyncMsg::WaitForTrackingUpdate::name) + { + WaitForTrackingUpdate(); + return response; + } + else if (msgName == FDisplayClusterClusterSyncMsg::GetDeltaTime::name) + { + float deltaTime = 0.0f; + GetDeltaTime(deltaTime); + response->SetArg(FDisplayClusterClusterSyncMsg::GetDeltaTime::argDeltaTime, deltaTime); + return response; + } + else if (msgName == FDisplayClusterClusterSyncMsg::GetTimecode::name) + { + FTimecode timecode; + FFrameRate frameRate; + GetTimecode(timecode, frameRate); + response->SetArg(FDisplayClusterClusterSyncMsg::GetTimecode::argTimecode, timecode); + response->SetArg(FDisplayClusterClusterSyncMsg::GetTimecode::argFrameRate, frameRate); + return response; + } + else if (msgName == FDisplayClusterClusterSyncMsg::GetSyncData::name) + { + FDisplayClusterMessage::DataType data; + GetSyncData(data); + + response->SetArgs(data); + return response; + } + else if (msgName == FDisplayClusterClusterSyncMsg::GetInputData::name) + { + FDisplayClusterMessage::DataType data; + GetInputData(data); + + response->SetArgs(data); + return response; + } + + // Being here means that we have no appropriate dispatch logic for this message + UE_LOG(LogDisplayClusterNetworkMsg, Warning, TEXT("%s - A dispatcher for this message hasn't been implemented yet <%s>"), *GetName(), *msg->ToString()); + return nullptr; +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterClusterSyncProtocol +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterClusterSyncService::WaitForGameStart() +{ + if (BarrierGameStart.Wait() != FDisplayClusterBarrier::WaitResult::Ok) + { + FDisplayClusterAppExit::ExitApplication(FDisplayClusterAppExit::ExitType::NormalSoft, FString("Error on game start barrier. Exit required.")); + } +} + +void FDisplayClusterClusterSyncService::WaitForFrameStart() +{ + if (BarrierFrameStart.Wait() != FDisplayClusterBarrier::WaitResult::Ok) + { + FDisplayClusterAppExit::ExitApplication(FDisplayClusterAppExit::ExitType::NormalSoft, FString("Error on frame start barrier. Exit required.")); + } +} + +void FDisplayClusterClusterSyncService::WaitForFrameEnd() +{ + if (BarrierFrameEnd.Wait() != FDisplayClusterBarrier::WaitResult::Ok) + { + FDisplayClusterAppExit::ExitApplication(FDisplayClusterAppExit::ExitType::NormalSoft, FString("Error on frame end barrier. Exit required.")); + } +} + +void FDisplayClusterClusterSyncService::WaitForTickEnd() +{ + if (BarrierTickEnd.Wait() != FDisplayClusterBarrier::WaitResult::Ok) + { + FDisplayClusterAppExit::ExitApplication(FDisplayClusterAppExit::ExitType::NormalSoft, FString("Error on tick end barrier. Exit required.")); + } +} + +void FDisplayClusterClusterSyncService::WaitForTrackingUpdate() +{ + if (BarrierTickEnd.Wait() != FDisplayClusterBarrier::WaitResult::Ok) + { + FDisplayClusterAppExit::ExitApplication(FDisplayClusterAppExit::ExitType::NormalSoft, FString("Error on tracking update barrier. Exit required.")); + } +} + +void FDisplayClusterClusterSyncService::GetDeltaTime(float& deltaTime) +{ + deltaTime = GDisplayCluster->GetPrivateClusterMgr()->GetDeltaTime(); +} + +void FDisplayClusterClusterSyncService::GetTimecode(FTimecode& timecode, FFrameRate& frameRate) +{ + GDisplayCluster->GetPrivateClusterMgr()->GetTimecode(timecode, frameRate); +} + +void FDisplayClusterClusterSyncService::GetSyncData(FDisplayClusterMessage::DataType& data) +{ + GDisplayCluster->GetPrivateClusterMgr()->ExportSyncData(data); +} + +void FDisplayClusterClusterSyncService::GetInputData(FDisplayClusterMessage::DataType& data) +{ + GDisplayCluster->GetPrivateInputMgr()->ExportInputData(data); +} diff --git a/Source/DisplayCluster/Private/Network/Service/ClusterSync/DisplayClusterClusterSyncService.h b/Source/DisplayCluster/Private/Network/Service/ClusterSync/DisplayClusterClusterSyncService.h new file mode 100644 index 0000000..df7bb48 --- /dev/null +++ b/Source/DisplayCluster/Private/Network/Service/ClusterSync/DisplayClusterClusterSyncService.h @@ -0,0 +1,62 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Misc/DisplayClusterBarrier.h" +#include "Network/DisplayClusterMessage.h" +#include "Network/Service/DisplayClusterService.h" +#include "Network/Protocol/IPDisplayClusterClusterSyncProtocol.h" + + + +/** + * Cluster synchronization server + */ +class FDisplayClusterClusterSyncService + : public FDisplayClusterService + , private IPDisplayClusterClusterSyncProtocol +{ +public: + FDisplayClusterClusterSyncService(const FString& addr, const int32 port); + virtual ~FDisplayClusterClusterSyncService(); + +public: + virtual bool Start() override; + void Shutdown() override; + +protected: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterSessionListener + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void NotifySessionOpen(FDisplayClusterSession* pSession) override; + virtual void NotifySessionClose(FDisplayClusterSession* pSession) override; + virtual FDisplayClusterMessage::Ptr ProcessMessage(FDisplayClusterMessage::Ptr msg) override; + +private: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterClusterSyncProtocol + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void WaitForGameStart() override; + virtual void WaitForFrameStart() override; + virtual void WaitForFrameEnd() override; + virtual void WaitForTickEnd() override; + virtual void WaitForTrackingUpdate() override; + virtual void GetDeltaTime(float& deltaTime) override; + virtual void GetTimecode(FTimecode& timecode, FFrameRate& frameRate) override; + virtual void GetSyncData(FDisplayClusterMessage::DataType& data) override; + virtual void GetInputData(FDisplayClusterMessage::DataType& data) override; + +private: + // Game start sync barrier + FDisplayClusterBarrier BarrierGameStart; + // Frame start barrier + FDisplayClusterBarrier BarrierFrameStart; + // Frame end barrier + FDisplayClusterBarrier BarrierFrameEnd; + // Tick end barrier + FDisplayClusterBarrier BarrierTickEnd; + // Tracking update barrier + FDisplayClusterBarrier BarrierTrackingUpdate; +}; + diff --git a/Source/DisplayCluster/Private/Network/Service/DisplayClusterService.cpp b/Source/DisplayCluster/Private/Network/Service/DisplayClusterService.cpp new file mode 100644 index 0000000..8ec9558 --- /dev/null +++ b/Source/DisplayCluster/Private/Network/Service/DisplayClusterService.cpp @@ -0,0 +1,55 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterService.h" +#include "Network/DisplayClusterSession.h" + +#include "Config/IPDisplayClusterConfigManager.h" +#include "Config/DisplayClusterConfigTypes.h" + +#include "Misc/DisplayClusterAppExit.h" +#include "DisplayClusterGlobals.h" +#include "IPDisplayCluster.h" + + +FDisplayClusterService::FDisplayClusterService(const FString& name, const FString& addr, const int32 port) : + FDisplayClusterServer(name, addr, port) +{ +} + +bool FDisplayClusterService::IsClusterIP(const FIPv4Endpoint& ep) +{ + if (GDisplayCluster->GetOperationMode() == EDisplayClusterOperationMode::Disabled) + { + return false; + } + + TArray<FDisplayClusterConfigClusterNode> nodes = GDisplayCluster->GetPrivateConfigMgr()->GetClusterNodes(); + const FString addr = ep.Address.ToString(); + + return nullptr != nodes.FindByPredicate([addr](const FDisplayClusterConfigClusterNode& node) + { + return addr == node.Addr; + }); +} + +bool FDisplayClusterService::IsConnectionAllowed(FSocket* pSock, const FIPv4Endpoint& ep) +{ + // By default any DisplayCluster service must be within a cluster + return FDisplayClusterService::IsClusterIP(ep); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterSessionListener +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterService::NotifySessionOpen(FDisplayClusterSession* pSession) +{ + FDisplayClusterServer::NotifySessionOpen(pSession); +} + +void FDisplayClusterService::NotifySessionClose(FDisplayClusterSession* pSession) +{ + FDisplayClusterAppExit::ExitApplication(FDisplayClusterAppExit::ExitType::NormalSoft, GetName() + FString(" - Connection interrupted. Application exit requested.")); + FDisplayClusterServer::NotifySessionClose(pSession); +} + diff --git a/Source/DisplayCluster/Private/Network/Service/DisplayClusterService.h b/Source/DisplayCluster/Private/Network/Service/DisplayClusterService.h new file mode 100644 index 0000000..5c4950b --- /dev/null +++ b/Source/DisplayCluster/Private/Network/Service/DisplayClusterService.h @@ -0,0 +1,34 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Network/DisplayClusterServer.h" +#include "Sockets.h" + +class FDisplayClusterSession; +struct FIPv4Endpoint; + + +/** + * Abstract DisplayCluster server + */ +class FDisplayClusterService + : public FDisplayClusterServer +{ +public: + FDisplayClusterService(const FString& name, const FString& addr, const int32 port); + +public: + static bool IsClusterIP(const FIPv4Endpoint& ep); + +protected: + virtual bool IsConnectionAllowed(FSocket* pSock, const FIPv4Endpoint& ep) override; + +protected: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterSessionListener + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void NotifySessionOpen(FDisplayClusterSession* pSession) override; + virtual void NotifySessionClose(FDisplayClusterSession* pSession) override; +}; + diff --git a/Source/DisplayCluster/Private/Network/Service/SwapSync/DisplayClusterSwapSyncClient.cpp b/Source/DisplayCluster/Private/Network/Service/SwapSync/DisplayClusterSwapSyncClient.cpp new file mode 100644 index 0000000..0193cda --- /dev/null +++ b/Source/DisplayCluster/Private/Network/Service/SwapSync/DisplayClusterSwapSyncClient.cpp @@ -0,0 +1,47 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterSwapSyncClient.h" +#include "DisplayClusterSwapSyncMsg.h" + +#include "Misc/DisplayClusterLog.h" + + +FDisplayClusterSwapSyncClient::FDisplayClusterSwapSyncClient() : + FDisplayClusterClient(FString("CLN_SS")) +{ +} + +FDisplayClusterSwapSyncClient::FDisplayClusterSwapSyncClient(const FString& name) : + FDisplayClusterClient(name) +{ +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterSwapSyncProtocol +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterSwapSyncClient::WaitForSwapSync(double* pThreadWaitTime, double* pBarrierWaitTime) +{ + static const TSharedPtr<FDisplayClusterMessage> request(new FDisplayClusterMessage(FDisplayClusterSwapSyncMsg::WaitForSwapSync::name, FDisplayClusterSwapSyncMsg::TypeRequest, FDisplayClusterSwapSyncMsg::ProtocolName)); + TSharedPtr<FDisplayClusterMessage> response = SendRecvMsg(request); + + if (response.IsValid()) + { + if (pThreadWaitTime) + { + if (!response->GetArg(FString(FDisplayClusterSwapSyncMsg::WaitForSwapSync::argThreadTime), *pThreadWaitTime)) + { + UE_LOG(LogDisplayClusterNetwork, Error, TEXT("Argument %s not available"), FDisplayClusterSwapSyncMsg::WaitForSwapSync::argThreadTime); + } + } + + if (pBarrierWaitTime) + { + if (!response->GetArg(FString(FDisplayClusterSwapSyncMsg::WaitForSwapSync::argBarrierTime), *pBarrierWaitTime)) + { + UE_LOG(LogDisplayClusterNetwork, Error, TEXT("Argument %s not available"), FDisplayClusterSwapSyncMsg::WaitForSwapSync::argBarrierTime); + } + } + } +} + diff --git a/Source/DisplayCluster/Private/Network/Service/SwapSync/DisplayClusterSwapSyncClient.h b/Source/DisplayCluster/Private/Network/Service/SwapSync/DisplayClusterSwapSyncClient.h new file mode 100644 index 0000000..467819b --- /dev/null +++ b/Source/DisplayCluster/Private/Network/Service/SwapSync/DisplayClusterSwapSyncClient.h @@ -0,0 +1,26 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Network/DisplayClusterClient.h" +#include "Network/Protocol/IPDisplayClusterSwapSyncProtocol.h" + + +/** + * Swap synchronization client + */ +class FDisplayClusterSwapSyncClient + : public FDisplayClusterClient + , public IPDisplayClusterSwapSyncProtocol +{ +public: + FDisplayClusterSwapSyncClient(); + FDisplayClusterSwapSyncClient(const FString& name); + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterSwapSyncProtocol + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void WaitForSwapSync(double* pThreadWaitTime, double* pBarrierWaitTime) override; +}; + diff --git a/Source/DisplayCluster/Private/Network/Service/SwapSync/DisplayClusterSwapSyncMsg.h b/Source/DisplayCluster/Private/Network/Service/SwapSync/DisplayClusterSwapSyncMsg.h new file mode 100644 index 0000000..7675dc7 --- /dev/null +++ b/Source/DisplayCluster/Private/Network/Service/SwapSync/DisplayClusterSwapSyncMsg.h @@ -0,0 +1,23 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + + +/** + * Swap synchronization messages + */ +//@todo: encapsulate strings below in message classes +struct FDisplayClusterSwapSyncMsg +{ + constexpr static auto ProtocolName = "SwapSync"; + + constexpr static auto TypeRequest = "request"; + constexpr static auto TypeResponse = "response"; + + struct WaitForSwapSync + { + constexpr static auto name = "WaitForSwapSync"; + constexpr static auto argThreadTime = "ThreadTime"; + constexpr static auto argBarrierTime = "BarrierTime"; + }; +}; diff --git a/Source/DisplayCluster/Private/Network/Service/SwapSync/DisplayClusterSwapSyncService.cpp b/Source/DisplayCluster/Private/Network/Service/SwapSync/DisplayClusterSwapSyncService.cpp new file mode 100644 index 0000000..1ea4565 --- /dev/null +++ b/Source/DisplayCluster/Private/Network/Service/SwapSync/DisplayClusterSwapSyncService.cpp @@ -0,0 +1,107 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterSwapSyncService.h" +#include "DisplayClusterSwapSyncMsg.h" + +#include "Cluster/IPDisplayClusterClusterManager.h" +#include "Misc/DisplayClusterAppExit.h" +#include "Misc/DisplayClusterLog.h" + +#include "DisplayClusterGlobals.h" +#include "IPDisplayCluster.h" + + +FDisplayClusterSwapSyncService::FDisplayClusterSwapSyncService(const FString& addr, const int32 port) : + FDisplayClusterService(FString("SRV_SS"), addr, port), + BarrierSwap(GDisplayCluster->GetPrivateClusterMgr()->GetNodesAmount(), FString("SwapSync_barrier"), DisplayClusterConstants::net::BarrierWaitTimeout) +{ +} + +FDisplayClusterSwapSyncService::~FDisplayClusterSwapSyncService() +{ + Shutdown(); +} + + +bool FDisplayClusterSwapSyncService::Start() +{ + BarrierSwap.Activate(); + + return FDisplayClusterServer::Start(); +} + +void FDisplayClusterSwapSyncService::Shutdown() +{ + BarrierSwap.Deactivate(); + + return FDisplayClusterServer::Shutdown(); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterSessionListener +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterSwapSyncService::NotifySessionOpen(FDisplayClusterSession* pSession) +{ + FDisplayClusterService::NotifySessionOpen(pSession); +} + +void FDisplayClusterSwapSyncService::NotifySessionClose(FDisplayClusterSession* pSession) +{ + // Unblock waiting threads to allow current Tick() finish + BarrierSwap.Deactivate(); + + FDisplayClusterService::NotifySessionClose(pSession); +} + +FDisplayClusterMessage::Ptr FDisplayClusterSwapSyncService::ProcessMessage(FDisplayClusterMessage::Ptr msg) +{ + // Check the pointer + if (msg.IsValid() == false) + { + UE_LOG(LogDisplayClusterNetworkMsg, Error, TEXT("%s - Couldn't process the message"), *GetName()); + return nullptr; + } + + UE_LOG(LogDisplayClusterNetwork, Verbose, TEXT("%s - Processing message %s"), *GetName(), *msg->ToString()); + + // Check protocol and type + if (msg->GetProtocol() != FDisplayClusterSwapSyncMsg::ProtocolName || msg->GetType() != FDisplayClusterSwapSyncMsg::TypeRequest) + { + UE_LOG(LogDisplayClusterNetworkMsg, Error, TEXT("%s - Unsupported message type: %s"), *GetName(), *msg->ToString()); + return nullptr; + } + + // Initialize response message + FDisplayClusterMessage::Ptr response = FDisplayClusterMessage::Ptr(new FDisplayClusterMessage(msg->GetName(), FDisplayClusterSwapSyncMsg::TypeResponse, msg->GetProtocol())); + + // Dispatch the message + if (msg->GetName() == FDisplayClusterSwapSyncMsg::WaitForSwapSync::name) + { + double tTime = 0.f; + double bTime = 0.f; + + WaitForSwapSync(&tTime, &bTime); + + response->SetArg(FString(FDisplayClusterSwapSyncMsg::WaitForSwapSync::argThreadTime), tTime); + response->SetArg(FString(FDisplayClusterSwapSyncMsg::WaitForSwapSync::argBarrierTime), bTime); + + return response; + } + + // Being here means that we have no appropriate dispatch logic for this message + UE_LOG(LogDisplayClusterNetworkMsg, Warning, TEXT("%s - A dispatcher for this message hasn't been implemented yet <%s>"), *GetName(), *msg->ToString()); + return nullptr; +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterSwapSyncProtocol +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterSwapSyncService::WaitForSwapSync(double* pThreadWaitTime, double* pBarrierWaitTime) +{ + if (BarrierSwap.Wait(pThreadWaitTime, pBarrierWaitTime) != FDisplayClusterBarrier::WaitResult::Ok) + { + FDisplayClusterAppExit::ExitApplication(FDisplayClusterAppExit::ExitType::NormalSoft, FString("Error on swap barrier. Exit required.")); + } +} diff --git a/Source/DisplayCluster/Private/Network/Service/SwapSync/DisplayClusterSwapSyncService.h b/Source/DisplayCluster/Private/Network/Service/SwapSync/DisplayClusterSwapSyncService.h new file mode 100644 index 0000000..c698758 --- /dev/null +++ b/Source/DisplayCluster/Private/Network/Service/SwapSync/DisplayClusterSwapSyncService.h @@ -0,0 +1,46 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once +#include "CoreMinimal.h" +#include "Network/Service/DisplayClusterService.h" +#include "Network/Protocol/IPDisplayClusterSwapSyncProtocol.h" +#include "Network/DisplayClusterMessage.h" + +#include "Misc/DisplayClusterBarrier.h" + + +/** + * Swap synchronization server + */ +class FDisplayClusterSwapSyncService + : public FDisplayClusterService + , private IPDisplayClusterSwapSyncProtocol +{ +public: + FDisplayClusterSwapSyncService(const FString& addr, const int32 port); + virtual ~FDisplayClusterSwapSyncService(); + +public: + virtual bool Start() override; + virtual void Shutdown() override; + +protected: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterSessionListener + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void NotifySessionOpen(FDisplayClusterSession* pSession) override; + virtual void NotifySessionClose(FDisplayClusterSession* pSession) override; + virtual FDisplayClusterMessage::Ptr ProcessMessage(FDisplayClusterMessage::Ptr msg) override; + +private: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterSwapSyncProtocol + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void WaitForSwapSync(double* pThreadWaitTime, double* pBarrierWaitTime) override; + + +private: + // Swap sync barrier + FDisplayClusterBarrier BarrierSwap; +}; + diff --git a/Source/DisplayCluster/Private/Render/Devices/Debug/DisplayClusterDeviceDebug.cpp b/Source/DisplayCluster/Private/Render/Devices/Debug/DisplayClusterDeviceDebug.cpp new file mode 100644 index 0000000..cb2145b --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/Debug/DisplayClusterDeviceDebug.cpp @@ -0,0 +1,28 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterDeviceDebug.h" + + +FDisplayClusterDeviceDebug::FDisplayClusterDeviceDebug() +{ +} + +FDisplayClusterDeviceDebug::~FDisplayClusterDeviceDebug() +{ +} + + +void FDisplayClusterDeviceDebug::AdjustViewRect(enum EStereoscopicPass StereoPass, int32& X, int32& Y, uint32& SizeX, uint32& SizeY) const +{ + const int rHeight = SizeY / 4; + + if (StereoPass == EStereoscopicPass::eSSP_LEFT_EYE) + { + SizeY -= rHeight; + } + else + { + Y = SizeY - rHeight; + SizeY = rHeight; + } +} diff --git a/Source/DisplayCluster/Private/Render/Devices/Debug/DisplayClusterDeviceDebug.h b/Source/DisplayCluster/Private/Render/Devices/Debug/DisplayClusterDeviceDebug.h new file mode 100644 index 0000000..247e7ba --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/Debug/DisplayClusterDeviceDebug.h @@ -0,0 +1,21 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Render/Devices/DisplayClusterDeviceBase.h" + + +/** + * Debug stereoscopic device (for development and test purposes) + */ +class FDisplayClusterDeviceDebug : public FDisplayClusterDeviceBase +{ +public: + FDisplayClusterDeviceDebug(); + virtual ~FDisplayClusterDeviceDebug(); + +protected: + virtual void AdjustViewRect(enum EStereoscopicPass StereoPass, int32& X, int32& Y, uint32& SizeX, uint32& SizeY) const override; +}; + + diff --git a/Source/DisplayCluster/Private/Render/Devices/DisplayClusterDeviceBase.cpp b/Source/DisplayCluster/Private/Render/Devices/DisplayClusterDeviceBase.cpp new file mode 100644 index 0000000..f3aca29 --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/DisplayClusterDeviceBase.cpp @@ -0,0 +1,421 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterDeviceBase.h" + +#include "Cluster/IPDisplayClusterClusterManager.h" +#include "Cluster/Controller/IPDisplayClusterNodeController.h" +#include "Config/IPDisplayClusterConfigManager.h" +#include "Game/IPDisplayClusterGameManager.h" + +#include "DisplayClusterScreenComponent.h" + +#include "RHIStaticStates.h" +#include "Slate/SceneViewport.h" + +#include "Misc/DisplayClusterHelpers.h" +#include "Misc/DisplayClusterLog.h" + +#include "DisplayClusterGlobals.h" +#include "IPDisplayCluster.h" + +#include <utility> + + +FDisplayClusterDeviceBase::FDisplayClusterDeviceBase() : + FRHICustomPresent() +{ + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT(".ctor FDisplayClusterDeviceBase")); +} + +FDisplayClusterDeviceBase::~FDisplayClusterDeviceBase() +{ + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT(".dtor FDisplayClusterDeviceBase")); +} + +bool FDisplayClusterDeviceBase::Initialize() +{ + if (GDisplayCluster->GetOperationMode() == EDisplayClusterOperationMode::Disabled) + { + return false; + } + + UE_LOG(LogDisplayClusterRender, Log, TEXT("Use swap interval: %d"), SwapInterval); + + return true; +} + +void FDisplayClusterDeviceBase::WaitForBufferSwapSync(int32& InOutSyncInterval) +{ + // Perform SW synchronization + UE_LOG(LogDisplayClusterRender, Verbose, TEXT("Waiting for swap sync...")); + + // Policies below are available for any render device type + switch (SwapSyncPolicy) + { + case EDisplayClusterSwapSyncPolicy::None: + { + exec_BarrierWait(); + InOutSyncInterval = 0; + break; + } + + default: + { + UE_LOG(LogDisplayClusterRender, Warning, TEXT("Swap sync policy drop: %d"), (int)SwapSyncPolicy); + InOutSyncInterval = 0; + break; + } + } +} + +void FDisplayClusterDeviceBase::UpdateProjectionScreenDataForThisFrame() +{ + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("UpdateProjectionScreenDataForThisFrame")); + check(IsInGameThread()); + + if (GDisplayCluster->GetOperationMode() == EDisplayClusterOperationMode::Disabled) + { + return; + } + + // Store transformations of active projection screen + UDisplayClusterScreenComponent* pScreen = GDisplayCluster->GetPrivateGameMgr()->GetActiveScreen(); + if (pScreen) + { + ProjectionScreenLoc = pScreen->GetComponentLocation(); + ProjectionScreenRot = pScreen->GetComponentRotation(); + ProjectionScreenSize = pScreen->GetScreenSize(); + } +} + +void FDisplayClusterDeviceBase::exec_BarrierWait() +{ + if (GDisplayCluster->GetOperationMode() == EDisplayClusterOperationMode::Disabled) + { + return; + } + + double tTime = 0.f; + double bTime = 0.f; + + IPDisplayClusterNodeController* const pController = GDisplayCluster->GetPrivateClusterMgr()->GetController(); + if (pController) + { + pController->WaitForSwapSync(&tTime, &bTime); + } + + UE_LOG(LogDisplayClusterRender, Verbose, TEXT("Render barrier wait: t=%lf b=%lf"), tTime, bTime); +} + +////////////////////////////////////////////////////////////////////////////////////////////// +// IStereoRendering +////////////////////////////////////////////////////////////////////////////////////////////// +bool FDisplayClusterDeviceBase::IsStereoEnabled() const +{ + //UE_LOG(LogDisplayClusterRender, Verbose, TEXT("IsStereoEnabled")); + return true; +} + +bool FDisplayClusterDeviceBase::IsStereoEnabledOnNextFrame() const +{ + //UE_LOG(LogDisplayClusterRender, Verbose, TEXT("IsStereoEnabledOnNextFrame")); + return true; +} + +bool FDisplayClusterDeviceBase::EnableStereo(bool stereo /*= true*/) +{ + //UE_LOG(LogDisplayClusterRender, Verbose, TEXT("EnableStereo")); + return true; +} + +void FDisplayClusterDeviceBase::AdjustViewRect(enum EStereoscopicPass StereoPass, int32& X, int32& Y, uint32& SizeX, uint32& SizeY) const +{ + X = ViewportArea.GetLocation().X; + SizeX = ViewportArea.GetSize().X; + + Y = ViewportArea.GetLocation().Y; + SizeY = ViewportArea.GetSize().Y; +} + +void FDisplayClusterDeviceBase::CalculateStereoViewOffset(const enum EStereoscopicPass StereoPassType, FRotator& ViewRotation, const float WorldToMeters, FVector& ViewLocation) +{ + //UE_LOG(LogDisplayClusterRender, Verbose, TEXT("CalculateStereoViewOffset")); + + check(IsInGameThread()); + check(WorldToMeters > 0.f); + + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("OLD ViewLoc: %s, ViewRot: %s"), *ViewLocation.ToString(), *ViewRotation.ToString()); + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WorldToMeters: %f"), WorldToMeters); + + CurrentWorldToMeters = WorldToMeters; + + // View vector must be orthogonal to the projection plane. + ViewRotation = ProjectionScreenRot; + + const float ScaledEyeDist = EyeDist * CurrentWorldToMeters; + const float EyeOffset = ScaledEyeDist / 2.f; + const float PassOffset = (StereoPassType == EStereoscopicPass::eSSP_LEFT_EYE ? -EyeOffset : EyeOffset); + const float PassOffsetSwap = (bEyeSwap == true ? -PassOffset : PassOffset); + + // offset eye position along Y (right) axis of camera + UDisplayClusterCameraComponent* pCamera = GDisplayCluster->GetPrivateGameMgr()->GetActiveCamera(); + if(pCamera) + { + const FString nodeId = GDisplayCluster->GetPrivateClusterMgr()->GetNodeId(); + const FQuat eyeQuat = pCamera->GetComponentQuat(); + ViewLocation += eyeQuat.RotateVector(FVector(0.0f, nodeId.Contains("LE") ? -EyeOffset : EyeOffset, 0.0f)); + } + + const int eyeIdx = (StereoPassType == EStereoscopicPass::eSSP_LEFT_EYE ? 0 : 1); + EyeLoc[eyeIdx] = ViewLocation; + EyeRot[eyeIdx] = ViewRotation; + + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("NEW ViewLoc: %s, ViewRot: %s"), *ViewLocation.ToString(), *ViewRotation.ToString()); +} + + +FMatrix FDisplayClusterDeviceBase::GetStereoProjectionMatrix(const enum EStereoscopicPass StereoPassType) const +{ + //UE_LOG(LogDisplayClusterRender, Verbose, TEXT("GetStereoProjectionMatrix")); + + check(IsInGameThread()); + check(StereoPassType != EStereoscopicPass::eSSP_FULL); + + const float n = NearClipPlane; + const float f = FarClipPlane; + + // Half-size + const float hw = ProjectionScreenSize.X / 2.f * CurrentWorldToMeters; + const float hh = ProjectionScreenSize.Y / 2.f * CurrentWorldToMeters; + + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("StereoProjectionMatrix math: hw:%f hh:%f"), hw, hh); + + // Screen corners + const FVector pa = ProjectionScreenLoc + ProjectionScreenRot.Quaternion().RotateVector(GetProjectionScreenGeometryLBC(StereoPassType, hw, hh)); // left bottom corner + const FVector pb = ProjectionScreenLoc + ProjectionScreenRot.Quaternion().RotateVector(GetProjectionScreenGeometryRBC(StereoPassType, hw, hh)); // right bottom corner + const FVector pc = ProjectionScreenLoc + ProjectionScreenRot.Quaternion().RotateVector(GetProjectionScreenGeometryLTC(StereoPassType, hw, hh)); // left top corner + + // Screen vectors + FVector vr = pb - pa; // lb->rb normilized vector, right axis of projection screen + vr.Normalize(); + FVector vu = pc - pa; // lb->lt normilized vector, up axis of projection screen + vu.Normalize(); + FVector vn = -FVector::CrossProduct(vr, vu); // Projection plane normal. Use minus because of left-handed coordinate system + vn.Normalize(); + + const int eyeIdx = (StereoPassType == EStereoscopicPass::eSSP_LEFT_EYE ? 0 : 1); + const FVector pe = EyeLoc[eyeIdx]; + const FVector va = pa - pe; // camera -> lb + const FVector vb = pb - pe; // camera -> rb + const FVector vc = pc - pe; // camera -> lt + + const float d = -FVector::DotProduct(va, vn); // distance from eye to screen + const float ndifd = n / d; + const float l = FVector::DotProduct(vr, va) * ndifd; // distance to left screen edge + const float r = FVector::DotProduct(vr, vb) * ndifd; // distance to right screen edge + const float b = FVector::DotProduct(vu, va) * ndifd; // distance to bottom screen edge + const float t = FVector::DotProduct(vu, vc) * ndifd; // distance to top screen edge + + const float mx = 2.f * n / (r - l); + const float my = 2.f * n / (t - b); + const float ma = -(r + l) / (r - l); + const float mb = -(t + b) / (t - b); + const float mc = f / (f - n); + const float md = -(f * n) / (f - n); + const float me = 1.f; + + // Normal LHS + const FMatrix pm = FMatrix( + FPlane(mx, 0, 0, 0), + FPlane(0, my, 0, 0), + FPlane(ma, mb, mc, me), + FPlane(0, 0, md, 0)); + + // Invert Z-axis (UE4 uses Z-inverted LHS) + const FMatrix flipZ = FMatrix( + FPlane(1, 0, 0, 0), + FPlane(0, 1, 0, 0), + FPlane(0, 0, -1, 0), + FPlane(0, 0, 1, 1)); + + const FMatrix result(pm * flipZ); + + return result; +} + +void FDisplayClusterDeviceBase::InitCanvasFromView(class FSceneView* InView, class UCanvas* Canvas) +{ + //UE_LOG(LogDisplayClusterRender, Verbose, TEXT("InitCanvasFromView")); +} + +void FDisplayClusterDeviceBase::UpdateViewport(bool bUseSeparateRenderTarget, const class FViewport& Viewport, class SViewport* ViewportWidget) +{ + //UE_LOG(LogDisplayClusterRender, Verbose, TEXT("UpdateViewport")); + check(IsInGameThread()); + + // Update projection screen data + UpdateProjectionScreenDataForThisFrame(); + + // Save current dimensions + ViewportSize = Viewport.GetSizeXY(); + BackBuffSize = Viewport.GetRenderTargetTextureSizeXY(); + + // If no custom area specified the full viewport area will be used + if (ViewportArea.IsValid() == false) + { + ViewportArea.SetLocation(FIntPoint::ZeroValue); + ViewportArea.SetSize(Viewport.GetSizeXY()); + } + + // Store viewport + CurrentViewport = (FViewport*)&Viewport; + Viewport.GetViewportRHI()->SetCustomPresent(this); +} + +void FDisplayClusterDeviceBase::CalculateRenderTargetSize(const class FViewport& Viewport, uint32& InOutSizeX, uint32& InOutSizeY) +{ + //UE_LOG(LogDisplayClusterRender, Log, TEXT("FDisplayClusterDeviceBase::CalculateRenderTargetSize")); + check(IsInGameThread()); + + InOutSizeX = Viewport.GetSizeXY().X; + // Add one pixel height line for right eye (will be skipped on copy) + InOutSizeY = Viewport.GetSizeXY().Y; + + check(InOutSizeX > 0 && InOutSizeY > 0); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FRHICustomPresent +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterDeviceBase::OnBackBufferResize() +{ + UE_LOG(LogDisplayClusterRender, Verbose, TEXT("OnBackBufferResize")); + + //@todo: see comment below + // if we are in the middle of rendering: prevent from calling EndFrame + //if (RenderContext.IsValid()) + //{ + // RenderContext->bFrameBegun = false; + //} +} + +bool FDisplayClusterDeviceBase::Present(int32& InOutSyncInterval) +{ + UE_LOG(LogDisplayClusterRender, Warning, TEXT("Present - default handler implementation. Check stereo device instantiation.")); + + // Default behavior + // Return false to force clean screen. This will indicate that something is going wrong + // or particular stereo device hasn't been implemented appropriately yet. + return false; +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterStereoDevice +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterDeviceBase::SetViewportArea(const FIntPoint& loc, const FIntPoint& size) +{ + UE_LOG(LogDisplayClusterRender, Log, TEXT("SetViewportArea: loc=%s size=%s"), *loc.ToString(), *size.ToString()); + + FScopeLock lock(&InternalsSyncScope); + ViewportArea.SetLocation(loc); + ViewportArea.SetSize(size); +} + +void FDisplayClusterDeviceBase::SetDesktopStereoParams(float FOV) +{ + UE_LOG(LogDisplayClusterRender, Log, TEXT("SetDesktopStereoParams: FOV=%f"), FOV); + //@todo +} + +void FDisplayClusterDeviceBase::SetDesktopStereoParams(const FVector2D& screenSize, const FIntPoint& screenRes, float screenDist) +{ + UE_LOG(LogDisplayClusterRender, Log, TEXT("SetDesktopStereoParams")); + + FVector2D size = screenSize; + float dist = screenDist; + + //@todo: +} + +void FDisplayClusterDeviceBase::SetInterpupillaryDistance(float dist) +{ + UE_LOG(LogDisplayClusterRender, Log, TEXT("SetInterpupillaryDistance: %f"), dist); + FScopeLock lock(&InternalsSyncScope); + EyeDist = dist; +} + +float FDisplayClusterDeviceBase::GetInterpupillaryDistance() const +{ + UE_LOG(LogDisplayClusterRender, Verbose, TEXT("GetInterpupillaryDistance: %f"), EyeDist); + FScopeLock lock(&InternalsSyncScope); + return EyeDist; +} + +void FDisplayClusterDeviceBase::SetEyesSwap(bool swap) +{ + UE_LOG(LogDisplayClusterRender, Log, TEXT("SetEyesSwap: %s"), DisplayClusterHelpers::str::BoolToStr(swap)); + FScopeLock lock(&InternalsSyncScope); + bEyeSwap = swap; +} + +bool FDisplayClusterDeviceBase::GetEyesSwap() const +{ + UE_LOG(LogDisplayClusterRender, Verbose, TEXT("GetEyesSwap: %s"), DisplayClusterHelpers::str::BoolToStr(bEyeSwap)); + FScopeLock lock(&InternalsSyncScope); + return bEyeSwap; +} + +bool FDisplayClusterDeviceBase::ToggleEyesSwap() +{ + { + FScopeLock lock(&InternalsSyncScope); + bEyeSwap = !bEyeSwap; + } + + UE_LOG(LogDisplayClusterRender, Log, TEXT("ToggleEyesSwap: swap=%s"), DisplayClusterHelpers::str::BoolToStr(bEyeSwap)); + return bEyeSwap; +} + +void FDisplayClusterDeviceBase::SetSwapSyncPolicy(EDisplayClusterSwapSyncPolicy policy) +{ + UE_LOG(LogDisplayClusterRender, Log, TEXT("Swap sync policy: %d"), (int)policy); + + // Since not all our devices are opengl compatible in terms of implementation + // we have to perform some wrapping logic for the policies. + switch (policy) + { + // Policies below are available for any render device type + case EDisplayClusterSwapSyncPolicy::None: + SwapSyncPolicy = policy; + break; + + default: + UE_LOG(LogDisplayClusterRender, Error, TEXT("Unsupported policy type: %d"), (int)policy); + SwapSyncPolicy = EDisplayClusterSwapSyncPolicy::None; + break; + } +} + +EDisplayClusterSwapSyncPolicy FDisplayClusterDeviceBase::GetSwapSyncPolicy() const +{ + UE_LOG(LogDisplayClusterRender, Verbose, TEXT("GetSwapSyncPolicy: policy=%d"), (int)SwapSyncPolicy); + return SwapSyncPolicy; +} + +void FDisplayClusterDeviceBase::GetCullingDistance(float& NearDistance, float& FarDistance) const +{ + FScopeLock lock(&InternalsSyncScope); + NearDistance = NearClipPlane; + FarDistance = FarClipPlane; +} + +void FDisplayClusterDeviceBase::SetCullingDistance(float NearDistance, float FarDistance) +{ + UE_LOG(LogDisplayClusterRender, Log, TEXT("New culling distance: NCP=%f, FCP=%f"), NearDistance, FarDistance); + + FScopeLock lock(&InternalsSyncScope); + NearClipPlane = NearDistance; + FarClipPlane = FarDistance; +} diff --git a/Source/DisplayCluster/Private/Render/Devices/DisplayClusterDeviceBase.h b/Source/DisplayCluster/Private/Render/Devices/DisplayClusterDeviceBase.h new file mode 100644 index 0000000..2a9e8d9 --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/DisplayClusterDeviceBase.h @@ -0,0 +1,202 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" + +#include "RHI.h" +#include "RHIResources.h" +#include "StereoRendering.h" +#include "StereoRenderTargetManager.h" + +#include "Render/IDisplayClusterStereoDevice.h" +#include "Render/Devices/DisplayClusterViewportArea.h" + + +/** + * Abstract render device + */ +class FDisplayClusterDeviceBase + : public IStereoRendering + , public IStereoRenderTargetManager + , public IDisplayClusterStereoDevice + , public FRHICustomPresent +{ +public: + FDisplayClusterDeviceBase(); + virtual ~FDisplayClusterDeviceBase(); + +public: + virtual bool Initialize(); + +protected: + + inline uint32 GetSwapInt() const + { return SwapInterval; } + +protected: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IStereoRendering + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool IsStereoEnabled() const override; + virtual bool IsStereoEnabledOnNextFrame() const override; + virtual bool EnableStereo(bool stereo = true) override; + virtual void AdjustViewRect(enum EStereoscopicPass StereoPass, int32& X, int32& Y, uint32& SizeX, uint32& SizeY) const override; + virtual void CalculateStereoViewOffset(const enum EStereoscopicPass StereoPassType, FRotator& ViewRotation, const float WorldToMeters, FVector& ViewLocation) override; + virtual FMatrix GetStereoProjectionMatrix(const enum EStereoscopicPass StereoPassType) const override; + virtual void InitCanvasFromView(class FSceneView* InView, class UCanvas* Canvas) override; + virtual IStereoRenderTargetManager* GetRenderTargetManager() override + { return this; } + +protected: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IStereoRenderTargetManager + ////////////////////////////////////////////////////////////////////////////////////////////// + /** + * Whether a separate render target should be used or not. + * In case the stereo rendering implementation does not require special handling of separate render targets + * at all, it can leave out implementing this interface completely and simply let the default implementation + * of IStereoRendering::GetRenderTargetManager() return nullptr. + */ + virtual bool ShouldUseSeparateRenderTarget() const override + { return false; } + + /** + * Updates viewport for direct rendering of distortion. Should be called on a game thread. + * + * @param bUseSeparateRenderTarget Set to true if a separate render target will be used. Can potentiallt be true even if ShouldUseSeparateRenderTarget() returned false earlier. + * @param Viewport The Viewport instance calling this method. + * @param ViewportWidget (optional) The Viewport widget containing the view. Can be used to access SWindow object. + */ + virtual void UpdateViewport(bool bUseSeparateRenderTarget, const class FViewport& Viewport, class SViewport* ViewportWidget = nullptr) override; + + /** + * Calculates dimensions of the render target texture for direct rendering of distortion. + */ + virtual void CalculateRenderTargetSize(const class FViewport& Viewport, uint32& InOutSizeX, uint32& InOutSizeY) override; + + /** + * Returns true, if render target texture must be re-calculated. + */ + virtual bool NeedReAllocateViewportRenderTarget(const class FViewport& Viewport) override + { return false; } + + /** + * Returns true, if render target texture must be re-calculated. + */ + virtual bool NeedReAllocateDepthTexture(const TRefCountPtr<struct IPooledRenderTarget>& DepthTarget) override + { return false; } + + /** + * Returns number of required buffered frames. + */ + virtual uint32 GetNumberOfBufferedFrames() const override + { return 1; } + + /** + * Allocates a render target texture. + * The default implementation always return false to indicate that the default texture allocation should be used instead. + * + * @param Index (in) index of the buffer, changing from 0 to GetNumberOfBufferedFrames() + * @return true, if texture was allocated; false, if the default texture allocation should be used. + */ + virtual bool AllocateRenderTargetTexture(uint32 Index, uint32 SizeX, uint32 SizeY, uint8 Format, uint32 NumMips, uint32 Flags, uint32 TargetableTextureFlags, FTexture2DRHIRef& OutTargetableTexture, FTexture2DRHIRef& OutShaderResourceTexture, uint32 NumSamples = 1) override + { return false; } + + /** + * Allocates a depth texture. + * + * @param Index (in) index of the buffer, changing from 0 to GetNumberOfBufferedFrames() + * @return true, if texture was allocated; false, if the default texture allocation should be used. + */ + virtual bool AllocateDepthTexture(uint32 Index, uint32 SizeX, uint32 SizeY, uint8 Format, uint32 NumMips, uint32 Flags, uint32 TargetableTextureFlags, FTexture2DRHIRef& OutTargetableTexture, FTexture2DRHIRef& OutShaderResourceTexture, uint32 NumSamples = 1) { return false; } + +protected: + ////////////////////////////////////////////////////////////////////////////////////////////// + // FRHICustomPresent + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void OnBackBufferResize() override; + // Called from render thread to see if a native present will be requested for this frame. + // @return true if native Present will be requested for this frame; false otherwise. Must + // match value subsequently returned by Present for this frame. + virtual bool NeedsNativePresent() override + { return true; } + + virtual bool Present(int32& InOutSyncInterval) override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterStereoDevice + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void SetViewportArea(const FIntPoint& loc, const FIntPoint& size) override; + virtual void SetDesktopStereoParams(float FOV) override; + virtual void SetDesktopStereoParams(const FVector2D& screenSize, const FIntPoint& screenRes, float screenDist) override; + virtual void SetInterpupillaryDistance(float dist) override; + virtual float GetInterpupillaryDistance() const override; + virtual void SetEyesSwap(bool swap) override; + virtual bool GetEyesSwap() const override; + virtual bool ToggleEyesSwap() override; + virtual void SetSwapSyncPolicy(EDisplayClusterSwapSyncPolicy policy) override; + virtual EDisplayClusterSwapSyncPolicy GetSwapSyncPolicy() const override; + virtual void GetCullingDistance(float& NearDistance, float& FarDistance) const override; + virtual void SetCullingDistance(float NearDistance, float FarDistance) override; + +protected: + // Implements buffer swap synchronization mechanism + virtual void WaitForBufferSwapSync(int32& InOutSyncInterval); + // Retrieves the projections screen data for current frame + void UpdateProjectionScreenDataForThisFrame(); + + // Custom projection screen geometry (hw - half-width, hh - half-height of projection screen) + // Left bottom corner (from camera point view) + virtual FVector GetProjectionScreenGeometryLBC(const enum EStereoscopicPass StereoPassType, const float& hw, const float& hh) const + { return FVector(0.f, -hw, -hh);} + + // Right bottom corner (from camera point view) + virtual FVector GetProjectionScreenGeometryRBC(const enum EStereoscopicPass StereoPassType, const float& hw, const float& hh) const + { return FVector(0.f, hw, -hh);} + + // Left top corner (from camera point view) + virtual FVector GetProjectionScreenGeometryLTC(const enum EStereoscopicPass StereoPassType, const float& hw, const float& hh) const + { return FVector(0.f, -hw, hh);} + +protected: + void exec_BarrierWait(); + +protected: + // Data access synchronization + mutable FCriticalSection InternalsSyncScope; + + // Viewport and back buffer size + FIntPoint BackBuffSize = { 0, 0 }; + FIntPoint ViewportSize = { 0, 0 }; + + // Stereo parameters + float EyeDist = 0.064f; // meters + bool bEyeSwap = false; + FVector EyeLoc[2] = { FVector::ZeroVector, FVector::ZeroVector }; + FRotator EyeRot[2] = { FRotator::ZeroRotator, FRotator::ZeroRotator }; + + // Current world scale + float CurrentWorldToMeters = 100.f; + + // Viewport area settings + FDisplayClusterViewportArea ViewportArea; + + // Clipping plane + float NearClipPlane = GNearClippingPlane; + float FarClipPlane = 2000000.f; + + // Projection screen data + FVector ProjectionScreenLoc; + FRotator ProjectionScreenRot; + FVector2D ProjectionScreenSize; + + uint32 SwapInterval = 1; + + // Swap sync policy + EDisplayClusterSwapSyncPolicy SwapSyncPolicy = EDisplayClusterSwapSyncPolicy::None; + +protected: + FViewport* CurrentViewport; +}; diff --git a/Source/DisplayCluster/Private/Render/Devices/DisplayClusterDeviceInternals.cpp b/Source/DisplayCluster/Private/Render/Devices/DisplayClusterDeviceInternals.cpp new file mode 100644 index 0000000..c9faa4a --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/DisplayClusterDeviceInternals.cpp @@ -0,0 +1,110 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterDeviceInternals.h" + + +#if PLATFORM_WINDOWS +PFNWGLSWAPINTERVALEXTPROC DisplayCluster_wglSwapIntervalEXT_ProcAddress = nullptr; + +PFNWGLJOINSWAPGROUPNVPROC DisplayCluster_wglJoinSwapGroupNV_ProcAddress = nullptr; +PFNWGLBINDSWAPBARRIERNVPROC DisplayCluster_wglBindSwapBarrierNV_ProcAddress = nullptr; +PFNWGLQUERYSWAPGROUPNVPROC DisplayCluster_wglQuerySwapGroupNV_ProcAddress = nullptr; +PFNWGLQUERYMAXSWAPGROUPSNVPROC DisplayCluster_wglQueryMaxSwapGroupsNV_ProcAddress = nullptr; +PFNWGLQUERYFRAMECOUNTNVPROC DisplayCluster_wglQueryFrameCountNV_ProcAddress = nullptr; +PFNWGLRESETFRAMECOUNTNVPROC DisplayCluster_wglResetFrameCountNV_ProcAddress = nullptr; + + +// Copy/pasted from OpenGLDrv.cpp +static void DisplayClusterGetExtensionsString(FString& ExtensionsString) +{ + GLint ExtensionCount = 0; + ExtensionsString = TEXT(""); + if (FOpenGL::SupportsIndexedExtensions()) + { + glGetIntegerv(GL_NUM_EXTENSIONS, &ExtensionCount); + for (int32 ExtensionIndex = 0; ExtensionIndex < ExtensionCount; ++ExtensionIndex) + { + const ANSICHAR* ExtensionString = FOpenGL::GetStringIndexed(GL_EXTENSIONS, ExtensionIndex); + + ExtensionsString += TEXT(" "); + ExtensionsString += ANSI_TO_TCHAR(ExtensionString); + } + } + else + { + const ANSICHAR* GlGetStringOutput = (const ANSICHAR*)glGetString(GL_EXTENSIONS); + if (GlGetStringOutput) + { + ExtensionsString += GlGetStringOutput; + ExtensionsString += TEXT(" "); + } + } +} + +// https://www.opengl.org/wiki/Load_OpenGL_Functions +static void* DisplayClusterGetGLFuncAddress(const char *name) +{ + HMODULE module = LoadLibraryA("opengl32.dll"); + if (module) + { + return (void *)GetProcAddress(module, name); + } + else + { + return nullptr; + } +} + +// Copy/pasted from OpenGLDevice.cpp +// static void InitRHICapabilitiesForGL() +void DisplayClusterInitCapabilitiesForGL() +{ + bool bWindowsSwapControlExtensionPresent = false; + { + FString ExtensionsString; + DisplayClusterGetExtensionsString(ExtensionsString); + + if (ExtensionsString.Contains(TEXT("WGL_EXT_swap_control"))) + { + bWindowsSwapControlExtensionPresent = true; + } + } + +#pragma warning(push) +#pragma warning(disable:4191) + if (bWindowsSwapControlExtensionPresent) + { + DisplayCluster_wglSwapIntervalEXT_ProcAddress = (PFNWGLSWAPINTERVALEXTPROC)wglGetProcAddress("wglSwapIntervalEXT"); + } + + DisplayCluster_wglJoinSwapGroupNV_ProcAddress = (PFNWGLJOINSWAPGROUPNVPROC)wglGetProcAddress("wglJoinSwapGroupNV"); + DisplayCluster_wglBindSwapBarrierNV_ProcAddress = (PFNWGLBINDSWAPBARRIERNVPROC)wglGetProcAddress("wglBindSwapBarrierNV"); + DisplayCluster_wglQuerySwapGroupNV_ProcAddress = (PFNWGLQUERYSWAPGROUPNVPROC)wglGetProcAddress("wglQuerySwapGroupNV"); + DisplayCluster_wglQueryMaxSwapGroupsNV_ProcAddress = (PFNWGLQUERYMAXSWAPGROUPSNVPROC)wglGetProcAddress("wglQueryMaxSwapGroupsNV"); + DisplayCluster_wglQueryFrameCountNV_ProcAddress = (PFNWGLQUERYFRAMECOUNTNVPROC)wglGetProcAddress("wglQueryFrameCountNV"); + DisplayCluster_wglResetFrameCountNV_ProcAddress = (PFNWGLRESETFRAMECOUNTNVPROC)wglGetProcAddress("wglResetFrameCountNV"); + +#pragma warning(pop) +} +#endif + + + +#if PLATFORM_LINUX +GLX_JoinSwapGroupNV_Func DisplayCluster_glXJoinSwapGroupNV_ProcAddress = nullptr; +GLX_BindSwapBarrierNV_Func DisplayCluster_glXBindSwapBarrierNV_ProcAddress = nullptr; +GLX_QuerySwapGroupNV_Func DisplayCluster_glXQuerySwapGroupNV_ProcAddress = nullptr; +GLX_QueryMaxSwapGroupsNV_Func DisplayCluster_glXQueryMaxSwapGroupsNV_ProcAddress = nullptr; +GLX_QueryFrameCountNV_Func DisplayCluster_glXQueryFrameCountNV_ProcAddress = nullptr; +GLX_ResetFrameCountNV_Func DisplayCluster_glXResetFrameCountNV_ProcAddress = nullptr; + +void DisplayClusterInitCapabilitiesForGL() +{ + DisplayCluster_glXJoinSwapGroupNV_ProcAddress = (GLX_JoinSwapGroupNV_Func) SDL_GL_GetProcAddress("glXJoinSwapGroupNV"); + DisplayCluster_glXBindSwapBarrierNV_ProcAddress = (GLX_BindSwapBarrierNV_Func) SDL_GL_GetProcAddress("glXBindSwapBarrierNV"); + DisplayCluster_glXQuerySwapGroupNV_ProcAddress = (GLX_QuerySwapGroupNV_Func) SDL_GL_GetProcAddress("glXQuerySwapGroupNV"); + DisplayCluster_glXQueryMaxSwapGroupsNV_ProcAddress = (GLX_QueryMaxSwapGroupsNV_Func) SDL_GL_GetProcAddress("glXQueryMaxSwapGroupsNV"); + DisplayCluster_glXQueryFrameCountNV_ProcAddress = (GLX_QueryFrameCountNV_Func) SDL_GL_GetProcAddress("glXQueryFrameCountNV"); + DisplayCluster_glXResetFrameCountNV_ProcAddress = (GLX_ResetFrameCountNV_Func) SDL_GL_GetProcAddress("glXResetFrameCountNV"); +} +#endif diff --git a/Source/DisplayCluster/Private/Render/Devices/DisplayClusterDeviceInternals.h b/Source/DisplayCluster/Private/Render/Devices/DisplayClusterDeviceInternals.h new file mode 100644 index 0000000..d350627 --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/DisplayClusterDeviceInternals.h @@ -0,0 +1,133 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" + +#if PLATFORM_WINDOWS + +#include "D3D11RHIPrivate.h" +#include "D3D11Util.h" + +//------------------------------------------------------------------------------------------------- +// D3D12 +//------------------------------------------------------------------------------------------------- + +#define GetD3D11CubeFace GetD3D12CubeFace +#define VerifyD3D11Result VerifyD3D12Result +#define GetD3D11TextureFromRHITexture GetD3D12TextureFromRHITexture +#define FRingAllocation FRingAllocation_D3D12 +#define GetRenderTargetFormat GetRenderTargetFormat_D3D12 +#define ED3D11ShaderOffsetBuffer ED3D12ShaderOffsetBuffer +#define FindShaderResourceDXGIFormat FindShaderResourceDXGIFormat_D3D12 +#define FindUnorderedAccessDXGIFormat FindUnorderedAccessDXGIFormat_D3D12 +#define FindDepthStencilDXGIFormat FindDepthStencilDXGIFormat_D3D12 +#define HasStencilBits HasStencilBits_D3D12 +#define FVector4VertexDeclaration FVector4VertexDeclaration_D3D12 +#define GLOBAL_CONSTANT_BUFFER_INDEX GLOBAL_CONSTANT_BUFFER_INDEX_D3D12 +#define MAX_CONSTANT_BUFFER_SLOTS MAX_CONSTANT_BUFFER_SLOTS_D3D12 +#define FD3DGPUProfiler FD3D12GPUProfiler +#define FRangeAllocator FRangeAllocator_D3D12 + +#include "D3D12RHIPrivate.h" +#include "D3D12Util.h" + +#undef GetD3D11CubeFace +#undef VerifyD3D11Result +#undef GetD3D11TextureFromRHITexture +#undef FRingAllocation +#undef GetRenderTargetFormat +#undef ED3D11ShaderOffsetBuffer +#undef FindShaderResourceDXGIFormat +#undef FindUnorderedAccessDXGIFormat +#undef FindDepthStencilDXGIFormat +#undef HasStencilBits +#undef FVector4VertexDeclaration +#undef GLOBAL_CONSTANT_BUFFER_INDEX +#undef MAX_CONSTANT_BUFFER_SLOTS +#undef FD3DGPUProfiler +#undef FRangeAllocator + + +#include "../../OpenGLDrv/Public/OpenGLDrv.h" +#include "../../OpenGLDrv/Public/OpenGLResources.h" +#include "OpenGLResources.h" + +extern PFNWGLSWAPINTERVALEXTPROC DisplayCluster_wglSwapIntervalEXT_ProcAddress; + +extern PFNWGLJOINSWAPGROUPNVPROC DisplayCluster_wglJoinSwapGroupNV_ProcAddress; +extern PFNWGLBINDSWAPBARRIERNVPROC DisplayCluster_wglBindSwapBarrierNV_ProcAddress; +extern PFNWGLQUERYSWAPGROUPNVPROC DisplayCluster_wglQuerySwapGroupNV_ProcAddress; +extern PFNWGLQUERYMAXSWAPGROUPSNVPROC DisplayCluster_wglQueryMaxSwapGroupsNV_ProcAddress; +extern PFNWGLQUERYFRAMECOUNTNVPROC DisplayCluster_wglQueryFrameCountNV_ProcAddress; +extern PFNWGLRESETFRAMECOUNTNVPROC DisplayCluster_wglResetFrameCountNV_ProcAddress; + + +void DisplayClusterInitCapabilitiesForGL(); + +// This is redeclaration of WINDOWS specific FPlatformOpenGLContext +// which is declared in private OpenGLWindows.cpp file. +//@note: Keep it synced with original type (Engine\Source\Runtime\OpenGLDrv\Private\Windows\OpenGLWindows.cpp) +struct FPlatformOpenGLContext +{ + HWND WindowHandle; + HDC DeviceContext; + HGLRC OpenGLContext; + bool bReleaseWindowOnDestroy; + int32 SyncInterval; + GLuint ViewportFramebuffer; + GLuint VertexArrayObject; // one has to be generated and set for each context (OpenGL 3.2 Core requirements) + GLuint BackBufferResource; + GLenum BackBufferTarget; +}; +#endif + + + +#if PLATFORM_LINUX + +#define SDL_VIDEO_DRIVER_X11 +#include "SDL.h" +#include "SDL_syswm.h" + +#include "../../OpenGLDrv/Public/OpenGLDrv.h" +#include "../../OpenGLDrv/Public/OpenGLResources.h" +#include "OpenGLResources.h" + +typedef bool (*GLX_JoinSwapGroupNV_Func) (Display* display, Window drawable, GLuint group); +typedef bool (*GLX_BindSwapBarrierNV_Func) (Display* display, GLuint group, GLuint barrier); +typedef bool (*GLX_QuerySwapGroupNV_Func) (Display* display, Window drawable, GLuint* group, GLuint *barrier); +typedef bool (*GLX_QueryMaxSwapGroupsNV_Func) (Display* display, int screen, GLuint* maxGroup, GLuint* maxBarriers); +typedef bool (*GLX_QueryFrameCountNV_Func) (Display* display, int screen, GLuint* count); +typedef bool (*GLX_ResetFrameCountNV_Func) (Display* display, int screen); + +extern GLX_JoinSwapGroupNV_Func DisplayCluster_glXJoinSwapGroupNV_ProcAddress; +extern GLX_BindSwapBarrierNV_Func DisplayCluster_glXBindSwapBarrierNV_ProcAddress; +extern GLX_QuerySwapGroupNV_Func DisplayCluster_glXQuerySwapGroupNV_ProcAddress; +extern GLX_QueryMaxSwapGroupsNV_Func DisplayCluster_glXQueryMaxSwapGroupsNV_ProcAddress; +extern GLX_QueryFrameCountNV_Func DisplayCluster_glXQueryFrameCountNV_ProcAddress; +extern GLX_ResetFrameCountNV_Func DisplayCluster_glXResetFrameCountNV_ProcAddress; + + +void DisplayClusterInitCapabilitiesForGL(); + +typedef SDL_Window* SDL_HWindow; +typedef SDL_GLContext SDL_HGLContext; + +// This is redeclaration of LINUX specific FPlatformOpenGLContext +// which is declared in private OpenGLWindows.cpp file. +//@note: Keep it synced with original type (Engine\Source\Runtime\OpenGLDrv\Private\Linux\OpenGLLinux.cpp) +struct FPlatformOpenGLContext +{ + SDL_HWindow hWnd; + SDL_HGLContext hGLContext; // this is a (void*) pointer + + bool bReleaseWindowOnDestroy; + int32 SyncInterval; + GLuint ViewportFramebuffer; + GLuint VertexArrayObject; // one has to be generated and set for each context (OpenGL 3.2 Core requirements) +}; + +//@note: Place here any Linux targeted device implementations +#endif + diff --git a/Source/DisplayCluster/Private/Render/Devices/DisplayClusterNativePresentHandler.cpp b/Source/DisplayCluster/Private/Render/Devices/DisplayClusterNativePresentHandler.cpp new file mode 100644 index 0000000..d5152cd --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/DisplayClusterNativePresentHandler.cpp @@ -0,0 +1,21 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterNativePresentHandler.h" + + +FDisplayClusterNativePresentHandler::FDisplayClusterNativePresentHandler() +{ +} + +FDisplayClusterNativePresentHandler::~FDisplayClusterNativePresentHandler() +{ +} + + +bool FDisplayClusterNativePresentHandler::Present(int32& InOutSyncInterval) +{ + exec_BarrierWait(); + InOutSyncInterval = 1; + + return true; +} diff --git a/Source/DisplayCluster/Private/Render/Devices/DisplayClusterNativePresentHandler.h b/Source/DisplayCluster/Private/Render/Devices/DisplayClusterNativePresentHandler.h new file mode 100644 index 0000000..27fe184 --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/DisplayClusterNativePresentHandler.h @@ -0,0 +1,22 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Render/Devices/DisplayClusterDeviceBase.h" + + +/** + * Present stub to allow to sycnhronize a cluster with native rendering pipeline (no nDisplay stereo devices used) + */ +class FDisplayClusterNativePresentHandler : public FDisplayClusterDeviceBase +{ +public: + FDisplayClusterNativePresentHandler(); + virtual ~FDisplayClusterNativePresentHandler(); + +protected: + ////////////////////////////////////////////////////////////////////////////////////////////// + // FRHICustomPresent + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool Present(int32& InOutSyncInterval) override; +}; diff --git a/Source/DisplayCluster/Private/Render/Devices/DisplayClusterViewportArea.h b/Source/DisplayCluster/Private/Render/Devices/DisplayClusterViewportArea.h new file mode 100644 index 0000000..97c33fb --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/DisplayClusterViewportArea.h @@ -0,0 +1,52 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + + +/** + * Viewport area + */ +class FDisplayClusterViewportArea +{ +public: + FDisplayClusterViewportArea() : + Location(FIntPoint::ZeroValue), + Size(FIntPoint::ZeroValue) + { } + + FDisplayClusterViewportArea(const FIntPoint& loc, const FIntPoint& size) : + Location(loc), + Size(size) + { } + + FDisplayClusterViewportArea(int32 x, int32 y, int32 w, int32 h) : + Location(FIntPoint(x, y)), + Size(FIntPoint(w, h)) + { } + +public: + bool IsValid() const + { return Size.X > 0 && Size.Y > 0; } + + FIntPoint GetLocation() const + { return Location; } + + FIntPoint GetSize() const + { return Size; } + + void SetLocation(const FIntPoint& loc) + { Location = loc; } + + void SetLocation(int32 x, int32 y) + { Location = FIntPoint(x, y); } + + void SetSize(const FIntPoint& size) + { Size = size; } + + void SetSize(int32 w, int32 h) + { Size = FIntPoint(w, h); } + +private: + FIntPoint Location; + FIntPoint Size; +}; diff --git a/Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicD3D11.cpp b/Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicD3D11.cpp new file mode 100644 index 0000000..bbfc37c --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicD3D11.cpp @@ -0,0 +1,43 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterDeviceMonoscopicD3D11.h" + +#if PLATFORM_WINDOWS +#include "D3D11Viewport.h" +#include "D3D11Resources.h" +#endif + + +FDisplayClusterDeviceMonoscopicD3D11::FDisplayClusterDeviceMonoscopicD3D11(): + FDisplayClusterDeviceQuadBufferStereoD3D11() +{ + +} + +FDisplayClusterDeviceMonoscopicD3D11::~FDisplayClusterDeviceMonoscopicD3D11() +{ + +} + +bool FDisplayClusterDeviceMonoscopicD3D11::Present(int32& InOutSyncInterval) +{ +#if PLATFORM_WINDOWS + FD3D11Viewport* viewport = static_cast<FD3D11Viewport*>(CurrentViewport->GetViewportRHI().GetReference()); + +#if !WITH_EDITOR + // Issue frame event + viewport->IssueFrameEvent(); + // Wait until GPU finish last frame commands + viewport->WaitForFrameEventCompletion(); +#endif + + // Sync all nodes + exec_BarrierWait(); + + IDXGISwapChain* swapchain = (IDXGISwapChain*)viewport->GetSwapChain(); + swapchain->Present(GetSwapInt(), 0); + +#endif + + return false; +} diff --git a/Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicD3D11.h b/Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicD3D11.h new file mode 100644 index 0000000..2ed075f --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicD3D11.h @@ -0,0 +1,31 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoD3D11.h" +#include "Render/Devices/DisplayClusterDeviceInternals.h" + + +/** + * Monoscopic emulation device (DirectX 11) + */ +class FDisplayClusterDeviceMonoscopicD3D11 : public FDisplayClusterDeviceQuadBufferStereoD3D11 +{ +public: + FDisplayClusterDeviceMonoscopicD3D11(); + virtual ~FDisplayClusterDeviceMonoscopicD3D11(); + +public: + virtual bool ShouldUseSeparateRenderTarget() const override + { return false; }; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IStereoRendering + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual int32 GetDesiredNumberOfViews(bool bStereoRequested) const override + { return 1; } + +protected: + virtual bool Present(int32& InOutSyncInterval) override; +}; diff --git a/Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicD3D12.cpp b/Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicD3D12.cpp new file mode 100644 index 0000000..5ef5f76 --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicD3D12.cpp @@ -0,0 +1,42 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterDeviceMonoscopicD3D12.h" + +#if PLATFORM_WINDOWS +#include "D3D12Viewport.h" +#include "D3D12Resources.h" +#endif + + +FDisplayClusterDeviceMonoscopicD3D12::FDisplayClusterDeviceMonoscopicD3D12(): + FDisplayClusterDeviceQuadBufferStereoD3D12() +{ + +} + +FDisplayClusterDeviceMonoscopicD3D12::~FDisplayClusterDeviceMonoscopicD3D12() +{ + +} + +bool FDisplayClusterDeviceMonoscopicD3D12::Present(int32& InOutSyncInterval) +{ +#if PLATFORM_WINDOWS + FD3D12Viewport* viewport = static_cast<FD3D12Viewport*>(CurrentViewport->GetViewportRHI().GetReference()); + +#if !WITH_EDITOR + // Issue frame event + viewport->IssueFrameEvent(); + // Wait until GPU finish last frame commands + viewport->WaitForFrameEventCompletion(); +#endif + + // Sync all nodes + exec_BarrierWait(); + + IDXGISwapChain1* swapchain1 = (IDXGISwapChain1*)viewport->GetSwapChain(); + swapchain1->Present(GetSwapInt(), 0); +#endif + + return false; +} diff --git a/Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicD3D12.h b/Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicD3D12.h new file mode 100644 index 0000000..6700c48 --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicD3D12.h @@ -0,0 +1,32 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoD3D12.h" +#include "Render/Devices/DisplayClusterDeviceInternals.h" + + +/** + * Monoscopic emulation device (DirectX 12) + */ +class FDisplayClusterDeviceMonoscopicD3D12 : public FDisplayClusterDeviceQuadBufferStereoD3D12 +{ +public: + FDisplayClusterDeviceMonoscopicD3D12(); + virtual ~FDisplayClusterDeviceMonoscopicD3D12(); + +public: + virtual bool ShouldUseSeparateRenderTarget() const override + { return false; } + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IStereoRendering + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual int32 GetDesiredNumberOfViews(bool bStereoRequested) const override + { return 1; } + +protected: + virtual bool Present(int32& InOutSyncInterval) override; +}; diff --git a/Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicOpenGL.cpp b/Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicOpenGL.cpp new file mode 100644 index 0000000..238d563 --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicOpenGL.cpp @@ -0,0 +1,89 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterDeviceMonoscopicOpenGL.h" +#include "Render/Devices/DisplayClusterDeviceInternals.h" + +#include "Misc/DisplayClusterLog.h" + + + +FDisplayClusterDeviceMonoscopicOpenGL::FDisplayClusterDeviceMonoscopicOpenGL() +{ + +} + +FDisplayClusterDeviceMonoscopicOpenGL::~FDisplayClusterDeviceMonoscopicOpenGL() +{ + +} + +bool FDisplayClusterDeviceMonoscopicOpenGL::NeedReAllocateViewportRenderTarget(const class FViewport& Viewport) +{ + return FDisplayClusterDeviceBase::NeedReAllocateViewportRenderTarget(Viewport); +} + +void FDisplayClusterDeviceMonoscopicOpenGL::CalculateRenderTargetSize(const class FViewport& Viewport, uint32& InOutSizeX, uint32& InOutSizeY) +{ + FDisplayClusterDeviceBase::CalculateRenderTargetSize(Viewport, InOutSizeX, InOutSizeY); +} + +void FDisplayClusterDeviceMonoscopicOpenGL::AdjustViewRect(enum EStereoscopicPass StereoPass, int32& X, int32& Y, uint32& SizeX, uint32& SizeY) const +{ + FDisplayClusterDeviceBase::AdjustViewRect(StereoPass, X, Y, SizeX, SizeY); +} + +EStereoscopicPass FDisplayClusterDeviceMonoscopicOpenGL::GetViewPassForIndex(bool bStereoRequested, uint32 ViewIndex) const +{ + if (ViewIndex == 0) + return EStereoscopicPass::eSSP_MONOSCOPIC_EYE; + else if (ViewIndex == 1) + return EStereoscopicPass::eSSP_LEFT_EYE; + else + return EStereoscopicPass::eSSP_FULL; +} + +bool FDisplayClusterDeviceMonoscopicOpenGL::IsStereoEyePass(EStereoscopicPass Pass) +{ + return Pass != EStereoscopicPass::eSSP_FULL; +} + +bool FDisplayClusterDeviceMonoscopicOpenGL::Present(int32& InOutSyncInterval) +{ + UE_LOG(LogDisplayClusterRender, Verbose, TEXT("FDisplayClusterDeviceQuadBufferStereoOpenGL::Present")); + + const int halfSizeX = BackBuffSize.X / 2; + const int dstX1 = 0; + const int dstX2 = halfSizeX; + + // Convert to left bottom origin and flip Y + const int dstY1 = ViewportSize.Y; + const int dstY2 = 0; + + FOpenGLViewport* pOglViewport = static_cast<FOpenGLViewport*>(CurrentViewport->GetViewportRHI().GetReference()); + check(pOglViewport); + FPlatformOpenGLContext* const pContext = pOglViewport->GetGLContext(); + +#if PLATFORM_WINDOWS + check(pContext && pContext->DeviceContext); +#elif PLATFORM_LINUX + check(pContext && pContext->hWnd); +#endif + + glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); + glDrawBuffer(GL_BACK); + + glBindFramebuffer(GL_READ_FRAMEBUFFER, pContext->ViewportFramebuffer); + glReadBuffer(GL_COLOR_ATTACHMENT0); + + glBlitFramebuffer( + 0, 0, halfSizeX, BackBuffSize.Y, + dstX1, dstY1, dstX2, dstY2, + GL_COLOR_BUFFER_BIT, + GL_NEAREST); + + // Perform buffers swap logic + SwapBuffers(pOglViewport, InOutSyncInterval); + REPORT_GL_END_BUFFER_EVENT_FOR_FRAME_DUMP(); + + return false; +} diff --git a/Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicOpenGL.h b/Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicOpenGL.h new file mode 100644 index 0000000..0703510 --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicOpenGL.h @@ -0,0 +1,38 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoOpenGL.h" +#include "Render/Devices/DisplayClusterDeviceInternals.h" + + +/** + * Monoscopic emulation device (OpenGL 3 and 4) + */ +class FDisplayClusterDeviceMonoscopicOpenGL : public FDisplayClusterDeviceQuadBufferStereoOpenGL +{ +public: + FDisplayClusterDeviceMonoscopicOpenGL(); + virtual ~FDisplayClusterDeviceMonoscopicOpenGL(); + +public: + virtual bool ShouldUseSeparateRenderTarget() const override + { return false; } + + virtual bool NeedReAllocateViewportRenderTarget(const class FViewport& Viewport) override; + virtual void CalculateRenderTargetSize(const class FViewport& Viewport, uint32& InOutSizeX, uint32& InOutSizeY) override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IStereoRendering + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual int32 GetDesiredNumberOfViews(bool bStereoRequested) const override + { return 1; } + + virtual void AdjustViewRect(enum EStereoscopicPass StereoPass, int32& X, int32& Y, uint32& SizeX, uint32& SizeY) const override; + virtual EStereoscopicPass GetViewPassForIndex(bool bStereoRequested, uint32 ViewIndex) const override; + virtual bool IsStereoEyePass(EStereoscopicPass Pass) override; + +protected: + virtual bool Present(int32& InOutSyncInterval) override; +}; diff --git a/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoBase.cpp b/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoBase.cpp new file mode 100644 index 0000000..36495cd --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoBase.cpp @@ -0,0 +1,93 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterDeviceQuadBufferStereoBase.h" + +#include "Render/Devices/DisplayClusterDeviceInternals.h" + +#include <utility> + + +FDisplayClusterDeviceQuadBufferStereoBase::FDisplayClusterDeviceQuadBufferStereoBase() : + FDisplayClusterDeviceBase() +{ +} + +FDisplayClusterDeviceQuadBufferStereoBase::~FDisplayClusterDeviceQuadBufferStereoBase() +{ +} + +bool FDisplayClusterDeviceQuadBufferStereoBase::NeedReAllocateViewportRenderTarget(const class FViewport& Viewport) +{ + //UE_LOG(LogDisplayClusterRender, Log, TEXT("FDisplayClusterDeviceMonoscopic::NeedReAllocateViewportRenderTarget")); + check(IsInGameThread()); + + const FIntPoint rtSize = Viewport.GetRenderTargetTextureSizeXY(); + uint32 newSizeX = rtSize.X; + uint32 newSizeY = rtSize.Y; + + // Perform size calculation + CalculateRenderTargetSize(Viewport, newSizeX, newSizeY); + + // Render target need to be re-allocated if its current size is invalid + if (newSizeX != rtSize.X || newSizeY != rtSize.Y) + { + return true; + } + + // No need to re-allocate + return false; +} + +void FDisplayClusterDeviceQuadBufferStereoBase::CalculateRenderTargetSize(const class FViewport& Viewport, uint32& InOutSizeX, uint32& InOutSizeY) +{ + check(IsInGameThread()); + + InOutSizeX = Viewport.GetSizeXY().X * 2; + InOutSizeY = Viewport.GetSizeXY().Y; + + check(InOutSizeX > 0 && InOutSizeY > 0); +} + + +bool FDisplayClusterDeviceQuadBufferStereoBase::ShouldUseSeparateRenderTarget() const +{ + return true; +} + +void FDisplayClusterDeviceQuadBufferStereoBase::AdjustViewRect(enum EStereoscopicPass StereoPass, int32& X, int32& Y, uint32& SizeX, uint32& SizeY) const +{ + const uint32 screentWidth = SizeX; + FDisplayClusterDeviceBase::AdjustViewRect(StereoPass, X, Y, SizeX, SizeY); + + if (StereoPass == EStereoscopicPass::eSSP_RIGHT_EYE) + { + X += screentWidth; + } +} + +/* +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterStereoDevice +////////////////////////////////////////////////////////////////////////////////////////////// +void FDisplayClusterDeviceQuadBufferStereoBase::SetSwapSyncPolicy(EDisplayClusterSwapSyncPolicy policy) +{ + FScopeLock lock(&InternalsSyncScope); + UE_LOG(LogDisplayClusterRender, Log, TEXT("Swap sync policy: %d"), (int)policy); + + switch (policy) + { + // Policies below are supported by all child implementations + case EDisplayClusterSwapSyncPolicy::SoftSwapSync: + case EDisplayClusterSwapSyncPolicy::NvSwapSync: + { + SwapSyncPolicy = policy; + break; + } + + default: + // Forward the policy type to the upper level + FDisplayClusterDeviceBase::SetSwapSyncPolicy(policy); + break; + } +} +*/ diff --git a/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoBase.h b/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoBase.h new file mode 100644 index 0000000..3f525b0 --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoBase.h @@ -0,0 +1,29 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Render/Devices/DisplayClusterDeviceBase.h" + + +/** + * Abstract frame sequenced active stereo device + */ +class FDisplayClusterDeviceQuadBufferStereoBase : public FDisplayClusterDeviceBase +{ +public: + FDisplayClusterDeviceQuadBufferStereoBase(); + virtual ~FDisplayClusterDeviceQuadBufferStereoBase(); + +protected: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IStereoRendering + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool NeedReAllocateViewportRenderTarget(const class FViewport& Viewport) override; + virtual void AdjustViewRect(enum EStereoscopicPass StereoPass, int32& X, int32& Y, uint32& SizeX, uint32& SizeY) const override; + virtual bool ShouldUseSeparateRenderTarget() const override; + virtual void CalculateRenderTargetSize(const class FViewport& Viewport, uint32& InOutSizeX, uint32& InOutSizeY) override; + +protected: + mutable FCriticalSection InternalsSyncScope; +}; diff --git a/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoD3D11.cpp b/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoD3D11.cpp new file mode 100644 index 0000000..e77e7d4 --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoD3D11.cpp @@ -0,0 +1,110 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterDeviceQuadBufferStereoD3D11.h" +#include "Render/Devices/DisplayClusterDeviceInternals.h" + +#include "Misc/DisplayClusterLog.h" + +#if PLATFORM_WINDOWS +#include "D3D11Viewport.h" +#endif + +#include "RHI.h" +#include "RHICommandList.h" + + +FDisplayClusterDeviceQuadBufferStereoD3D11::FDisplayClusterDeviceQuadBufferStereoD3D11() : + FDisplayClusterDeviceQuadBufferStereoBase() +{ +#if PLATFORM_WINDOWS + dxgi_present_parameters = { 0, nullptr, nullptr, nullptr }; +#endif +} + +FDisplayClusterDeviceQuadBufferStereoD3D11::~FDisplayClusterDeviceQuadBufferStereoD3D11() +{ +} + +bool FDisplayClusterDeviceQuadBufferStereoD3D11::ShouldUseSeparateRenderTarget() const +{ + return true; +} + +void FDisplayClusterDeviceQuadBufferStereoD3D11::SetSwapSyncPolicy(EDisplayClusterSwapSyncPolicy policy) +{ + FScopeLock lock(&InternalsSyncScope); + UE_LOG(LogDisplayClusterRender, Log, TEXT("Swap sync policy: %d"), (int)policy); + + switch (policy) + { + case EDisplayClusterSwapSyncPolicy::SoftSwapSync: + SwapSyncPolicy = policy; + break; + + default: + // Forward the policy type to the upper level + FDisplayClusterDeviceBase::SetSwapSyncPolicy(policy); + break; + } +} + +bool FDisplayClusterDeviceQuadBufferStereoD3D11::Present(int32& InOutSyncInterval) +{ +#if PLATFORM_WINDOWS + // get backbuffer + FD3D11Viewport* viewport = static_cast<FD3D11Viewport*>(CurrentViewport->GetViewportRHI().GetReference()); + +#if !WITH_EDITOR + // Issue frame event + viewport->IssueFrameEvent(); + // Wait until GPU finish last frame commands + viewport->WaitForFrameEventCompletion(); +#endif + + // Sync all nodes + exec_BarrierWait(); + + // present + if (viewport) + { + IDXGISwapChain1* swapchain1 = (IDXGISwapChain1*)viewport->GetSwapChain(); + swapchain1->Present1(GetSwapInt(), 0, &dxgi_present_parameters); + } +#endif + + return false; +} + +void FDisplayClusterDeviceQuadBufferStereoD3D11::RenderTexture_RenderThread(FRHICommandListImmediate& RHICmdList, FTexture2DRHIParamRef BackBuffer, FTexture2DRHIParamRef SrcTexture, FVector2D WindowSize) const +{ + check(IsInRenderingThread()); + + //calculate sub regions to copy + const int halfSizeX = BackBuffSize.X / 2; + + FResolveParams copyParamsLeft; + copyParamsLeft.DestArrayIndex = 0; + copyParamsLeft.SourceArrayIndex = 0; + copyParamsLeft.Rect.X1 = 0; + copyParamsLeft.Rect.Y1 = 0; + copyParamsLeft.Rect.X2 = halfSizeX; + copyParamsLeft.Rect.Y2 = BackBuffSize.Y; + copyParamsLeft.DestRect.X1 = 0; + copyParamsLeft.DestRect.Y1 = 0; + copyParamsLeft.DestRect.X2 = halfSizeX; + copyParamsLeft.DestRect.Y2 = BackBuffSize.Y; + + RHICmdList.CopyToResolveTarget(SrcTexture, BackBuffer, copyParamsLeft); + + FResolveParams copyParamsRight; + copyParamsRight.DestArrayIndex = 1; + copyParamsRight.SourceArrayIndex = 0; + + copyParamsRight.Rect = copyParamsLeft.Rect; + copyParamsRight.Rect.X1 = halfSizeX; + copyParamsRight.Rect.X2 = halfSizeX * 2; + + copyParamsRight.DestRect = copyParamsLeft.DestRect; + + RHICmdList.CopyToResolveTarget(SrcTexture, BackBuffer, copyParamsRight); +} diff --git a/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoD3D11.h b/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoD3D11.h new file mode 100644 index 0000000..f81d253 --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoD3D11.h @@ -0,0 +1,34 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "DisplayClusterDeviceQuadBufferStereoBase.h" +#include "Render/Devices/DisplayClusterDeviceInternals.h" + +#if PLATFORM_WINDOWS +#include "dxgi1_2.h" +#endif + + +/** + * Frame sequenced active stereo (DirectX 11) + */ +class FDisplayClusterDeviceQuadBufferStereoD3D11 : public FDisplayClusterDeviceQuadBufferStereoBase +{ +public: + FDisplayClusterDeviceQuadBufferStereoD3D11(); + virtual ~FDisplayClusterDeviceQuadBufferStereoD3D11(); + +protected: + virtual bool ShouldUseSeparateRenderTarget() const override; + virtual void SetSwapSyncPolicy(EDisplayClusterSwapSyncPolicy policy); + virtual bool Present(int32& InOutSyncInterval) override; + + virtual void RenderTexture_RenderThread(FRHICommandListImmediate& RHICmdList, FTexture2DRHIParamRef BackBuffer, FTexture2DRHIParamRef SrcTexture, FVector2D WindowSize) const override; + +private: +#if PLATFORM_WINDOWS + DXGI_PRESENT_PARAMETERS dxgi_present_parameters; +#endif +}; diff --git a/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoD3D12.cpp b/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoD3D12.cpp new file mode 100644 index 0000000..a9e05c6 --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoD3D12.cpp @@ -0,0 +1,105 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterDeviceQuadBufferStereoD3D12.h" +#include "Render/Devices/DisplayClusterDeviceInternals.h" + +#include "Misc/DisplayClusterLog.h" + +#include "RHI.h" +#include "RHICommandList.h" + + + +FDisplayClusterDeviceQuadBufferStereoD3D12::FDisplayClusterDeviceQuadBufferStereoD3D12() : + FDisplayClusterDeviceQuadBufferStereoBase() +{ +#if PLATFORM_WINDOWS + dxgi_present_parameters = { 0, nullptr, nullptr, nullptr }; +#endif +} + +FDisplayClusterDeviceQuadBufferStereoD3D12::~FDisplayClusterDeviceQuadBufferStereoD3D12() +{ +} + +bool FDisplayClusterDeviceQuadBufferStereoD3D12::ShouldUseSeparateRenderTarget() const +{ + return true; +} + +void FDisplayClusterDeviceQuadBufferStereoD3D12::SetSwapSyncPolicy(EDisplayClusterSwapSyncPolicy policy) +{ + FScopeLock lock(&InternalsSyncScope); + UE_LOG(LogDisplayClusterRender, Log, TEXT("Swap sync policy: %d"), (int)policy); + + switch (policy) + { + case EDisplayClusterSwapSyncPolicy::SoftSwapSync: + SwapSyncPolicy = policy; + break; + + default: + // Forward the policy type to the upper level + FDisplayClusterDeviceBase::SetSwapSyncPolicy(policy); + break; + } +} + +bool FDisplayClusterDeviceQuadBufferStereoD3D12::Present(int32& InOutSyncInterval) +{ +#if PLATFORM_WINDOWS + FD3D12Viewport* viewport = static_cast<FD3D12Viewport*>(CurrentViewport->GetViewportRHI().GetReference()); + +// This code is not used in editor and required only for packaged builds. To avoid linking issues it won't be used with editor builds. +#if !WITH_EDITOR + // Issue frame event + viewport->IssueFrameEvent(); + // Wait until GPU finish last frame commands + viewport->WaitForFrameEventCompletion(); +#endif + + // Sync all nodes + exec_BarrierWait(); + + // present + IDXGISwapChain1* swapchain1 = (IDXGISwapChain1*)viewport->GetSwapChain(); + swapchain1->Present(GetSwapInt(), 0); +#endif + + return false; +} + +void FDisplayClusterDeviceQuadBufferStereoD3D12::RenderTexture_RenderThread(FRHICommandListImmediate& RHICmdList, FTexture2DRHIParamRef BackBuffer, FTexture2DRHIParamRef SrcTexture, FVector2D WindowSize) const +{ + check(IsInRenderingThread()); + + //calculate sub regions to copy + const int halfSizeX = BackBuffSize.X / 2; + + FResolveParams copyParamsLeft; + copyParamsLeft.DestArrayIndex = 0; + copyParamsLeft.SourceArrayIndex = 0; + copyParamsLeft.Rect.X1 = 0; + copyParamsLeft.Rect.Y1 = 0; + copyParamsLeft.Rect.X2 = halfSizeX; + copyParamsLeft.Rect.Y2 = BackBuffSize.Y; + copyParamsLeft.DestRect.X1 = 0; + copyParamsLeft.DestRect.Y1 = 0; + copyParamsLeft.DestRect.X2 = halfSizeX; + copyParamsLeft.DestRect.Y2 = BackBuffSize.Y; + + RHICmdList.CopyToResolveTarget(SrcTexture, BackBuffer, copyParamsLeft); + + FResolveParams copyParamsRight; + copyParamsRight.DestArrayIndex = 1; + copyParamsRight.SourceArrayIndex = 0; + + copyParamsRight.Rect = copyParamsLeft.Rect; + + copyParamsRight.Rect.X1 = halfSizeX; + copyParamsRight.Rect.X2 = halfSizeX * 2; + + copyParamsRight.DestRect = copyParamsLeft.DestRect; + + RHICmdList.CopyToResolveTarget(SrcTexture, BackBuffer, copyParamsRight); +} diff --git a/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoD3D12.h b/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoD3D12.h new file mode 100644 index 0000000..e013675 --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoD3D12.h @@ -0,0 +1,37 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "DisplayClusterDeviceQuadBufferStereoBase.h" +#include "Render/Devices/DisplayClusterDeviceInternals.h" + +#if PLATFORM_WINDOWS +#include "dxgi1_2.h" +#endif + + +/** + * Frame sequenced active stereo (DirectX 12) + */ +class FDisplayClusterDeviceQuadBufferStereoD3D12 : public FDisplayClusterDeviceQuadBufferStereoBase +{ +public: + FDisplayClusterDeviceQuadBufferStereoD3D12(); + virtual ~FDisplayClusterDeviceQuadBufferStereoD3D12(); + +protected: + virtual bool ShouldUseSeparateRenderTarget() const override; + virtual void SetSwapSyncPolicy(EDisplayClusterSwapSyncPolicy policy); + virtual bool Present(int32& InOutSyncInterval) override; + + virtual void RenderTexture_RenderThread(FRHICommandListImmediate& RHICmdList, FTexture2DRHIParamRef BackBuffer, FTexture2DRHIParamRef SrcTexture, FVector2D WindowSize) const override; + + //void CopySubregions(bool stereo, FD3D11DeviceContext* d3dContext, ID3D11Texture2D* rttD3DTexture, ID3D11RenderTargetView* leftRTV, ID3D11RenderTargetView* rightRTV); +#if PLATFORM_WINDOWS + DXGI_PRESENT_PARAMETERS dxgi_present_parameters; +#endif + +private: + //void ClearTargets(FD3D12DeviceContext* d3dContext, ID3D11RenderTargetView* leftRTV, ID3D11RenderTargetView* rightRTV); +}; diff --git a/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoOpenGL.cpp b/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoOpenGL.cpp new file mode 100644 index 0000000..663544d --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoOpenGL.cpp @@ -0,0 +1,495 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterDeviceQuadBufferStereoOpenGL.h" + +#include "Render/Devices/DisplayClusterDeviceInternals.h" + +#include "Misc/DisplayClusterLog.h" + +#if PLATFORM_LINUX +#define SDL_VIDEO_DRIVER_X11 +#include "SDL_syswm.h" +#endif + +#undef None // X11 name conflict. + +FDisplayClusterDeviceQuadBufferStereoOpenGL::FDisplayClusterDeviceQuadBufferStereoOpenGL() : + FDisplayClusterDeviceQuadBufferStereoBase() +{ + DisplayClusterInitCapabilitiesForGL(); +} + +FDisplayClusterDeviceQuadBufferStereoOpenGL::~FDisplayClusterDeviceQuadBufferStereoOpenGL() +{ +} + +void FDisplayClusterDeviceQuadBufferStereoOpenGL::SetSwapSyncPolicy(EDisplayClusterSwapSyncPolicy policy) +{ + FScopeLock lock(&InternalsSyncScope); + UE_LOG(LogDisplayClusterRender, Log, TEXT("Swap sync policy: %d"), (int)policy); + + switch (policy) + { + // Policies below are supported by all child implementations + case EDisplayClusterSwapSyncPolicy::SoftSwapSync: + // falls through + case EDisplayClusterSwapSyncPolicy::NvSwapSync: + { + SwapSyncPolicy = policy; + break; + } + + default: + // Forward the policy type to the upper level + FDisplayClusterDeviceBase::SetSwapSyncPolicy(policy); + break; + } +} + +////////////////////////////////////////////////////////////////////////////////////////////// +// Windows implementation +////////////////////////////////////////////////////////////////////////////////////////////// +#if PLATFORM_WINDOWS +bool FDisplayClusterDeviceQuadBufferStereoOpenGL::Present(int32& InOutSyncInterval) +{ + UE_LOG(LogDisplayClusterRender, Verbose, TEXT("FDisplayClusterDeviceQuadBufferStereoOpenGL::Present")); + + const int halfSizeX = BackBuffSize.X / 2; + const int dstX1 = 0; + const int dstX2 = halfSizeX; + + // Convert to left bottom origin and flip Y + const int dstY1 = ViewportSize.Y; + const int dstY2 = 0; + + FOpenGLViewport* pOglViewport = static_cast<FOpenGLViewport*>(CurrentViewport->GetViewportRHI().GetReference()); + check(pOglViewport); + FPlatformOpenGLContext* const pContext = pOglViewport->GetGLContext(); + check(pContext && pContext->DeviceContext); + + glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); + + glBindFramebuffer(GL_READ_FRAMEBUFFER, pContext->ViewportFramebuffer); + glReadBuffer(GL_COLOR_ATTACHMENT0); + + glDrawBuffer(GL_BACK_LEFT); + glBlitFramebuffer( + 0, 0, halfSizeX, BackBuffSize.Y, + dstX1, dstY1, dstX2, dstY2, + GL_COLOR_BUFFER_BIT, + GL_NEAREST); + + glDrawBuffer(GL_BACK_RIGHT); + glBlitFramebuffer( + halfSizeX, 0, BackBuffSize.X, BackBuffSize.Y, + dstX1, dstY1, dstX2, dstY2, + GL_COLOR_BUFFER_BIT, + GL_NEAREST); + + // Perform buffers swap logic + SwapBuffers(pOglViewport, InOutSyncInterval); + REPORT_GL_END_BUFFER_EVENT_FOR_FRAME_DUMP(); + + return false; +} +#endif + + +////////////////////////////////////////////////////////////////////////////////////////////// +// Linux implementation +////////////////////////////////////////////////////////////////////////////////////////////// +#if PLATFORM_LINUX +//@todo: Implementation for Linux +bool FDisplayClusterDeviceQuadBufferStereoOpenGL::Present(int32& InOutSyncInterval) +{ + // Forward to default implementation (should be a black screen) + return FDisplayClusterDeviceBase::Present(InOutSyncInterval); +} +#endif + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterDeviceBaseComplex +////////////////////////////////////////////////////////////////////////////////////////////// +//@todo: this should be combined somehow with FDisplayClusterDeviceBase::WaitForBufferSwapSync. It seems +// they both have the same purpose but there is a GL viewport. +void FDisplayClusterDeviceQuadBufferStereoOpenGL::SwapBuffers(FOpenGLViewport* pOglViewport, int32& InOutSyncInterval) +{ +#if PLATFORM_WINDOWS + check(pOglViewport && pOglViewport->GetGLContext() && pOglViewport->GetGLContext()->DeviceContext); +#endif + +#if PLATFORM_LINUX + check(pOglViewport && pOglViewport->GetGLContext() && pOglViewport->GetGLContext()->hWnd); +#endif + + { + /////////////////////////////////////////////// + // Perform swap policy + UE_LOG(LogDisplayClusterRender, Verbose, TEXT("Exec swap policy: %d"), (int)SwapSyncPolicy); + switch (SwapSyncPolicy) + { + case EDisplayClusterSwapSyncPolicy::None: + internal_SwapBuffersPolicyNone(pOglViewport); + break; + + case EDisplayClusterSwapSyncPolicy::SoftSwapSync: + internal_SwapBuffersPolicySoftSwapSync(pOglViewport); + break; + + case EDisplayClusterSwapSyncPolicy::NvSwapSync: + internal_SwapBuffersPolicyNvSwapSync(pOglViewport); + break; + + default: + UE_LOG(LogDisplayClusterRender, Error, TEXT("Unknown swap sync policy: %d"), (int)SwapSyncPolicy); + break; + } + } +} + + +#if PLATFORM_WINDOWS +void FDisplayClusterDeviceQuadBufferStereoOpenGL::internal_SwapBuffersPolicyNone(FOpenGLViewport* pOglViewport) +{ + { + /////////////////////////////////////////////// + // Swap buffers + const double wtB = FPlatformTime::Seconds(); + ::SwapBuffers(pOglViewport->GetGLContext()->DeviceContext); + const double wtA = FPlatformTime::Seconds(); + + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT SWAP bef: %lf"), wtB); + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT SWAP aft: %lf"), wtA); + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT SWAP diff: %lf"), wtA - wtB); + } +} + +void FDisplayClusterDeviceQuadBufferStereoOpenGL::internal_SwapBuffersPolicySoftSwapSync(FOpenGLViewport* pOglViewport) +{ + static double lastSwapBuffersTime = 0; + +// This code is not used in editor and required only for packaged builds. To avoid linking issues it won't be used with editor builds. +#if !WITH_EDITOR + { + // Issue frame event + pOglViewport->IssueFrameEvent(); + + // Wait until GPU finish last frame commands + const double wtB = FPlatformTime::Seconds(); + pOglViewport->WaitForFrameEventCompletion(); + const double wtA = FPlatformTime::Seconds(); + + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT EVENT bef: %lf"), wtB); + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT EVENT aft: %lf"), wtA); + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT EVENT diff: %lf"), wtA - wtB); + } +#endif + + // Sync all nodes + exec_BarrierWait(); + + // Update swap interval right before swap buffers call + UpdateSwapInterval(GetSwapInt()); + + { + /////////////////////////////////////////////// + // Swap buffers + const double wtB = FPlatformTime::Seconds(); + ::SwapBuffers(pOglViewport->GetGLContext()->DeviceContext); + const double wtA = FPlatformTime::Seconds(); + + lastSwapBuffersTime = wtA; + + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT SWAP bef: %lf"), wtB); + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT SWAP aft: %lf"), wtA); + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT SWAP diff: %lf"), wtA - wtB); + } +} + +void FDisplayClusterDeviceQuadBufferStereoOpenGL::internal_SwapBuffersPolicyNvSwapSync(FOpenGLViewport* pOglViewport) +{ + // Use barrier once during NV barriers initialization + if (bNvSwapInitialized == false) + { + // Use render barrier to guaranty that all nv barriers are initialized simultaneously + exec_BarrierWait(); + bNvSwapInitialized = InitializeNvidiaSwapLock(); + } + + { + /////////////////////////////////////////////// + // Swap buffers + const double wtB = FPlatformTime::Seconds(); + ::SwapBuffers(pOglViewport->GetGLContext()->DeviceContext); + const double wtA = FPlatformTime::Seconds(); + + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT SWAP bef: %lf"), wtB); + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT SWAP aft: %lf"), wtA); + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT SWAP diff: %lf"), wtA - wtB); + } +} +#endif // PLATFORM_WINDOWS + +#if PLATFORM_LINUX +void FDisplayClusterDeviceQuadBufferStereoOpenGL::internal_SwapBuffersPolicyNone(FOpenGLViewport* pOglViewport) +{ + { + /////////////////////////////////////////////// + // Swap buffers + const double wtB = FPlatformTime::Seconds(); + SDL_GL_SwapWindow(pOglViewport->GetGLContext()->hWnd); + const double wtA = FPlatformTime::Seconds(); + + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT SWAP bef: %lf"), wtB); + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT SWAP aft: %lf"), wtA); + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT SWAP diff: %lf"), wtA - wtB); + } +} + +void FDisplayClusterDeviceQuadBufferStereoOpenGL::internal_SwapBuffersPolicySoftSwapSync(FOpenGLViewport* pOglViewport) +{ + static double lastSwapBuffersTime = 0; + +// This code is not used in editor and required only for packaged builds. To avoid linking issues it won't be used with editor builds. +#if !WITH_EDITOR + { + // Issue frame event + pOglViewport->IssueFrameEvent(); + + // Wait until GPU finish last frame commands + const double wtB = FPlatformTime::Seconds(); + pOglViewport->WaitForFrameEventCompletion(); + const double wtA = FPlatformTime::Seconds(); + + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT EVENT bef: %lf"), wtB); + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT EVENT aft: %lf"), wtA); + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT EVENT diff: %lf"), wtA - wtB); + } +#endif + + // Sync all nodes + exec_BarrierWait(); + + // Update swap interval right before swap buffers call + UpdateSwapInterval(GetSwapInt()); + + { + /////////////////////////////////////////////// + // Swap buffers + const double wtB = FPlatformTime::Seconds(); + SDL_GL_SwapWindow(pOglViewport->GetGLContext()->hWnd); + const double wtA = FPlatformTime::Seconds(); + + lastSwapBuffersTime = wtA; + + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT SWAP bef: %lf"), wtB); + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT SWAP aft: %lf"), wtA); + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT SWAP diff: %lf"), wtA - wtB); + } +} + +void FDisplayClusterDeviceQuadBufferStereoOpenGL::internal_SwapBuffersPolicyNvSwapSync(FOpenGLViewport* pOglViewport) +{ + // Use barrier once during NV barriers initialization + if (bNvSwapInitialized == false) + { + // Use render barrier to guaranty that all nv barriers are initialized simultaneously + exec_BarrierWait(); + bNvSwapInitialized = InitializeNvidiaSwapLock(); + } + + { + /////////////////////////////////////////////// + // Swap buffers + const double wtB = FPlatformTime::Seconds(); + SDL_GL_SwapWindow(pOglViewport->GetGLContext()->hWnd); + const double wtA = FPlatformTime::Seconds(); + + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT SWAP bef: %lf"), wtB); + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT SWAP aft: %lf"), wtA); + UE_LOG(LogDisplayClusterRender, VeryVerbose, TEXT("WAIT SWAP diff: %lf"), wtA - wtB); + } +} +#endif // PLATFORM_LINUX + +void FDisplayClusterDeviceQuadBufferStereoOpenGL::UpdateSwapInterval(int32 swapInt) const +{ +#if PLATFORM_WINDOWS + /* + https://www.opengl.org/registry/specs/EXT/wgl_swap_control.txt + wglSwapIntervalEXT specifies the minimum number of video frame periods + per buffer swap for the window associated with the current context. + The interval takes effect when SwapBuffers or wglSwapLayerBuffer + is first called subsequent to the wglSwapIntervalEXT call. + + The parameter <interval> specifies the minimum number of video frames + that are displayed before a buffer swap will occur. + + A video frame period is the time required by the monitor to display a + full frame of video data. In the case of an interlaced monitor, + this is typically the time required to display both the even and odd + fields of a frame of video data. An interval set to a value of 2 + means that the color buffers will be swapped at most every other video + frame. + + If <interval> is set to a value of 0, buffer swaps are not synchron- + ized to a video frame. The <interval> value is silently clamped to + the maximum implementation-dependent value supported before being + stored. + + The swap interval is not part of the render context state. It cannot + be pushed or popped. The current swap interval for the window + associated with the current context can be obtained by calling + wglGetSwapIntervalEXT. The default swap interval is 1. + */ + + // Perform that each frame + if (!DisplayCluster_wglSwapIntervalEXT_ProcAddress(swapInt)) + UE_LOG(LogDisplayClusterRender, Error, TEXT("Couldn't set swap interval: %d"), swapInt); + +#elif PLATFORM_LINUX + + if(SDL_GL_SetSwapInterval(swapInt) != 0) + UE_LOG(LogDisplayClusterRender, Error, TEXT("Couldn't set swap interval: %d"), swapInt); + +#endif +} + + +#if PLATFORM_WINDOWS +bool FDisplayClusterDeviceQuadBufferStereoOpenGL::InitializeNvidiaSwapLock() +{ + if (bNvSwapInitialized) + { + return true; + } + + if (!DisplayCluster_wglJoinSwapGroupNV_ProcAddress || !DisplayCluster_wglBindSwapBarrierNV_ProcAddress) + { + UE_LOG(LogDisplayClusterRender, Error, TEXT("Group/Barrier functions not available")); + return false; + } + + if (!CurrentViewport) + { + UE_LOG(LogDisplayClusterRender, Warning, TEXT("Viewport RHI hasn't been initialized yet")) + return false; + } + + FOpenGLViewport* pOglViewport = static_cast<FOpenGLViewport*>(CurrentViewport->GetViewportRHI().GetReference()); + check(pOglViewport); + FPlatformOpenGLContext* const pContext = pOglViewport->GetGLContext(); + check(pContext && pContext->DeviceContext); + + GLuint maxGroups = 0; + GLuint maxBarriers = 0; + + if (!DisplayCluster_wglQueryMaxSwapGroupsNV_ProcAddress(pContext->DeviceContext, &maxGroups, &maxBarriers)) + { + UE_LOG(LogDisplayClusterRender, Error, TEXT("Couldn't query gr/br limits: %d"), glGetError()); + return false; + } + + UE_LOG(LogDisplayClusterRender, Log, TEXT("max_groups=%d max_barriers=%d"), (int)maxGroups, (int)maxBarriers); + + if (!(maxGroups > 0 && maxBarriers > 0)) + { + UE_LOG(LogDisplayClusterRender, Error, TEXT("There are no available groups or barriers")); + return false; + } + + if (!DisplayCluster_wglJoinSwapGroupNV_ProcAddress(pContext->DeviceContext, 1)) + { + UE_LOG(LogDisplayClusterRender, Error, TEXT("Couldn't join swap group: %d"), glGetError()); + return false; + } + else + { + UE_LOG(LogDisplayClusterRender, Log, TEXT("Successfully joined the swap group: 1")); + } + + if (!DisplayCluster_wglBindSwapBarrierNV_ProcAddress(1, 1)) + { + UE_LOG(LogDisplayClusterRender, Error, TEXT("Couldn't bind to swap barrier: %d"), glGetError()); + return false; + } + else + { + UE_LOG(LogDisplayClusterRender, Log, TEXT("Successfully binded to the swap barrier: 1")); + } + + return true; +} +#elif PLATFORM_LINUX +bool FDisplayClusterDeviceQuadBufferStereoOpenGL::InitializeNvidiaSwapLock() +{ + if (bNvSwapInitialized) + { + return true; + } + + if (!DisplayCluster_glXJoinSwapGroupNV_ProcAddress || !DisplayCluster_glXBindSwapBarrierNV_ProcAddress) + { + UE_LOG(LogDisplayClusterRender, Error, TEXT("Group/Barrier functions not available")); + return false; + } + + if (!CurrentViewport) + { + UE_LOG(LogDisplayClusterRender, Warning, TEXT("Viewport RHI hasn't been initialized yet")) + return false; + } + + FOpenGLViewport* pOglViewport = static_cast<FOpenGLViewport*>(CurrentViewport->GetViewportRHI().GetReference()); + check(pOglViewport); + FPlatformOpenGLContext* const pContext = pOglViewport->GetGLContext(); + check(pContext && pContext->hWnd); + + SDL_SysWMinfo info; + SDL_VERSION(&info.version); + if (SDL_GetWindowWMInfo(pContext->hWnd, &info) == false) + { + UE_LOG(LogDisplayClusterRender, Error, TEXT("Unable to get SDL_SysWMinfo")); + return false; + } + + GLuint maxGroups = 0; + GLuint maxBarriers = 0; + + if (!DisplayCluster_glXQueryMaxSwapGroupsNV_ProcAddress(info.info.x11.display, SDL_GetWindowDisplayIndex(pContext->hWnd), &maxGroups, &maxBarriers)) + { + UE_LOG(LogDisplayClusterRender, Error, TEXT("Couldn't query gr/br limits: %d"), glGetError()); + return false; + } + + UE_LOG(LogDisplayClusterRender, Log, TEXT("max_groups=%d max_barriers=%d"), (int)maxGroups, (int)maxBarriers); + + if (!(maxGroups > 0 && maxBarriers > 0)) + { + UE_LOG(LogDisplayClusterRender, Error, TEXT("There are no available groups or barriers")); + return false; + } + + if (!DisplayCluster_glXJoinSwapGroupNV_ProcAddress(info.info.x11.display, info.info.x11.window, 1)) + { + UE_LOG(LogDisplayClusterRender, Error, TEXT("Couldn't join swap group: %d"), glGetError()); + return false; + } + else + { + UE_LOG(LogDisplayClusterRender, Log, TEXT("Successfully joined the swap group: 1")); + } + + if (!DisplayCluster_glXBindSwapBarrierNV_ProcAddress(info.info.x11.display, 1, 1)) + { + UE_LOG(LogDisplayClusterRender, Error, TEXT("Couldn't bind to swap barrier: %d"), glGetError()); + return false; + } + else + { + UE_LOG(LogDisplayClusterRender, Log, TEXT("Successfully binded to the swap barrier: 1")); + } + + return true; +} +#endif diff --git a/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoOpenGL.h b/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoOpenGL.h new file mode 100644 index 0000000..f9c9157 --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoOpenGL.h @@ -0,0 +1,37 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "DisplayClusterDeviceQuadBufferStereoBase.h" +#include "Render/Devices/DisplayClusterDeviceInternals.h" + + +/** + * Frame sequenced active stereo (OpenGL 3 and 4) + */ +class FDisplayClusterDeviceQuadBufferStereoOpenGL : public FDisplayClusterDeviceQuadBufferStereoBase +{ +public: + FDisplayClusterDeviceQuadBufferStereoOpenGL(); + virtual ~FDisplayClusterDeviceQuadBufferStereoOpenGL(); + +protected: + virtual void SetSwapSyncPolicy(EDisplayClusterSwapSyncPolicy policy); + virtual bool Present(int32& InOutSyncInterval) override; + void SwapBuffers(FOpenGLViewport* pOglViewport, int32& InOutSyncInterval); + +private: + // Set up swap interval for upcoming buffer swap + void UpdateSwapInterval(int32 swapInt) const; + // Joins swap groups and binds to a swap barrier + bool InitializeNvidiaSwapLock(); + + // Implementation of swap policies + void internal_SwapBuffersPolicyNone(FOpenGLViewport* pOglViewport); + void internal_SwapBuffersPolicySoftSwapSync(FOpenGLViewport* pOglViewport); + void internal_SwapBuffersPolicyNvSwapSync(FOpenGLViewport* pOglViewport); + +private: + // State of nv_swap initialization + bool bNvSwapInitialized = false; +}; diff --git a/Source/DisplayCluster/Private/Render/Devices/SideBySide/DisplayClusterDeviceSideBySide.cpp b/Source/DisplayCluster/Private/Render/Devices/SideBySide/DisplayClusterDeviceSideBySide.cpp new file mode 100644 index 0000000..c751f04 --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/SideBySide/DisplayClusterDeviceSideBySide.cpp @@ -0,0 +1,32 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterDeviceSideBySide.h" + + +FDisplayClusterDeviceSideBySide::FDisplayClusterDeviceSideBySide() +{ +} + +FDisplayClusterDeviceSideBySide::~FDisplayClusterDeviceSideBySide() +{ +} + + +void FDisplayClusterDeviceSideBySide::AdjustViewRect(enum EStereoscopicPass StereoPass, int32& X, int32& Y, uint32& SizeX, uint32& SizeY) const +{ + FDisplayClusterDeviceBase::AdjustViewRect(StereoPass, X, Y, SizeX, SizeY); + + SizeX /= 2; + if (StereoPass == EStereoscopicPass::eSSP_RIGHT_EYE) + { + X += SizeX; + } +} + +bool FDisplayClusterDeviceSideBySide::Present(int32& InOutSyncInterval) +{ + // Wait for swap sync + WaitForBufferSwapSync(InOutSyncInterval); + + return true; +} diff --git a/Source/DisplayCluster/Private/Render/Devices/SideBySide/DisplayClusterDeviceSideBySide.h b/Source/DisplayCluster/Private/Render/Devices/SideBySide/DisplayClusterDeviceSideBySide.h new file mode 100644 index 0000000..cff14d0 --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/SideBySide/DisplayClusterDeviceSideBySide.h @@ -0,0 +1,26 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Render/Devices/DisplayClusterDeviceBase.h" + + +/** + * Side-by-side passive stereoscopic device + */ +class FDisplayClusterDeviceSideBySide : public FDisplayClusterDeviceBase +{ +public: + FDisplayClusterDeviceSideBySide(); + virtual ~FDisplayClusterDeviceSideBySide(); + +protected: + virtual void AdjustViewRect(enum EStereoscopicPass StereoPass, int32& X, int32& Y, uint32& SizeX, uint32& SizeY) const override; +protected: + +protected: + ////////////////////////////////////////////////////////////////////////////////////////////// + // FRHICustomPresent + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool Present(int32& InOutSyncInterval) override; +}; diff --git a/Source/DisplayCluster/Private/Render/Devices/TopBottom/DisplayClusterDeviceTopBottom.cpp b/Source/DisplayCluster/Private/Render/Devices/TopBottom/DisplayClusterDeviceTopBottom.cpp new file mode 100644 index 0000000..8ee0c5b --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/TopBottom/DisplayClusterDeviceTopBottom.cpp @@ -0,0 +1,31 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterDeviceTopBottom.h" + + +FDisplayClusterDeviceTopBottom::FDisplayClusterDeviceTopBottom() +{ +} + +FDisplayClusterDeviceTopBottom::~FDisplayClusterDeviceTopBottom() +{ +} + + +void FDisplayClusterDeviceTopBottom::AdjustViewRect(enum EStereoscopicPass StereoPass, int32& X, int32& Y, uint32& SizeX, uint32& SizeY) const +{ + SizeY /= 2; + if (StereoPass == EStereoscopicPass::eSSP_RIGHT_EYE) + { + Y = SizeY; + } +} + + +bool FDisplayClusterDeviceTopBottom::Present(int32& InOutSyncInterval) +{ + // Wait for swap sync + WaitForBufferSwapSync(InOutSyncInterval); + + return true; +} diff --git a/Source/DisplayCluster/Private/Render/Devices/TopBottom/DisplayClusterDeviceTopBottom.h b/Source/DisplayCluster/Private/Render/Devices/TopBottom/DisplayClusterDeviceTopBottom.h new file mode 100644 index 0000000..63326e4 --- /dev/null +++ b/Source/DisplayCluster/Private/Render/Devices/TopBottom/DisplayClusterDeviceTopBottom.h @@ -0,0 +1,25 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Render/Devices/DisplayClusterDeviceBase.h" + + +/** + * Top-bottom passive stereoscopic device + */ +class FDisplayClusterDeviceTopBottom : public FDisplayClusterDeviceBase +{ +public: + FDisplayClusterDeviceTopBottom(); + virtual ~FDisplayClusterDeviceTopBottom(); + +protected: + virtual void AdjustViewRect(enum EStereoscopicPass StereoPass, int32& X, int32& Y, uint32& SizeX, uint32& SizeY) const override; + +protected: + ////////////////////////////////////////////////////////////////////////////////////////////// + // FRHICustomPresent + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool Present(int32& InOutSyncInterval) override; +}; diff --git a/Source/DisplayCluster/Private/Render/DisplayClusterRenderManager.cpp b/Source/DisplayCluster/Private/Render/DisplayClusterRenderManager.cpp new file mode 100644 index 0000000..41e0fbf --- /dev/null +++ b/Source/DisplayCluster/Private/Render/DisplayClusterRenderManager.cpp @@ -0,0 +1,286 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "Render/DisplayClusterRenderManager.h" +#include "Config/IPDisplayClusterConfigManager.h" + +#include "Engine/GameViewportClient.h" +#include "Engine/GameEngine.h" +#include "Misc/DisplayClusterLog.h" +#include "DisplayClusterStrings.h" +#include "DisplayClusterOperationMode.h" + +#include "Render/Devices/DisplayClusterNativePresentHandler.h" +#include "Render/Devices/Debug/DisplayClusterDeviceDebug.h" +#include "Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicOpenGL.h" +#include "Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicD3D11.h" +#include "Render/Devices/Monoscopic/DisplayClusterDeviceMonoscopicD3D12.h" +#include "Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoOpenGL.h" +#include "Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoD3D11.h" +#include "Render/Devices/QuadBufferStereo/DisplayClusterDeviceQuadBufferStereoD3D12.h" +#include "Render/Devices/SideBySide/DisplayClusterDeviceSideBySide.h" +#include "Render/Devices/TopBottom/DisplayClusterDeviceTopBottom.h" + +#include "UnrealClient.h" + + +FDisplayClusterRenderManager::FDisplayClusterRenderManager() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterRender); +} + +FDisplayClusterRenderManager::~FDisplayClusterRenderManager() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterRender); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IPDisplayClusterManager +////////////////////////////////////////////////////////////////////////////////////////////// +bool FDisplayClusterRenderManager::Init(EDisplayClusterOperationMode OperationMode) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterRender); + + CurrentOperationMode = OperationMode; + + return true; +} + +void FDisplayClusterRenderManager::Release() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterRender); + + //@note: No need to release our device. It will be released in safe way by TSharedPtr. +} + +bool FDisplayClusterRenderManager::StartSession(const FString& configPath, const FString& nodeId) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterRender); + + ConfigPath = configPath; + ClusterNodeId = nodeId; + + if (!GEngine) + { +#if !WITH_EDITOR + UE_LOG(LogDisplayClusterRender, Error, TEXT("GEngine variable not set")); +#endif + return false; + } + + UE_LOG(LogDisplayClusterRender, Log, TEXT("Instantiating stereo device...")); + + FDisplayClusterDeviceBase* pDev = CreateStereoDevice(); + if (pDev) + { + // Store ptr for internal usage + Device = static_cast<IDisplayClusterStereoDevice*>(pDev); + // Set new device in the engine + GEngine->StereoRenderingDevice = TSharedPtr<IStereoRendering, ESPMode::ThreadSafe>(static_cast<IStereoRendering*>(pDev)); + } + + // When session is starting in Editor the device won't be initialized so we avoid nullptr access here. + return (Device ? static_cast<FDisplayClusterDeviceBase*>(Device)->Initialize() : true); +} + +void FDisplayClusterRenderManager::EndSession() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterRender); +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// IDisplayClusterRenderManager +////////////////////////////////////////////////////////////////////////////////////////////// +IDisplayClusterStereoDevice* FDisplayClusterRenderManager::GetStereoDevice() const +{ + return Device; +} + + +////////////////////////////////////////////////////////////////////////////////////////////// +// FDisplayClusterRenderManager +////////////////////////////////////////////////////////////////////////////////////////////// +FDisplayClusterDeviceBase* FDisplayClusterRenderManager::CreateStereoDevice() +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterRender); + + FDisplayClusterDeviceBase* pDevice = nullptr; + + if (CurrentOperationMode == EDisplayClusterOperationMode::Cluster || CurrentOperationMode == EDisplayClusterOperationMode::Standalone) + { + if (GDynamicRHI == nullptr) + { + UE_LOG(LogDisplayClusterRender, Error, TEXT("GDynamicRHI is null. Cannot detect RHI name.")); + return nullptr; + } + + // Depending on RHI name we will be using non-RHI-agnostic rendering devices + const FString RHIName = GDynamicRHI->GetName(); + UE_LOG(LogDisplayClusterRender, Log, TEXT("Running %s RHI"), *RHIName); + + // Debug stereo device is RHI agnostic + if (FParse::Param(FCommandLine::Get(), DisplayClusterStrings::args::dev::Debug)) + { + UE_LOG(LogDisplayClusterRender, Log, TEXT("Instantiating debug stereo device...")); + pDevice = new FDisplayClusterDeviceDebug; + } + // Side-by-side device is RHI agnostic + else if (FParse::Param(FCommandLine::Get(), DisplayClusterStrings::args::dev::SbS)) + { + UE_LOG(LogDisplayClusterRender, Log, TEXT("Instantiating side-by-side stereo device...")); + pDevice = new FDisplayClusterDeviceSideBySide; + } + // Top-bottom device is RHI agnostic + else if (FParse::Param(FCommandLine::Get(), DisplayClusterStrings::args::dev::TB)) + { + UE_LOG(LogDisplayClusterRender, Log, TEXT("Instantiating top-bottom stereo device...")); + pDevice = new FDisplayClusterDeviceTopBottom; + } + // Quad buffer stereo + else if (FParse::Param(FCommandLine::Get(), DisplayClusterStrings::args::dev::QBS)) + { + if (RHIName.Compare(DisplayClusterStrings::rhi::OpenGL, ESearchCase::IgnoreCase) == 0) + { + UE_LOG(LogDisplayClusterRender, Log, TEXT("Instantiating OpenGL quad buffer stereo device...")); + pDevice = new FDisplayClusterDeviceQuadBufferStereoOpenGL; + } + else if (RHIName.Compare(DisplayClusterStrings::rhi::D3D11, ESearchCase::IgnoreCase) == 0) + { + UE_LOG(LogDisplayClusterRender, Log, TEXT("Instantiating D3D11 quad buffer stereo device...")); + pDevice = new FDisplayClusterDeviceQuadBufferStereoD3D11; + } + else if (RHIName.Compare(DisplayClusterStrings::rhi::D3D12, ESearchCase::IgnoreCase) == 0) + { + UE_LOG(LogDisplayClusterRender, Log, TEXT("Instantiating D3D12 quad buffer stereo device...")); + pDevice = new FDisplayClusterDeviceQuadBufferStereoD3D12; + } + } + // Monoscopic + else if (FParse::Param(FCommandLine::Get(), DisplayClusterStrings::args::dev::Mono)) + { + if (RHIName.Compare(DisplayClusterStrings::rhi::OpenGL, ESearchCase::IgnoreCase) == 0) + { + UE_LOG(LogDisplayClusterRender, Log, TEXT("Instantiating OpenGL monoscopic device...")); + pDevice = new FDisplayClusterDeviceMonoscopicOpenGL; + } + else if (RHIName.Compare(DisplayClusterStrings::rhi::D3D11, ESearchCase::IgnoreCase) == 0) + { + UE_LOG(LogDisplayClusterRender, Log, TEXT("Instantiating DX11 monoscopic device...")); + pDevice = new FDisplayClusterDeviceMonoscopicD3D11; + } + else if (RHIName.Compare(DisplayClusterStrings::rhi::D3D12, ESearchCase::IgnoreCase) == 0) + { + UE_LOG(LogDisplayClusterRender, Log, TEXT("Instantiating DX12 monoscopic device...")); + pDevice = new FDisplayClusterDeviceMonoscopicD3D12; + } + } + // Leave native render but inject custom present for cluster synchronization + else + { + UGameViewportClient::OnViewportCreated().AddRaw(this, &FDisplayClusterRenderManager::OnViewportCreatedHandler); + } + + if (pDevice == nullptr) + { + UE_LOG(LogDisplayClusterRender, Error, TEXT("No stereo device created")); + } + } + else if (CurrentOperationMode == EDisplayClusterOperationMode::Editor) + { + // No stereo in editor + UE_LOG(LogDisplayClusterRender, Warning, TEXT("DisplayCluster stereo devices for editor mode are not allowed currently")); + } + else if (CurrentOperationMode == EDisplayClusterOperationMode::Disabled) + { + // Stereo device is not needed + UE_LOG(LogDisplayClusterRender, Log, TEXT("No need to instantiate stereo device")); + } + else + { + UE_LOG(LogDisplayClusterRender, Warning, TEXT("Unknown operation mode")); + } + + return pDevice; +} + +void FDisplayClusterRenderManager::OnViewportCreatedHandler() +{ + if (GEngine && GEngine->GameViewport) + { + if (!GEngine->GameViewport->Viewport->GetViewportRHI().IsValid()) + { + GEngine->GameViewport->OnBeginDraw().AddRaw(this, &FDisplayClusterRenderManager::OnBeginDrawHandler); + } + } +} + +void FDisplayClusterRenderManager::OnBeginDrawHandler() +{ + //@todo: this is fast solution for prototype. We shouldn't use raw handlers to be able to unsubscribe from the event. + static bool initialized = false; + if (!initialized && GEngine->GameViewport->Viewport->GetViewportRHI().IsValid()) + { + NativePresentHandler = new FDisplayClusterNativePresentHandler; + GEngine->GameViewport->Viewport->GetViewportRHI().GetReference()->SetCustomPresent(NativePresentHandler); + initialized = true; + } +} + +void FDisplayClusterRenderManager::PreTick(float DeltaSeconds) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterRender); + + // Adjust position and size of game window to match window config. + // This needs to happen after UGameEngine::SwitchGameWindowToUseGameViewport + // is called. In practice that happens from FEngineLoop::Init after a call + // to UGameEngine::Start - therefore this is done in PreTick on the first frame. + if (!bWindowAdjusted) + { + bWindowAdjusted = true; + +//#ifdef DISPLAY_CLUSTER_USE_DEBUG_STANDALONE_CONFIG +#if 0 + if (GDisplayCluster->GetPrivateConfigMgr()->IsRunningDebugAuto()) + { + UE_LOG(LogDisplayClusterRender, Log, TEXT("Running in debug auto mode. Adjusting window...")); + ResizeWindow(DisplayClusterConstants::misc::DebugAutoWinX, DisplayClusterConstants::misc::DebugAutoWinY, DisplayClusterConstants::misc::DebugAutoResX, DisplayClusterConstants::misc::DebugAutoResY); + return; + } +#endif + + if (FParse::Param(FCommandLine::Get(), TEXT("windowed"))) + { + int32 WinX = 0; + int32 WinY = 0; + int32 ResX = 0; + int32 ResY = 0; + + if (FParse::Value(FCommandLine::Get(), TEXT("WinX="), WinX) && + FParse::Value(FCommandLine::Get(), TEXT("WinY="), WinY) && + FParse::Value(FCommandLine::Get(), TEXT("ResX="), ResX) && + FParse::Value(FCommandLine::Get(), TEXT("ResY="), ResY)) + { + ResizeWindow(WinX, WinY, ResX, ResY); + } + else + { + UE_LOG(LogDisplayClusterRender, Error, TEXT("Wrong window pos/size arguments")); + } + } + } +} + +void FDisplayClusterRenderManager::ResizeWindow(int32 WinX, int32 WinY, int32 ResX, int32 ResY) +{ + DISPLAY_CLUSTER_FUNC_TRACE(LogDisplayClusterRender); + + UGameEngine* engine = Cast<UGameEngine>(GEngine); + TSharedPtr<SWindow> window = engine->GameViewportWindow.Pin(); + check(window.IsValid()); + + UE_LOG(LogDisplayClusterRender, Log, TEXT("Adjusting game window: pos [%d, %d], size [%d x %d]"), WinX, WinY, ResX, ResY); + + // Adjust window position/size + window->ReshapeWindow(FVector2D(WinX, WinY), FVector2D(ResX, ResY)); +} diff --git a/Source/DisplayCluster/Private/Render/DisplayClusterRenderManager.h b/Source/DisplayCluster/Private/Render/DisplayClusterRenderManager.h new file mode 100644 index 0000000..4fdbfb1 --- /dev/null +++ b/Source/DisplayCluster/Private/Render/DisplayClusterRenderManager.h @@ -0,0 +1,58 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "IPDisplayClusterRenderManager.h" + +class FDisplayClusterDeviceBase; +class FDisplayClusterNativePresentHandler; + +/** + * Render manager. Responsible for anything related to a visual part. + */ +class FDisplayClusterRenderManager + : public IPDisplayClusterRenderManager +{ +public: + FDisplayClusterRenderManager(); + virtual ~FDisplayClusterRenderManager(); + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterManager + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual bool Init(EDisplayClusterOperationMode OperationMode) override; + virtual void Release() override; + virtual bool StartSession(const FString& configPath, const FString& nodeId) override; + virtual void EndSession() override; + virtual void PreTick(float DeltaSeconds) override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterRenderManager + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual IDisplayClusterStereoDevice* GetStereoDevice() const override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IPDisplayClusterRenderManager + ////////////////////////////////////////////////////////////////////////////////////////////// + +private: + FDisplayClusterDeviceBase* CreateStereoDevice(); + void ResizeWindow(int32 WinX, int32 WinY, int32 ResX, int32 ResY); + void OnViewportCreatedHandler(); + void OnBeginDrawHandler(); + +private: + EDisplayClusterOperationMode CurrentOperationMode; + FString ConfigPath; + FString ClusterNodeId; + + // Interface pointer to eliminate type casting + IDisplayClusterStereoDevice* Device = nullptr; + FDisplayClusterNativePresentHandler* NativePresentHandler; + bool bWindowAdjusted = false; +}; + diff --git a/Source/DisplayCluster/Private/Render/IPDisplayClusterRenderManager.h b/Source/DisplayCluster/Private/Render/IPDisplayClusterRenderManager.h new file mode 100644 index 0000000..6a10bc1 --- /dev/null +++ b/Source/DisplayCluster/Private/Render/IPDisplayClusterRenderManager.h @@ -0,0 +1,19 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Render/IDisplayClusterRenderManager.h" +#include "IPDisplayClusterManager.h" + + +/** + * Render manager interface + */ +struct IPDisplayClusterRenderManager + : public IDisplayClusterRenderManager + , public IPDisplayClusterManager +{ + virtual ~IPDisplayClusterRenderManager() + { } + +}; diff --git a/Source/DisplayCluster/Public/Blueprints/DisplayClusterBlueprintLib.h b/Source/DisplayCluster/Public/Blueprints/DisplayClusterBlueprintLib.h new file mode 100644 index 0000000..6209af2 --- /dev/null +++ b/Source/DisplayCluster/Public/Blueprints/DisplayClusterBlueprintLib.h @@ -0,0 +1,24 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Kismet/BlueprintFunctionLibrary.h" +#include "Blueprints/IDisplayClusterBlueprintAPI.h" +#include "DisplayClusterBlueprintLib.generated.h" + + +/** + * Blueprint API function library + */ +UCLASS() +class UDisplayClusterBlueprintLib + : public UBlueprintFunctionLibrary +{ + GENERATED_UCLASS_BODY() + +public: + /** Return Display Cluster API interface. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get Display Cluster Plugin API"), Category = "DisplayCluster") + static void GetAPI(TScriptInterface<IDisplayClusterBlueprintAPI>& OutAPI); +}; diff --git a/Source/DisplayCluster/Public/Blueprints/IDisplayClusterBlueprintAPI.h b/Source/DisplayCluster/Public/Blueprints/IDisplayClusterBlueprintAPI.h new file mode 100644 index 0000000..9ff25c0 --- /dev/null +++ b/Source/DisplayCluster/Public/Blueprints/IDisplayClusterBlueprintAPI.h @@ -0,0 +1,236 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "UObject/Interface.h" +#include "DisplayClusterOperationMode.h" +#include "IDisplayClusterBlueprintAPI.generated.h" + + +UINTERFACE(meta = (CannotImplementInterfaceInBlueprint)) +class DISPLAYCLUSTER_API UDisplayClusterBlueprintAPI : public UInterface +{ + GENERATED_BODY() +}; + + +/** + * Blueprint API interface + */ +class DISPLAYCLUSTER_API IDisplayClusterBlueprintAPI +{ + GENERATED_BODY() + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // DisplayCluster module API + ////////////////////////////////////////////////////////////////////////////////////////////// + /** Return if the module has been initialized. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Is module initialized"), Category = "DisplayCluster") + virtual bool IsModuleInitialized() = 0; + + /** Return current operation mode. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get operation mode"), Category = "DisplayCluster") + virtual EDisplayClusterOperationMode GetOperationMode() = 0; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // Cluster API + ////////////////////////////////////////////////////////////////////////////////////////////// + /** Return if current node is a master computer in cluster. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Is master node"), Category = "DisplayCluster|Cluster") + virtual bool IsMaster() = 0; + + /** Return if current node is not a master computer in cluster. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Is slave node"), Category = "DisplayCluster|Cluster") + virtual bool IsSlave() = 0; + + /** Whether application is in cluster mode or not. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Is cluster mode"), Category = "DisplayCluster|Cluster") + virtual bool IsCluster() = 0; + + /** Whether application is in standalone mode or not. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Is standalone mode"), Category = "DisplayCluster|Cluster") + virtual bool IsStandalone() = 0; + + /** Returns node name of the current application instance. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get node ID"), Category = "DisplayCluster|Cluster") + virtual FString GetNodeId() = 0; + + /** Returns amount of nodes in cluster. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get nodes amount"), Category = "DisplayCluster|Cluster") + virtual int32 GetNodesAmount() = 0; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // Config API + ////////////////////////////////////////////////////////////////////////////////////////////// + + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // Game API + ////////////////////////////////////////////////////////////////////////////////////////////// + // Root + /** Returns Cluster Pawn. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get root"), Category = "DisplayCluster|Game") + virtual ADisplayClusterPawn* GetRoot() = 0; + + // Screens + /** Returns screen reference used for computing frustum output. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get active screen"), Category = "DisplayCluster|Game") + virtual UDisplayClusterScreenComponent* GetActiveScreen() = 0; + + /** Returns screen reference by id name. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get screen by ID"), Category = "DisplayCluster|Game") + virtual UDisplayClusterScreenComponent* GetScreenById(const FString& id) = 0; + + /** Returns array of all screen references. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get all screens"), Category = "DisplayCluster|Game") + virtual TArray<UDisplayClusterScreenComponent*> GetAllScreens() = 0; + + /** Returns amount of screens defined in configuration file. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get amount of screens"), Category = "DisplayCluster|Game") + virtual int32 GetScreensAmount() = 0; + + // Cameras + /* + virtual UDisplayClusterCameraComponent* GetActiveCamera() const = 0; + virtual UDisplayClusterCameraComponent* GetCameraById(const FString& id) const = 0; + virtual TArray<UDisplayClusterCameraComponent*> GetAllCameras() const = 0; + virtual int32 GetCamerasAmount() const = 0; + virtual void SetActiveCamera(int32 idx) = 0; + virtual void SetActiveCamera(const FString& id) = 0; + */ + + // Nodes + /** Returns node reference by its id name. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get node by ID"), Category = "DisplayCluster|Game") + virtual UDisplayClusterSceneComponent* GetNodeById(const FString& id) = 0; + + /** Returns array of all nodes references by its id name. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get all nodes"), Category = "DisplayCluster|Game") + virtual TArray<UDisplayClusterSceneComponent*> GetAllNodes() = 0; + + // Navigation + /** Returns scene component used for default pawn navigation. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get translation direction component"), Category = "DisplayCluster|Game") + virtual USceneComponent* GetTranslationDirectionComponent() = 0; + + /** Set scene component to be used for default pawn navigation. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set translation direction component"), Category = "DisplayCluster|Game") + virtual void SetTranslationDirectionComponent(USceneComponent* pComp) = 0; + + /** Set scene component to be used for default pawn navigation by id name. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set translation direction component by ID"), Category = "DisplayCluster|Game") + virtual void SetTranslationDirectionComponentId(const FString& id) = 0; + + /** Return scene component used as a pivot point for rotation of the scene node hierarchy. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get rotate around component"), Category = "DisplayCluster|Game") + virtual USceneComponent* GetRotateAroundComponent() = 0; + + /** Set scene component used as a pivot point for rotation of the scene node hierarchy. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set rotate around component"), Category = "DisplayCluster|Game") + virtual void SetRotateAroundComponent(USceneComponent* pComp) = 0; + + /** Set scene component used as a pivot point for rotation of the scene node hierarchy by id name. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set rotate around component by ID"), Category = "DisplayCluster|Game") + virtual void SetRotateAroundComponentId(const FString& id) = 0; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // Input API + ////////////////////////////////////////////////////////////////////////////////////////////// + // Device information + /** Return amount of VRPN axis devices. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get amount of VRPN axis devices"), Category = "DisplayCluster|Input") + virtual int32 GetAxisDeviceAmount() = 0; + + /** Return amount of VRPN button devices. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get amount of VRPN button devices"), Category = "DisplayCluster|Input") + virtual int32 GetButtonDeviceAmount() = 0; + + /** Return amount of VRPN tracker devices. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get amount of VRPN tracker devices"), Category = "DisplayCluster|Input") + virtual int32 GetTrackerDeviceAmount() = 0; + + /** Return array of names of all VRPN axis devices. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get IDs of VRPN axis devices"), Category = "DisplayCluster|Input") + virtual bool GetAxisDeviceIds(TArray<FString>& IDs) = 0; + + /** Return array of names of all VRPN button devices. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get IDs of VRPN button devices"), Category = "DisplayCluster|Input") + virtual bool GetButtonDeviceIds(TArray<FString>& IDs) = 0; + + /** Return array of names of all VRPN tracker devices. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get IDs of VRPN tracker devices"), Category = "DisplayCluster|Input") + virtual bool GetTrackerDeviceIds(TArray<FString>& IDs) = 0; + + // Buttons + /** Return state of VRPN button at specified device and channel. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get VRPN button state"), Category = "DisplayCluster|Input") + virtual void GetButtonState(const FString& DeviceId, uint8 DeviceChannel, bool& CurState, bool& IsChannelAvailable) = 0; + + /** Return whether VRPN button is pressed at specified device and channel. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Is VRPN button pressed"), Category = "DisplayCluster|Input") + virtual void IsButtonPressed(const FString& DeviceId, uint8 DeviceChannel, bool& CurPressed, bool& IsChannelAvailable) = 0; + + /** Return whether VRPN button is released at specified device and channel. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Is VRPN button released"), Category = "DisplayCluster|Input") + virtual void IsButtonReleased(const FString& DeviceId, uint8 DeviceChannel, bool& CurReleased, bool& IsChannelAvailable) = 0; + + /** Return whether VRPN button was released at specified device and channel. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Was VRPN button pressed"), Category = "DisplayCluster|Input") + virtual void WasButtonPressed(const FString& DeviceId, uint8 DeviceChannel, bool& WasPressed, bool& IsChannelAvailable) = 0; + + /** Return whether VRPN button was released at specified device and channel. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Was VRPN button released"), Category = "DisplayCluster|Input") + virtual void WasButtonReleased(const FString& DeviceId, uint8 DeviceChannel, bool& WasReleased, bool& IsChannelAvailable) = 0; + + // Axes + /** Return axis value at specified device and channel. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get VRPN axis value"), Category = "DisplayCluster|Input") + virtual void GetAxis(const FString& DeviceId, uint8 DeviceChannel, float& Value, bool& IsAvailable) = 0; + + // Trackers + /** Return tracker location values at specified device and channel. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get VRPN tracker location"), Category = "DisplayCluster|Input") + virtual void GetTrackerLocation(const FString& DeviceId, uint8 DeviceChannel, FVector& Location, bool& IsChannelAvailable) = 0; + + /** Return tracker quanternion values at specified device and channel. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get VRPN tracker rotation (as quaternion)"), Category = "DisplayCluster|Input") + virtual void GetTrackerQuat(const FString& DeviceId, uint8 DeviceChannel, FQuat& Rotation, bool& IsChannelAvailable) = 0; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // Render API + ////////////////////////////////////////////////////////////////////////////////////////////// + /** Set eye interpupillary distance (eye separation) for stereoscopic rendering. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set interpuppillary distance"), Category = "DisplayCluster|Render") + virtual void SetInterpupillaryDistance(float dist) = 0; + + /** Return eye interpupillary distance (eye separation) for stereoscopic rendering. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get interpuppillary distance"), Category = "DisplayCluster|Render") + virtual float GetInterpupillaryDistance() = 0; + + /** Swap eye rendering. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set eye swap"), Category = "DisplayCluster|Render") + virtual void SetEyesSwap(bool swap) = 0; + + /** Get Swap eye rendering state. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get eye swap"), Category = "DisplayCluster|Render") + virtual bool GetEyesSwap() = 0; + + /** Toggle current eye swap state. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Toggle eye swap"), Category = "DisplayCluster|Render") + virtual bool ToggleEyesSwap() = 0; + + /** Return near and far plane clip plane distances. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Get near and far clipping distance"), Category = "DisplayCluster|Render") + virtual void GetCullingDistance(float& NearClipPlane, float& FarClipPlane) = 0; + + /** Set near and far plane clip plane distances. */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set near and far clipping distance"), Category = "DisplayCluster|Render") + virtual void SetCullingDistance(float NearClipPlane, float FarClipPlane) = 0; +}; diff --git a/Source/DisplayCluster/Public/Cluster/IDisplayClusterClusterManager.h b/Source/DisplayCluster/Public/Cluster/IDisplayClusterClusterManager.h new file mode 100644 index 0000000..9674d47 --- /dev/null +++ b/Source/DisplayCluster/Public/Cluster/IDisplayClusterClusterManager.h @@ -0,0 +1,22 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" + + +/** + * Public cluster manager interface + */ +struct IDisplayClusterClusterManager +{ + virtual ~IDisplayClusterClusterManager() + { } + + virtual bool IsMaster() const = 0; + virtual bool IsSlave() const = 0; + virtual bool IsStandalone() const = 0; + virtual bool IsCluster() const = 0; + virtual FString GetNodeId() const = 0; + virtual uint32 GetNodesAmount() const = 0; +}; diff --git a/Source/DisplayCluster/Public/Cluster/IDisplayClusterClusterSyncObject.h b/Source/DisplayCluster/Public/Cluster/IDisplayClusterClusterSyncObject.h new file mode 100644 index 0000000..8fdfcab --- /dev/null +++ b/Source/DisplayCluster/Public/Cluster/IDisplayClusterClusterSyncObject.h @@ -0,0 +1,23 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "IDisplayClusterStringSerializable.h" + + +/** + * Synchronizable object interface + */ +struct IDisplayClusterClusterSyncObject + : public IDisplayClusterStringSerializable +{ + virtual ~IDisplayClusterClusterSyncObject() + { } + + // Unique ID of synced object + virtual FString GetSyncId() const = 0; + // Check if object has changed since last ClearDirty call + virtual bool IsDirty() const = 0; + // Cleans dirty flag making it 'not changed yet' + virtual void ClearDirty() = 0; +}; diff --git a/Source/DisplayCluster/Public/Config/DisplayClusterConfigTypes.h b/Source/DisplayCluster/Public/Config/DisplayClusterConfigTypes.h new file mode 100644 index 0000000..276cd94 --- /dev/null +++ b/Source/DisplayCluster/Public/Config/DisplayClusterConfigTypes.h @@ -0,0 +1,167 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "IDisplayClusterStringSerializable.h" + + +////////////////////////////////////////////////////////////////////////////////////////////// +// Base interface for config data holders +////////////////////////////////////////////////////////////////////////////////////////////// +struct FDisplayClusterConfigBase : public IDisplayClusterStringSerializable +{ + virtual ~FDisplayClusterConfigBase() + { } + + // Prints in human readable format + virtual FString ToString() const + { return FString("[]"); } + + // Currently no need to serialize the data + virtual FString SerializeToString() const override final + { return FString(); } + + // Deserialization from config file + virtual bool DeserializeFromString(const FString& line) override + { return true; } +}; + +////////////////////////////////////////////////////////////////////////////////////////////// +// Cluster node configuration (separate application) +////////////////////////////////////////////////////////////////////////////////////////////// +struct FDisplayClusterConfigClusterNode : public FDisplayClusterConfigBase +{ + FString Id; + FString Addr; + FString ScreenId; + FString ViewportId; + bool IsMaster = false; + int32 Port_CS = -1; + int32 Port_SS = -1; + bool SoundEnabled = false; + bool EyeSwap = false; + + virtual FString ToString() const override; + virtual bool DeserializeFromString(const FString& line) override; +}; + +////////////////////////////////////////////////////////////////////////////////////////////// +// Viewport configuration +////////////////////////////////////////////////////////////////////////////////////////////// +struct FDisplayClusterConfigViewport : public FDisplayClusterConfigBase +{ + FString Id; + FIntPoint Loc = FIntPoint::ZeroValue; + FIntPoint Size = FIntPoint::ZeroValue; + + virtual FString ToString() const override; + virtual bool DeserializeFromString(const FString& line) override; +}; + +////////////////////////////////////////////////////////////////////////////////////////////// +// Scene node configuration (DisplayCluster hierarchy is built from such nodes) +////////////////////////////////////////////////////////////////////////////////////////////// +struct FDisplayClusterConfigSceneNode : public FDisplayClusterConfigBase +{ + FString Id; + FString ParentId; + FVector Loc = FVector::ZeroVector; + FRotator Rot = FRotator::ZeroRotator; + FString TrackerId; + int32 TrackerCh = -1; + + virtual FString ToString() const override; + virtual bool DeserializeFromString(const FString& line) override; +}; + +////////////////////////////////////////////////////////////////////////////////////////////// +// Projection screen configuration (used for asymmetric frustum calculation) +////////////////////////////////////////////////////////////////////////////////////////////// +struct FDisplayClusterConfigScreen : public FDisplayClusterConfigSceneNode +{ + FVector2D Size = FVector2D::ZeroVector; + + virtual FString ToString() const override; + virtual bool DeserializeFromString(const FString& line) override; +}; + +////////////////////////////////////////////////////////////////////////////////////////////// +// Camera configuration (DisplayCluster camera) +////////////////////////////////////////////////////////////////////////////////////////////// +struct FDisplayClusterConfigCamera : public FDisplayClusterConfigSceneNode +{ + + virtual FString ToString() const override; + virtual bool DeserializeFromString(const FString& line) override; +}; + +////////////////////////////////////////////////////////////////////////////////////////////// +// Input device configuration (VRPN and other possible devices) +////////////////////////////////////////////////////////////////////////////////////////////// +struct FDisplayClusterConfigInput : public FDisplayClusterConfigBase +{ + FString Id; + FString Type; + FString Params; + TMap<int32, int32> ChMap; + + virtual FString ToString() const override; + virtual bool DeserializeFromString(const FString& line) override; +}; + +////////////////////////////////////////////////////////////////////////////////////////////// +// General DisplayCluster configuration +////////////////////////////////////////////////////////////////////////////////////////////// +struct FDisplayClusterConfigGeneral : public FDisplayClusterConfigBase +{ + int32 SwapSyncPolicy = 0; + + virtual FString ToString() const override; + virtual bool DeserializeFromString(const FString& line) override; +}; + +////////////////////////////////////////////////////////////////////////////////////////////// +// Render configuration +////////////////////////////////////////////////////////////////////////////////////////////// +struct FDisplayClusterConfigRender : public FDisplayClusterConfigBase +{ + + virtual FString ToString() const override; + virtual bool DeserializeFromString(const FString& line) override; +}; + +////////////////////////////////////////////////////////////////////////////////////////////// +// Stereo configuration +////////////////////////////////////////////////////////////////////////////////////////////// +struct FDisplayClusterConfigStereo : public FDisplayClusterConfigBase +{ + float EyeDist = 0.064f; + + virtual FString ToString() const override; + virtual bool DeserializeFromString(const FString& line) override; +}; + +////////////////////////////////////////////////////////////////////////////////////////////// +// Debug settings +////////////////////////////////////////////////////////////////////////////////////////////// +struct FDisplayClusterConfigDebug : public FDisplayClusterConfigBase +{ + bool DrawStats = false; + bool LagSimulateEnabled = false; + float LagMaxTime = 0.5f; // seconds + + virtual FString ToString() const override; + virtual bool DeserializeFromString(const FString& line) override; +}; + +////////////////////////////////////////////////////////////////////////////////////////////// +// Custom development settings +////////////////////////////////////////////////////////////////////////////////////////////// +struct FDisplayClusterConfigCustom : public FDisplayClusterConfigBase +{ + TMap<FString, FString> Args; + + virtual FString ToString() const override; + virtual bool DeserializeFromString(const FString& line) override; +}; diff --git a/Source/DisplayCluster/Public/Config/IDisplayClusterConfigManager.h b/Source/DisplayCluster/Public/Config/IDisplayClusterConfigManager.h new file mode 100644 index 0000000..2a9ede5 --- /dev/null +++ b/Source/DisplayCluster/Public/Config/IDisplayClusterConfigManager.h @@ -0,0 +1,55 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "DisplayClusterConfigTypes.h" + + +/** + * Public config manager interface + */ +struct IDisplayClusterConfigManager +{ + virtual ~IDisplayClusterConfigManager() + { } + + virtual int32 GetClusterNodesAmount() const = 0; + virtual TArray<FDisplayClusterConfigClusterNode> GetClusterNodes() const = 0; + virtual bool GetClusterNode(int32 idx, FDisplayClusterConfigClusterNode& cnode) const = 0; + virtual bool GetClusterNode(const FString& id, FDisplayClusterConfigClusterNode& cnode) const = 0; + virtual bool GetMasterClusterNode(FDisplayClusterConfigClusterNode& cnode) const = 0; + virtual bool GetLocalClusterNode(FDisplayClusterConfigClusterNode& cnode) const = 0; + + virtual int32 GetScreensAmount() const = 0; + virtual TArray<FDisplayClusterConfigScreen> GetScreens() const = 0; + virtual bool GetScreen(int32 idx, FDisplayClusterConfigScreen& screen) const = 0; + virtual bool GetScreen(const FString& id, FDisplayClusterConfigScreen& screen) const = 0; + virtual bool GetLocalScreen(FDisplayClusterConfigScreen& screen) const = 0; + + virtual int32 GetCamerasAmount() const = 0; + virtual TArray<FDisplayClusterConfigCamera> GetCameras() const = 0; + virtual bool GetCamera(int32 idx, FDisplayClusterConfigCamera& camera) const = 0; + virtual bool GetCamera(const FString& id, FDisplayClusterConfigCamera& camera) const = 0; + + virtual int32 GetViewportsAmount() const = 0; + virtual TArray<FDisplayClusterConfigViewport> GetViewports() const = 0; + virtual bool GetViewport(int32 idx, FDisplayClusterConfigViewport& viewport) const = 0; + virtual bool GetViewport(const FString& id, FDisplayClusterConfigViewport& viewport) const = 0; + virtual bool GetLocalViewport(FDisplayClusterConfigViewport& screen) const = 0; + + virtual int32 GetSceneNodesAmount() const = 0; + virtual TArray<FDisplayClusterConfigSceneNode> GetSceneNodes() const = 0; + virtual bool GetSceneNode(int32 idx, FDisplayClusterConfigSceneNode& snode) const = 0; + virtual bool GetSceneNode(const FString& id, FDisplayClusterConfigSceneNode& snode) const = 0; + + virtual int32 GetInputDevicesAmount() const = 0; + virtual TArray<FDisplayClusterConfigInput> GetInputDevices() const = 0; + virtual bool GetInputDevice(int32 idx, FDisplayClusterConfigInput& input) const = 0; + virtual bool GetInputDevice(const FString& id, FDisplayClusterConfigInput& input) const = 0; + + virtual FDisplayClusterConfigGeneral GetConfigGeneral() const = 0; + virtual FDisplayClusterConfigStereo GetConfigStereo() const = 0; + virtual FDisplayClusterConfigRender GetConfigRender() const = 0; + virtual FDisplayClusterConfigDebug GetConfigDebug() const = 0; + virtual FDisplayClusterConfigCustom GetConfigCustom() const = 0; +}; diff --git a/Source/DisplayCluster/Public/DisplayClusterCameraComponent.h b/Source/DisplayCluster/Public/DisplayClusterCameraComponent.h new file mode 100644 index 0000000..5c20088 --- /dev/null +++ b/Source/DisplayCluster/Public/DisplayClusterCameraComponent.h @@ -0,0 +1,28 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "DisplayClusterSceneComponent.h" +#include "DisplayClusterCameraComponent.generated.h" + + +/** + * Camera component + */ +UCLASS( ClassGroup=(Custom) ) +class DISPLAYCLUSTER_API UDisplayClusterCameraComponent + : public UDisplayClusterSceneComponent +{ + GENERATED_BODY() + +public: + UDisplayClusterCameraComponent(const FObjectInitializer& ObjectInitializer); + +public: + virtual void SetSettings(const FDisplayClusterConfigSceneNode* pConfig) override; + virtual bool ApplySettings() override; + +public: + virtual void BeginPlay() override; + virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override; +}; diff --git a/Source/DisplayCluster/Public/DisplayClusterGameEngine.h b/Source/DisplayCluster/Public/DisplayClusterGameEngine.h new file mode 100644 index 0000000..2dfbdbd --- /dev/null +++ b/Source/DisplayCluster/Public/DisplayClusterGameEngine.h @@ -0,0 +1,44 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Engine/GameEngine.h" + +#include "Config/DisplayClusterConfigTypes.h" +#include "DisplayClusterOperationMode.h" + +#include "DisplayClusterGameEngine.generated.h" + + +struct IPDisplayClusterClusterManager; +struct IPDisplayClusterNodeController; +struct IPDisplayClusterInputManager; + + +/** + * Extended game engine + */ +UCLASS() +class DISPLAYCLUSTER_API UDisplayClusterGameEngine + : public UGameEngine +{ + GENERATED_BODY() + +public: + virtual void Init(class IEngineLoop* InEngineLoop) override; + virtual void PreExit() override; + virtual void Tick(float DeltaSeconds, bool bIdleMode) override; + virtual bool LoadMap(FWorldContext& WorldContext, FURL URL, class UPendingNetGame* Pending, FString& Error) override; + +protected: + virtual bool InitializeInternals(); + EDisplayClusterOperationMode DetectOperationMode(); + +private: + IPDisplayClusterClusterManager* ClusterMgr = nullptr; + IPDisplayClusterNodeController* NodeController = nullptr; + IPDisplayClusterInputManager* InputMgr = nullptr; + + FDisplayClusterConfigDebug CfgDebug; + EDisplayClusterOperationMode OperationMode = EDisplayClusterOperationMode::Disabled; +}; diff --git a/Source/DisplayCluster/Public/DisplayClusterGameMode.h b/Source/DisplayCluster/Public/DisplayClusterGameMode.h new file mode 100644 index 0000000..a26d37f --- /dev/null +++ b/Source/DisplayCluster/Public/DisplayClusterGameMode.h @@ -0,0 +1,55 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#if WITH_EDITOR +#include "Editor.h" +#endif + +#include "GameFramework/GameMode.h" +#include "DisplayClusterGameMode.generated.h" + + +struct IPDisplayCluster; + +/** + * Extended game mode + */ +UCLASS() +class DISPLAYCLUSTER_API ADisplayClusterGameMode + : public AGameMode +{ + GENERATED_BODY() + +public: + ADisplayClusterGameMode(); + virtual ~ADisplayClusterGameMode(); + +public: + UFUNCTION(BlueprintCallable, Category = "DisplayCluster") + bool IsDisplayClusterActive() const + { return bIsDisplayClusterActive; } + +public: + virtual void InitGame(const FString& MapName, const FString& Options, FString& ErrorMessage) override; + virtual void StartPlay() override; + virtual void Tick(float DeltaSeconds) override; + virtual void BeginPlay() override; + virtual void BeginDestroy() override; + +protected: + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "DisplayCluster") + bool bIsDisplayClusterActive = true; + +protected: + bool bGameStarted = false; + +#if WITH_EDITOR +protected: + static bool bNeedSessionStart; + static bool bSessionStarted; + + FDelegateHandle EndPIEDelegate; + void OnEndPIE(const bool bSimulate); +#endif +}; diff --git a/Source/DisplayCluster/Public/DisplayClusterGameModeDefault.h b/Source/DisplayCluster/Public/DisplayClusterGameModeDefault.h new file mode 100644 index 0000000..b515c1e --- /dev/null +++ b/Source/DisplayCluster/Public/DisplayClusterGameModeDefault.h @@ -0,0 +1,21 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "DisplayClusterGameMode.h" +#include "DisplayClusterGameModeDefault.generated.h" + + +/** + * Extended game mode with some implemented features (navigation) + */ +UCLASS() +class DISPLAYCLUSTER_API ADisplayClusterGameModeDefault + : public ADisplayClusterGameMode +{ + GENERATED_BODY() + +public: + ADisplayClusterGameModeDefault(); + virtual ~ADisplayClusterGameModeDefault(); +}; diff --git a/Source/DisplayCluster/Public/DisplayClusterHUD.h b/Source/DisplayCluster/Public/DisplayClusterHUD.h new file mode 100644 index 0000000..2dd4406 --- /dev/null +++ b/Source/DisplayCluster/Public/DisplayClusterHUD.h @@ -0,0 +1,27 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "GameFramework/HUD.h" +#include "DisplayClusterHUD.generated.h" + + +/** + * Extended HUD + */ +UCLASS() +class DISPLAYCLUSTER_API ADisplayClusterHUD + : public AHUD +{ + GENERATED_BODY() + +public: + ADisplayClusterHUD(const FObjectInitializer& ObjectInitializer); + +public: + virtual void BeginPlay() override; + + /** Primary draw call for the HUD */ + virtual void DrawHUD() override; +}; + diff --git a/Source/DisplayCluster/Public/DisplayClusterOperationMode.h b/Source/DisplayCluster/Public/DisplayClusterOperationMode.h new file mode 100644 index 0000000..52918a3 --- /dev/null +++ b/Source/DisplayCluster/Public/DisplayClusterOperationMode.h @@ -0,0 +1,18 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "DisplayClusterOperationMode.generated.h" + +/** + * Display cluster operation mode + */ +UENUM(BlueprintType) +enum class EDisplayClusterOperationMode : uint8 +{ + Cluster, + Standalone, + Editor, + Disabled +}; diff --git a/Source/DisplayCluster/Public/DisplayClusterPawn.h b/Source/DisplayCluster/Public/DisplayClusterPawn.h new file mode 100644 index 0000000..614a0d1 --- /dev/null +++ b/Source/DisplayCluster/Public/DisplayClusterPawn.h @@ -0,0 +1,77 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/Pawn.h" +#include "DisplayClusterPawn.generated.h" + + +class UCameraComponent; +class USphereComponent; +class UDisplayClusterSceneComponent; +class UDisplayClusterSceneComponentSyncParent; + +struct IPDisplayClusterGameManager; + + +/** + * VR root. This pawn represents VR hierarchy in the game. + */ +UCLASS() +class DISPLAYCLUSTER_API ADisplayClusterPawn + : public APawn +{ + GENERATED_UCLASS_BODY() + +public: + inline USphereComponent* GetCollisionComponent() const + { return CollisionComponent; } + + inline UDisplayClusterSceneComponent* GetCollisionOffsetComponent() const + { return CollisionOffsetComponent; } + + inline UCameraComponent* GetCameraComponent() const + { return CameraComponent; } + +public: + /** Scene component. Specifies translation (DisplayCluster hierarchy navigation) direction. */ + UPROPERTY(EditAnywhere, Category = "DisplayCluster") + USceneComponent* TranslationDirection; + + /** Scene component. Specifies rotation center (DisplayCluster hierarchy rotation). */ + UPROPERTY(EditAnywhere, Category = "DisplayCluster") + USceneComponent* RotationAround; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // APawn + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void BeginPlay() override; + virtual void BeginDestroy() override; + virtual void Tick(float DeltaSeconds) override; + +protected: + /** Camera component */ + UPROPERTY(VisibleAnywhere, Category = "DisplayCluster") + UCameraComponent* CameraComponent; + + /** Collision component */ + UPROPERTY(Category = Pawn, VisibleAnywhere, BlueprintReadOnly, meta = (AllowPrivateAccess = "true")) + USphereComponent* CollisionComponent; + + /** Used as 'second' root for any childs (whole hierarchy offset) */ + UPROPERTY(Category = Pawn, VisibleAnywhere, BlueprintReadOnly, meta = (AllowPrivateAccess = "true")) + UDisplayClusterSceneComponent* CollisionOffsetComponent; + +private: + UPROPERTY() + UDisplayClusterSceneComponentSyncParent* DisplayClusterSyncRoot; + + UPROPERTY() + UDisplayClusterSceneComponentSyncParent* DisplayClusterSyncCollisionOffset; + + IPDisplayClusterGameManager* GameMgr = nullptr; + + bool bIsCluster; +}; diff --git a/Source/DisplayCluster/Public/DisplayClusterPawnDefault.h b/Source/DisplayCluster/Public/DisplayClusterPawnDefault.h new file mode 100644 index 0000000..a47563f --- /dev/null +++ b/Source/DisplayCluster/Public/DisplayClusterPawnDefault.h @@ -0,0 +1,105 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "DisplayClusterPawn.h" + +#include "GameFramework/FloatingPawnMovement.h" +#include "GameFramework/RotatingMovementComponent.h" + +#include "DisplayClusterPawnDefault.generated.h" + + +/** + * Extended VR root. Implements some basic features. + */ +UCLASS() +class DISPLAYCLUSTER_API ADisplayClusterPawnDefault + : public ADisplayClusterPawn +{ + GENERATED_UCLASS_BODY() + +public: + + /** Base turn rate, in deg/sec. Other scaling may affect final turn rate. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Pawn") + float BaseTurnRate; + + /** Base lookup rate, in deg/sec. Other scaling may affect final lookup rate. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Pawn") + float BaseLookUpRate; + +public: + virtual UPawnMovementComponent* GetMovementComponent() const override + { return MovementComponent; } + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // APawn + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual void BeginPlay() override; + virtual void BeginDestroy() override; + virtual void Tick(float DeltaSeconds) override; + +public: + /** + * Input callback to move forward in local space (or backward if Val is negative). + * @param Val Amount of movement in the forward direction (or backward if negative). + * @see APawn::AddMovementInput() + */ + UFUNCTION(BlueprintCallable, Category = "Pawn") + void MoveForward(float Val); + + /** + * Input callback to strafe right in local space (or left if Val is negative). + * @param Val Amount of movement in the right direction (or left if negative). + * @see APawn::AddMovementInput() + */ + UFUNCTION(BlueprintCallable, Category = "Pawn") + void MoveRight(float Val); + + /** + * Input callback to move up in world space (or down if Val is negative). + * @param Val Amount of movement in the world up direction (or down if negative). + * @see APawn::AddMovementInput() + */ + UFUNCTION(BlueprintCallable, Category = "Pawn") + void MoveUp(float Val); + + /** + * Called via input to turn at a given rate. + * @param Rate This is a normalized rate, i.e. 1.0 means 100% of desired turn rate + */ + UFUNCTION(BlueprintCallable, Category = "Pawn") + void TurnAtRate(float Rate); + + UFUNCTION(BlueprintCallable, Category = "Pawn") + void TurnAtRate2(float Rate); + + /** + * Called via input to look up at a given rate (or down if Rate is negative). + * @param Rate This is a normalized rate, i.e. 1.0 means 100% of desired turn rate + */ + UFUNCTION(BlueprintCallable, Category = "Pawn") + void LookUpAtRate(float Rate); + +protected: + virtual void SetupPlayerInputComponent(UInputComponent* InInputComponent) override; + +protected: + /** Movement component */ + UPROPERTY(Category = Pawn, VisibleAnywhere, BlueprintReadOnly, meta = (AllowPrivateAccess = "true")) + UFloatingPawnMovement* MovementComponent; + + /** Rotating movement */ + UPROPERTY(Category = Pawn, VisibleAnywhere, BlueprintReadOnly, meta = (AllowPrivateAccess = "true")) + URotatingMovementComponent* RotatingComponent; + + UPROPERTY(Category = Pawn, VisibleAnywhere, BlueprintReadOnly, meta = (AllowPrivateAccess = "true")) + URotatingMovementComponent * RotatingComponent2; + +private: + IPDisplayClusterGameManager* GameMgr = nullptr; + + bool bIsCluster = false; +}; diff --git a/Source/DisplayCluster/Public/DisplayClusterPlayerController.h b/Source/DisplayCluster/Public/DisplayClusterPlayerController.h new file mode 100644 index 0000000..fd92a08 --- /dev/null +++ b/Source/DisplayCluster/Public/DisplayClusterPlayerController.h @@ -0,0 +1,21 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "GameFramework/PlayerController.h" +#include "DisplayClusterPlayerController.generated.h" + +/** + * Extended player controller + */ +UCLASS() +class DISPLAYCLUSTER_API ADisplayClusterPlayerController + : public APlayerController +{ + GENERATED_BODY() + +public: + virtual void BeginPlay() override; + virtual void PlayerTick(float DeltaTime) override; +}; + diff --git a/Source/DisplayCluster/Public/DisplayClusterSceneComponent.h b/Source/DisplayCluster/Public/DisplayClusterSceneComponent.h new file mode 100644 index 0000000..6976fdb --- /dev/null +++ b/Source/DisplayCluster/Public/DisplayClusterSceneComponent.h @@ -0,0 +1,43 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Components/SceneComponent.h" +#include "Config/DisplayClusterConfigTypes.h" + +#include "DisplayClusterSceneComponent.generated.h" + + +class UDisplayClusterSceneComponentSync; + + +/** + * Extended scene component + */ +UCLASS( ClassGroup=(Custom) ) +class DISPLAYCLUSTER_API UDisplayClusterSceneComponent + : public USceneComponent +{ + GENERATED_BODY() + +public: + UDisplayClusterSceneComponent(const FObjectInitializer& ObjectInitializer); + +public: + virtual void SetSettings(const FDisplayClusterConfigSceneNode* pConfig); + virtual bool ApplySettings(); + + inline FString GetId() const + { return Config.Id; } + + inline FString GetParentId() const + { return Config.ParentId; } + +public: + virtual void BeginPlay() override; + virtual void BeginDestroy() override; + virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override; + +private: + FDisplayClusterConfigSceneNode Config; +}; diff --git a/Source/DisplayCluster/Public/DisplayClusterSceneComponentSync.h b/Source/DisplayCluster/Public/DisplayClusterSceneComponentSync.h new file mode 100644 index 0000000..23bc255 --- /dev/null +++ b/Source/DisplayCluster/Public/DisplayClusterSceneComponentSync.h @@ -0,0 +1,72 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Components/SceneComponent.h" +#include "Cluster/IDisplayClusterClusterSyncObject.h" +#include "DisplayClusterSceneComponentSync.generated.h" + +struct IPDisplayClusterGameManager; +struct IPDisplayClusterClusterManager; + + +/** + * Abstract synchronization component + */ +UCLASS(Abstract) +class DISPLAYCLUSTER_API UDisplayClusterSceneComponentSync + : public USceneComponent + , public IDisplayClusterClusterSyncObject +{ + GENERATED_BODY() + +public: + UDisplayClusterSceneComponentSync(const FObjectInitializer& ObjectInitializer); + + virtual ~UDisplayClusterSceneComponentSync() + { } + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterClusterSyncObject + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual FString GetSyncId() const override; + + virtual bool IsDirty() const override + { return true; } + + virtual void ClearDirty() override + { } + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterStringSerializable + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual FString SerializeToString() const override final; + virtual bool DeserializeFromString(const FString& data) override final; + +public: + virtual void BeginPlay() override; + virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override; + virtual void DestroyComponent(bool bPromoteChildren) override; + +protected: + virtual FTransform GetSyncTransform() const + { return FTransform(); } + + virtual void SetSyncTransform(const FTransform& t) + { } + +protected: + IPDisplayClusterGameManager* GameMgr = nullptr; + IPDisplayClusterClusterManager* ClusterMgr = nullptr; + +protected: + // Caching state + FVector LastSyncLoc; + FRotator LastSyncRot; + FVector LastSyncScale; + +private: + FString SyncId; +}; diff --git a/Source/DisplayCluster/Public/DisplayClusterSceneComponentSyncParent.h b/Source/DisplayCluster/Public/DisplayClusterSceneComponentSyncParent.h new file mode 100644 index 0000000..8005ee0 --- /dev/null +++ b/Source/DisplayCluster/Public/DisplayClusterSceneComponentSyncParent.h @@ -0,0 +1,40 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "DisplayClusterSceneComponentSync.h" +#include "DisplayClusterSceneComponentSyncParent.generated.h" + + +/** + * Synchronization component. Synchronizes parent scene component. + */ +UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) ) +class DISPLAYCLUSTER_API UDisplayClusterSceneComponentSyncParent + : public UDisplayClusterSceneComponentSync +{ + GENERATED_BODY() + +public: + UDisplayClusterSceneComponentSyncParent(const FObjectInitializer& ObjectInitializer); + +public: + virtual void BeginPlay() override; + virtual void TickComponent( float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction ) override; + virtual void DestroyComponent(bool bPromoteChildren) override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterClusterSyncObject + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual FString GetSyncId() const override; + virtual bool IsDirty() const override; + virtual void ClearDirty() override; + +protected: + ////////////////////////////////////////////////////////////////////////////////////////////// + // UDisplayClusterSceneComponentSync + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual FTransform GetSyncTransform() const override; + virtual void SetSyncTransform(const FTransform& t) override; +}; diff --git a/Source/DisplayCluster/Public/DisplayClusterSceneComponentSyncThis.h b/Source/DisplayCluster/Public/DisplayClusterSceneComponentSyncThis.h new file mode 100644 index 0000000..1a7ea7b --- /dev/null +++ b/Source/DisplayCluster/Public/DisplayClusterSceneComponentSyncThis.h @@ -0,0 +1,40 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "DisplayClusterSceneComponentSync.h" +#include "DisplayClusterSceneComponentSyncThis.generated.h" + + +/** + * Synchronization component. Synchronizes himself + */ +UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) ) +class DISPLAYCLUSTER_API UDisplayClusterSceneComponentSyncThis + : public UDisplayClusterSceneComponentSync +{ + GENERATED_BODY() + +public: + UDisplayClusterSceneComponentSyncThis(const FObjectInitializer& ObjectInitializer); + +public: + virtual void BeginPlay() override; + virtual void TickComponent( float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction ) override; + virtual void DestroyComponent(bool bPromoteChildren) override; + +public: + ////////////////////////////////////////////////////////////////////////////////////////////// + // IDisplayClusterClusterSyncObject + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual FString GetSyncId() const override; + virtual bool IsDirty() const override; + virtual void ClearDirty() override; + +protected: + ////////////////////////////////////////////////////////////////////////////////////////////// + // UDisplayClusterSceneComponentSync + ////////////////////////////////////////////////////////////////////////////////////////////// + virtual FTransform GetSyncTransform() const override; + virtual void SetSyncTransform(const FTransform& t) override; +}; diff --git a/Source/DisplayCluster/Public/DisplayClusterScreenComponent.h b/Source/DisplayCluster/Public/DisplayClusterScreenComponent.h new file mode 100644 index 0000000..8efd308 --- /dev/null +++ b/Source/DisplayCluster/Public/DisplayClusterScreenComponent.h @@ -0,0 +1,38 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "DisplayClusterSceneComponent.h" +#include "DisplayClusterScreenComponent.generated.h" + + +/** + * Projection screen component + */ +UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) ) +class DISPLAYCLUSTER_API UDisplayClusterScreenComponent + : public UDisplayClusterSceneComponent +{ + GENERATED_BODY() + +public: + UDisplayClusterScreenComponent(const FObjectInitializer& ObjectInitializer); + +public: + virtual void SetSettings(const FDisplayClusterConfigSceneNode* pConfig) override; + virtual bool ApplySettings() override; + + inline FVector2D GetScreenSize() const + { return Size; } + +public: + virtual void BeginPlay() override; + virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override; + +private: + FVector2D Size; + + UPROPERTY(VisibleAnywhere, Category = Mesh) + UStaticMeshComponent* ScreenGeometryComponent = nullptr; +}; diff --git a/Source/DisplayCluster/Public/DisplayClusterSettings.h b/Source/DisplayCluster/Public/DisplayClusterSettings.h new file mode 100644 index 0000000..fa37c43 --- /dev/null +++ b/Source/DisplayCluster/Public/DisplayClusterSettings.h @@ -0,0 +1,51 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + + +#pragma once + +#include "GameFramework/Actor.h" +#include "DisplayClusterSettings.generated.h" + + +/** + * Per-level custom settings + */ +UCLASS() +class DISPLAYCLUSTER_API ADisplayClusterSettings + : public AActor +{ + GENERATED_BODY() + +public: + // Sets default values for this actor's properties + ADisplayClusterSettings(const FObjectInitializer& ObjectInitializer); + virtual ~ADisplayClusterSettings(); + +public: + UPROPERTY(EditAnywhere, Category = "DisplayCluster (Editor only)", meta = (DisplayName = "Config file")) + FString EditorConfigPath; + + UPROPERTY(EditAnywhere, Category = "DisplayCluster (Editor only)", meta = (DisplayName = "Node ID")) + FString EditorNodeId; + + UPROPERTY(EditAnywhere, Category = "DisplayCluster (Editor only)", meta = (DisplayName = "Show projection screens")) + bool bEditorShowProjectionScreens; + + UPROPERTY(EditAnywhere, Category = "DisplayCluster|Pawn", meta = (DisplayName = "Enable DisplayCluster collisions")) + bool bEnableCollisions; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "DisplayCluster|Pawn|Control|Movement", meta = (DisplayName = "Max speed", ClampMin = "0.0", ClampMax = "1000000.0", UIMin = "0.0", UIMax = "1000000.0")) + float MovementMaxSpeed; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "DisplayCluster|Pawn|Control|Movement", meta = (DisplayName = "Acceleration", ClampMin = "0.0", ClampMax = "1000000.0", UIMin = "0.0", UIMax = "1000000.0")) + float MovementAcceleration; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "DisplayCluster|Pawn|Control|Movement", meta = (DisplayName = "Deceleration", ClampMin = "0.0", ClampMax = "1000000.0", UIMin = "0.0", UIMax = "1000000.0")) + float MovementDeceleration; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "DisplayCluster|Pawn|Control|Movement", meta = (DisplayName = "Turning boost", ClampMin = "0.0", ClampMax = "1000000.0", UIMin = "0.0", UIMax = "1000000.0")) + float MovementTurningBoost; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "DisplayCluster|Pawn|Control|Rotation", meta = (DisplayName = "Speed", ClampMin = "0.0", ClampMax = "360.0", UIMin = "0.0", UIMax = "360.0")) + float RotationSpeed; +}; diff --git a/Source/DisplayCluster/Public/Game/IDisplayClusterGameManager.h b/Source/DisplayCluster/Public/Game/IDisplayClusterGameManager.h new file mode 100644 index 0000000..f802928 --- /dev/null +++ b/Source/DisplayCluster/Public/Game/IDisplayClusterGameManager.h @@ -0,0 +1,42 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "DisplayClusterCameraComponent.h" +#include "DisplayClusterScreenComponent.h" +#include "DisplayClusterPawn.h" + + +/** + * Public game manager interface + */ +struct IDisplayClusterGameManager +{ + virtual ~IDisplayClusterGameManager() + { } + + virtual ADisplayClusterPawn* GetRoot() const = 0; + + virtual TArray<UDisplayClusterScreenComponent*> GetAllScreens() const = 0; + virtual UDisplayClusterScreenComponent* GetActiveScreen() const = 0; + virtual UDisplayClusterScreenComponent* GetScreenById(const FString& id) const = 0; + virtual int32 GetScreensAmount() const = 0; + + virtual TArray<UDisplayClusterCameraComponent*> GetAllCameras() const = 0; + virtual UDisplayClusterCameraComponent* GetActiveCamera() const = 0; + virtual UDisplayClusterCameraComponent* GetCameraById(const FString& id) const = 0; + virtual int32 GetCamerasAmount() const = 0; + virtual void SetActiveCamera(int32 idx) = 0; + virtual void SetActiveCamera(const FString& id) = 0; + + virtual TArray<UDisplayClusterSceneComponent*> GetAllNodes() const = 0; + virtual UDisplayClusterSceneComponent* GetNodeById(const FString& id) const = 0; + + virtual USceneComponent* GetTranslationDirectionComponent() const = 0; + virtual void SetTranslationDirectionComponent(USceneComponent* const pComp) = 0; + virtual void SetTranslationDirectionComponent(const FString& id) = 0; + + virtual USceneComponent* GetRotateAroundComponent() const = 0; + virtual void SetRotateAroundComponent(USceneComponent* const pComp) = 0; + virtual void SetRotateAroundComponent(const FString& id) = 0; +}; diff --git a/Source/DisplayCluster/Public/IDisplayCluster.h b/Source/DisplayCluster/Public/IDisplayCluster.h new file mode 100644 index 0000000..6e971d3 --- /dev/null +++ b/Source/DisplayCluster/Public/IDisplayCluster.h @@ -0,0 +1,98 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Modules/ModuleManager.h" +#include "Modules/ModuleInterface.h" + +#include "DisplayClusterOperationMode.h" + + +struct IDisplayClusterRenderManager; +struct IDisplayClusterClusterManager; +struct IDisplayClusterInputManager; +struct IDisplayClusterConfigManager; +struct IDisplayClusterGameManager; + + +/** + * Public module interface + */ +struct IDisplayCluster + : public IModuleInterface +{ + static constexpr auto ModuleName = "DisplayCluster"; + + virtual ~IDisplayCluster() { } + + /** + * Singleton-like access to this module's interface. This is just for convenience! + * Beware of calling this during the shutdown phase, though. Your module might have been unloaded already. + * + * @return Returns singleton instance, loading the module on demand if needed + */ + static inline IDisplayCluster& Get() + { + return FModuleManager::LoadModuleChecked<IDisplayCluster>(IDisplayCluster::ModuleName); + } + + /** + * Checks to see if this module is loaded and ready. It is only valid to call Get() if IsAvailable() returns true. + * + * @return True if the module is loaded and ready to use + */ + static inline bool IsAvailable() + { + return FModuleManager::Get().IsModuleLoaded(IDisplayCluster::ModuleName); + } + + + /** + * Checks if the module has been initialized. + * + * @return Is initialized + */ + virtual bool IsModuleInitialized() const = 0; + + /** + * Returns current operation mode. + * + * @return Display Cluster operation mode + */ + virtual EDisplayClusterOperationMode GetOperationMode() const = 0; + + /** + * Access to the device manager. + * + * @return Current device manager or nullptr + */ + virtual IDisplayClusterRenderManager* GetRenderMgr() const = 0; + + /** + * Access to the cluster manager. + * + * @return Current cluster manager or nullptr + */ + virtual IDisplayClusterClusterManager* GetClusterMgr() const = 0; + + /** + * Access to the input manager. + * + * @return Current cluster manager or nullptr + */ + virtual IDisplayClusterInputManager* GetInputMgr() const = 0; + + /** + * Access to the config manager. + * + * @return Current config manager or nullptr + */ + virtual IDisplayClusterConfigManager* GetConfigMgr() const = 0; + + /** + * Access to the game manager. + * + * @return Current game manager or nullptr + */ + virtual IDisplayClusterGameManager* GetGameMgr() const = 0; +}; diff --git a/Source/DisplayCluster/Public/IDisplayClusterSerializable.h b/Source/DisplayCluster/Public/IDisplayClusterSerializable.h new file mode 100644 index 0000000..b5f1e3f --- /dev/null +++ b/Source/DisplayCluster/Public/IDisplayClusterSerializable.h @@ -0,0 +1,18 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Serialization/MemoryReader.h" +#include "Serialization/MemoryWriter.h" + + +/** + * Memory serialization interface + */ +struct IDisplayClusterSerializable +{ + virtual ~IDisplayClusterSerializable() { } + + virtual bool Serialize (FMemoryWriter& ar) = 0; + virtual bool Deserialize(FMemoryReader& ar) = 0; +}; diff --git a/Source/DisplayCluster/Public/IDisplayClusterStringSerializable.h b/Source/DisplayCluster/Public/IDisplayClusterStringSerializable.h new file mode 100644 index 0000000..77e7cd1 --- /dev/null +++ b/Source/DisplayCluster/Public/IDisplayClusterStringSerializable.h @@ -0,0 +1,16 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" + +/** + * String serialization interface + */ +struct IDisplayClusterStringSerializable +{ + virtual ~IDisplayClusterStringSerializable() { } + + virtual FString SerializeToString() const = 0; + virtual bool DeserializeFromString(const FString& ar) = 0; +}; diff --git a/Source/DisplayCluster/Public/Input/IDisplayClusterInputManager.h b/Source/DisplayCluster/Public/Input/IDisplayClusterInputManager.h new file mode 100644 index 0000000..6ac0231 --- /dev/null +++ b/Source/DisplayCluster/Public/Input/IDisplayClusterInputManager.h @@ -0,0 +1,42 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + + +/** + * Public input manager interface + */ +struct IDisplayClusterInputManager +{ + virtual ~IDisplayClusterInputManager() + { } + + ////////////////////////////////////////////////////////////////////////// + // Device amount + virtual uint32 GetAxisDeviceAmount() const = 0; + virtual uint32 GetButtonDeviceAmount() const = 0; + virtual uint32 GetTrackerDeviceAmount() const = 0; + + ////////////////////////////////////////////////////////////////////////// + // Device IDs + virtual bool GetAxisDeviceIds (TArray<FString>& ids) const = 0; + virtual bool GetButtonDeviceIds (TArray<FString>& ids) const = 0; + virtual bool GetTrackerDeviceIds(TArray<FString>& ids) const = 0; + + ////////////////////////////////////////////////////////////////////////// + // Button data access + virtual bool GetButtonState (const FString& devId, const uint8 btn, bool& curState) const = 0; + virtual bool IsButtonPressed (const FString& devId, const uint8 btn, bool& curPressed) const = 0; + virtual bool IsButtonReleased (const FString& devId, const uint8 btn, bool& curReleased) const = 0; + virtual bool WasButtonPressed (const FString& devId, const uint8 btn, bool& wasPressed) const = 0; + virtual bool WasButtonReleased (const FString& devId, const uint8 btn, bool& wasReleased) const = 0; + + ////////////////////////////////////////////////////////////////////////// + // Axes data access + virtual bool GetAxis(const FString& devId, const uint8 axis, float& value) const = 0; + + ////////////////////////////////////////////////////////////////////////// + // Tracking data access + virtual bool GetTrackerLocation(const FString& devId, const uint8 tr, FVector& location) const = 0; + virtual bool GetTrackerQuat(const FString& devId, const uint8 tr, FQuat& rotation) const = 0; +}; diff --git a/Source/DisplayCluster/Public/Render/IDisplayClusterRenderManager.h b/Source/DisplayCluster/Public/Render/IDisplayClusterRenderManager.h new file mode 100644 index 0000000..1640898 --- /dev/null +++ b/Source/DisplayCluster/Public/Render/IDisplayClusterRenderManager.h @@ -0,0 +1,17 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "IDisplayClusterStereoDevice.h" + + +/** + * Public render manager interface + */ +struct IDisplayClusterRenderManager +{ + virtual ~IDisplayClusterRenderManager() + { } + + virtual IDisplayClusterStereoDevice* GetStereoDevice() const = 0; +}; diff --git a/Source/DisplayCluster/Public/Render/IDisplayClusterStereoDevice.h b/Source/DisplayCluster/Public/Render/IDisplayClusterStereoDevice.h new file mode 100644 index 0000000..5b6dec0 --- /dev/null +++ b/Source/DisplayCluster/Public/Render/IDisplayClusterStereoDevice.h @@ -0,0 +1,112 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" + + +enum class EDisplayClusterSwapSyncPolicy +{ + None = 0, // no swap sync (V-sync off) + SoftSwapSync, // software swap synchronization over network + NvSwapSync // NVIDIA hardware swap synchronization (nv_swap_lock) +}; + + +/** + * Stereo device interface + */ +struct IDisplayClusterStereoDevice +{ + virtual ~IDisplayClusterStereoDevice() + { } + + /** + * Configuration of viewport render area (whore viewport is rendered by default) + * + * @param pos - left up corner offset in viewport (pixels) + * @param size - width and height of render rectangle (pixels) + */ + virtual void SetViewportArea(const FIntPoint& pos, const FIntPoint& size) = 0; + + /** + * FOV based configuration of projection screen (standalone mode only) + * + * @param FOV - field of view + */ + virtual void SetDesktopStereoParams(float FOV) = 0; + + /** + * Custom configuration of projection screen (standalone mode only) + * + * @param screenSize - width and height of your monitor's screen (meters) + * @param screenRes - horizontal and vertical resolution of target monitor (pixels i.e. 1920, 1080) + * @param screenDist - distance between the head and monitor (meters) + */ + virtual void SetDesktopStereoParams(const FVector2D& screenSize, const FIntPoint& screenRes, float screenDist) = 0; + + /** + * Configuration of interpupillary (interocular) distance + * + * @param dist - distance between eyes (meters, i.e. 0.064). + */ + virtual void SetInterpupillaryDistance(float dist) = 0; + + /** + * Returns currently used interpupillary distance. + * + * @return - distance between eyes (meters) + */ + virtual float GetInterpupillaryDistance() const = 0; + + /** + * Configure eyes swap state + * + * @param swap - new eyes swap state. False - normal eyes left|right, true - swapped eyes right|left + */ + virtual void SetEyesSwap(bool swap) = 0; + + /** + * Returns currently used eyes swap + * + * @return - eyes swap state. False - normal eyes left|right, true - swapped eyes right|left + */ + virtual bool GetEyesSwap() const = 0; + + /** + * Toggles eyes swap state + * + * @return - new eyes swap state. False - normal eyes left|right, true - swapped eyes right|left + */ + virtual bool ToggleEyesSwap() = 0; + + /** + * Set swap synchronization policy + * + * @param policy - is swap sync enabled + */ + virtual void SetSwapSyncPolicy(EDisplayClusterSwapSyncPolicy policy) = 0; + + /** + * Returns current swap synchronization policy + * + * @return - current synchronization policy + */ + virtual EDisplayClusterSwapSyncPolicy GetSwapSyncPolicy() const = 0; + + /** + * Get camera frustum culling + * + * @param NearDistance - near culling plane distance + * @param FarDistance - far culling plane distance + */ + virtual void GetCullingDistance(float& NearDistance, float& FarDistance) const = 0; + + /** + * Set camera frustum culling + * + * @param NearDistance - near culling plane distance + * @param FarDistance - far culling plane distance + */ + virtual void SetCullingDistance(float NearDistance, float FarDistance) = 0; +}; diff --git a/Source/DisplayClusterEditor/DisplayClusterEditor.Build.cs b/Source/DisplayClusterEditor/DisplayClusterEditor.Build.cs new file mode 100644 index 0000000..7461860 --- /dev/null +++ b/Source/DisplayClusterEditor/DisplayClusterEditor.Build.cs @@ -0,0 +1,26 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +using UnrealBuildTool; +using System.IO; + +public class DisplayClusterEditor : ModuleRules +{ + public DisplayClusterEditor(ReadOnlyTargetRules ROTargetRules) : base(ROTargetRules) + { + PrivateDependencyModuleNames.AddRange( new string[] { + "Core", + "CoreUObject", + "Engine", + "UnrealEd" + }); + + PrivateDependencyModuleNames.AddRange( new string[] { + "DisplayCluster" + }); + + PrivateIncludePathModuleNames.AddRange( new string[] { + "Settings", + "DisplayCluster" + }); + } +} diff --git a/Source/DisplayClusterEditor/Private/DisplayClusterEditor.cpp b/Source/DisplayClusterEditor/Private/DisplayClusterEditor.cpp new file mode 100644 index 0000000..542656c --- /dev/null +++ b/Source/DisplayClusterEditor/Private/DisplayClusterEditor.cpp @@ -0,0 +1,49 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterEditor.h" +#include "DisplayClusterEditorSettings.h" + +#include "Modules/ModuleManager.h" +#include "UObject/WeakObjectPtr.h" +#include "UObject/Class.h" +#include "ISettingsModule.h" + + +#define LOCTEXT_NAMESPACE "DisplayClusterEditor" + +void FDisplayClusterEditorModule::StartupModule() +{ + RegisterSettings(); +} + +void FDisplayClusterEditorModule::ShutdownModule() +{ + UnregisterSettings(); +} + + +void FDisplayClusterEditorModule::RegisterSettings() +{ + if (ISettingsModule* SettingsModule = FModuleManager::GetModulePtr<ISettingsModule>("Settings")) + { + SettingsModule->RegisterSettings( + "Project", "Plugins", "nDisplay", + LOCTEXT("RuntimeSettingsName", "nDisplay"), + LOCTEXT("RuntimeSettingsDescription", "Configure nDisplay"), + GetMutableDefault<UDisplayClusterEditorSettings>() + ); + } +} + +void FDisplayClusterEditorModule::UnregisterSettings() +{ + if (ISettingsModule* SettingsModule = FModuleManager::GetModulePtr<ISettingsModule>("Settings")) + { + SettingsModule->UnregisterSettings("Project", "Plugins", "nDisplay"); + } +} + + +IMPLEMENT_MODULE(FDisplayClusterEditorModule, DisplayClusterEditor); + +#undef LOCTEXT_NAMESPACE diff --git a/Source/DisplayClusterEditor/Private/DisplayClusterEditorEngine.cpp b/Source/DisplayClusterEditor/Private/DisplayClusterEditorEngine.cpp new file mode 100644 index 0000000..9e2f8a9 --- /dev/null +++ b/Source/DisplayClusterEditor/Private/DisplayClusterEditorEngine.cpp @@ -0,0 +1,47 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterEditorEngine.h" +#include "DisplayClusterEditorLog.h" + +#include "DisplayCluster/Private/IPDisplayCluster.h" + + +void UDisplayClusterEditorEngine::Init(IEngineLoop* InEngineLoop) +{ + UE_LOG(LogDisplayClusterEditorEngine, VeryVerbose, TEXT("UDisplayClusterEditorEngine::Init")); + + // Initialize DisplayCluster module for editor mode + DisplayClusterModule = static_cast<IPDisplayCluster*>(&IDisplayCluster::Get()); + if (DisplayClusterModule) + { + const bool bResult = DisplayClusterModule->Init(EDisplayClusterOperationMode::Editor); + if (bResult) + { + UE_LOG(LogDisplayClusterEditorEngine, Log, TEXT("DisplayCluster module has been initialized")); + } + else + { + UE_LOG(LogDisplayClusterEditorEngine, Error, TEXT("An error occured during DisplayCluster initialization")); + } + } + else + { + UE_LOG(LogDisplayClusterEditorEngine, Error, TEXT("Couldn't initialize DisplayCluster module")); + } + + return Super::Init(InEngineLoop); +} + +void UDisplayClusterEditorEngine::PreExit() +{ + UE_LOG(LogDisplayClusterEditorEngine, VeryVerbose, TEXT("UDisplayClusterEditorEngine::PreExit")); + + Super::PreExit(); +} + +void UDisplayClusterEditorEngine::PlayInEditor(UWorld* InWorld, bool bInSimulateInEditor, FPlayInEditorOverrides Overrides) +{ + UE_LOG(LogDisplayClusterEditorEngine, VeryVerbose, TEXT("UDisplayClusterEditorEngine::PlayInEditor")); + + Super::PlayInEditor(InWorld, bInSimulateInEditor, Overrides); +} diff --git a/Source/DisplayClusterEditor/Private/DisplayClusterEditorEngine.h b/Source/DisplayClusterEditor/Private/DisplayClusterEditorEngine.h new file mode 100644 index 0000000..b2dca1c --- /dev/null +++ b/Source/DisplayClusterEditor/Private/DisplayClusterEditorEngine.h @@ -0,0 +1,29 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Editor/UnrealEdEngine.h" +#include "DisplayClusterEditorEngine.generated.h" + +struct IPDisplayCluster; + + +/** + * Extended editor engine + */ +UCLASS() +class UDisplayClusterEditorEngine + : public UUnrealEdEngine +{ + GENERATED_BODY() + +public: + virtual void Init(IEngineLoop* InEngineLoop) override; + virtual void PreExit() override; + virtual void PlayInEditor(UWorld* InWorld, bool bInSimulateInEditor, FPlayInEditorOverrides Overrides = FPlayInEditorOverrides()) override; + +private: + + IPDisplayCluster* DisplayClusterModule = nullptr; +}; diff --git a/Source/DisplayClusterEditor/Private/DisplayClusterEditorLog.cpp b/Source/DisplayClusterEditor/Private/DisplayClusterEditorLog.cpp new file mode 100644 index 0000000..63eb4c9 --- /dev/null +++ b/Source/DisplayClusterEditor/Private/DisplayClusterEditorLog.cpp @@ -0,0 +1,7 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterEditorLog.h" + +// Plugin-wide log categories +DEFINE_LOG_CATEGORY(LogDisplayClusterEditor); +DEFINE_LOG_CATEGORY(LogDisplayClusterEditorEngine); diff --git a/Source/DisplayClusterEditor/Private/DisplayClusterEditorLog.h b/Source/DisplayClusterEditor/Private/DisplayClusterEditorLog.h new file mode 100644 index 0000000..5468489 --- /dev/null +++ b/Source/DisplayClusterEditor/Private/DisplayClusterEditorLog.h @@ -0,0 +1,9 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" + +// Plugin-wide log categories +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterEditor, Log, All); +DECLARE_LOG_CATEGORY_EXTERN(LogDisplayClusterEditorEngine, Log, All); diff --git a/Source/DisplayClusterEditor/Private/DisplayClusterEditorSettings.cpp b/Source/DisplayClusterEditor/Private/DisplayClusterEditorSettings.cpp new file mode 100644 index 0000000..5c1b65d --- /dev/null +++ b/Source/DisplayClusterEditor/Private/DisplayClusterEditorSettings.cpp @@ -0,0 +1,41 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#include "DisplayClusterEditorSettings.h" +#include "DisplayClusterEditorEngine.h" +#include "Misc/ConfigCacheIni.h" + + +UDisplayClusterEditorSettings::UDisplayClusterEditorSettings(class FObjectInitializer const & ObjectInitializer) + : Super(ObjectInitializer) +{ + GET_MEMBER_NAME_CHECKED(UDisplayClusterEditorSettings, bEnabled); +} + +#if WITH_EDITOR +void UDisplayClusterEditorSettings::PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) +{ + if (PropertyChangedEvent.Property != nullptr) + { + FName PropertyName(PropertyChangedEvent.Property->GetFName()); + FString DefaultEnginePath = FString::Printf(TEXT("%sDefaultEngine.ini"), *FPaths::SourceConfigDir()); + + if (PropertyName == GET_MEMBER_NAME_CHECKED(UDisplayClusterEditorSettings, bEnabled)) + { + if (bEnabled) + { + GConfig->SetString(TEXT("/Script/Engine.Engine"), TEXT("GameEngine"), TEXT("/Script/DisplayCluster.DisplayClusterGameEngine"), DefaultEnginePath); + GConfig->SetString(TEXT("/Script/Engine.Engine"), TEXT("UnrealEdEngine"), TEXT("/Script/DisplayClusterEditor.DisplayClusterEditorEngine"), DefaultEnginePath); + } + else + { + GConfig->SetString(TEXT("/Script/Engine.Engine"), TEXT("GameEngine"), TEXT("/Script/Engine.GameEngine"), DefaultEnginePath); + GConfig->SetString(TEXT("/Script/Engine.Engine"), TEXT("UnrealEdEngine"), TEXT("/Script/UnrealEd.UnrealEdEngine"), DefaultEnginePath); + } + + GConfig->Flush(false, DefaultEnginePath); + } + } + + Super::PostEditChangeProperty(PropertyChangedEvent); +} +#endif diff --git a/Source/DisplayClusterEditor/Public/DisplayClusterEditor.h b/Source/DisplayClusterEditor/Public/DisplayClusterEditor.h new file mode 100644 index 0000000..fc30fc5 --- /dev/null +++ b/Source/DisplayClusterEditor/Public/DisplayClusterEditor.h @@ -0,0 +1,22 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Modules/ModuleInterface.h" +#include "Modules/ModuleManager.h" + + +/** + * Display Cluster editor module + */ +class FDisplayClusterEditorModule : + public IModuleInterface +{ +public: + //~ IModuleInterface interface + virtual void StartupModule() override; + virtual void ShutdownModule() override; + + void RegisterSettings(); + void UnregisterSettings(); +}; diff --git a/Source/DisplayClusterEditor/Public/DisplayClusterEditorSettings.h b/Source/DisplayClusterEditor/Public/DisplayClusterEditorSettings.h new file mode 100644 index 0000000..5bf36bf --- /dev/null +++ b/Source/DisplayClusterEditor/Public/DisplayClusterEditorSettings.h @@ -0,0 +1,29 @@ +// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "UObject/Object.h" +#include "DisplayClusterEditorSettings.generated.h" + + +/** + * Implements the settings for the nDisplay + **/ +UCLASS(config = Engine, defaultconfig) +class DISPLAYCLUSTEREDITOR_API UDisplayClusterEditorSettings : public UObject +{ + GENERATED_UCLASS_BODY() + + UPROPERTY(config, EditAnywhere, Category = Main) + bool bEnabled; + +public: + // UObject interface +#if WITH_EDITOR + virtual void PostEditChangeProperty(struct FPropertyChangedEvent& PropertyChangedEvent) override; +#endif + +private: + +}; diff --git a/ThirdParty/Vrpn/Include/vrpn/quat.h b/ThirdParty/Vrpn/Include/vrpn/quat.h new file mode 100644 index 0000000..77fd64f --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/quat.h @@ -0,0 +1,546 @@ + +/***************************************************************************** + * + quat.h - include file for quaternion, vector and matrix routines. + + + Overview: + + quatlib is a library of routines that implements a grab-bag of + useful routines for dealing with quaternions, vectors, and + matrices. See the quatlib man page for an overview. + + + Notes: + + - to address the quaternion elements, use the Q_X, Q_Y, Q_Z and Q_W + #defines from this file. + + - to find out which version of the library you're using, do: + + % ident <path>/libquat.a + + (this information is in the rcsid string in quat.c) + + - see /afs/unc/proj/hmd/src/quat/{quat,vector,matrix}.c + for implementation details. + + + Conventions: + + - general-purpose quaternion routines start with q_ + + - all non-integer values are doubles by default- the exceptions + to this are old (non-open-) GL routines which use floats. + + - vector routines start with "q_vec" + + - matrix routines have the string "matrix" somewhere in their name + + - all matrices are 4x4 + + - positive rotation directions are as follows: + + about Z axis: from X axis to Y axis + about X axis: from Y axis to Z axis + about Y axis: from Z axis to X axis + + - all angles are specified in radians + + - destination parameter (if any) is always first argument (as in + Unix string routines) + + - src and dest parameters can always be the same, as long as they + are of the same type (copying is done if necessary) + + - naming conventions for conversion routines: + + q_{to,from}_whatever for routines involving quaternions + q_x_to_y for all others (ie., no "from" is used) + + + Revision History (for whole library, not just this file): + + Author Date Comments + ------ -------- ---------------------------- + Rich Holloway 09/10/01 Misc cleanup, deleted PPHIGS support, + added q_xyz_quat_xform(), renamed + qogl_matrix_mult_fixed() back to + qogl_matrix_mult(). + Mark Livingston 01/09/96 Added routines for OpenGL matrices + Rich Holloway 09/27/93 Added Gary Bishop's matrix to euler rtn + Rich Holloway 07/16/92 Added q_euler_to_col_matrix(), routines + for working with GL matrices, added + documentation for euler angle routines + Erik Erikson/ 06/26/92 Added q_xyz_quat_compose + Stefan Gottschalk/ + Russ Taylor + + Rich Holloway 05/13/92 Added Q_NULL_VECTOR, Q_ID_MATRIX + Jon Leech/ 04/29/92 Added CM_ prototypes + Erik Erikson + + Rich Holloway 09/21/90 Made into library, made all matrices 4x4, + added matrix routines for + 4x4 (standard) or 3x4 (for PPHIGS), + changed names of + routines (to avoid name conflicts with + non-library routines) by prefixing + everything with "q_". + + Russ Taylor 1990 Modified q_slerp to pick shortest path + between two angles + + Warren Robinett 12/89 Added PPHIGS support routines + + Ken Shoemake 1985 Initial version + + RCS Header: + $Id: quat.h,v 2.37 2004/07/22 20:54:42 taylorr Exp $ + * + *****************************************************************************/ + +/* prevent multiple includes */ +#ifndef Q_INCLUDED +#define Q_INCLUDED + + +/***************************************************************************** + * + #defines + * + *****************************************************************************/ + +/* for accessing the elements of q_type and q_vec_type */ +#define Q_X 0 +#define Q_Y 1 +#define Q_Z 2 +#define Q_W 3 + +/* For accessing the elements of a q_vec_type describing Euler angles */ +#define Q_YAW 0 +#define Q_PITCH 1 +#define Q_ROLL 2 + +/* tolerance for quaternion operations */ +#define Q_EPSILON (1e-10) + +/* min and max macros */ +#define Q_MAX(x, y) ( ((x) > (y)) ? (x) : (y) ) +#define Q_MIN(x, y) ( ((x) < (y)) ? (x) : (y) ) + +#define Q_ABS(x) ( ((x) > 0 ) ? (x) : (-(x)) ) + +/* + * use local definition of PI for machines that have no def in math.h; this + * value stolen from DEC Ultrix 4.1 math.h + */ +#define Q_PI 3.14159265358979323846 + +#define Q_ID_QUAT { 0.0, 0.0, 0.0, 1.0 } + +#define Q_ID_MATRIX { {1.0, 0.0, 0.0, 0.0}, \ + {0.0, 1.0, 0.0, 0.0}, \ + {0.0, 0.0, 1.0, 0.0}, \ + {0.0, 0.0, 0.0, 1.0} } + +#define Q_NULL_VECTOR { 0.0, 0.0, 0.0 } + +/* + * degree/radian conversion + */ +#define Q_DEG_TO_RAD(deg) ( ((deg)*Q_PI)/180.0 ) +#define Q_RAD_TO_DEG(rad) ( (((rad)*180.0)/Q_PI) ) + + +/***************************************************************************** + * + typedefs + * + *****************************************************************************/ + +/* basic quaternion type- scalar part is last element in array */ +typedef double q_type[4]; + +/* basic vector type */ +typedef double q_vec_type[3]; + +/* for row and column matrices */ +typedef double q_matrix_type[4][4]; + +/* for working with gl or other 4x4 float matrices */ +typedef float qgl_matrix_type[4][4]; + +/* for working with OpenGL matrices - these are really just like row matrices + ** (i.e. same bits in same order), but the decl is a 1-D array, not 2-D, sigh + */ +typedef double qogl_matrix_type[16]; + +/* special transformation type using quaternions and vectors */ +typedef struct q_xyz_quat_struct { + q_vec_type xyz; /* translation */ + q_type quat; /* rotation */ +} q_xyz_quat_type; + + + +/***************************************************************************** + ***************************************************************************** + * + function declarations + * + ***************************************************************************** + *****************************************************************************/ + +/* On some platforms, we need to specifically tell the compiler + * that these functions are to have C linkage. [why not everywhere?] + */ + +#if defined(__cplusplus) + +#ifdef FLOW +#define EXTERN_QUALIFICATION +#else +#define EXTERN_QUALIFICATION "C" +#endif /* FLOW */ + +#define BEGIN_EXTERN_BLOCK extern EXTERN_QUALIFICATION { +#define END_EXTERN_BLOCK } + +#else /* __cplusplus */ + +#define BEGIN_EXTERN_BLOCK +#define END_EXTERN_BLOCK + +#endif /* __cplusplus */ + + + +BEGIN_EXTERN_BLOCK + +/***************************************************************************** + * + strictly quaternion operations + * + *****************************************************************************/ + +/* prints a quaternion */ +void q_print (const q_type quat); + +/* make a quaternion given an axis and an angle; x,y,z is axis of + * rotation; angle is angle of rotation in radians (see also q_from_two_vecs) + * + * rotation is counter-clockwise when rotation axis vector is + * pointing at you + * + * if angle or vector are 0, the identity quaternion is returned. + */ +void q_make (q_type destQuat, + double x, double y, double z, + double angle); +void q_from_axis_angle(q_type destQuat, + double x, double y, double z, + double angle); + +/* Turn a quaternion into an axis and an angle; x,y,z is axis of + * rotation; angle is angle of rotation in radians. + * + * rotation is counter-clockwise when rotation axis vector is + * pointing at you + * + * if the identity quaternion is passed in, the angle will be + * zero and the axis will be the Z axis. + */ +void q_to_axis_angle (double *x, double *y, double *z, double *angle, + const q_type srcQuat); + +/* copy srcQuat to destQuat */ +void q_copy (q_type destQuat, const q_type srcQuat); + +/* normalizes quaternion; src and dest can be same */ +void q_normalize (q_type destQuat, const q_type srcQuat); + +/* invert quat; src and dest can be the same */ +void q_invert (q_type destQuat, const q_type srcQuat); + +/* + * computes quaternion product destQuat = qLeft * qRight. + * destQuat can be same as either qLeft or qRight or both. + */ +void q_mult (q_type destQuat, const q_type qLeft, const q_type qRight); + +/* conjugate quat; src and dest can be same */ +void q_conjugate (q_type destQuat, const q_type srcQuat); + +/* take natural log of unit quat; src and dest can be same */ +void q_log (q_type destQuat, const q_type srcQuat); + +/* exponentiate quaternion, assuming scalar part 0. src can be same as dest */ +void q_exp (q_type destQuat, const q_type srcQuat); + + +/* + * q_slerp: Spherical linear interpolation of unit quaternions. + * + * As t goes from 0 to 1, destQuat goes from startQ to endQuat. + * This routine should always return a point along the shorter + * of the two paths between the two. That is why the vector may be + * negated in the end. + * + * src == dest should be ok, although that doesn't seem to make much + * sense here. + */ +void q_slerp (q_type destQuat, const q_type startQuat, const q_type endQuat, double t); + +/***************************************************************************** + * + q_from_euler - converts 3 euler angles (in radians) to a quaternion + + Assumes roll is rotation about X, pitch + is rotation about Y, yaw is about Z. Assumes order of + yaw, pitch, roll applied as follows: + + p' = roll( pitch( yaw(p) ) ) + + See comments for q_euler_to_col_matrix for more on this. + * + *****************************************************************************/ +void q_from_euler (q_type destQuat, double yaw, double pitch, double roll); + +/* converts quat to euler angles (yaw, pitch, roll). see + * q_col_matrix_to_euler() for conventions. Note that you + * cannot use Q_X, Q_Y, and Q_Z to pull the elements out of + * the Euler as if they were rotations about these angles -- + * this will invert X and Z. You need to instead use Q_YAW + * (rotation about Z), Q_PITCH (rotation about Y) and Q_ROLL + * (rotation about X) to get them. + */ +void q_to_euler(q_vec_type yawPitchRoll, const q_type q); + +/***************************************************************************** + * + mixed quaternion operations: conversions to and from vectors & matrices + * + *****************************************************************************/ + +/* destVec = q * vec * q(inverse); vec can be same storage as destVec */ +void q_xform (q_vec_type destVec, const q_type q, const q_vec_type vec); + +/* quat/vector conversion */ +/* create a quaternion from two vectors that rotates v1 to v2 + * about an axis perpendicular to both + */ +void q_from_two_vecs (q_type destQuat, const q_vec_type v1, const q_vec_type v2); + +/* simple conversion */ +void q_from_vec (q_type destQuat, const q_vec_type srcVec); +void q_to_vec (q_vec_type destVec, const q_type srcQuat); + +/* quaternion/4x4 matrix conversions */ +void q_from_row_matrix (q_type destQuat, const q_matrix_type matrix); +void q_from_col_matrix (q_type destQuat, const q_matrix_type matrix); +void q_to_row_matrix (q_matrix_type destMatrix, const q_type srcQuat); +void q_to_col_matrix (q_matrix_type destMatrix, const q_type srcQuat); + +/* quat/ogl conversion */ +void q_from_ogl_matrix (q_type destQuat, const qogl_matrix_type matrix); +void q_to_ogl_matrix (qogl_matrix_type matrix, const q_type srcQuat); + + +/***************************************************************************** + * + strictly vector operations + * + *****************************************************************************/ + +/* prints a vector to stdout */ +void q_vec_print (const q_vec_type vec); + +/* compatibility w/ old */ +#define q_set_vec q_vec_set + +/* sets vector equal to 3 values given */ +void q_vec_set (q_vec_type vec, double x, double y, double z); + +/* copies srcVec to destVec */ +void q_vec_copy (q_vec_type destVec, const q_vec_type srcVec); + +/* adds two vectors */ +void q_vec_add (q_vec_type destVec, const q_vec_type aVec, const q_vec_type bVec); + +/* destVec = v1 - v2 (v1, v2, destVec need not be distinct storage) */ +void q_vec_subtract (q_vec_type destVec, const q_vec_type v1, const q_vec_type v2); + +/* returns value of dot product of v1 and v2 */ +double q_vec_dot_product (const q_vec_type v1, const q_vec_type v2); + +/* scale a vector (src and dest need not be distinct) */ +void q_vec_scale (q_vec_type destVec, double scaleFactor, const q_vec_type srcVec); + + +/* negate a vector to point in the opposite direction */ +void q_vec_invert (q_vec_type destVec, const q_vec_type srcVec); + +/* normalize a vector (destVec and srcVec may be the same) */ +void q_vec_normalize (q_vec_type destVec, const q_vec_type srcVec); + +/* returns magnitude of vector */ +double q_vec_magnitude (const q_vec_type vec); + +/* returns distance between two points/vectors */ +double q_vec_distance (const q_vec_type vec1, const q_vec_type vec2); + +/* computes cross product of two vectors: destVec = aVec X bVec + * destVec same as aVec or bVec ok */ +void q_vec_cross_product (q_vec_type destVec, + const q_vec_type aVec, const q_vec_type bVec); + + +/***************************************************************************** + * + strictly matrix operations + * + *****************************************************************************/ + +/* q_matrix_copy - copies srcMatrix to destMatrix (both matrices are 4x4) */ +void q_matrix_copy (q_matrix_type destMatrix, const q_matrix_type srcMatrix); + +void qogl_matrix_copy (qogl_matrix_type dest, const qogl_matrix_type src); + +/* does a 4x4 matrix multiply (the input matrices are 4x4) and + * puts the result in a 4x4 matrix. src == dest ok. + */ +void q_matrix_mult (q_matrix_type resultMatrix, + const q_matrix_type leftMatrix, + const q_matrix_type rightMatrix); + +// for backward compatibility +#define qogl_matrix_mult_fixed qogl_matrix_mult + +/* + * Computes result=left*right + * Used to be called qogl_matrix_mult_fixed because the old version + * did not compute the correct result. + */ +void qogl_matrix_mult (qogl_matrix_type result, + const qogl_matrix_type left, + const qogl_matrix_type right); + + +/***************************************************************************** + * + q_euler_to_col_matrix - euler angles should be in radians + computed assuming the order of rotation is: yaw, pitch, roll. + + This means the following: + + p' = roll( pitch( yaw(p) ) ) + + or + + p' = Mr * Mp * My * p + + Yaw is rotation about Z axis, pitch is rotation about Y axis, and roll + is rotation about X axis. In terms of these axes, then, the process is: + + p' = Mx * My * Mz * p + + where Mx = the standard Foley and van Dam column matrix for rotation + about the X axis, and similarly for Y and Z. + + Thus the calling sequence in terms of X, Y, Z is: + + q_euler_to_col_matrix(destMatrix, zRot, yRot, xRot); + * + *****************************************************************************/ +void q_euler_to_col_matrix (q_matrix_type destMatrix, + double yaw, double pitch, double roll); + +/***************************************************************************** + * + q_col_matrix_to_euler- convert a column matrix to euler angles + + input: + - vector to hold euler angles + - src column matrix + + output: + - euler angles in radians in the range -pi to pi; + vec[0] = yaw, vec[1] = pitch, vec[2] = roll + yaw is rotation about Z axis, pitch is about Y, roll -> X rot. + + notes: + - written by Gary Bishop + - you cannot use Q_X, Q_Y, and Q_Z to pull the elements out of + the Euler as if they were rotations about these angles -- + this will invert X and Z. You need to instead use Q_YAW + (rotation about Z), Q_PITCH (rotation about Y) and Q_ROLL + (rotation about X) to get them. + * + *****************************************************************************/ +void q_col_matrix_to_euler (q_vec_type yawpitchroll, const q_matrix_type colMatrix); + +/* prints 4x4 matrix */ +void q_print_matrix (const q_matrix_type matrix); + +void qogl_print_matrix (const qogl_matrix_type); + + +/***************************************************************************** + * + xyz_quat routines + * + *****************************************************************************/ + +/* invert a vector/quaternion transformation pair */ +void q_xyz_quat_invert (q_xyz_quat_type *destPtr, const q_xyz_quat_type *srcPtr); + + +/* converts a row matrix to an xyz_quat */ +void q_row_matrix_to_xyz_quat (q_xyz_quat_type * xyzQuatPtr, + const q_matrix_type rowMatrix); + +/* convert an xyz_quat to a row matrix */ +void q_xyz_quat_to_row_matrix (q_matrix_type rowMatrix, + const q_xyz_quat_type * xyzQuatPtr); + +void q_ogl_matrix_to_xyz_quat (q_xyz_quat_type * xyzQuatPtr, + const qogl_matrix_type matrix); + +void q_xyz_quat_to_ogl_matrix (qogl_matrix_type matrix, + const q_xyz_quat_type * xyzQuatPtr); + +/* compose q_xyz_quat_vecs to form a third. */ +/* C_from_A_ptr may be = to either C_from_B_ptr or B_from_A_ptr (or both) */ +void q_xyz_quat_compose (q_xyz_quat_type * C_from_A_ptr, + const q_xyz_quat_type * C_from_B_ptr, + const q_xyz_quat_type * B_from_A_ptr); + +void q_xyz_quat_xform(q_vec_type dest, const q_xyz_quat_type *xf, const q_vec_type src); + +/***************************************************************************** + * + GL support + * + *****************************************************************************/ + +/* convert from quat to GL 4x4 float row matrix */ +void qgl_to_matrix (qgl_matrix_type destMatrix, const q_type srcQuat); + + +/* qgl_from_matrix- Convert GL 4x4 row-major rotation matrix to + * unit quaternion. + * - same as q_from_row_matrix, except basic type is float, not double + */ +void qgl_from_matrix (q_type destQuat, const qgl_matrix_type srcMatrix); + +/* print gl-style matrix */ +void qgl_print_matrix (const qgl_matrix_type matrix); + +END_EXTERN_BLOCK + +#undef BEGIN_EXTERN_BLOCK +#undef END_EXTERN_BLOCK +#undef EXTERN_QUALIFICATION + +#endif /* Q_INCLUDED */ diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_Analog.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_Analog.h new file mode 100644 index 0000000..1d0f7a2 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_Analog.h @@ -0,0 +1,210 @@ +#ifndef VRPN_ANALOG_H +#define VRPN_ANALOG_H + +#include <stddef.h> // for NULL + +#include "vrpn_BaseClass.h" // for vrpn_Callback_List, etc +#include "vrpn_Configure.h" // for VRPN_API, VRPN_CALLBACK +#include "vrpn_Connection.h" // for vrpn_CONNECTION_LOW_LATENCY, etc +#include "vrpn_Shared.h" // for timeval +#include "vrpn_Types.h" // for vrpn_int32, vrpn_float64, etc + +#ifndef VRPN_CLIENT_ONLY +#include "vrpn_Serial.h" // for ::vrpn_SER_PARITY_NONE, etc +#endif + +#define vrpn_CHANNEL_MAX 128 + +// analog status flags +const int vrpn_ANALOG_SYNCING = (2); +const int vrpn_ANALOG_REPORT_READY = (1); +const int vrpn_ANALOG_PARTIAL = (0); +const int vrpn_ANALOG_RESETTING = (-1); +const int vrpn_ANALOG_FAIL = (-2); + +// Analog time value meaning "go find out what time it is right now" +const struct timeval vrpn_ANALOG_NOW = {0, 0}; + +class VRPN_API vrpn_Analog : public vrpn_BaseClass { +public: + vrpn_Analog(const char *name, vrpn_Connection *c = NULL); + + // Print the status of the analog device + void print(void); + + vrpn_int32 getNumChannels(void) const; + +protected: + vrpn_float64 channel[vrpn_CHANNEL_MAX]; + vrpn_float64 last[vrpn_CHANNEL_MAX]; + vrpn_int32 num_channel; + struct timeval timestamp; + vrpn_int32 channel_m_id; //< channel message id (message from server) + int status; + + virtual int register_types(void); + + //------------------------------------------------------------------ + // Routines used to send data from the server + virtual vrpn_int32 encode_to(char *buf); + /// Send a report only if something has changed (for servers) + /// Optionally, tell what time to stamp the value with + virtual void + report_changes(vrpn_uint32 class_of_service = vrpn_CONNECTION_LOW_LATENCY, + const struct timeval time = vrpn_ANALOG_NOW); + /// Send a report whether something has changed or not (for servers) + /// Optionally, tell what time to stamp the value with + virtual void + report(vrpn_uint32 class_of_service = vrpn_CONNECTION_LOW_LATENCY, + const struct timeval time = vrpn_ANALOG_NOW); +}; + +#ifndef VRPN_CLIENT_ONLY +class VRPN_API vrpn_Serial_Analog : public vrpn_Analog { +public: + vrpn_Serial_Analog(const char *name, vrpn_Connection *connection, + const char *port, int baud = 9600, int bits = 8, + vrpn_SER_PARITY parity = vrpn_SER_PARITY_NONE, + bool rts_flow = false); + ~vrpn_Serial_Analog(); + +protected: + int serial_fd; + char portname[1024]; + int baudrate; + unsigned char buffer[1024]; + int bufcounter; + + int read_available_characters(char *buffer, int bytes); +}; +#endif + +// vrpn_Analog_Server +// Tom Hudson, March 1999 +// +// A *Sample* Analog server. Use this or derive your own from vrpn_Analog with +// this as a guide. +// +// Write whatever values you want into channels(), then call report() +// or report_changes(). (Original spec only called for report_changes(), +// but vrpn_Analog's assumption that "no new data = same data" doesn't +// match the BLT stripchart assumption of "no intervening data = ramp". +// +// For a sample application, see server_src/sample_analog.C + +class VRPN_API vrpn_Analog_Server : public vrpn_Analog { + +public: + vrpn_Analog_Server(const char *name, vrpn_Connection *c, + vrpn_int32 numChannels = vrpn_CHANNEL_MAX); + + /// Makes public the protected base class function + virtual void + report_changes(vrpn_uint32 class_of_service = vrpn_CONNECTION_LOW_LATENCY, + const struct timeval time = vrpn_ANALOG_NOW); + + /// Makes public the protected base class function + virtual void + report(vrpn_uint32 class_of_service = vrpn_CONNECTION_LOW_LATENCY, + const struct timeval time = vrpn_ANALOG_NOW); + + /// For this server, the user must normally call report() or + /// report_changes() directly. This mainloop() only takes + /// care of the things any server object should do. + virtual void mainloop() { server_mainloop(); }; + + /// Exposes an array of values for the user to write into. + vrpn_float64 *channels(void) { return channel; } + + /// Sets the size of the array; returns the size actually set. + /// (May be clamped to vrpn_CHANNEL_MAX) + /// This should be used before mainloop is ever called. + vrpn_int32 setNumChannels(vrpn_int32 sizeRequested); +}; + +/// Analog server that can scale and clip its range to -1..1. +// This is useful for joysticks, to allow them to be centered and +// scaled to cover the whole range. Rather than writing directly +// into the channels array, call the setChannel() method. + +class VRPN_API vrpn_Clipping_Analog_Server : public vrpn_Analog_Server { +public: + vrpn_Clipping_Analog_Server(const char *name, vrpn_Connection *c, + vrpn_int32 numChannels = vrpn_CHANNEL_MAX); + + /// Set the clipping values for the specified channel. + /// min maps to -1, values between lowzero and highzero map to 0, + /// max maps to 1. Values less than min map to -1, values larger + /// than max map to 1. Default for each channel is -1,0,0,1 + /// It is possible to compress the range to [0..1] by setting the + /// minimum equal to the lowzero. + /// Returns 0 on success, -1 on failure. + int setClipValues(int channel, double min, double lowzero, double highzero, + double max); + + /// This method should be used to set the value of a channel. + /// It will be scaled and clipped as described in setClipValues. + /// It returns 0 on success and -1 on failure. + int setChannelValue(int channel, double value); + +protected: + typedef struct { + double minimum_val; // Value mapped to -1 + double lower_zero; // Minimum value mapped to 0 + double upper_zero; // Maximum value mapped to 0 + double maximum_val; // Value mapped to 1 + } clipvals_struct; + + clipvals_struct clipvals[vrpn_CHANNEL_MAX]; +}; + +//---------------------------------------------------------- +//************** Users deal with the following ************* + +// User routine to handle a change in analog values. This is called when +// the analog callback is called (when a message from its counterpart +// across the connection arrives). + +typedef struct _vrpn_ANALOGCB { + struct timeval msg_time; // Timestamp of analog data + vrpn_int32 num_channel; // how many channels + vrpn_float64 channel[vrpn_CHANNEL_MAX]; // analog values +} vrpn_ANALOGCB; + +typedef void(VRPN_CALLBACK *vrpn_ANALOGCHANGEHANDLER)(void *userdata, + const vrpn_ANALOGCB info); + +// Open an analog device that is on the other end of a connection +// and handle updates from it. This is the type of analog device +// that user code will deal with. + +class VRPN_API vrpn_Analog_Remote : public vrpn_Analog { +public: + // The name of the analog device to connect to + // Optional argument to be used when the Remote should listen on + // a connection that is already open. + vrpn_Analog_Remote(const char *name, vrpn_Connection *c = NULL); + + // This routine calls the mainloop of the connection it's on + virtual void mainloop(); + + // (un)Register a callback handler to handle analog value change + virtual int register_change_handler(void *userdata, + vrpn_ANALOGCHANGEHANDLER handler) + { + return d_callback_list.register_handler(userdata, handler); + }; + virtual int unregister_change_handler(void *userdata, + vrpn_ANALOGCHANGEHANDLER handler) + { + return d_callback_list.unregister_handler(userdata, handler); + } + +protected: + vrpn_Callback_List<vrpn_ANALOGCB> d_callback_list; + + static int VRPN_CALLBACK + handle_change_message(void *userdata, vrpn_HANDLERPARAM p); +}; + +#endif diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_Analog_Output.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_Analog_Output.h new file mode 100644 index 0000000..7da443c --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_Analog_Output.h @@ -0,0 +1,193 @@ +// vrpn_Analog_Output.h +// David Borland, September 2002 +// +// These classes are for setting values for an analog output device. The +// vrpn_Analog was getting overloaded by trying to have functionality for both +// reading and writing in it. If wanting to read analog values from a device, a +// vrpn_Analog should be used, if wanting to write analog values to a device, a +// vrpn_Analog_Output should be used. This is similar to the Tracker/Poser +// dichotomy. + +#ifndef VRPN_ANALOG_OUTPUT_H +#define VRPN_ANALOG_OUTPUT_H + +#include <stddef.h> // for NULL + +#include "vrpn_Analog.h" // for vrpn_CHANNEL_MAX +#include "vrpn_BaseClass.h" // for vrpn_Callback_List, etc +#include "vrpn_Configure.h" // for VRPN_CALLBACK, VRPN_API +#include "vrpn_Connection.h" // for vrpn_CONNECTION_RELIABLE, etc +#include "vrpn_Shared.h" // for timeval +#include "vrpn_Types.h" // for vrpn_int32, vrpn_float64, etc + +// Similar to vrpn_Analog, but messages are different +// Members beginning with o_ are also found in vrpn_Analog, the o_ is +// so that you can derive a class from both without getting ambiguities +class VRPN_API vrpn_Analog_Output : public vrpn_BaseClass { +public: + vrpn_Analog_Output(const char* name, vrpn_Connection* c = NULL); + + // Print the status of the analog output device + void o_print(void); + + vrpn_int32 getNumChannels() const { return o_num_channel; } + +protected: + vrpn_float64 o_channel[vrpn_CHANNEL_MAX]; + vrpn_int32 o_num_channel; + struct timeval o_timestamp; + vrpn_int32 request_m_id; //< Request to change message from client + vrpn_int32 request_channels_m_id; //< Request to change channels message + // from client + vrpn_int32 report_num_channels_m_id; //< Report of the number of active + // channels, from the server + vrpn_int32 got_connection_m_id; //< new-connection notification + int o_status; + + virtual int register_types(void); +}; + +// A *Sample* Analog output server. Use this, or derive your own server +// from vrpn_Analog_Output with this as a guide. You can remove the +// user-level callback code (both the type before this class and the +// list and the handler register/deregister) if the server is controlling +// a device directly. + +class VRPN_API vrpn_Analog_Output_Server : public vrpn_Analog_Output { +public: + vrpn_Analog_Output_Server(const char* name, vrpn_Connection* c, + vrpn_int32 numChannels = vrpn_CHANNEL_MAX); + virtual ~vrpn_Analog_Output_Server(void); + + virtual void mainloop() { server_mainloop(); } + + /// Sets the size of the array; returns the size actually set. + /// (May be clamped to vrpn_CHANNEL_MAX) + /// This should be used before mainloop is ever called. + vrpn_int32 setNumChannels(vrpn_int32 sizeRequested); + + /// Exposes an array of values for the user to read from. + const vrpn_float64* o_channels(void) const { return o_channel; }; + +protected: + virtual bool report_num_channels( + vrpn_uint32 class_of_service = vrpn_CONNECTION_RELIABLE); + virtual vrpn_int32 encode_num_channels_to(char* buf, vrpn_int32 num); + + /// Responds to a request to change one of the values by + /// setting the channel to that value. Derived class must + /// either install handlers for this routine or else make + /// its own routines to handle the request message. + static int VRPN_CALLBACK + handle_request_message(void* userdata, vrpn_HANDLERPARAM p); + + /// Responds to a request to change a number of channels + /// Derived class must either install handlers for this + /// routine or else make its own routines to handle the + /// multi-channel request message. + static int VRPN_CALLBACK + handle_request_channels_message(void* userdata, vrpn_HANDLERPARAM p); + + /// Used to notify us when a new connection is requested, so that + /// we can let the client know how many channels are active + static int VRPN_CALLBACK + handle_got_connection(void* userdata, vrpn_HANDLERPARAM p); +}; + +// A more complicated analog server that provides a +// user routine to handle a change in analog values. This is called when +// the analog callback is called (when a message from its counterpart +// across the connection arrives). This callback is called whenever +// EITHER type of change message arrives (either a single-channel change +// or a multiple-channel change. + +typedef struct _vrpn_ANALOGOUTPUTCB { + struct timeval msg_time; // Timestamp of analog data + vrpn_int32 num_channel; // how many channels + const vrpn_float64* channel; // analog values (pointer to channels) +} vrpn_ANALOGOUTPUTCB; + +typedef void(VRPN_CALLBACK* vrpn_ANALOGOUTPUTCHANGEHANDLER)( + void* userdata, const vrpn_ANALOGOUTPUTCB info); + +class VRPN_API vrpn_Analog_Output_Callback_Server + : public vrpn_Analog_Output_Server { +public: + vrpn_Analog_Output_Callback_Server( + const char* name, vrpn_Connection* c, + vrpn_int32 numChannels = vrpn_CHANNEL_MAX); + virtual ~vrpn_Analog_Output_Callback_Server(void); + + // (un)Register a callback handler to handle analog value change. + // These will be called whenever EITHER type of change message is + // received, either a single channel or multiple channels. This is + // useful for applications that "have a" server, rather than derive + // from the server. + virtual int register_change_handler(void* userdata, + vrpn_ANALOGOUTPUTCHANGEHANDLER handler) + { + return d_callback_list.register_handler(userdata, handler); + }; + virtual int + unregister_change_handler(void* userdata, + vrpn_ANALOGOUTPUTCHANGEHANDLER handler) + { + return d_callback_list.unregister_handler(userdata, handler); + } + +protected: + /// Handles BOTH types of changes messages, and will be called + /// after the vrpn_Analog_Output_Server class has already filled + /// in the values. It just calls the user callbacks with the + /// appropriate pointer to the data values. + static int VRPN_CALLBACK + handle_change_message(void* userdata, vrpn_HANDLERPARAM p); + + /// List of user-level routines that need to be called back to let + /// them know that the values have changed. + vrpn_Callback_List<vrpn_ANALOGOUTPUTCB> d_callback_list; +}; + +// Open an analog output device that is on the other end of a connection +// and send updates to it. This is the type of analog output device +// that user code will deal with. +class VRPN_API vrpn_Analog_Output_Remote : public vrpn_Analog_Output { +public: + // The name of the analog device to connect to + // Optional argument to be used when the Remote should listen on + // a connection that is already open. + vrpn_Analog_Output_Remote(const char* name, vrpn_Connection* c = NULL); + virtual ~vrpn_Analog_Output_Remote(void); + + // This routine calls the mainloop of the connection it's on + virtual void mainloop(); + + // Request the analog to change its value to the one specified. + // Returns false on failure. + virtual bool request_change_channel_value( + unsigned int chan, vrpn_float64 val, + vrpn_uint32 class_of_service = vrpn_CONNECTION_RELIABLE); + + // Request the analog to change values all at once. If more values are + // given + // than we have channels, the extra values are discarded. If less values + // are + // given than we have channels, the extra channels are set to 0. + // Returns false on failure + virtual bool request_change_channels( + int num, vrpn_float64* vals, + vrpn_uint32 class_of_service = vrpn_CONNECTION_RELIABLE); + +protected: + // How we hear about the number of active channels + static int VRPN_CALLBACK + handle_report_num_channels(void* userdata, vrpn_HANDLERPARAM p); + + // Routines used to send requests from the client + virtual vrpn_int32 encode_change_to(char* buf, vrpn_int32 chan, + vrpn_float64 val); + virtual vrpn_int32 encode_change_channels_to(char* buf, vrpn_int32 num, + vrpn_float64* vals); +}; + +#endif diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_Assert.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_Assert.h new file mode 100644 index 0000000..aba9343 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_Assert.h @@ -0,0 +1,203 @@ +/** @file + @brief Header for assert macros. + + Include guards intentionally omitted, to allow re-inclusion with different + options. + + Assertions can either do nothing, call an assert handler on failure that + prints details to stderr, or call your compiler system's assert. + + - Define `VRPN_DISABLE_ASSERTS` before including this file to forcibly + disable all asserts. + - By default, debug builds will use the standard assert method, and release + builds will do nothing. + - To unconditionally (debug and release) enable the custom assert handler, + define `VRPN_ENABLE_ASSERT_HANDLER` + - To enable the custom assert handler for debug builds only (leaving asserts + as no-ops in release builds), define `VRPN_ENABLE_ASSERT_DEBUG_HANDLER` + + + @date 2015 + + @author + Ryan Pavlik (incorporating some code modified from Boost) + Sensics, Inc. + <http://sensics.com/osvr> +*/ + +// Copyright 2015 Sensics, Inc. +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// Includes code adapted from the following Boost Software License v1.0 sources: +// - <boost/current_function.hpp> +// - <boost/assert.hpp> + +// Undefine macro for safe multiple inclusion +#undef VRPN_CURRENT_FUNCTION + +// ---------------------------------------------------------- // +// Begin code adapted from <boost/current_function.hpp> +// at revision 5d353ad2b of the boost.assert repository +// https://github.com/boostorg/assert/blob/5d353ad2b92208c6ca300f4b47fdf04c87a8a593/include/boost/current_function.hpp +// +// Original notice follows: +// +// Copyright (c) 2002 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. +// See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt +// +// http://www.boost.org/libs/assert/current_function.html +// +#if defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || \ + (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__) + +#define VRPN_CURRENT_FUNCTION __PRETTY_FUNCTION__ + +#elif defined(__DMC__) && (__DMC__ >= 0x810) + +#define VRPN_CURRENT_FUNCTION __PRETTY_FUNCTION__ + +#elif defined(__FUNCSIG__) + +#define VRPN_CURRENT_FUNCTION __FUNCSIG__ + +#elif(defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || \ + (defined(__IBMCPP__) && (__IBMCPP__ >= 500)) + +#define VRPN_CURRENT_FUNCTION __FUNCTION__ + +#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550) + +#define VRPN_CURRENT_FUNCTION __FUNC__ + +#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) + +#define VRPN_CURRENT_FUNCTION __func__ + +#elif defined(__cplusplus) && (__cplusplus >= 201103) + +#define VRPN_CURRENT_FUNCTION __func__ + +#else + +#define VRPN_CURRENT_FUNCTION "(unknown)" + +#endif + +// End code adapted from <boost/current_function.hpp> +// ---------------------------------------------------------- // + +// ---------------------------------------------------------- // +// Begin code adapted from <boost/assert.hpp> +// at revision 5d353ad2b of the boost.assert repository +// https://github.com/boostorg/assert/blob/5d353ad2b92208c6ca300f4b47fdf04c87a8a593/include/boost/assert.hpp +// +// Original notice follows: +// +// Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd. +// Copyright (c) 2007, 2014 Peter Dimov +// Copyright (c) Beman Dawes 2011 +// +// Distributed under the Boost Software License, Version 1.0. +// See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt +// +// Note: There are no include guards. This is intentional. +// +// See http://www.boost.org/libs/assert/assert.html for documentation. +// + +// +// VRPN_ASSERT, VRPN_ASSERT_MSG +// + +#undef VRPN_ASSERT +#undef VRPN_ASSERT_MSG + +#if defined(VRPN_DISABLE_ASSERTS) || ( defined(VRPN_ENABLE_ASSERT_DEBUG_HANDLER) && defined(NDEBUG) ) + +#define VRPN_ASSERT(expr) ((void)0) +#define VRPN_ASSERT_MSG(expr, msg) ((void)0) + +#elif defined(VRPN_ENABLE_ASSERT_HANDLER) || ( defined(VRPN_ENABLE_ASSERT_DEBUG_HANDLER) && !defined(NDEBUG) ) + +/// @todo implementation of VRPN_LIKELY +#ifndef VRPN_LIKELY +#define VRPN_LIKELY(X) (X) +#endif + +#ifndef VRPN_API +#include "vrpn_Configure.h" +#endif + +namespace vrpn { + VRPN_API void assertion_failed(char const *expr, char const *function, + char const *file, long line); + VRPN_API void assertion_failed_msg(char const *expr, char const *msg, + char const *function, char const *file, + long line); +} // namespace vrpn + +#define VRPN_ASSERT(expr) (VRPN_LIKELY(!!(expr))? ((void)0): ::vrpn::assertion_failed(#expr, VRPN_CURRENT_FUNCTION, __FILE__, __LINE__)) +#define VRPN_ASSERT_MSG(expr, msg) (VRPN_LIKELY(!!(expr))? ((void)0): ::vrpn::assertion_failed_msg(#expr, msg, VRPN_CURRENT_FUNCTION, __FILE__, __LINE__)) + +#else + +#include <assert.h> // .h to support old libraries w/o <cassert> - effect is the same + +#define VRPN_ASSERT(expr) assert(expr) +#define VRPN_ASSERT_MSG(expr, msg) assert((expr) && (msg)) + +#endif + +// +// VRPN_VERIFY, VRPN_VERIFY_MSG +// + +#undef VRPN_VERIFY +#undef VRPN_VERIFY_MSG + + +#if defined(VRPN_DISABLE_ASSERTS) || ( !defined(VRPN_ENABLE_ASSERT_HANDLER) && defined(NDEBUG) ) + +# define VRPN_VERIFY(expr) ((void)(expr)) +# define VRPN_VERIFY_MSG(expr, msg) ((void)(expr)) + +#else + +# define VRPN_VERIFY(expr) VRPN_ASSERT(expr) +# define VRPN_VERIFY_MSG(expr, msg) VRPN_ASSERT_MSG(expr,msg) + +#endif + +// End code adapted from <boost/assert.hpp> +// -- + +// --------- +// Documentation +/** @def VRPN_CURRENT_FUNCTION + @brief Expands to the special preprocessor macro providing a useful + description of the current function, where available. +*/ +/** @def VRPN_ASSERT(expr) + @brief Asserts the truth of @p expr according to the configuration of + vrpn_Assert.h at the time of inclusion. If not asserting, does not evaluate + expression. +*/ +/** @def VRPN_ASSERT_MSG(expr, msg) + @brief Like VRPN_ASSERT(expr) but allows specification of a message to be + included in the case of a failed assertion. +*/ +/** @def VRPN_VERIFY(expr) + @brief Typically forwards to VRPN_ASSERT, but in cases where VRPN_ASSERT + would expand to nothing (not evaluating the expression), VRPN_VERIFY + evaluates the expression but discards the result. +*/ +/** @def VRPN_VERIFY_MSG(expr, msg) + @brief Like VRPN_VERIFY(expr) but allows specification of a message to be + included in the case of a failed assertion. +*/ \ No newline at end of file diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_Auxiliary_Logger.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_Auxiliary_Logger.h new file mode 100644 index 0000000..e394a59 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_Auxiliary_Logger.h @@ -0,0 +1,253 @@ +// This is a base class interface that has been designed for use by +// scientific data-collection applications that make use of VRPN to +// connect to microscope imagers and tracking system for nanoscale +// science research at UNC. + +// The idea of this interface is to enable a client GUI to start and +// stop logging of full-rate data on the server while receiving only +// a subset of the data during the experiment for preview; this keeps +// from overloading the network bandwidth with data and also keeps +// the client-side log files from filling up. When new log file(s) +// are requested, the old log files are closed. + +// Note that a particular implementation of the auxiliary logger server +// may need to know about a second connection (not the one it talks +// to its client over) in case that is where it is doing its logging. + +#ifndef VRPN_AUXILIARY_LOGGER_H +#define VRPN_AUXILIARY_LOGGER_H +#include <string.h> // for NULL + +#include "vrpn_BaseClass.h" // for vrpn_Callback_List, etc +#include "vrpn_Configure.h" // for VRPN_CALLBACK, VRPN_API +#include "vrpn_Connection.h" +#include "vrpn_Shared.h" // for timeval +#include "vrpn_Types.h" // for vrpn_int32 + +class VRPN_API vrpn_Auxiliary_Logger : public vrpn_BaseClass { +public: + vrpn_Auxiliary_Logger(const char *name, vrpn_Connection *c); + +protected: + // Handle registration of all message types we're going to deal with. + virtual int register_types(void); + vrpn_int32 request_logging_m_id; // ID of remote->server request message + vrpn_int32 report_logging_m_id; // ID of server->client response message + vrpn_int32 request_logging_status_m_id; // ID of remote->server + // status-request message + + // Pack a log description into the message whose type is passed + // as the parameter (this is used to pack both the request and + // report messages. + bool pack_log_message_of_type(vrpn_int32 type, + const char *local_in_logfile_name, + const char *local_out_logfile_name, + const char *remote_in_logfile_name, + const char *remote_out_logfile_name); + + // Unpack a log description from a message into the four strings that + // were passed in (this is used to unpack both the request and the + // report messages). + // NOTE: This routine will allocate space for the strings. The caller + // must delete [] this space when they are done with it to avoid + // memory leaks. + bool unpack_log_message_from_buffer(const char *buf, vrpn_int32 buflen, + char **local_in_logfile_name, + char **local_out_logfile_name, + char **remote_in_logfile_name, + char **remote_out_logfile_name); +}; + +// Virtual base server class for an auxiliiary logger. An implementation must +// implement the specified message-handling functions and must call the base- +// class constructor to set up the calling of them. + +class VRPN_API vrpn_Auxiliary_Logger_Server : public vrpn_Auxiliary_Logger { +public: + vrpn_Auxiliary_Logger_Server(const char *name, vrpn_Connection *c); + + // Required for servers. + virtual void mainloop(void) { server_mainloop(); } + +protected: + // Handle a logging-request message. The request contains four file + // names, two for local (to the Auxiliary server itself) and two for + // remote (the far side of its connection to the server). It must + // also respond to the client with a message saying what logging has + // been set up (using the send_logging_response function). Logging is + // turned off on a particular file by sending an empty-string name (""). + // The in/out local/remote are with respect to the connection that the + // logging is to occur on, which may or may not be the same one that the + // client has connected to the object on using the constructor above. + // Make sure to send a response saying what you did. + virtual void + handle_request_logging(const char *local_in_logfile_name, + const char *local_out_logfile_name, + const char *remote_in_logfile_name, + const char *remote_out_logfile_name) = 0; + + // Send a response to the client telling it what logging has been + // established. + bool send_report_logging(const char *local_in_logfile_name, + const char *local_out_logfile_name, + const char *remote_in_logfile_name, + const char *remote_out_logfile_name) + { + if (!d_connection) { + return false; + } + return pack_log_message_of_type( + report_logging_m_id, local_in_logfile_name, local_out_logfile_name, + remote_in_logfile_name, remote_out_logfile_name); + } + + // Handle dropped last connection on server object by turning off + // logging. The static method basically looks up the this + // pointer and calls the virtual method. A derived class should + // re-implement the non-static method below if it doesn't want to drop all + // logging or if it wants to do something else in addition. The static + // method basically just calls the non-static method. + virtual void handle_dropped_last_connection(void); + vrpn_int32 dropped_last_connection_m_id; // ID of message that all + // connections dropped + static int VRPN_CALLBACK + static_handle_dropped_last_connection(void *userdata, vrpn_HANDLERPARAM p); + + // Static portion of handling (unpacking) the request_logging message. It + // then calls the non-static virtual method above. + static int VRPN_CALLBACK + static_handle_request_logging(void *userdata, vrpn_HANDLERPARAM p); + + // Handle request for logging status. + virtual void handle_request_logging_status() = 0; + static int VRPN_CALLBACK + static_handle_request_logging_status(void *userdata, vrpn_HANDLERPARAM p); +}; + +// Generic server that will start auxiliary logs on the connection whose name +// is passed in (which can be the same as the name of the connection it is +// created on, but does not have to be). The "local" in and out are with +// respect to the new connection that is made; the "remote" in and out are with +// respect to the named connection. No logging is started in the constructor. + +class VRPN_API vrpn_Auxiliary_Logger_Server_Generic + : public vrpn_Auxiliary_Logger_Server { +public: + // Does not start logging, just records what to log when it is started. + vrpn_Auxiliary_Logger_Server_Generic(const char *logger_name, + const char *connection_to_log, + vrpn_Connection *c = NULL); + ~vrpn_Auxiliary_Logger_Server_Generic(); + + // Close an existing logging connection, then (if any of the file + // names are non-empty) open a new logging connection to the + // connection we are to log (even if this process already has a + // connection to it) and then send back the report that we've started + // logging if we are able. If we cannot open it, then fill in all + // blank names for the return report. + virtual void handle_request_logging(const char *local_in_logfile_name, + const char *local_out_logfile_name, + const char *remote_in_logfile_name, + const char *remote_out_logfile_name); + + virtual void handle_request_logging_status(); + + // If we have an active logging connection, mainloop it and save all of its + // pending messages in addition to handling the base-class functions. + // Then call the parent class mainloop(). + virtual void mainloop(void) + { + if (d_logging_connection) { + d_logging_connection->mainloop(); + d_logging_connection->save_log_so_far(); + } + vrpn_Auxiliary_Logger_Server::mainloop(); + } + +protected: + char *d_connection_name; // Name to connect to when logging. + vrpn_Connection *d_logging_connection; // Connection to use for logging. +}; + +//----------------------------------------------------------- +//************** Client code uses the following ************* + +// Type of a client routine to request new logging and to handle a +// report of changed logging. This callback is called when the +// logging server reports a new set of files, which should happen +// after each request is made. + +typedef struct _vrpn_AUXLOGGERCB { + struct timeval msg_time; // Timestamp of new logging + const char * + local_in_logfile_name; // Name of the incoming local log ("" if none). + const char *local_out_logfile_name; + const char *remote_in_logfile_name; + const char *remote_out_logfile_name; +} vrpn_AUXLOGGERCB; + +typedef void(VRPN_CALLBACK *vrpn_AUXLOGGERREPORTHANDLER)( + void *userdata, const vrpn_AUXLOGGERCB info); + +class VRPN_API vrpn_Auxiliary_Logger_Remote : public vrpn_Auxiliary_Logger { +public: + vrpn_Auxiliary_Logger_Remote(const char *name, vrpn_Connection *c = NULL); + + // Send a request to the server asking it to log the following. Each of + // these is with respect to the connection that the auxiliary logger server + // is handling, which may or may not be the one that it is connected to to + // receive this message; it refers to the other side of the new connection + // that the server establishes to do its logging. Passing a NULL or empty + // string ("") to any of the entries disables that log. + // WARNING: If the server is set to connect to its own connection and log + // it, then you must explicitly request a set of empty log files to stop + // it logging the last time because otherwise it never gets the message + // that it dropped the last connection and will continue logging after the + // object is destroyed. + bool send_logging_request(const char *local_in_logfile_name, + const char *local_out_logfile_name = "", + const char *remote_in_logfile_name = "", + const char *remote_out_logfile_name = "") + { + if (!d_connection) { + return false; + } + return pack_log_message_of_type( + request_logging_m_id, local_in_logfile_name, local_out_logfile_name, + remote_in_logfile_name, remote_out_logfile_name); + } + + bool send_logging_status_request() + { + if (!d_connection) { + return false; + } + return pack_log_message_of_type(request_logging_status_m_id, NULL, NULL, + NULL, NULL); + } + + // Register/unregister a callback handler for the logging response. + virtual int register_report_handler(void *userdata, + vrpn_AUXLOGGERREPORTHANDLER handler) + { + return d_callback_list.register_handler(userdata, handler); + }; + virtual int unregister_report_handler(void *userdata, + vrpn_AUXLOGGERREPORTHANDLER handler) + { + return d_callback_list.unregister_handler(userdata, handler); + } + + // This routine calls the mainloop of the connection it's on + virtual void mainloop(void); + +protected: + // Static handler for the logging report message. + // Use the base-class unpack method to convert the data into strings. + vrpn_Callback_List<vrpn_AUXLOGGERCB> d_callback_list; + + static int VRPN_CALLBACK + handle_report_message(void *userdata, vrpn_HANDLERPARAM p); +}; + +#endif diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_BaseClass.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_BaseClass.h new file mode 100644 index 0000000..6de47b4 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_BaseClass.h @@ -0,0 +1,487 @@ +/** @file vrpn_BaseClass.h + + All types of client/server/peer objects in VRPN should be derived from the + vrpn_BaseClass type described here. This includes Tracker, Button, Analog, + Clock, Dial, ForceDevice, Sound, and Text; it should include any user-defined + objects as well. + + This class both implements code that will be shared by most (if not all) + objects in the system and forms a skeleton for the definition of new objects + by requiring certain virtual member functions to be defined. + + See the VRPN web pages or another simple type (such as vrpn_Analog) for an + example of how to create a new VRPN object type using this as a base class. +*/ + +#ifndef VRPN_BASECLASS +#define VRPN_BASECLASS + +#include <stdio.h> // for NULL, fprintf, stderr, FILE + +#include "vrpn_Configure.h" // for VRPN_API, VRPN_CALLBACK +#include "vrpn_Connection.h" +#include "vrpn_Shared.h" // for timeval, vrpn_gettimeofday +#include "vrpn_Types.h" // for vrpn_int32, vrpn_uint32 + +/* +----------------------------------------------------------------------------- +Answer to the question: + "Why is there both a UNIQUE and NON-UNIQUE base class?", + or + "Why can't everything from vrpn_BaseClass be moved into +vrpn_BaseClassUnique?" + + The first reason is that removing vrpn_BaseClass would require the + vrpn_BaseClassUnique constructor to take a name and connection object as + parameters, which would cause some problems due to the way virtual base + classes are implemented in C++. + + Any class that inherits from a virtual base (either directly or several + generations removed) must provide an explicit call to the constructor + of the virtual base. This is done because the virtual base constructor + is invoked from the very first class in the constructor chain. + + Take for example vrpn_Tng3, which inherits vrpn_Button and vrpn_Serial_Analog + (and thus vrpn_Analog). Creating a new instance of a vrpn_Tng3 object will + call the constructors in this order: + Tng3 + BaseClassUnique (because it is a virtual base) + Button + BaseClass (coming from Button) + Serial_Analog + Analog + BaseClass (coming from Analog) + + Right now, BaseClassUnique's constructor has no parameters. So the + Tng3 constructor does not have to explicitly invoke BaseClassUnique, although + implicitly it will call BaseClassUnique's 0-parameter constructor before + doing anything else. But if BaseClass is eliminated, then BaseClassUnique's + constructor must do the work of creating the connection and copying the + service name. So BaseClassUnique's constructor must now take a couple + parameters, which means that every class (including Tng3, Button, Analog, and +Serial_Analog) would have to explicitly name the constructor for BaseClassUnique +in the code and specify parameters for connection and service-name, even though +only one such call to the BaseClassUnique's constructor would ever actually +occur at runtime (that of Tng3 since it's located at the lowest level of the +family tree; the rest of the calls would be ignored). This would mean inserting +"vrpn_BaseClassUnique(name,connection)" into the initializer section of every +constructor in *every* class under the BaseClassUnique subtree. + + The second reason we have both a unique and non-unique base class is that + the "register_types" virtual function must be called several times for + multiply-inherited devices, with a different virtual target in each case. + Presently, register_types() is called from vrpn_BaseClass::init(). + init() may be called multiple times using a different vftable entry for + register_types() each time (e.g. for the Tng3 it will refer once to + vrpn_Analog::register_types() and once to vrpn_Button::register_types()). + Both init() and the pure-virtual declaration of register_types() are found + in BaseClass. Moving init() up into BaseClassUnique instead of BaseClass + means that register_types() would have to move up as well. And if + register_types() is declared in the virtual base class, BaseClassUnique, + it can only have one virtual target. + + So it might appear that vrpn_BaseClass has no data members and would + therefore be easy to eliminate. However it actually does have a data + member: the vftable entry for "register_types". And this data member + *must* be duplicated in the case of multiply-inherited device because a + single object will need several distinct virtual targets for + "register_types". + + [Jeff Feasel 19 May 2005] +----------------------------------------------------------------------------- +*/ + +const int vrpn_MAX_BCADRS = 100; +///< Internal value for number of BaseClass addresses + +/// Since the sending of text messages has been pulled into the base class (so +/// that every object can send error/warning/info messages this way), these +/// definitions have been pulled in here as well. +typedef enum { + vrpn_TEXT_NORMAL = 0, + vrpn_TEXT_WARNING = 1, + vrpn_TEXT_ERROR = 2 +} vrpn_TEXT_SEVERITY; +const unsigned vrpn_MAX_TEXT_LEN = 1024; + +class VRPN_API vrpn_BaseClass; + +/// Class that handles text/warning/error printing for all objects in the +/// system. +// It is a system class, with one instance of it in existence. Each object in +// the system registers with this class when it is constructed. By default, +// this class prints all Warning and Error messages to stdout, prefaced by +// "vrpn Warning(0) from MUMBLE: ", where the 0 indicates the level of the +// message and Warning the severity, and MUMBLE the name of the object that sent +// the message. The user could create their own TextPrinter, and attach whatever +// objects they want to it. +// NOTE: Because there is a vrpn_System_TextPrinter that all vrpn_BaseClass +// objects talk to, and because those objects may be in multiple threads, the +// vrpn_TextPrinter class has to be thread-safe. This requires all user- +// callable methods to be thread-safe because the destructor may be called +// during a method call. + +class VRPN_API vrpn_TextPrinter { +public: + vrpn_TextPrinter(); + ~vrpn_TextPrinter(); + + /// Adds an object to the list of watched objects (multiple registration + /// of the same object will result in only one printing for each message + /// from the object). Returns 0 on success and -1 on failure. + /// YOU MUST REMOVE any objects from a vrpn_TextPrinter that you create + /// before destroying the printer if any connection objects survive, + /// otherwise they may call a callback function on the destroyed object. + int add_object(vrpn_BaseClass *o); + + /// Remove an object from the list of watched objects (multiple deletions + /// of the object will not cause any error condition; deletions of + /// unregistered objects will not cause errors). + void remove_object(vrpn_BaseClass *o); + + /// Change the level of printing for the object (sets the minimum level to + /// print). Default is Warnings and Errors of all levels. + void set_min_level_to_print(vrpn_TEXT_SEVERITY severity, + vrpn_uint32 level = 0); + + /// Change the ostream that will be used to print messages. Setting a + /// NULL ostream results in no printing. + void set_ostream_to_use(FILE *o); + +protected: + /// Mutex to ensure thread safety; + vrpn_Semaphore d_semaphore; + + /// Structure to hold the objects that are being watched. + class VRPN_API vrpn_TextPrinter_Watch_Entry { + public: + vrpn_BaseClass *obj; ///< Object being watched + vrpn_TextPrinter *me; + ///< Pointer to this, because used in a static function + vrpn_TextPrinter_Watch_Entry *next; + ///< Pointer to the next one in the list + }; + vrpn_TextPrinter_Watch_Entry *d_first_watched_object; + ///< Head of list of objects being watched + + FILE *d_ostream; ///< Output stream to use + vrpn_TEXT_SEVERITY d_severity_to_print; ///< Minimum severity to print + vrpn_uint32 d_level_to_print; ///< Minimum level to print + + /// Handles the text messages that come from the connections for + /// objects we are watching. + static int VRPN_CALLBACK + text_message_handler(void *userdata, vrpn_HANDLERPARAM p); +}; +// SWIG does not like this declaration. +#ifndef SWIG +extern VRPN_API vrpn_TextPrinter &vrpn_System_TextPrinter; +#endif + +/// INTERNAL class to hold members that there should only be one copy of +/// even when a class inherits from multiple vrpn_BaseClasses because it +/// inherits from multiple user-level classes. Note that not everything in +/// vrpnBaseClass should be here, because (for example) the registration of +/// types should be done for each parent class. +class VRPN_API vrpn_BaseClassUnique { + friend class VRPN_API vrpn_TextPrinter; + +public: + vrpn_BaseClassUnique(); + virtual ~vrpn_BaseClassUnique(); + + /// Returns a pointer to the connection this object is using + vrpn_Connection *connectionPtr() { return d_connection; }; + + bool shutup; // if True, don't print the "No response from server" messages. + + friend class SendTextMessageBoundCall; + class SendTextMessageBoundCall { + private: + vrpn_BaseClassUnique *_p; + vrpn_TEXT_SEVERITY _severity; + + public: + SendTextMessageBoundCall(vrpn_BaseClassUnique *device, + vrpn_TEXT_SEVERITY type) + : _p(device) + , _severity(type) + { + } + + SendTextMessageBoundCall(SendTextMessageBoundCall const &other) + : _p(other._p) + , _severity(other._severity) + { + } + + int operator()(const char *msg) const + { + struct timeval timestamp; + vrpn_gettimeofday(×tamp, NULL); + return _p->send_text_message(msg, timestamp, _severity); + } + }; + +protected: + vrpn_Connection *d_connection; ///< Connection that this object talks to + char *d_servicename; ///< Name of this device, not including the connection + /// part + + vrpn_int32 d_sender_id; ///< Sender ID registered with the connection + vrpn_int32 d_text_message_id; ///< ID for text messages + vrpn_int32 d_ping_message_id; ///< Ask the server if they are there + vrpn_int32 d_pong_message_id; ///< Server telling that it is there + + /// Registers a handler with the connection, and remembers to delete at + /// destruction. + // This is a wrapper for the vrpn_Connection call that registers + // message handlers. It should be used rather than the connection's + // function because this one will remember to unregister all of its handlers + // at object deletion time. + int register_autodeleted_handler(vrpn_int32 type, + vrpn_MESSAGEHANDLER handler, + void *userdata, + vrpn_int32 sender = vrpn_ANY_SENDER); + + /// Encodes the body of the text message into a buffer, preparing for + /// sending + static int encode_text_message_to_buffer(char *buf, + vrpn_TEXT_SEVERITY severity, + vrpn_uint32 level, + const char *msg); + + /// Decodes the body of the text message from a buffer from the connection + static int decode_text_message_from_buffer(char *msg, + vrpn_TEXT_SEVERITY *severity, + vrpn_uint32 *level, + const char *buf); + + /// Sends a NULL-terminated text message from the device d_sender_id + int send_text_message(const char *msg, struct timeval timestamp, + vrpn_TEXT_SEVERITY type = vrpn_TEXT_NORMAL, + vrpn_uint32 level = 0); + + /// Returns an object you can stream into to send a text message from the + /// device + /// like send_text_message(vrpn_TEXT_WARNING) << "Value of i is: " << i; + /// This use requires including vrpn_SendTextMessageStreamProxy.h + SendTextMessageBoundCall + send_text_message(vrpn_TEXT_SEVERITY type = vrpn_TEXT_NORMAL) + { + return SendTextMessageBoundCall(this, type); + } + + /// Handles functions that all servers should provide in their mainloop() + /// (ping/pong, for example) + /// Should be called by all servers in their mainloop() + void server_mainloop(void); + + /// Handles functions that all clients should provide in their mainloop() + /// (warning of no server, for example) + /// Should be called by all clients in their mainloop() + void client_mainloop(void); + +private: + struct { + vrpn_MESSAGEHANDLER handler; + vrpn_int32 sender; + vrpn_int32 type; + void *userdata; + } d_handler_autodeletion_record[vrpn_MAX_BCADRS]; + int d_num_autodeletions; + + int d_first_mainloop; ///< First time client_mainloop() or server_mainloop() + /// called? + struct timeval d_time_first_ping; ///< When was the first ping of this + /// unanswered group sent? + struct timeval + d_time_last_warned; ///< When is the last time we sent a warning? + int d_unanswered_ping; ///< Do we have an outstanding ping request? + int d_flatline; ///< Has it been 10+ seconds without a response? + + /// Used by client/server code to request/send "server is alive" (pong) + /// message + static int VRPN_CALLBACK handle_ping(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK handle_pong(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_connection_dropped(void *userdata, vrpn_HANDLERPARAM p); + void initiate_ping_cycle(void); +}; + +//--------------------------------------------------------------- +/// Class from which all user-level (and other) classes that communicate +/// with vrpn_Connections should derive. + +class VRPN_API vrpn_BaseClass : virtual public vrpn_BaseClassUnique { + +public: + /// Names the device and assigns or opens connection, + /// calls registration methods + vrpn_BaseClass(const char *name, vrpn_Connection *c = NULL); + + virtual ~vrpn_BaseClass(); + + /// Called once through each main loop iteration to handle updates. + /// Remote object mainloop() should call client_mainloop() and + /// then call d_connection->mainloop(). + /// Server object mainloop() should service the device and then + /// call server_mainloop(), but should not normally call + /// d_connection->mainloop(). + virtual void mainloop() = 0; + +protected: + /// Initialize things that the constructor can't. Returns 0 on + /// success, -1 on failure. + virtual int init(void); + + /// Register the sender for this device (by default, the name of the + /// device). Return 0 on success, -1 on fail. + virtual int register_senders(void); + + /// Register the types of messages this device sends/receives. + /// Return 0 on success, -1 on fail. + virtual int register_types(void) = 0; +}; + +//--------------------------------------------------------------- +// Within VRPN (and other libraries), it is wise to avoid using the +// Standard Template Library. This is very annoying, but required +// by the fact that some systems have incompatible versions of STL. +// This caused problems with any program that uses the GHOST library +// (which had its own STL on Windows), and I've heard tell of problems +// with other systems as well. On the other hand, nothing says that +// we can't have our OWN template types and use them. This next type +// is used to handle callback lists within objects. It is templated +// over the struct that is passed to the user callback. +// See vrpn_Button.h's usage for an example. + +// Disables a warning that the class requires DLL linkage to be +// used by clients of classes that include one: The classes themselves +// have DLL linkage, the code below asks for (but apparently does not +// get) DLL linkage, and the DLL-linked test programs work when things +// are as they are. Do not use this class outside of a derived class. +#ifdef _MSC_VER +#pragma warning(disable : 4251) +#endif +template <class CALLBACK_STRUCT> class VRPN_API vrpn_Callback_List { +public: + typedef void(VRPN_CALLBACK *HANDLER_TYPE)(void *userdata, + const CALLBACK_STRUCT info); + + /// This class requires deep copies. + void operator=(const vrpn_Callback_List &from) + { + // Delete any existing elements in the list. + CHANGELIST_ENTRY *current, *next; + current = d_change_list; + while (current != NULL) { + next = current->next; + delete current; + current = next; + } + + // Copy all elements from the other list. XXX Side effect, this inverts + // the order + current = from.d_change_list; + while (current != NULL) { + register_handler(current->userdata, current->handler); + current = current->next; + } + } + + /// Call this to add a handler to the list. + int register_handler(void *userdata, HANDLER_TYPE handler) + { + CHANGELIST_ENTRY *new_entry; + + // Ensure that the handler is non-NULL + if (handler == NULL) { + fprintf(stderr, + "vrpn_Callback_List::register_handler(): NULL handler\n"); + return -1; + } + + // Allocate and initialize the new entry + if ((new_entry = new CHANGELIST_ENTRY) == NULL) { + fprintf(stderr, + "vrpn_Callback_List::register_handler(): Out of memory\n"); + return -1; + } + new_entry->handler = handler; + new_entry->userdata = userdata; + + // Add this handler to the chain at the beginning (don't check to see + // if it is already there, since duplication is okay). + new_entry->next = d_change_list; + d_change_list = new_entry; + + return 0; + }; + + /// Call this to remove a handler from the list (if it exists) + int unregister_handler(void *userdata, HANDLER_TYPE handler) + { + // The pointer at *snitch points to victim + CHANGELIST_ENTRY *victim, **snitch; + + // Find a handler with this registry in the list (any one will do, + // since all duplicates are the same). + snitch = &d_change_list; + victim = *snitch; + while ((victim != NULL) && ((victim->handler != handler) || + (victim->userdata != userdata))) { + snitch = &((*snitch)->next); + victim = victim->next; + } + + // Make sure we found one + if (victim == NULL) { + fprintf( + stderr, + "vrpn_Callback_List::unregister_handler: No such handler\n"); + return -1; + } + + // Remove the entry from the list + *snitch = victim->next; + delete victim; + + return 0; + }; + + /// This will pass the referenced parameter as a const to all the callbacks. + void call_handlers(const CALLBACK_STRUCT &info) + { + CHANGELIST_ENTRY *handler = d_change_list; + while (handler != NULL) { + handler->handler(handler->userdata, info); + handler = handler->next; + } + }; + + /// The list starts out empty + vrpn_Callback_List() + : d_change_list(NULL){}; + + /// Clear the list upon destruction if it is not empty already + ~vrpn_Callback_List() + { + while (d_change_list != NULL) { + CHANGELIST_ENTRY *next = d_change_list->next; + delete d_change_list; + d_change_list = next; + } + }; + +protected: + typedef struct vrpn_CBS { + void *userdata; + HANDLER_TYPE handler; + struct vrpn_CBS *next; + } CHANGELIST_ENTRY; + CHANGELIST_ENTRY *d_change_list; +}; + +// End of defined VRPN_BASECLASS for vrpn_BaseClass.h +#endif diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_Button.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_Button.h new file mode 100644 index 0000000..65d1d1a --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_Button.h @@ -0,0 +1,296 @@ +#ifndef VRPN_BUTTON_H +#include <stddef.h> // for NULL + +#include "vrpn_BaseClass.h" // for vrpn_Callback_List, etc +#include "vrpn_Configure.h" // for VRPN_API, VRPN_CALLBACK +#include "vrpn_Shared.h" // for timeval +#include "vrpn_Types.h" // for vrpn_int32, vrpn_float64, etc + +class VRPN_API vrpn_Connection; +struct vrpn_HANDLERPARAM; + +const int vrpn_BUTTON_MAX_BUTTONS = 256; +const int VRPN_BUTTON_BUF_SIZE = 256; + +// Base class for buttons. Definition +// of remote button class for the user is at the end. + +const int vrpn_BUTTON_MOMENTARY = 10; +const int vrpn_BUTTON_TOGGLE_OFF = 20; +const int vrpn_BUTTON_TOGGLE_ON = 21; +const int vrpn_BUTTON_LIGHT_OFF = 30; +const int vrpn_BUTTON_LIGHT_ON = 31; +const int vrpn_ALL_ID = -99; + +/** This is the base class for both the client and server for a button + device (a device with one or more boolean switches). Any server + should actually derive from the vrpn_Button_Filter class, described + next, which enables toggling any of the buttons. **/ + +class VRPN_API vrpn_Button : public vrpn_BaseClass { +public: + vrpn_Button(const char *name, vrpn_Connection *c = NULL); + virtual ~vrpn_Button(void); + + // Print the status of the button + void print(void); + + virtual void set_momentary(vrpn_int32 which_button); + virtual void set_toggle(vrpn_int32 which_button, vrpn_int32 current_state); + virtual void set_all_momentary(void); + virtual void set_all_toggle(vrpn_int32 default_state); + +protected: + unsigned char buttons[vrpn_BUTTON_MAX_BUTTONS]; + unsigned char lastbuttons[vrpn_BUTTON_MAX_BUTTONS]; + vrpn_int32 minrate[vrpn_BUTTON_MAX_BUTTONS]; + vrpn_int32 num_buttons; + struct timeval timestamp; + vrpn_int32 change_message_id; // ID of change button message to connection + vrpn_int32 states_message_id; // ID of button-states message to connection + vrpn_int32 admin_message_id; // ID of admin button message to connection + + virtual int register_types(void); + virtual void report_changes(void); + virtual void report_states(void); // Calls Button or Button_Filter encode + virtual vrpn_int32 encode_to(char *buf, vrpn_int32 button, + vrpn_int32 state); + virtual vrpn_int32 encode_states_to(char *buf); +}; + +/** All button servers should derive from this class, which provides + the ability to turn any of the buttons into toggles (using messages + from the remote button object). **/ + +class VRPN_API vrpn_Button_Filter : public vrpn_Button { +public: + vrpn_int32 buttonstate[vrpn_BUTTON_MAX_BUTTONS]; + virtual void set_momentary(vrpn_int32 which_button); + virtual void set_toggle(vrpn_int32 which_button, vrpn_int32 current_state); + virtual void set_all_momentary(void); + virtual void set_all_toggle(vrpn_int32 default_state); + void set_alerts(vrpn_int32); + +protected: + int send_alerts; + vrpn_Button_Filter(const char *, vrpn_Connection *c = NULL); + vrpn_int32 + alert_message_id; // used to send back to alert button box for lights + virtual vrpn_int32 encode_states_to(char *buf); + virtual void report_changes(void); + + // This method makes sure we send a states message whenever we get a ping + // from + // a client object or a new connection. + static int VRPN_CALLBACK + handle_ping_message(void *userdata, vrpn_HANDLERPARAM p); +}; + +#ifndef VRPN_CLIENT_ONLY + +// Button server that lets you set the values for the buttons directly and +// then have it update if needed. This class should be used by devices that +// can have several sets of buttons in them and don't want to derive from the +// Button class themselves. An example is the InterSense 900 features found in +// the Fastrak server (which may have several button devices, one for each +// sensor). + +class VRPN_API vrpn_Button_Server : public vrpn_Button_Filter { +public: + vrpn_Button_Server(const char *name, vrpn_Connection *c, + int numbuttons = 1); + + /// Tells how many buttons there are (may be clipped to MAX_BUTTONS) + int number_of_buttons(void); + + /// Called once each time through the server program's mainloop to handle + /// various functions (like setting toggles, reporting changes, etc). + virtual void mainloop(); + + /// Allows the server program to set current button states (to 0 or 1) + int set_button(int button, int new_value); +}; + +// Example button server code. This button device causes its buttons to +// be pressed and released at the interval specified (default 1/sec). It +// has the specified number of buttons (default 1). +// This class is derived from the vrpn_Button_Filter class, so that it +// can be made to toggle its buttons using messages from the client. + +class VRPN_API vrpn_Button_Example_Server : public vrpn_Button_Filter { +public: + vrpn_Button_Example_Server(const char *name, vrpn_Connection *c, + int numbuttons = 1, vrpn_float64 rate = 1.0); + + virtual void mainloop(); + +protected: + vrpn_float64 _update_rate; // How often to toggle +}; + +// Button device that is connected to a parallel port and uses the +// status bits to read from the buttons. There can be up to 5 buttons +// read this way. +class VRPN_API vrpn_Button_Parallel : public vrpn_Button_Filter { +public: + // Open a button connected to the local machine, talk to the + // outside world through the connection. + vrpn_Button_Parallel(const char *name, vrpn_Connection *connection, + int portno, unsigned porthex = 0); + ~vrpn_Button_Parallel(); + +protected: + int port; + int status; + + virtual void read(void) = 0; +#ifdef _WIN32 + int openGiveIO(void); +#endif // _WIN32 +}; + +// Open a Python (or Hiball Button) that is connected to a parallel port. +// See www.vrpn.org/UNC_python.html for a description of how to make +// a connector that uses the parallel port this way. Note that this +// use of a parallel port can result in damage to the motherboard if +// voltage spikes (static) are passed through if care is not taken. +// This interface is intended for use at UNC. No warranty is expressed +// or implied for use elsewhere (use at your own risk). +class VRPN_API vrpn_Button_Python : public vrpn_Button_Parallel { +public: + vrpn_Button_Python(const char *name, vrpn_Connection *c, int p); + vrpn_Button_Python(const char *name, vrpn_Connection *c, int p, + unsigned ph); + + virtual void mainloop(); + +protected: + virtual void read(void); + bool d_first_fail; +}; + +// Button device that is connected to the serial port. +class VRPN_API vrpn_Button_Serial : public vrpn_Button_Filter { +public: + vrpn_Button_Serial(const char *name, vrpn_Connection *c, + const char *port = "/dev/ttyS1/", long baud = 38400); + virtual ~vrpn_Button_Serial(); + +protected: + char portname[VRPN_BUTTON_BUF_SIZE]; + long baudrate; + int serial_fd; + int status; + + unsigned char + buffer[VRPN_BUTTON_BUF_SIZE]; // char read from the button so far + vrpn_uint32 bufcount; // number of char in the buffer + + virtual void read() = 0; +}; + +// Open a Fakespace Pinch Glove System that is connected to a serial port. There +// are total of 10 buttons. Buttons 0-4 are fingers for the right hand-thumb +// first and pinkie last-while buttons 5-9 are for the left hand-thumb first. +// The report you get back is the finger is touching. So you will not have a +// state where only one button is ON. +class VRPN_API vrpn_Button_PinchGlove : public vrpn_Button_Serial { +public: + vrpn_Button_PinchGlove(const char *name, vrpn_Connection *c, + const char *port = "/dev/ttyS1/", long baud = 38400); + + virtual void mainloop(); + +protected: + bool reported_failure; + virtual void read(); + void + report_no_timestamp(); // set the glove to report data without timestamp +}; + +#endif // VRPN_CLIENT_ONLY + +//---------------------------------------------------------- +//************** Users deal with the following ************* + +// User routine to handle a change in button state. This is called when +// the button callback is called (when a message from its counterpart +// across the connection arrives). The pinch glove has 5 different states of on +// since it knows which fingers are touching. This pinch glove behavior is +// non-standard and will be removed in a future version. Button states should +// be considered like booleans. +#define VRPN_BUTTON_OFF (0) +#define VRPN_BUTTON_ON (1) + +typedef struct _vrpn_BUTTONCB { + struct timeval msg_time; // Time of button press/release + vrpn_int32 button; // Which button (numbered from zero) + vrpn_int32 state; // button state (0 = off, 1 = on) +} vrpn_BUTTONCB; +typedef void(VRPN_CALLBACK *vrpn_BUTTONCHANGEHANDLER)(void *userdata, + const vrpn_BUTTONCB info); + +// This is a new button callback type that was added in VRPN 7.31. It +// tells the current state of all of the buttons on the device. It is +// called whenever a button server receives a new connection request. It +// is intended to deal with the issue of not knowing what state toggled +// buttons are in when a client connects. +typedef struct _vrpn_BUTTONSTATECB { + struct timeval msg_time; // Timestamp of analog data + vrpn_int32 num_buttons; // how many buttons + vrpn_int32 states[vrpn_BUTTON_MAX_BUTTONS]; // button state values +} vrpn_BUTTONSTATESCB; +typedef void(VRPN_CALLBACK *vrpn_BUTTONSTATESHANDLER)( + void *userdata, const vrpn_BUTTONSTATESCB info); + +// Open a button that is on the other end of a connection +// and handle updates from it. This is the type of button that user code will +// deal with. + +class VRPN_API vrpn_Button_Remote : public vrpn_Button { +public: + // The name of the button device to connect to. Optional second + // argument is used when you already have an open connection you + // want it to listen on. + vrpn_Button_Remote(const char *name, vrpn_Connection *cn = NULL); + virtual ~vrpn_Button_Remote(void); + + // This routine calls the mainloop of the connection it's on + virtual void mainloop(); + + // (un)Register a callback handler to handle a button state change + virtual int register_change_handler(void *userdata, + vrpn_BUTTONCHANGEHANDLER handler) + { + return d_callback_list.register_handler(userdata, handler); + }; + virtual int unregister_change_handler(void *userdata, + vrpn_BUTTONCHANGEHANDLER handler) + { + return d_callback_list.unregister_handler(userdata, handler); + } + + // (un)Register a callback handler to handle buttons states reports + virtual int register_states_handler(void *userdata, + vrpn_BUTTONSTATESHANDLER handler) + { + return d_states_callback_list.register_handler(userdata, handler); + }; + virtual int unregister_states_handler(void *userdata, + vrpn_BUTTONSTATESHANDLER handler) + { + return d_states_callback_list.unregister_handler(userdata, handler); + } + +protected: + vrpn_Callback_List<vrpn_BUTTONCB> d_callback_list; + static int VRPN_CALLBACK + handle_change_message(void *userdata, vrpn_HANDLERPARAM p); + + vrpn_Callback_List<vrpn_BUTTONSTATESCB> d_states_callback_list; + static int VRPN_CALLBACK + handle_states_message(void *userdata, vrpn_HANDLERPARAM p); +}; + +#define VRPN_BUTTON_H +#endif diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_Configure.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_Configure.h new file mode 100644 index 0000000..dc79604 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_Configure.h @@ -0,0 +1,544 @@ +#ifndef VRPN_CONFIGURE_H + +//-------------------------------------------------------------- +/* IMPORTANT NOTE: If this file is named vrpn_Configure.h, it is + AUTOMATICALLY GENERATED from vrpn_Configure.h.cmake_in + using the options selected in CMake. Do not edit this + autogenerated vrpn_Configure.h because your changes will be + overwritten. + + Until all modules are fully configured using CMake, you may + have to edit the paths that are listed near the bottom of the + first section of the input file, vrpn_Configure.h.cmake_in + then re-run CMake to regenerate vrpn_Configure.h. */ +//-------------------------------------------------------------- + +// If true, only build the client-side code into the VRPN library. +// This makes it smaller and requires less linking with external +// libraries. +// +// If this is defined in this header file, it means that only the +// client library was built, so the header file was able to show +// this specialization. If it's not defined here, that may mean both +// libraries were built, passing the definition for the client library +// directly to the compiler, meaning that defining it in your app +// is up to you. +// +// The ifndef here means that it's always safe for you to define +// VRPN_CLIENT_ONLY without risking re-definition warnings/errors. +#ifndef VRPN_CLIENT_ONLY +#define VRPN_CLIENT_ONLY +#endif + +//-------------------------------------------------------------- +/* This file contains configuration options for VRPN. The first + section has definition lines that can be commented in or out + at build time. The second session has automaticly-generated + directives and should not be edited. */ +//-------------------------------------------------------------- + +//--------------------------------------------------------// +// EDIT BELOW THIS LINE FOR NORMAL CONFIGURATION SETTING. // +//--------------------------------------------------------// + +//----------------------- +// Default port to listen on for a server. It used to be 4500 +// up through version 6.03, but then all sorts of VPNs started +// using this, as did Microsoft. Port 3883 was assigned to VRPN +// by the Internet Assigned Numbers Authority (IANA) October, 2003. +// Change this to make a location-specific default if you like. +// The parentheses are to keep it from being expanded into something +// unexpected if the code has a dot after it. +#define vrpn_DEFAULT_LISTEN_PORT_NO (3883) + +//----------------------- +// Use the std::chrono library for time, rather than gettimeofday. +/* #undef VRPN_USE_STD_CHRONO */ + +//----------------------- +// Use compile-time static asserts. +#define VRPN_USE_STATIC_ASSERTIONS + +//----------------------- +// Use Winsock2 library rather than Winsock. +#define VRPN_USE_WINSOCK2 + +//----------------------- +// Instructs VRPN to expose the vrpn_gettimeofday() function also +// as gettimeofday() so that external programs can use it. This +// is put here for Windows. This function should not really be +// implemented within VRPN, but it was expedient to include it +// when porting applications to Windows. Turn this off if you have +// another implementation, or if you want to only call +// vrpn_gettimeofday() directly. +/* #undef VRPN_EXPORT_GETTIMEOFDAY */ + +//----------------------- +// Tells VRPN to compile with support for the Message-Passing +// Interface (MPI) library. There is a configuration section below +// that has a library path for the MPI library to link against. +// You will need to add the path to mpi.h and other needed files +// into your Visual Studio Tools/Options/Projects and Solutions/ +// C++ Directories include path. The original implementation is +// done with MPICH2, but an attempt has been made to use only +// MPI version 1 basic functions. +/* #undef VRPN_USE_MPI */ + +//----------------------- +// Tells VRPN to compile with support for the Modbus +// library. +/* #undef VRPN_USE_MODBUS */ + +//----------------------- +// Instructs VRPN to use phantom library to construct a unified +// server, using phantom as a common device, and phantom +// configuration in .cfg file. +/* #undef VRPN_USE_PHANTOM_SERVER */ + +//------------------------ +// Instructs vrpn to use SensAble's HDAPI rather than GHOST library. +// Only used in conjuntion with VRPN_USE_PHANTOM_SERVER. +// PLEASE SPECIFY PATH TO HDAPI IN NEXT SECTION IF YOU USE THIS. +// Also, you need to go to the vrpn_phantom and vrpn_server projects +// and remove the GHOST include directories from the include paths. +// Yes, HDAPI fails if it even has them in the path (as so many other +// things also fail). At least we're rid of them now. When you +// uncomment it (to use GHOST), add the following to the include +// directories for the vrpn_phantom project: $(SYSTEMDRIVE)\Program +// Files\SensAble\GHOST\v4.0\include,$(SYSTEMDRIVE)\Program +// Files\SensAble\GHOST\v4.0\external\stl, +/* #undef VRPN_USE_HDAPI */ + +//------------------------ +// Instructs vrpn to use Ghost 3.1 instead of Ghost 3.4. +// Only used in conjuntion with VRPN_USE_PHANTOM_SERVER. +// PLEASE SPECIFY PATH TO GHOSTLIB IN NEXT SECTION IF YOU USE THIS +// (This is expected to be used on systems where Ghost 4.0 is not +// available, such as the SGI platform. If you are using this on +// a Windows PC with Visual Studio, you will need to alter +// server_src/vrpn_phantom.dsp to reference the Ghost 3.1 include +// paths.) +/* #undef VRPN_USE_GHOST_31 */ + +//----------------------- +// Instructs VRPN to use the high-performance timer code on +// Windows, rather than the default clock which has an infrequent +// update. At one point in the past, an implementation of this +// would only work correctly on some flavors of Windows and with +// some types of CPUs. +// There are actually two implementations +// of the faster windows clock. The original one, made by Hans +// Weber, checks the clock rate to see how fast the performance +// clock runs (it takes a second to do this when the program +// first calls vrpn_gettimeofday()). The second version by Haris +// Fretzagias relies on the timing supplied by Windows. To use +// the second version, also define VRPN_WINDOWS_CLOCK_V2. +#define VRPN_UNSAFE_WINDOWS_CLOCK +#define VRPN_WINDOWS_CLOCK_V2 + +//----------------------- +// Instructs VRPN library and server to include code that uses +// the DirectX SDK. If you set this, you may to edit the +// system configuration section below to point at the correct version +// of DirectX. WARNING: With the August 2006 DirectX SDK, you +// cannot link against the debug library in Visual Studio 6.0, +// only the release. Hopefully, Visual Studio.NET doesn't have +// this problem. +// IMPORTANT! If you define this, you need to edit the Tools/Options +// menu: +// For Visual studio 6, use the Directories tab, and add the +// include and lib paths to the TOP of the lists for all configurations. +// For Visual studio .NET, add to the top of the Projects and Solutions/ +// VC++ Directories entry. +// This will let the code find the right version when it compiles. +/* #undef VRPN_USE_DIRECTINPUT */ +/* #undef VRPN_USE_WINDOWS_XINPUT */ + +// The DirectInput-based zSight tracker requires ATL for smart pointers, +// which sadly isn't everywhere (VC Express, MXE cross compiling, ...). +#define VRPN_HAVE_ATLBASE + +//----------------------- +// Instructs VRPN library and server to include code that uses +// the DirectShow SDK. If you set this, you may to edit the +// system configuration section below to point at the correct version +// of the Platform SDK. WARNING: With the August 2006 DirectX SDK, you +// cannot link against the debug library in Visual Studio 6.0, +// only the release. Visual Studio.NET doesn't have this problem. +/* #undef VRPN_USE_DIRECTSHOW */ + +//----------------------- +// Instructs the VRPN server to create an entry for the Adrienne +// time-code generator. This is a device that produces time values +// from an analog video stream so that events in the virtual world +// can be synchronized with events on a movie. The Adrienne folder +// should be located at the same level as the VRPN folder for the +// code to find it. +/* #undef VRPN_INCLUDE_TIMECODE_SERVER */ +/* #undef VRPN_ADRIENNE_INCLUDE_FILENAME */ +/* #undef VRPN_ADRIENNE_INCLUDE_HAS_EXTERN_C */ + +//----------------------- +// Compiles the InterSense Tracker using the +// InterSense Interface Libraries SDK (tested for version +// 3.45) on windows. This should work with all Intersense trackers, +// both the USB and the serial port versions. The files isense.h, +// types.h and isense.c should be put in a directory called 'isense' +// at the same level as the vrpn directory. The isense.dll should +// be put either in Windows/system32 or in the location where the +// executable lives or somewhere on the path. +/* #undef VRPN_INCLUDE_INTERSENSE */ + +//----------------------- +// Instructs VRPN library and server to include code that uses +// the National Instruments Nidaq library to control analog outputs. +// Later in this file, we also instruct the compiler to link with +// the National Instruments libraries if this is defined. Either or +// both of these can be defined, depending on which library you +// need to use. +/* #undef VRPN_USE_NATIONAL_INSTRUMENTS */ +/* #undef VRPN_USE_NATIONAL_INSTRUMENTS_MX */ + +//----------------------- +// Instructs VRPN library and server to include code that uses +// the US Digital SEI/A2 library to control analog inputs from the +// A2 absolute encoder. +// Later in this file, we also instruct the compiler to link with +// the US Digital library if this is defined. You also need to +// define VRPN_USE_NATIONAL_INSTRUMENTS_MX above if you want to +// use this. +/* #undef VRPN_USE_USDIGITAL */ + +//----------------------- +// Instructs VRPN to use the default room space transforms for +// the Desktop Phantom as used in the nanoManipulator application +// rather than the default world-origin with identity rotation. +// Please don't anyone new use the room space transforms built +// into VRPN -- they are a hack pulled forward from Trackerlib. +#define DESKTOP_PHANTOM_DEFAULTS + +//------------------------ +// Instructs VRPN to use microscribe3D library to construct a unified +// server +/* #undef VRPN_USE_MICROSCRIBE */ + +//------------------------ +// Compiles the VRPN library with the PhaseSpace Tracker using the +// PhaseSpace OWL API on Linux and Windows. +// +// In Linux: +// The PhaseSpace header files (owl.h, etc) and libraries (libowlsock) +// should be placed in the phasespace directory at the same level as +// the vrpn folder. Also, PHASESPACE needs to be uncommented in the +// server_src/Makefile so that the libraries are properly linked. +// libowlsock.so will need to be present in the directory of the +// final executable or in the default library path such as /usr/lib +// +// In Windows: +// The PhaseSpace header files (owl.h, etc) should be placed in the +// phasespace directory at the same level as the vrpn folder. +// libowlsock.lib will need to be located there as well. +// libowlsock.dll will need to be in the path or with the executable +// at run time. Edit the path below to say where the .lib file +// can be found. +// +/* #undef VRPN_INCLUDE_PHASESPACE */ + +//----------------------- +// Instructs VRPN to use a DLL interface on Windows systems. +// When using this, link with VRPNDLL.LIB (and VRPN.DLL) rather +// than VRPN.LIB in user code. This is experimental and is +// under development to enable C# and other languages to pull in +// VRPN. This is only needed when trying to link VRPN with +// languages other than C++ (and not even for Java). If you don't +// have a good reason to, don't define it. +// Not implemented for .so-based Unix systems. +/* #undef VRPN_USE_SHARED_LIBRARY */ + +//------------------------ +// Instructs VRPN to use GPM Linux interface mouse interface. +// WARNING: If you define this, then you must also edit the server_src +// Makefile to include "-lgpm" into the SYSLIBS definition line for the +// architecture you use this on. We had to change this because not all +// Linux releases included this library. +/* #undef VRPN_USE_GPM_MOUSE */ + +//------------------------ +// Instructs VRPN to use the Motion C API library to interface VRPN to +// the their MotionNode tracker. Requires the shared library at run-time +// to function. No external dependencies to build. +/* #undef VRPN_USE_MOTIONNODE */ + +//------------------------ +// Instructs VRPN to compile code for the Nintendo Wii Remote controller, +// getting access to it through the Wiiuse library in Windows and Linux. +// Note that this requires installing a bunch of other stuff, and that some +// bluetooth stacks cause people trouble. See the README file in the WiiUse +// library for more info. Also note that the +// WiiUse library is GPL, which is more restrictive than the VRPN public- +// domain license, so check out its license file before building this driver +// into your code. The original WiiUse library was abandoned and a new +// fork by Ryan Pavlik is available at https://github.com/rpavlik/wiiuse. +// To get the WiiUse library to compile on Visual Studio 2005 (apparently +// not for VS 2008), you need to add the include path +// to the driver developer kit (C:\WINDDK\3790.1830\inc\wxp) and the +// library path to hid.lib (C:\WINDDK\3790.1830\lib\wxp\i386) to the +// include and library directories in Visual Studio. +// Also, edit the configuration below to point to the WiiUse include +// file and library. +// Note that the wiiuse.dll needs to be in the path when running a server +// that uses WiiUse in Windows. +/* #undef VRPN_USE_WIIUSE */ + +// Instructs VRPN to compile code to handle Hillcrest Labs' Freespace +// devices such as the Loop, and FRCM. You will also need the libfreespace +// library which is available at +// http://libfreespace.hillcrestlabs.com/content/download. +// There are prebuilt binaries for Windows, and source available that should +// work on Windows, Linux or OS X. You will need to make sure the header files +// and library are accessible to the compiler. libfreespace is released under +// the LGPL and we (Hillcrest Labs) view static and dynamic linking as the same. +// We (Hillcrest Labs) do not require code linked to libfreespace (statically or +// dynamically) to be released under any particular license. +/* #undef VRPN_USE_FREESPACE */ + +//------------------------ +// Instructs VRPN to include code for the Novint Falcon haptic device. +// Access is provided through the libnifalcon library library on Windows, +// MacOSX and Linux. This may require additional libraries for programming +// USB devices. Please consult the corresponding homepages. +/* #undef VRPN_USE_LIBNIFALCON */ + +//------------------------ +// (OBSOLETE) Instructs VRPN to compile code to use Trivisio's Colibri inertial +// tracker. You will also need the SDK, which is available at +// http://www.trivisio.com/products/motiontracking/colibri#download +// (tested on Windows). VRPN_TRIVISIOCOLIBRI_H and +// VRPN_TRIVISIOCOLIBRI_LIB_PATH +// below point to the default installation locations on Windows. Edit them +// if installed elsewhere. Note that Trivisio.dll and pthreadVC2.dll need to be +// in +// the path when running the server on Windows +/* #undef VRPN_USE_TRIVISIOCOLIBRI */ + +//------------------------ +// Compiles the VRPN library with the Trivisio Colibri tracker using the +// ColibriAPI on Linux and Windows. +// +// In Linux: +// The header files (colibri_api.h, etc) and library (colibri-api) +// should be placed in the /vrpn/trivisio directory. +// libcolibri-api.so will need to be present in the default library path +// such as /usr/lib +// +// In Windows: +// The header files (colibri_api.h, etc) should be placed in the +// in the \vrpn\trivisio directory. +// colibri-api.lib will need to be located there as well. +// colibri-api.dll will need to be in the path or with the executable +// at run time. +/* #undef VRPN_USE_COLIBRIAPI */ + +//------------------------ +// Instructs VRPN to attempt to use HID. If you don't have libusb installed +// on Linux, you'll want to turn this off so that it doesn't fail to compile. +// This should work fine on Windows and Mac. +/* #undef VRPN_USE_HID */ + +//------------------------ +// Instructs VRPN to link in the source code to a local version of +// hidapi to access HID devices. The source code for this project +// is included as a git submodule under submodule/hidapi. To pull +// this down if it is not present, use the commands: +// 'git submodule init; git submodule update' from the vrpn directory. +// If you have a system hidapi and you prefer to use it, then do not +// define this here. Otherwise, define it so that VRPN will be able +// to access HID devices. +// Note that on Linux you will also need to have the libusb package +// installed in order to compile HIDAPI. You'll also need to uncomment +// the Makefile line in server_src that links with usb. +/* #undef VRPN_USE_LOCAL_HIDAPI */ + +//------------------------ +// Instructs VRPN to attempt to use LibUSB-1.0. This will compile and +// link servers that use USB directly (as opposed to those that use it +// through the HID interface). +// See http://libusb.sourceforge.net for more on LibUSB-1.0. +// Note that on Linux you will also need to have the libusb-1.0-0-dev +// package installed so that we can compile the code. You +// will also need to uncommment the SYSLIBS line for HID in the +// server_src/Makefile for this to link. +// Note that to compile on Windows you will need to have downloaded and +// installed +// the libusb.h file and libusb-1.0.lib files; the default location for +// the library is C:Program Files\libusb-1.0 and for the include file +// is in C:Program Files\libusb-1.0\libusb. To open a device on Windows, you +// will need to have installed a driver that lets LibUSB open the +// device. Generic HID devices and devices that use a WinUSB driver +// should work without adding a driver. If you need to add a driver, +// consider using the libUSB Zadig.exe program; do not do this for a +// HID device or a device that has another driver, as it can prevent the +// device from operating except through LibUSB. +// Note that on Linux you will also need to have the libusb-1.0-0-dev +// package installed so that we can compile the code. +/* #undef VRPN_USE_LIBUSB_1_0 */ + +// Instructs VRPN to compile code to handle JSON network messages. +// This requires jsoncpp. +// JSON Network (UDP) mesages are used by the vrpn widgets for Android, +/* #undef VRPN_USE_JSONNET */ + +//------------------------ +// Instructs VRPN to compile code to use the Arrington Research +// ViewPoint EyeTracker. You will also need to set VRPN_VIEWPOINT_H +// and VRPN_VIEWPOINT_LIB_PATH below to point to the correct location +// on your system. Note that the VRPN server and ViewPoint calibration +// software must use the same copy of the VPX_InterApp.dll +/* #undef VRPN_USE_VIEWPOINT */ +#define VRPN_VIEWPOINT_H "vpx.h" +/* #undef VRPN_VIEWPOINT_LIB_PATH */ + +//------------------------ +// Use DevInput devices. +/* #undef VRPN_USE_DEV_INPUT */ + +//------------------------- +// Use Linux kernel joystick support: +// note that using this kernel header +// makes the GPL apply to the server! +/* #undef VRPN_USE_JOYLIN */ + +//------------------------ +// Instructs VRPN to compile code to use the Polhemus Developer +// (PDI) library to enable opening several of their trackers using +// this interface (the G4 was the original one this was written +// for, but new versions are available for the Fastrak and Liberty). +/* #undef VRPN_USE_PDI */ + +//------------------------------------------------------------------// +// SYSTEM CONFIGURATION SECTION // +// EDIT THESE DEFINITIONS TO POINT TO OPTIONAL LIBRARIES. THEY ARE // +// USED BELOW TO LOCATE LIBRARIES AND INCLUDE FILES. // +//------------------------------------------------------------------// + +#define VRPN_SYSTEMDRIVE "C:" + +#define VRPN_PHASESPACE_LIB_PATH "../../phasespace/" + +#define VRPN_WIIUSE_H "wiiuse.h" + +#define VRPN_TRIVISIOCOLIBRI_H \ + "C:/Program Files/Trivisio/Colibri/include/TrivisioColibri.h" +#define VRPN_TRIVISIOCOLIBRI_LIB_PATH "C:/Program Files/Trivisio/Colibri/lib/" +#define VRPN_GHOST_31_PATH \ + VRPN_SYSTEMDRIVE "/Program Files/SensAble/GHOST/v3.1/lib/" +#define VRPN_GHOST_40_PATH \ + VRPN_SYSTEMDRIVE "/Program Files/SensAble/GHOST/v4.0/lib/" + +#define VRPN_NIDAQ_PATH \ + VRPN_SYSTEMDRIVE "/Program Files/National Instruments/NI-DAQ/Lib/" +#define VRPN_USDIGITAL_PATH VRPN_SYSTEMDRIVE "/Program Files/SEI Explorer/" + +//---------------------------------------------------------------// +// DO NOT EDIT BELOW THIS LINE FOR NORMAL CONFIGURATION SETTING. // +//---------------------------------------------------------------// + +// Use this macro in a file if it might be empty (compiling out completely) +// to squash Visual Studio warning LNK4221. +// Inspiration from +// http://stackoverflow.com/questions/1822887/what-is-the-best-way-to-eliminate-ms-visual-c-linker-warning-warning-lnk422 +#ifdef _MSC_VER +#define VRPN_SUPPRESS_EMPTY_OBJECT_WARNING() \ + namespace { \ + char vrpn_SuppressEmptyObjectDummy##__LINE__; \ + } +#else +#define VRPN_SUPPRESS_EMPTY_OBJECT_WARNING() +#endif + +// autolinking pragma only works/makes sense with MSVC +#ifdef _MSC_VER // [ + +// Load National Instruments libraries if we are using them. +// If this doesn't match where you have installed these libraries, +// edit the following lines to point at the correct libraries. Do +// this here rather than in the project settings so that it can be +// turned on and off using the definition above. +// NOTE: The paths to these libraries are set in the Settings/Link tab of +// the various project files. The paths to the include files are in the +// Settings/C++/preprocessor tab. +#ifdef VRPN_USE_NATIONAL_INSTRUMENTS +#pragma comment(lib, VRPN_NIDAQ_PATH "nidaq32.lib") +#pragma comment(lib, VRPN_NIDAQ_PATH "nidex32.lib") +#endif + +// Load US Digital libraries if we are using them. +// If this doesn't match where you have installed these libraries, +// edit the following lines to point at the correct libraries. Do +// this here rather than in the project settings so that it can be +// turned on and off using the definition above. +// NOTE: The paths to these libraries are set in the Settings/Link tab of +// the various project files. The paths to the include files are in the +// Settings/C++/preprocessor tab. +#ifdef VRPN_USE_USDIGITAL +#pragma comment(lib, VRPN_USDIGITAL_PATH "SEIDrv32.lib") +#endif + +// Load Microscribe-3D SDK libraries +// If this doesn't match where you have installed these libraries, +// edit the following lines to point at the correct libraries. Do +// this here rather than in the project settings so that it can be +// turned on and off using the definition above. +#ifdef VRPN_USE_MICROSCRIBE +#pragma comment(lib, "armdll32.lib") +#endif + +// Load Trivisio Colibri library +#ifdef VRPN_USE_TRIVISIOCOLIBRI +#pragma comment(lib, VRPN_TRIVISIOCOLIBRI_LIB_PATH "Trivisio.lib") +#endif + +#endif // ] _MSC_VER + +// This will be defined in the VRPN (non-DLL) project and nothing else +// Overrides USE_SHARED_LIBRARY to get rid of "inconsistent DLL linkage" +// warnings. +#ifdef VRPNDLL_NOEXPORTS +#undef VRPN_USE_SHARED_LIBRARY +#endif + +// This will be defined in the VRPN (DLL) project and nothing else +// Forces "USE_SHARED_LIBRARY independent of definition above so that the +// DLL will build +#if defined(VRPNDLL_EXPORTS) && !defined(VRPN_USE_SHARED_LIBRARY) +#define VRPN_USE_SHARED_LIBRARY +#endif + +// For client code, make sure we add the proper library dependency to the linker +#ifdef _WIN32 // [ +#ifdef _MSC_VER // [ +#ifdef VRPN_USE_WINSOCK2 +#pragma comment(lib, "ws2_32.lib") // VRPN requires the Windows Sockets library. +#else +#pragma comment(lib, \ + "wsock32.lib") // VRPN requires the Windows Sockets library. +#endif +#endif // ] _MSC_VER +#ifdef VRPN_USE_SHARED_LIBRARY +#ifdef VRPNDLL_EXPORTS +#define VRPN_API __declspec(dllexport) +#else +#define VRPN_API __declspec(dllimport) +#endif +#else +#define VRPN_API +#endif +#define VRPN_CALLBACK __stdcall +#else // ] WIN32 [ +// In the future, other architectures may need their own sections +#define VRPN_API +#define VRPN_CALLBACK +#endif // ] not WIN32 + +#define VRPN_CONFIGURE_H +#endif diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_Connection.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_Connection.h new file mode 100644 index 0000000..e97e2c1 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_Connection.h @@ -0,0 +1,1185 @@ +#ifndef VRPN_CONNECTION_H +#define VRPN_CONNECTION_H + +#include <stdio.h> // for NULL, sprintf + +#include "vrpn_Configure.h" // for VRPN_API, VRPN_CALLBACK, etc +#include "vrpn_Shared.h" // for SOCKET, timeval +#include "vrpn_Types.h" // for vrpn_int32, vrpn_uint32, etc +#include "vrpn_EndpointContainer.h" + +#if !(defined(_WIN32) && defined(VRPN_USE_WINSOCK_SOCKETS)) +#include <sys/select.h> // for fd_set +#endif + +struct timeval; + +// Don't complain about using sprintf() when using Visual Studio. +#ifdef _MSC_VER +#pragma warning(disable : 4995 4996) +#endif + +/// This is the list of states that a connection can be in +/// (possible values for status). doing_okay() returns VRPN_TRUE +/// for connections > BROKEN. +enum vrpn_ConnectionStatus { + LISTEN = (1), + CONNECTED = (0), + COOKIE_PENDING = (-1), + TRYING_TO_CONNECT = (-2), + BROKEN = (-3), + LOGGING = (-4) +}; + +class VRPN_API + vrpn_File_Connection; // Forward declaration for get_File_Connection() + +/// @brief This structure is what is passed to a vrpn_Connection message +/// callback. +/// +/// It is used by objects, but not normally by user code. +struct vrpn_HANDLERPARAM { + vrpn_int32 type; + vrpn_int32 sender; + struct timeval msg_time; + vrpn_int32 payload_len; + const char *buffer; +}; + +/// @brief Type of a message handler for vrpn_Connection messages. +typedef int(VRPN_CALLBACK *vrpn_MESSAGEHANDLER)(void *userdata, + vrpn_HANDLERPARAM p); + +/// @brief Type of handler for filters on logfiles is the same as connection +/// handler +typedef vrpn_MESSAGEHANDLER vrpn_LOGFILTER; + +/// VRPN buffers are aligned on 8 byte boundaries so that we can pack and +/// unpack doubles into them on architectures that cannot handle unaligned +/// access. +const unsigned vrpn_ALIGN = 8; + +/// Types now have their storage dynamically allocated, so we can afford +/// to have large tables. We need at least 150-200 for the microscope +/// project as of Jan 98, and will eventually need two to three times that +/// number. +/// @{ +const int vrpn_CONNECTION_MAX_SENDERS = 2000; +const int vrpn_CONNECTION_MAX_TYPES = 2000; +/// @} + +/// @brief vrpn_ANY_SENDER can be used to register callbacks on a given message +/// type from any sender. + +const int vrpn_ANY_SENDER = -1; + +/// @brief vrpn_ANY_TYPE can be used to register callbacks for any USER type of +/// message from a given sender. System messages are handled separately. + +const int vrpn_ANY_TYPE = -1; + +/// @name Buffer lengths for TCP and UDP. +/// +/// TCP is an arbitrary number that can be changed by the user +/// using vrpn_Connection::set_tcp_outbuf_size(). +/// UDP is set based on Ethernet maximum transmission size; trying +/// to send a message via UDP which is longer than the MTU of any +/// intervening physical network may cause untraceable failures, +/// so for now we do not expose any way to change the UDP output +/// buffer size. (MTU = 1500 bytes, - 28 bytes of IP+UDP header) +/// @{ + +const int vrpn_CONNECTION_TCP_BUFLEN = 64000; +const int vrpn_CONNECTION_UDP_BUFLEN = 1472; +/// @} + +/// @brief Number of endpoints that a server connection can have. Arbitrary +/// limit. + +const int vrpn_MAX_ENDPOINTS = 256; + +/// @name System message types +/// @{ +const vrpn_int32 vrpn_CONNECTION_SENDER_DESCRIPTION = (-1); +const vrpn_int32 vrpn_CONNECTION_TYPE_DESCRIPTION = (-2); +const vrpn_int32 vrpn_CONNECTION_UDP_DESCRIPTION = (-3); +const vrpn_int32 vrpn_CONNECTION_LOG_DESCRIPTION = (-4); +const vrpn_int32 vrpn_CONNECTION_DISCONNECT_MESSAGE = (-5); +/// @} + +/// Classes of service for messages, specify multiple by ORing them together +/// Priority of satisfying these should go from the top down (RELIABLE will +/// override all others). +/// Most of these flags may be ignored, but RELIABLE is guaranteed +/// to be available. +/// @{ + +const vrpn_uint32 vrpn_CONNECTION_RELIABLE = (1 << 0); +const vrpn_uint32 vrpn_CONNECTION_FIXED_LATENCY = (1 << 1); +const vrpn_uint32 vrpn_CONNECTION_LOW_LATENCY = (1 << 2); +const vrpn_uint32 vrpn_CONNECTION_FIXED_THROUGHPUT = (1 << 3); +const vrpn_uint32 vrpn_CONNECTION_HIGH_THROUGHPUT = (1 << 4); + +/// @} + +/// @name What to log +/// @{ +const long vrpn_LOG_NONE = (0); +const long vrpn_LOG_INCOMING = (1 << 0); +const long vrpn_LOG_OUTGOING = (1 << 1); +/// @} + +// If defined, will filter out messages: if the remote side hasn't +// registered a type, messages of that type won't be sent over the +// link. WARNING: auto-type-registration breaks this. +//#define vrpn_FILTER_MESSAGES + +/// These are the strings that define the system-generated message +/// types that tell when connections are received and dropped. +/// @{ +extern VRPN_API const char *vrpn_got_first_connection; +extern VRPN_API const char *vrpn_got_connection; +extern VRPN_API const char *vrpn_dropped_connection; +extern VRPN_API const char *vrpn_dropped_last_connection; +/// @} + +/// @brief vrpn_CONTROL is the sender used for notification messages sent to the +/// user +/// from the local VRPN implementation (got_first_connection, etc.) +/// and for control messages sent by auxiliary services. (Such as +/// class vrpn_Controller, which will be introduced in a future revision.) + +extern VRPN_API const char *vrpn_CONTROL; + +/// @brief Length of names within VRPN +typedef char cName[100]; + +/// Placed here so vrpn_FileConnection can use it too. +struct VRPN_API vrpn_LOGLIST { + vrpn_HANDLERPARAM data; + vrpn_LOGLIST *next; + vrpn_LOGLIST *prev; +}; + +class VRPN_API vrpn_Endpoint_IP; +class VRPN_API vrpn_Connection; + +/// @brief Function pointer to an endpoint allocator. +typedef vrpn_Endpoint_IP *(*vrpn_EndpointAllocator)( + vrpn_Connection *connection, vrpn_int32 *numActiveConnections); + +namespace vrpn { + + /// @brief Combines the function pointer for an Endpoint Allocator with its + /// two arguments into a single callable object, with the ability to + /// override the last parameter at call time. + class BoundEndpointAllocator { + public: + BoundEndpointAllocator() + : epa_(NULL) + , conn_(NULL) + , numActiveEndpoints_(NULL) + { + } + BoundEndpointAllocator(vrpn_EndpointAllocator epa, + vrpn_Connection *conn, + vrpn_int32 *numActiveEndpoints = NULL) + : epa_(epa) + , conn_(conn) + , numActiveEndpoints_(numActiveEndpoints) + { + } + + typedef vrpn_Endpoint_IP *return_type; + + /// @brief Default, fully pre-bound + return_type operator()() const + { + if (!epa_) { + return NULL; + } + return (*epa_)(conn_, numActiveEndpoints_); + } + + /// @brief Overload, with alternate num active connnection pointer. + return_type operator()(vrpn_int32 *alternateNumActiveEndpoints) const + { + if (!epa_) { + return NULL; + } + return (*epa_)(conn_, alternateNumActiveEndpoints); + } + + private: + vrpn_EndpointAllocator epa_; + vrpn_Connection *conn_; + vrpn_int32 *numActiveEndpoints_; + }; +} // namespace vrpn +/// @todo HACK +/// These structs must be declared outside of vrpn_Connection +/// (although we'd like to make them protected/private members) +/// because aCC on PixelFlow doesn't handle nested classes correctly. +/// @{ + +/// @brief Description of a callback entry for a user type. +struct vrpnMsgCallbackEntry { + vrpn_MESSAGEHANDLER handler; ///< Routine to call + void *userdata; ///< Passed along + vrpn_int32 sender; ///< Only if from sender + vrpnMsgCallbackEntry *next; ///< Next handler +}; + +struct vrpnLogFilterEntry { + vrpn_LOGFILTER filter; ///< routine to call + void *userdata; ///< passed along + vrpnLogFilterEntry *next; +}; +/// @} + +class VRPN_API vrpn_Connection; +class VRPN_API vrpn_Log; +class VRPN_API vrpn_TranslationTable; +class VRPN_API vrpn_TypeDispatcher; + +/// @brief Encapsulation of the data and methods for a single generic connection +/// to take care of one part of many clients talking to a single server. +/// +/// This will only be used from within the vrpn_Connection class; it should +/// not be instantiated by users or devices. +/// Should not be visible! + +class VRPN_API vrpn_Endpoint { + +public: + vrpn_Endpoint(vrpn_TypeDispatcher *dispatcher, + vrpn_int32 *connectedEndpointCounter); + virtual ~vrpn_Endpoint(void); + + /// @name Accessors + /// @{ + + /// Returns the local mapping for the remote type (-1 if none). + int local_type_id(vrpn_int32 remote_type) const; + + /// Returns the local mapping for the remote sender (-1 if none). + int local_sender_id(vrpn_int32 remote_sender) const; + + virtual vrpn_bool doing_okay(void) const = 0; + /// @} + + /// @name Manipulators + /// @{ + + void init(void); + + virtual int mainloop(timeval *timeout) = 0; + + /// Clear out the remote mapping list. This is done when a + /// connection is dropped and we want to try and re-establish + /// it. + void clear_other_senders_and_types(void); + + /// A new local sender or type has been established; set + /// the local type for it if the other side has declared it. + /// Return 1 if the other side has one, 0 if not. + int newLocalSender(const char *name, vrpn_int32 which); + int newLocalType(const char *name, vrpn_int32 which); + + /// Adds a new remote type/sender and returns its index. + /// Returns -1 on error. + /// @{ + int newRemoteType(cName type_name, vrpn_int32 remote_id, + vrpn_int32 local_id); + int newRemoteSender(cName sender_name, vrpn_int32 remote_id, + vrpn_int32 local_id); + /// @} + + /// Pack a message that will be sent the next time mainloop() is called. + /// Turn off the RELIABLE flag if you want low-latency (UDP) send. + virtual int pack_message(vrpn_uint32 len, struct timeval time, + vrpn_int32 type, vrpn_int32 sender, + const char *buffer, + vrpn_uint32 class_of_service) = 0; + + /// send pending report, clear the buffer. + /// This function was protected, now is public, so we can use it + /// to send out intermediate results without calling mainloop + virtual int send_pending_reports(void) = 0; + + int pack_log_description(void); + ///< Packs the log description set by setup_new_connection(). + + virtual int setup_new_connection(void) = 0; + ///< Sends the magic cookie and other information to its + ///< peer. It is called by both the client and server setup routines. + + virtual void poll_for_cookie(const timeval *timeout = NULL) = 0; + virtual int finish_new_connection_setup(void) = 0; + + virtual void drop_connection(void) = 0; + ///< Should only be called by vrpn_Connection::drop_connection(), + ///< since there's more housecleaning to do at that level. I suppose + ///< that argues against separating this function out. + + virtual void clearBuffers(void) = 0; + ///< Empties out the TCP and UDP send buffers. + ///< Needed by vrpn_FileConnection to get at {udp,tcp}NumOut. + + int pack_sender_description(vrpn_int32 which); + ///< Packs a sender description over our socket. + + int pack_type_description(vrpn_int32 which); + ///< Packs a type description. + + /// @} + int status; + + /// @todo XXX These should be protected; making them so will lead to making + /// the code split the functions between Endpoint and Connection + /// protected: + + long d_remoteLogMode; ///< Mode to put the remote logging in + char *d_remoteInLogName; ///< Name of the remote log file + char *d_remoteOutLogName; ///< Name of the remote log file + + ///< Name of the remote host we are connected to. This is kept for + ///< informational purposes. It is printed by the ceiling server, + ///< for example. + char rhostname[150]; + + /// @name Logging + /// + /// TCH 19 April 00; changed into two logs 16 Feb 01 + /// @{ + + vrpn_Log *d_inLog; + vrpn_Log *d_outLog; + + void setLogNames(const char *inName, const char *outName); + int openLogs(void); + /// @} + + /// @name Routines that handle system messages + /// + /// Visible so that vrpn_Connection can pass them to the Dispatcher + /// @{ + static int VRPN_CALLBACK + handle_sender_message(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_type_message(void *userdata, vrpn_HANDLERPARAM p); + /// @} + + /// @name Routines to inform the endpoint of the connection of + /// which it is a part. + /// @{ + void setConnection(vrpn_Connection *conn) { d_parent = conn; } + vrpn_Connection *getConnection() { return d_parent; } + /// @} + +protected: + virtual int dispatch(vrpn_int32 type, vrpn_int32 sender, timeval time, + vrpn_uint32 payload_len, char *bufptr); + + int tryToMarshall(char *outbuf, vrpn_int32 &buflen, vrpn_int32 &numOut, + vrpn_uint32 len, timeval time, vrpn_int32 type, + vrpn_int32 sender, const char *buffer, + vrpn_uint32 classOfService); + ///< Calls marshall_message(); if that fails, calls + ///< send_pending_reports() and then marshalls again. + ///< Returns the number of characters successfully marshalled. + + int marshall_message(char *outbuf, vrpn_uint32 outbuf_size, + vrpn_uint32 initial_out, vrpn_uint32 len, + struct timeval time, vrpn_int32 type, + vrpn_int32 sender, const char *buffer, + vrpn_uint32 sequenceNumber); + + // The senders and types we know about that have been described by + // the other end of the connection. Also, record the local mapping + // for ones that have been described with the same name locally. + // The arrays are indexed by the ID from the other side, and store + // the name and local ID that corresponds to each. + + vrpn_TranslationTable *d_senders; + vrpn_TranslationTable *d_types; + + vrpn_TypeDispatcher *d_dispatcher; + vrpn_int32 *d_connectionCounter; + + vrpn_Connection *d_parent; +}; + +/// @brief Encapsulation of the data and methods for a single IP-based +/// connection +/// to take care of one part of many clients talking to a single server. +/// +/// This will only be used from within the vrpn_Connection_IP class; it should +/// not be instantiated by users or devices. +/// Should not be visible! + +class VRPN_API vrpn_Endpoint_IP : public vrpn_Endpoint { + +public: + vrpn_Endpoint_IP(vrpn_TypeDispatcher *dispatcher, + vrpn_int32 *connectedEndpointCounter); + virtual ~vrpn_Endpoint_IP(void); + + /// @name Accessors + /// @{ + virtual vrpn_bool doing_okay(void) const; + + /// True if the UDP outbound is open, False if not. + vrpn_bool outbound_udp_open(void) const; + + vrpn_int32 tcp_outbuf_size(void) const; + vrpn_int32 udp_outbuf_size(void) const; + /// @} + + /// @name Manipulators + /// @{ + + void init(void); + + int mainloop(timeval *timeout); + + /// @brief Pack a message that will be sent the next time mainloop() is + /// called. + /// + /// Turn off the RELIABLE flag if you want low-latency (UDP) send. + int pack_message(vrpn_uint32 len, struct timeval time, vrpn_int32 type, + vrpn_int32 sender, const char *buffer, + vrpn_uint32 class_of_service); + + /// @brief send pending report, clear the buffer. + /// + /// This function was protected, now is public, so we can use it + /// to send out intermediate results without calling mainloop + virtual int send_pending_reports(void); + + int pack_udp_description(int portno); + + int handle_tcp_messages(const timeval *timeout); + int handle_udp_messages(const timeval *timeout); + + int connect_tcp_to(const char *msg); + int connect_tcp_to(const char *addr, int port); + ///< Connects d_tcpSocket to the specified address (msg = "IP port"); + ///< sets status to COOKIE_PENDING; returns 0 on success, -1 on failure + int connect_udp_to(const char *addr, int port); + ///< Connects d_udpSocket to the specified address and port; + ///< returns 0 on success, sets status to BROKEN and returns -1 + ///< on failure. + + vrpn_int32 set_tcp_outbuf_size(vrpn_int32 bytecount); + + int setup_new_connection(void); + ///< Sends the magic cookie and other information to its + ///< peer. It is called by both the client and server setup routines. + + void poll_for_cookie(const timeval *timeout = NULL); + int finish_new_connection_setup(void); + + void drop_connection(void); + ///< Should only be called by vrpn_Connection::drop_connection(), + ///< since there's more housecleaning to do at that level. I suppose + ///< that argues against separating this function out. + + void clearBuffers(void); + ///< Empties out the TCP and UDP send buffers. + ///< Needed by vrpn_FileConnection to get at {udp,tcp}NumOut. + + void setNICaddress(const char *); + + /// @todo XXX These should be protected; making them so will lead to making + /// the code split the functions between Endpoint and Connection + /// protected: + + SOCKET d_tcpSocket; + + /// This section deals with when a client connection is trying to + /// establish (or re-establish) a connection with its server. It + /// keeps track of what we need to know to make this happen. + + SOCKET d_tcpListenSocket; + int d_tcpListenPort; + ///< Socket and port that the client listens on + ///< when lobbing datagrams at the server and + ///< waiting for it to call back. + + /// Socket to use to lob UDP requests asking for the server to + /// call us back. + SOCKET d_udpLobSocket; + + char *d_remote_machine_name; ///< Machine to call + int d_remote_port_number; ///< Port to connect to on remote machine + timeval d_last_connect_attempt; ///< When the last UDP lob occurred + + vrpn_bool d_tcp_only; + ///< For connections made through firewalls or NAT with the + ///< tcp: URL, we do not want to allow the endpoints on either + ///< end to open a UDP link to their counterparts. If this is + ///< the case, then this flag should be set to true. + +protected: + int getOneTCPMessage(int fd, char *buf, size_t buflen); + int getOneUDPMessage(char *buf, size_t buflen); + + SOCKET d_udpOutboundSocket; + SOCKET d_udpInboundSocket; + ///< Inbound unreliable messages come here. + ///< Need one for each due to different + ///< clock synchronization for each; we + ///< need to know which server each message is from. + ///< @todo XXX Now that we don't need multiple clocks, can we collapse this? + + char *d_tcpOutbuf; + char *d_udpOutbuf; + vrpn_int32 d_tcpBuflen; + vrpn_int32 d_udpBuflen; + vrpn_int32 d_tcpNumOut; + vrpn_int32 d_udpNumOut; + + vrpn_int32 d_tcpSequenceNumber; + vrpn_int32 d_udpSequenceNumber; + + vrpn_float64 + d_tcpAlignedInbuf[vrpn_CONNECTION_TCP_BUFLEN / sizeof(vrpn_float64) + + 1]; + vrpn_float64 + d_udpAlignedInbuf[vrpn_CONNECTION_UDP_BUFLEN / sizeof(vrpn_float64) + + 1]; + char *d_tcpInbuf; + char *d_udpInbuf; + + char *d_NICaddress; +}; + +/// @brief Generic connection class not specific to the transport mechanism. +/// +/// It abstracts all of the common functions. Specific implementations +/// for IP, MPI, and other transport mechanisms follow. +class VRPN_API vrpn_Connection { + +protected: + /// Constructor for server connection. This cannot be called + /// directly any more because vrpn_Connection is an abstract base + /// class. Call vrpn_create_server_connection() to make a server + /// of arbitrary type based on a name. + vrpn_Connection(const char *local_in_logfile_name, + const char *local_out_logfile_name, + vrpn_EndpointAllocator epa = allocateEndpoint); + + /// Constructor for client connection. This cannot be called + /// directly because vrpn_Connection is an abstract base class. + /// Call vrpn_get_connection_by_name() to create a client connection. + vrpn_Connection(const char *local_in_logfile_name, + const char *local_out_logfile_name, + const char *remote_in_logfile_name, + const char *remote_out_logfile_name, + vrpn_EndpointAllocator epa = allocateEndpoint); + +public: + virtual ~vrpn_Connection(void); + + /// Returns vrpn_true if the connection is okay, vrpn_false if not + virtual vrpn_bool doing_okay(void) const; + + /// Returns vrpn_true if the connection has been established, vrpn_false if + /// not + /// (For a networkless connection, this is equivalent to doing_okay()). + virtual vrpn_bool connected(void) const; + + /// This function returns the logfile names of this connection in + /// the parameters. It will allocate memory for the name of each + /// log file in use. If no logging of a particular type is happening, + /// then *(X_Y_logname) will be set to NULL. + /// IMPORTANT: code calling this function is responsible for freeing + /// the memory allocated for these strings. + void get_log_names(char **local_in_logname, char **local_out_logname, + char **remote_in_logname, char **remote_out_logname); + + /// Call each time through program main loop to handle receiving any + /// incoming messages and sending any packed messages. + /// Returns -1 when connection dropped due to error, 0 otherwise. + /// (only returns -1 once per connection drop). + /// Optional argument is TOTAL time to block on select() calls; + /// there may be multiple calls to select() per call to mainloop(), + /// and this timeout will be divided evenly between them. + virtual int mainloop(const struct timeval *timeout = NULL) = 0; + + /// Get a token to use for the string name of the sender or type. + /// Remember to check for -1 meaning failure. + virtual vrpn_int32 register_sender(const char *name); + virtual vrpn_int32 register_message_type(const char *name); + + /// Set up (or remove) a handler for a message of a given type. + /// Optionally, specify which sender to handle messages from. + /// Handlers will be called during mainloop(). + /// Your handler should return 0 or a communication error is assumed + /// and the connection will be shut down. + virtual int register_handler(vrpn_int32 type, vrpn_MESSAGEHANDLER handler, + void *userdata, + vrpn_int32 sender = vrpn_ANY_SENDER); + virtual int unregister_handler(vrpn_int32 type, vrpn_MESSAGEHANDLER handler, + void *userdata, + vrpn_int32 sender = vrpn_ANY_SENDER); + + /// Pack a message that will be sent the next time mainloop() is called. + /// Turn off the RELIABLE flag if you want low-latency (UDP) send. + virtual int pack_message(vrpn_uint32 len, struct timeval time, + vrpn_int32 type, vrpn_int32 sender, + const char *buffer, vrpn_uint32 class_of_service); + + /// send pending report, clear the buffer. + /// This function was protected, now is public, so we can use it + /// to send out intermediate results without calling mainloop + virtual int send_pending_reports(void) = 0; + + /// Returns the time since the connection opened. + /// Some subclasses may redefine time. + virtual int time_since_connection_open(struct timeval *elapsed_time); + + /// returns the current time in the connection (since the epoch -- UTC + /// time). + virtual timeval get_time(); + + /// Returns the name of the specified sender/type, or NULL + /// if the parameter is invalid. Only works for user + /// messages (type >= 0). + virtual const char *sender_name(vrpn_int32 sender); + virtual const char *message_type_name(vrpn_int32 type); + + /// @brief Sets up a filter function for logging. + /// Any user message to be logged is first passed to this function, + /// and will only be logged if the function returns zero (XXX). + /// NOTE: this only affects local logging - remote logging + /// is unfiltered! Only user messages are filtered; all system + /// messages are logged. + /// Returns nonzero on failure. + virtual int register_log_filter(vrpn_LOGFILTER filter, void *userdata); + + /// Save any messages on any endpoints which have been logged so far. + virtual int save_log_so_far(); + + /// vrpn_File_Connection implements this as "return this" so it + /// can be used to detect a File_Connection and get the pointer for it + virtual vrpn_File_Connection *get_File_Connection(void); + + /// This function should be seldom used. It is here for the case of + /// the vrpn_Imager, whose servers do not follow "The VRPN Way" because + /// they try to jam more data into the network than there is bandwidth + /// to support it. As a result, a client may call mainloop() on the + /// connection and have it never return -- there is always more data + /// in the network to read, so we never hand control back to the main + /// program. The reason for the name comes from an old U.S. cartoon + /// called "The Jetsons". In it, George Jetson is running on a + /// treadmill when it goes out of control and starts spinning so fast + /// that he can't even run fast enough to reach the controls and turn + /// it off. He cries out to his wife, "Jane! Stop this crazy thing!" + /// The parameter specifies a trigger: if more than the specified number + /// of messages come in on a given input channel during one mainloop() + /// call, the connection should stop looking for more messages. NOTE: + /// this does not guarantee that only this many messages will be received, + /// only that the connection will stop looking for new ones on a given + /// channel once that many have been received (for example, UDP channels + /// will parse all the rest of the messages in a packet before stopping). + /// A value of 0 turns off the limit, and will cause all incoming messages + /// to be handled before returning. + void Jane_stop_this_crazy_thing(vrpn_uint32 stop_looking_after) + { + d_stop_processing_messages_after = stop_looking_after; + }; + vrpn_uint32 get_Jane_value(void) + { + return d_stop_processing_messages_after; + }; + +protected: + /// If this value is greater than zero, the connection should stop + /// looking for new messages on a given endpoint after this many + /// are found. + vrpn_uint32 d_stop_processing_messages_after; + + int connectionStatus; ///< Status of the connection + + /// Redefining this and passing it to constructors + /// allows a subclass to use a different subclass of Endpoint. + /// It should do NOTHING but return an endpoint + /// of the appropriate class; it may not access subclass data, + /// since it'll be called from a constructor + static vrpn_Endpoint_IP *allocateEndpoint(vrpn_Connection *, + vrpn_int32 *connectedEC); + +#ifdef _MSC_VER +#pragma warning(push) +// Disable "need dll interface" warning on these members +#pragma warning(disable : 4251) +#endif + /// Function object wrapping an endpoint allocator and binding its + /// arguments. + vrpn::BoundEndpointAllocator d_boundEndpointAllocator; + + /// Sockets used to talk to remote Connection(s) + /// and other information needed on a per-connection basis + vrpn::EndpointContainer d_endpoints; + +#ifdef _MSC_VER +#pragma warning(pop) +#endif + vrpn_int32 d_numConnectedEndpoints; + ///< We need to track the number of connected endpoints separately + ///< to properly send out got-first-connection/dropped-last-connection + ///< messages. This value is *managed* by the Endpoints, but we + ///< need exactly one copy per Connection, so it's on the Connection. + + /// @brief Routines that handle system messages + /// @{ + static int VRPN_CALLBACK + handle_log_message(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_disconnect_message(void *userdata, vrpn_HANDLERPARAM p); + /// @} + +private: + void init(vrpn_EndpointAllocator + epa); ///< Base initialization for all constructors. +protected: + int delete_endpoint(vrpn_Endpoint *endpoint); + int compact_endpoints(void); + + virtual int pack_sender_description(vrpn_int32 which); + ///< Send the sender description to ALL endpoints. + + virtual int pack_type_description(vrpn_int32 which); + ///< Send the type description to ALL endpoints. + + virtual int do_callbacks_for(vrpn_int32 type, vrpn_int32 sender, + struct timeval time, vrpn_uint32 len, + const char *buffer); + + /// Returns message type ID, or -1 if unregistered + int message_type_is_registered(const char *) const; + + /// Timekeeping - TCH 30 June 98 + timeval start_time; + + // + /// Counting references to this connection. +public: + void addReference(); + void removeReference(); + +private: + int d_references; + + // + /// Specify whether this connection should be deleted automatically when + /// it is no longer need (reference count reaches zero). + /// For connections created by the VRPN code (as is done in + /// get_connection_by_name) these should be auto-deleted. + /// Connections created by user code should not be auto-deleted; + /// that is up to the user to decide when finished. + /// By default, the constructor sets this to FALSE. + /// VRPN code (or user code) can set this to TRUE if it wants the + /// connection to be deleted automatically when the last service on it + /// is deleted +public: + void setAutoDeleteStatus(bool setvalue) { d_autoDeleteStatus = setvalue; } + +private: + bool d_autoDeleteStatus; ///< FALSE by default. + +public: + /// Derived classes need access to d_dispatcher in their + /// allocateEndpoint() routine. Several compilers won't give it to + /// them, even if they do inherit publicly. Until we figure that + /// out, d_dispatcher needs to be public. + + vrpn_TypeDispatcher *d_dispatcher; + +protected: + int doSystemCallbacksFor(vrpn_HANDLERPARAM, void *); + + /// Server logging w. multiconnection - TCH July 00 + /// Use one "hidden" endpoint for outgoing logs (?), + /// standard per-endpoint logs with augmented names for incoming. + /// To make a hidden endpoint we create d_endpoints[0] and increment + /// the d_numEndpoints, but DON'T pass it d_numConnectedEndpoints + /// (although it should be safe to do so, since it should never truly + /// become connected, but we might have to "fake" it to get it to log + /// correctly). + + // vrpn_Endpoint * d_serverLogEndpoint; + int d_serverLogCount; + vrpn_int32 d_serverLogMode; + char *d_serverLogName; + + vrpn_bool d_updateEndpoint; + + virtual void updateEndpoints(void); + ///< This function will be called on the mainloop() iteration + ///< after *d_endpointAllocator is called, which lets subclasses + ///< do initialization. (They can't do so during allocateEndpoint + ///< because it's called during the Connection constructor when + ///< their constructors haven't executed yet.) +}; + +class VRPN_API vrpn_Connection_IP : public vrpn_Connection { + +protected: + /// Make a client connection. To access this from user code, + /// call vrpn_get_connection_by_name(). + /// Create a connection - if server_name is not a file: name, + /// makes an SDI-like connection to the named remote server + /// (otherwise functions as a non-networked messaging hub). + /// Port less than zero forces default. + /// Currently, server_name is an extended URL that defaults + /// to VRPN connections at the port, but can be file:: to read + /// from a file. Other extensions should maintain this, so + /// that VRPN uses URLs to name things that are to be connected + /// to. + vrpn_Connection_IP(const char *server_name, + int port = vrpn_DEFAULT_LISTEN_PORT_NO, + const char *local_in_logfile_name = NULL, + const char *local_out_logfile_name = NULL, + const char *remote_in_logfile_name = NULL, + const char *remote_out_logfile_name = NULL, + const char *NIC_IPaddress = NULL, + vrpn_EndpointAllocator epa = allocateEndpoint); + +public: + /// Make a server that listens for client connections. + /// DEPRECATED: Call vrpn_create_server_connection() with the + /// NIC name and port number you want. + vrpn_Connection_IP( + unsigned short listen_port_no = vrpn_DEFAULT_LISTEN_PORT_NO, + const char *local_in_logfile_name = NULL, + const char *local_out_logfile_name = NULL, + const char *NIC_IPaddress = NULL, + vrpn_Endpoint_IP *(*epa)(vrpn_Connection *, + vrpn_int32 *) = allocateEndpoint); + + virtual ~vrpn_Connection_IP(void); + + /// This is similar to check connection except that it can be + /// used to receive requests from before a server starts up + virtual int connect_to_client(const char *machine, int port); + + /// Call each time through program main loop to handle receiving any + /// incoming messages and sending any packed messages. + /// Returns -1 when connection dropped due to error, 0 otherwise. + /// (only returns -1 once per connection drop). + /// Optional argument is TOTAL time to block on select() calls; + /// there may be multiple calls to select() per call to mainloop(), + /// and this timeout will be divided evenly between them. + virtual int mainloop(const struct timeval *timeout = NULL); + +protected: + /// If this value is greater than zero, the connection should stop + /// looking for new messages on a given endpoint after this many + /// are found. + vrpn_uint32 d_stop_processing_messages_after; + +protected: + friend VRPN_API vrpn_Connection *vrpn_get_connection_by_name( + const char *cname, const char *local_in_logfile_name, + const char *local_out_logfile_name, const char *remote_in_logfile_name, + const char *remote_out_logfile_name, const char *NIC_IPaddress, + bool force_connection); + friend VRPN_API vrpn_Connection * + vrpn_create_server_connection(const char *cname, + const char *local_in_logfile_name, + const char *local_out_logfile_name); + + /// @name Only used for a vrpn_Connection that awaits incoming connections + /// @{ + SOCKET listen_udp_sock; ///< UDP Connect requests come here + SOCKET listen_tcp_sock; ///< TCP Connection requests come here + /// @} + + /// Routines that handle system messages + static int VRPN_CALLBACK + handle_UDP_message(void *userdata, vrpn_HANDLERPARAM p); + + /// @brief Called by all constructors + void init(void); + + /// @brief send pending report, clear the buffer. + /// + /// This function was protected, now is public, so we can use it + /// to send out intermediate results without calling mainloop + virtual int send_pending_reports(void); + + //// This is called by a server-side process to see if there have + //// been any UDP packets come in asking for a connection. If there + //// are, it connects the TCP port and then calls handle_connection(). + virtual void + server_check_for_incoming_connections(const struct timeval *timeout = NULL); + + /// This routine is called by a server-side connection when a + /// new connection has just been established, and the tcp port + /// has been connected to it. + virtual void handle_connection(vrpn_Endpoint *endpoint); + + /// Drops the connection with the given, non-NULL endpoint. Depending on if + /// we're a server or a client, this may result in the endpoints needing + /// compacting once you're no longer iterating on the endpoint container. + virtual void drop_connection(vrpn_Endpoint *endpoint); + + /// Like drop_connection, except it includes the call to compact the + /// endpoints. Only safe to call if you can guarantee no iterators are open + /// to the container, since compact invalidates them. + void drop_connection_and_compact(vrpn_Endpoint *endpoint); + + char *d_NIC_IP; +}; + +/// @brief Constructor for a Loopback connection that will basically just +/// pass messages between objects that are connected to it. It offers no +/// external connections, via IP or any other mechanism. It is useful +/// if you want to make the client and server in the same connection and +/// you don't need to have anything else connect. + +class VRPN_API vrpn_Connection_Loopback : public vrpn_Connection { + +protected: + /// Make a client connection. To access this from user code, + /// call vrpn_create_server_connection() with a service name + /// of 'loopback:'. + /// For now, we don't enable logging on a Loopback connection. + vrpn_Connection_Loopback(); + +public: + virtual ~vrpn_Connection_Loopback(void); + + /// Call each time through program main loop to handle receiving any + /// incoming messages and sending any packed messages. + /// Returns -1 on error, 0 otherwise. + /// Optional argument is TOTAL time to block on select() calls; + /// there may be multiple calls to select() per call to mainloop(), + /// and this timeout will be divided evenly between them. + virtual int mainloop(const struct timeval *timeout = NULL); + + /// Returns vrpn_true if the connection is okay, vrpn_false if not + virtual vrpn_bool doing_okay(void) const { return vrpn_true; } + + /// Returns vrpn_true if the connection has been established, vrpn_false if + /// not + /// (For a networkless connection, this is equivalent to doing_okay()). + virtual vrpn_bool connected(void) const { return vrpn_true; } + +protected: + friend VRPN_API vrpn_Connection * + vrpn_create_server_connection(const char *cname, + const char *local_in_logfile_name, + const char *local_out_logfile_name); + + /// @brief send pending report, clear the buffer. + /// + /// This function was protected, now is public, so we can use it + /// to send out intermediate results without calling mainloop + virtual int send_pending_reports(void) { return 0; } +}; + +/// @brief Create a client connection of arbitrary type (VRPN UDP/TCP, TCP, +/// File, Loopback, MPI). +/// +/// WARNING: May not be thread safe. +/// If no IP address for the NIC to use is specified, uses the default +/// NIC. If the force_reopen flag is set, a new connection will be +/// made even if there was already one to that server. +/// When done with the object, call removeReference() on it (which will +/// delete it if there are no other references). +VRPN_API vrpn_Connection *vrpn_get_connection_by_name( + const char *cname, const char *local_in_logfile_name = NULL, + const char *local_out_logfile_name = NULL, + const char *remote_in_logfile_name = NULL, + const char *remote_out_logfile_name = NULL, + const char *NIC_IPaddress = NULL, bool force_reopen = false); + +/// @brief Create a server connection of arbitrary type (VRPN UDP/TCP, +/// TCP, File, Loopback, MPI). +/// +/// Returns NULL if the name is not understood or the connection cannot +/// be created. +/// WARNING: May not be thread safe. +/// To create a VRPN TCP/UDP server, use a name like: +/// vrpn:machine_name_or_ip:port +/// machine_name_or_ip:port +/// machine_name_or_ip +/// :port (This port on any network card.) +/// To create an MPI server, use a name like: +/// mpi:MPI_COMM_WORLD +/// mpi:comm_number +/// When done with the object, call removeReference() on it (which will +/// delete it if there are no other references). +VRPN_API vrpn_Connection * +vrpn_create_server_connection(const char *cname, + const char *local_in_logfile_name = NULL, + const char *local_out_logfile_name = NULL); + +/// Lets you make one with the default settings, or just ask for a specific +/// port number on the default NIC on this machine. This matches the +/// signature on the old constructor to make it easier to port existing +/// servers. +inline VRPN_API vrpn_Connection * +vrpn_create_server_connection(int port = vrpn_DEFAULT_LISTEN_PORT_NO, + const char *local_in_logfile_name = NULL, + const char *local_out_logfile_name = NULL, + const char *NIC_NAME = NULL) +{ + char name[256]; + if (NIC_NAME == NULL) { + sprintf(name, ":%d", port); + } + else { + sprintf(name, "%s:%d", NIC_NAME, port); + } + return vrpn_create_server_connection(name, local_in_logfile_name, + local_out_logfile_name); +} + +/// @name Utility routines to parse names (<service>@<location specifier>) +/// Both return new char [], and it is the caller's responsibility +/// to delete this memory! +/// @{ +VRPN_API char *vrpn_copy_service_name(const char *fullname); +VRPN_API char *vrpn_copy_service_location(const char *fullname); +/// @} + +/// @brief Utility routines to parse file specifiers FROM service locations +/// +/// file:<filename> +/// +/// file://<hostname>/<filename> +/// +/// file:///<filename> +VRPN_API char *vrpn_copy_file_name(const char *filespecifier); + +/// @name Utility routines to parse host specifiers FROM service locations +/// +/// <hostname> +/// +/// <hostname>:<port number> +/// +/// x-vrpn://<hostname> +/// +/// x-vrpn://<hostname>:<port number> +/// +/// x-vrsh://<hostname>/<server program>,<comma-separated server arguments> +/// +/// The caller is responsible for calling delete [] on the returned character +/// pointer if it is not NULL. +/// @{ +VRPN_API char *vrpn_copy_machine_name(const char *hostspecifier); +VRPN_API int vrpn_get_port_number(const char *hostspecifier); +VRPN_API char *vrpn_copy_rsh_program(const char *hostspecifier); +VRPN_API char *vrpn_copy_rsh_arguments(const char *hostspecifier); +/// @} + +/// @brief Utility routine to rename the service name of a given host specifier. +char *vrpn_set_service_name(const char *specifier, const char *newServiceName); + +/// Checks the buffer to see if it is a valid VRPN header cookie. +/// Returns -1 on total mismatch, +/// 1 on minor version mismatch or other acceptable difference, +/// and 0 on exact match. +/// @{ +VRPN_API int check_vrpn_cookie(const char *buffer); +VRPN_API int check_vrpn_file_cookie(const char *buffer); +/// @} + +/// @brief Returns the size of the magic cookie buffer, plus any alignment +/// overhead. +VRPN_API size_t vrpn_cookie_size(void); + +VRPN_API int write_vrpn_cookie(char *buffer, size_t length, + long remote_log_mode); + +/// @name Utility routines for reading from and writing to sockets/file +/// descriptors +/// @{ +#ifndef VRPN_USE_WINSOCK_SOCKETS +int VRPN_API +vrpn_noint_block_write(int outfile, const char buffer[], size_t length); +int VRPN_API vrpn_noint_block_read(int infile, char buffer[], size_t length); +int VRPN_API vrpn_noint_select(int width, fd_set *readfds, fd_set *writefds, + fd_set *exceptfds, struct timeval *timeout); +#else /* winsock sockets */ +int VRPN_API +vrpn_noint_block_write(SOCKET outsock, char *buffer, size_t length); +int VRPN_API vrpn_noint_block_read(SOCKET insock, char *buffer, size_t length); +#endif /* VRPN_USE_WINSOCK_SOCKETS */ + /// @} + +/** + * @brief Singleton class that keeps track of all known VRPN connections + * and makes sure they're deleted on shutdown. + * + * We make it static to guarantee that the destructor is called + * on program close so that the destructors of all the vrpn_Connections + * that have been allocated are called so that all open logs are flushed + * to disk. Each connection should add itself to this list in its + * constructor and should remove itself from this list in its + * destructor. + */ + +// This section holds data structures and functions to open +// connections by name. +// The intention of this section is that it can open connections for +// objects that are in different libraries (trackers, buttons and sound), +// even if they all refer to the same connection. +// Even though each individual vrpn_Connection class is not yet thread +// safe, so should only have its methods called from a single thread, +// the vrpn_ConnectionManager should be thread safe to allow connections +// to be created and destroyed by different threads. + +class VRPN_API vrpn_ConnectionManager { + +public: + ~vrpn_ConnectionManager(void); + + /// @brief The only way to get access to an instance of this class. + /// Guarantees that there is only one, global object. + /// Also guarantees that it will be constructed the first time + /// this function is called, and (hopefully?) destructed when + /// the program terminates. + static vrpn_ConnectionManager &instance(void); + + /// NB implementation is not particularly efficient; we expect + /// to have O(10) connections, not O(1000). + /// @{ + void addConnection(vrpn_Connection *, const char *name); + void deleteConnection(vrpn_Connection *); + /// @} + + /// Searches through d_kcList but NOT d_anonList + /// (Connections constructed with no name) + vrpn_Connection *getByName(const char *name); + +private: + /// Mutex to ensure thread safety; + vrpn_Semaphore d_semaphore; + + struct knownConnection { + char name[1000]; + vrpn_Connection *connection; + knownConnection *next; + }; + + /// @brief named connections + knownConnection *d_kcList; + + /// @brief unnamed (server) connections + knownConnection *d_anonList; + + vrpn_ConnectionManager(void); + + // @brief copy constructor undefined to prevent instantiations + vrpn_ConnectionManager(const vrpn_ConnectionManager &); + + void deleteConnection(vrpn_Connection *, knownConnection **); +}; + +#endif // VRPN_CONNECTION_H diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_Dial.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_Dial.h new file mode 100644 index 0000000..829d673 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_Dial.h @@ -0,0 +1,116 @@ +// vrpn_Dial.h +// This implements a Dial class. A dial is an object that spins, +// possibly without bound. It returns the fraction of a revolution that +// it has turned as its message type. + +#ifndef VRPN_DIAL_H +#define VRPN_DIAL_H + +const int vrpn_DIAL_MAX = 128; + +#include <stddef.h> // for NULL + +#include "vrpn_BaseClass.h" // for vrpn_Callback_List, etc +#include "vrpn_Configure.h" // for VRPN_API, VRPN_CALLBACK +#include "vrpn_Shared.h" // for timeval +#include "vrpn_Types.h" // for vrpn_float64, vrpn_int32 + +class VRPN_API vrpn_Connection; +struct vrpn_HANDLERPARAM; + +class VRPN_API vrpn_Dial : public vrpn_BaseClass { +public: + vrpn_Dial(const char *name, vrpn_Connection *c = NULL); + +protected: + vrpn_float64 dials[vrpn_DIAL_MAX]; + vrpn_int32 num_dials; + struct timeval timestamp; + vrpn_int32 change_m_id; // change message id + + virtual int register_types(void); + virtual vrpn_int32 encode_to(char *buf, vrpn_int32 buflen, vrpn_int32 dial, + vrpn_float64 delta); + virtual void report_changes(void); // send report iff changed + virtual void report(void); // send report +}; + +//---------------------------------------------------------- +// Example server for an array of dials +// This will generate an array of dials that all spin at the same +// rate (revolutions/second), and which send reports at a different rate +// (updates/second). A real server would send reports whenever it saw +// dials changing, and would not have the spin_rate or update_rate parameters. +// This server can be used for testing to make sure a client is +// working correctly, and to ensure that a connection to a remote server +// is working (by running the example server with the name of the device that +// the real server would use). + +class VRPN_API vrpn_Dial_Example_Server : public vrpn_Dial { +public: + vrpn_Dial_Example_Server(const char *name, vrpn_Connection *c, + vrpn_int32 numdials = 1, + vrpn_float64 spin_rate = 1.0, + vrpn_float64 update_rate = 10.0); + virtual void mainloop(); + +protected: + vrpn_float64 _spin_rate; // The rate at which to spin (revolutions/sec) + vrpn_float64 _update_rate; // The rate at which to update (reports/sec) + // The dials[] array within the parent is used for the values + // The num_dials within the parent is used + // The timestamp field within the parent structure is used for timing + // The report_changes() or report() functions within the parent are used +}; + +//---------------------------------------------------------- +//************** Users deal with the following ************* + +// User routine to handle a change in dial values. This is called when +// the dial callback is called (when a message from its counterpart +// across the connetion arrives). + +typedef struct _vrpn_DIALCB { + struct timeval msg_time; // Timestamp when change happened + vrpn_int32 dial; // which dial changed + vrpn_float64 change; // Fraction of a revolution it changed +} vrpn_DIALCB; + +typedef void(VRPN_CALLBACK *vrpn_DIALCHANGEHANDLER)(void *userdata, + const vrpn_DIALCB info); + +// Open a dial device that is on the other end of a connection +// and handle updates from it. This is the type of device +// that user code will deal with. + +class VRPN_API vrpn_Dial_Remote : public vrpn_Dial { +public: + // The name of the device to connect to. + // Optional argument to be used when the Remote MUST listen on + // a connection that is already open. + vrpn_Dial_Remote(const char *name, vrpn_Connection *c = NULL); + ~vrpn_Dial_Remote(); + + // This routine calls the mainloop of the connection it's on + virtual void mainloop(); + + // (un)Register a callback handler to handle dial updates + virtual int register_change_handler(void *userdata, + vrpn_DIALCHANGEHANDLER handler) + { + return d_callback_list.register_handler(userdata, handler); + }; + virtual int unregister_change_handler(void *userdata, + vrpn_DIALCHANGEHANDLER handler) + { + return d_callback_list.unregister_handler(userdata, handler); + } + +protected: + vrpn_Callback_List<vrpn_DIALCB> d_callback_list; + + static int VRPN_CALLBACK + handle_change_message(void *userdata, vrpn_HANDLERPARAM p); +}; + +#endif diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_EndpointContainer.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_EndpointContainer.h new file mode 100644 index 0000000..d58f952 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_EndpointContainer.h @@ -0,0 +1,364 @@ +/** @file + @brief Header + + @date 2015 + + @author + Ryan Pavlik + Sensics, Inc. + <http://sensics.com/osvr> +*/ + +// Copyright 2015 Sensics, Inc. +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef INCLUDED_vrpn_EndpointContainer_h_GUID_DB073DE8_5BBC_46BF_255B_71264D47A639 +#define INCLUDED_vrpn_EndpointContainer_h_GUID_DB073DE8_5BBC_46BF_255B_71264D47A639 + +// Internal Includes +#include "vrpn_Types.h" +#include "vrpn_Configure.h" + +#include "vrpn_Assert.h" + +// Library/third-party includes +// - none + +// Standard includes +#include <vector> +#include <stddef.h> // for NULL + +class VRPN_API vrpn_Endpoint; +class VRPN_API vrpn_Endpoint_IP; + +namespace vrpn { + + class EndpointIterator; + + /** @brief Container for endpoints, held by pointer. + + To check if we have room, use this: `if (d_endpoints.full()) {}` instead of + the old code looking like this: `if (which_end >= vrpn_MAX_ENDPOINTS)` + + Usage example for iteration: + + ~~~ + for (vrpn::EndpointIterator it = d_endpoints.begin(), e = d_endpoints.end(); + it != e; ++it) { + it->pack_type_description(which) + } + ~~~ + + */ + class EndpointContainer { + public: + typedef vrpn_Endpoint_IP T; + typedef T &reference; + typedef T *pointer; + typedef vrpn_Endpoint *base_pointer; + + private: + typedef std::vector<pointer> container_type; + + public: + typedef container_type::size_type size_type; + typedef EndpointIterator iterator; + typedef EndpointIterator const_iterator; + + /// @brief Constructor of empty container. + EndpointContainer(); + + /// @brief Destructor - includes a call to clear() + ~EndpointContainer(); + + /// @brief Tells each held endpoint in turn to drop the connection then + /// deletes it + void clear(); + + /// @brief Shorthand for get_by_index(0) + pointer front() const { return get_by_index(0); } + + /// @brief Given the result of an endpoint allocator, if it's non-NULL, + /// takes ownership of it. + /// @return the input pointer + template <typename T> T *acquire(T *endpoint) + { + acquire_(endpoint); + return endpoint; + } + + /// @brief Goes through and gets rid of the NULL entries. + void compact(); + + /// @brief Can we no longer accommodate a new endpoint? + bool full() const; + + /// @brief Checks to see if an index is both in-range and pointing to a + /// still-extant object + bool is_valid(size_type i) const; + + /// @brief Destroys the contained endpoint by address. + /// @return true if there was something for us to delete + bool destroy(base_pointer endpoint); + + pointer get_by_index(size_type i) const; + + /// @brief Get size of container including NULL elements that haven't + /// been compacted yet. + size_type get_full_container_size() const; + + /// @brief Get an iterator to the beginning that skips nulls. + /// Invalidated by compacting. + iterator begin() const; + + /// @brief Get an iterator suitable only for testing to see if we're + /// "done" + iterator end() const; + + private: + /// @name Internal raw iterators and methods + /// @{ + typedef container_type::iterator raw_iterator; + typedef container_type::const_iterator raw_const_iterator; + raw_iterator begin_() { return container_.begin(); } + raw_const_iterator begin_() const { return container_.begin(); } + raw_iterator end_() { return container_.end(); } + raw_const_iterator end_() const { return container_.end(); } + // @} + /// @name Internal helper methods + /// @{ + /// @brief Implementation of acquire for the stored pointer type. + void acquire_(pointer endpoint); + /// @brief Do actual compact once we've determined it's necessary. + void compact_(); + + /// @} + container_type container_; + bool needsCompact_; + }; + +#define VRPN_ECITERATOR_ASSERT_INVARIANT() \ + VRPN_ASSERT_MSG(valid() != equal_to_default_(), \ + "Class invariant for EndpointIterator") + + /// @brief An iterator that goes forward in an EndpointContainer skipping + /// the NULLs, that also acts a bit like a pointer/smart pointer (can treat + /// it as a vrpn_Endpoint *) + /// + /// Because we know at design time that it iterates through pointers, + /// we have pointer-related operator overloads that mean there's no need to + /// double-dereference. + /// + /// Fulfills the InputIterator concept: + /// http://en.cppreference.com/w/cpp/concept/InputIterator + /// + /// All end() iterators compare equal to each other and to the + /// default-constructed iterator. They are the only invalid iterators: + /// incrementing an iterator past the end makes it the same as the + /// default-constructed iterator. + /// + /// That is, for all EndpointIterators it, we enforce the class invariant + /// `it.valid() || (it == EndpointIterator())` (and that's actually an XOR) + class EndpointIterator { + public: + // typedef EndpointIteratorBase<ContainerType> type; + typedef EndpointIterator type; + typedef EndpointContainer const container_type; + typedef container_type::pointer pointer; + typedef container_type::reference reference; + typedef container_type::size_type size_type; + + /// @brief Default constructor, equal to all other default-constructed + /// instances and all end() + EndpointIterator() + : index_(0) + , container_(NULL) + { + VRPN_ASSERT_MSG(equal_to_default_(), + "Default constructed value should be equal to " + "default: verifies that 'equal_to_default_()' is " + "equivalent to '*this == EndpointIterator()'"); + VRPN_ASSERT_MSG(!valid(), + "Default constructed value should not be valid"); + } + + /// @brief Constructor with container, points to beginning of container. + EndpointIterator(container_type &container) + : index_(0) + , container_(&container) + { + // Advance index as required to maintain the class invariant. + skip_nulls_(); + VRPN_ECITERATOR_ASSERT_INVARIANT(); + } + + /// @brief Constructor with container and raw index into container. + EndpointIterator(container_type &container, size_type index) + : index_(index) + , container_(&container) + { + // Advance index as required to maintain the class invariant. + skip_nulls_(); + VRPN_ECITERATOR_ASSERT_INVARIANT(); + } + + /// @brief Does this iterator refer to a valid element? + /// + /// Class invariant: valid() || (*this == type()) + /// That is, there is only one invalid value. + bool valid() const + { + return container_ && container_->is_valid(index_); + } + + /// @brief Extract the pointer (NULL if iterator is invalid) + pointer get_pointer() const + { + VRPN_ECITERATOR_ASSERT_INVARIANT(); + // Only need to condition on container validity: invalid indexes + // safely return null from get_raw_() + return container_ ? (get_raw_()) : NULL; + } + + /// @brief Implicit conversion operator to pointer. + operator pointer() const + { + VRPN_ECITERATOR_ASSERT_INVARIANT(); + return get_pointer(); + } + + /// @brief prefix ++ operator, increments (and skips any nulls) + type &operator++() + { + /// Invariant might be invalid here, since the user might have just + /// deleted something. + if (equal_to_default_()) { + // Early out if we're already the end sentinel (default + // constructor value) + return *this; + } + + // Increment until we either go out of bounds or get a non-null + // entry + index_++; + skip_nulls_(); + VRPN_ECITERATOR_ASSERT_INVARIANT(); + return *this; + } + + /// @name Smart pointer idiom operators + /// @{ + pointer operator->() const + { + VRPN_ECITERATOR_ASSERT_INVARIANT(); + return get_pointer(); + } + + reference operator*() const + { + VRPN_ECITERATOR_ASSERT_INVARIANT(); + return *get_raw_(); + } + /// @} + + /// @name Comparison operators, primarily for loop use + /// @{ + bool operator==(type const &other) const + { + return (container_ == other.container_) && (index_ == other.index_); + } + bool operator!=(type const &other) const + { + return (container_ != other.container_) || (index_ != other.index_); + } + /// @} + + private: + bool equal_to_default_() const + { + return (NULL == container_) && (index_ == 0); + } + void skip_nulls_() + { + while (index_in_bounds_() && (get_raw_() == NULL)) { + index_++; + } + // We may have run out of elements, so check the invariant + enforce_invariant_(); + } + /// @brief Function to verify an iterator to enforce the class + /// invariant. + void enforce_invariant_() + { + if (!valid()) { + /// Assign from default-constructed iterator, to be the same as + /// end() + *this = type(); + } + } + + /// @brief get, without checking validity of container_ first! + /// + /// Note that the container handles cases where the index is out of + /// range by returning NULL, so that's safe. + pointer get_raw_() const { return container_->get_by_index(index_); } + + /// @brief Helper to check index vs container bounds, without checking + /// validity of container_ first! + bool index_in_bounds_() const + { + return index_ < container_->get_full_container_size(); + } + + size_type index_; + container_type *container_; + }; +#undef VRPN_ECITERATOR_ASSERT_INVARIANT + + // Inline Implementations // + + inline bool + EndpointContainer::is_valid(EndpointContainer::size_type i) const + { + return (i < get_full_container_size()) && (NULL != container_[i]); + } + + inline EndpointContainer::pointer + EndpointContainer::get_by_index(size_type i) const + { + if (!is_valid(i)) { + return NULL; + } + return container_[i]; + } + + inline EndpointContainer::size_type + EndpointContainer::get_full_container_size() const + { + return container_.size(); + } + + // making this condition inline so that it has minimal overhead if + // we don't actually need to perform a compaction. + inline void EndpointContainer::compact() + { + if (needsCompact_) { + compact_(); + } + } + + inline EndpointIterator EndpointContainer::begin() const + { + return EndpointIterator(*this); + } + + inline EndpointIterator EndpointContainer::end() const + { + return EndpointIterator(); + } + +} // namespace vrpn + +#endif // INCLUDED_vrpn_EndpointContainer_h_GUID_DB073DE8_5BBC_46BF_255B_71264D47A639 diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_FileConnection.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_FileConnection.h new file mode 100644 index 0000000..be0a44d --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_FileConnection.h @@ -0,0 +1,326 @@ +#ifndef VRPN_FILE_CONNECTION_H +#define VRPN_FILE_CONNECTION_H + +// {{{ vrpn_File_Connection +// +// Tom Hudson, June 1998 + +// This class *reads* a file written out by vrpn_Connection's logging hooks. + +// The interface exactly matches that of vrpn_Connection. To do things that +// are meaningful on log replay but not on live networks, create a +// vrpn_File_Controller and pass your vrpn_File_Connection to its constructor, +// or just ask the Connection for its file connection pointer and do the +// operations directly on the FileConnection if the pointer is non-NULL. + +// Logfiles are recorded as *sent*, not as translated by the receiver, +// so we still need to have all the correct names for senders and types +// registered. + +// September 1998: by default preloads the entire log file on startup. +// This causes a delay (nontrivial for large logs) but should help smooth +// playback. +// }}} + +#include <stdio.h> // for NULL, FILE + +#include "vrpn_Configure.h" // for VRPN_API, VRPN_CALLBACK +#include "vrpn_Connection.h" // for vrpn_LOGLIST (ptr only), etc +#include "vrpn_Shared.h" // for timeval +#include "vrpn_Types.h" // for vrpn_float32, vrpn_int32, etc + +struct timeval; + +// Global variable used to indicate whether File Connections should +// pre-load all of their records into memory when opened. This is the +// default behavior, but fails on very large files that eat up all +// of the memory. This defaults to "true". User code should set this +// to "false" before calling vrpn_get_connection_by_name() or creating +// a new vrpn_File_Connection object if it wants that file connection +// to not preload. The value is only checked at connection creation time; +// the connection behaves consistently once created. This operation is +// useful for applications that load large data files and don't want to +// wait for them to pre-load. + +extern VRPN_API bool vrpn_FILE_CONNECTIONS_SHOULD_PRELOAD; + +// Global variable used to indicate whether File Connections should +// keep already-read messages stored in memory. If not, then we have +// to re-load the file starting at the beginning on rewind. This +// defaults to "true". User code should set this +// to "false" before calling vrpn_get_connection_by_name() or creating +// a new vrpn_File_Connection object if it wants that file connection +// to not preload. The value is only checked at connection creation time; +// the connection behaves consistently once created. This operation is +// useful for applications that read through large data files and +// don't have enough memory to keep them in memory at once, or for applications +// that read through only once and have no need to go back and check. + +extern VRPN_API bool vrpn_FILE_CONNECTIONS_SHOULD_ACCUMULATE; + +// Global variable used to indicate whether File Connections should +// play through all system messages and get to the first user message +// when opened or reset to the beginning. This defaults to "true". +// User code should set this +// to "false" before calling vrpn_get_connection_by_name() or creating +// a new vrpn_File_Connection object if it wants that file connection +// to not preload. The value is only checked at connection creation time; +// the connection behaves consistently once created. Leaving this true +// can help with offsets in time that happen at the beginning of files. + +extern VRPN_API bool vrpn_FILE_CONNECTIONS_SHOULD_SKIP_TO_USER_MESSAGES; + +class VRPN_API vrpn_File_Connection : public vrpn_Connection { +public: + vrpn_File_Connection(const char *station_name, + const char *local_in_logfile_name = NULL, + const char *local_out_logfile_name = NULL); + virtual ~vrpn_File_Connection(void); + + virtual int mainloop(const timeval *timeout = NULL); + + // returns the elapsed time in the file + virtual int time_since_connection_open(timeval *elapsed_time); + + // returns the current time in the file since the epoch (UTC time). + virtual timeval get_time() { return d_time; } + + virtual vrpn_File_Connection *get_File_Connection(void); + + // Pretend to send pending report, really just clear the buffer. + virtual int send_pending_reports(void); + + // {{{ fileconnections-specific methods (playback control) +public: + // XXX the following should not be public if we want vrpn_File_Connection + // to have the same interface as vrpn_Connection + // + // If so handler functions for messages for these operations + // should be made, and functions added to vrpn_File_Controller which + // generate the messages. This seemed like it would be messy + // since most of these functions have return values + + // rate of 0.0 is paused, 1.0 is normal speed + void set_replay_rate(vrpn_float32 rate) + { + d_filetime_accum.set_replay_rate(rate); + } + + vrpn_float32 get_replay_rate() { return d_filetime_accum.replay_rate(); } + + // resets to the beginning of the file + // returns 0 on success + int reset(void); + + // returns 1 if we're at the end of file + int eof(); + + // end_time for play_to_time() is an elapsed time + // returns -1 on error or EOF, 0 on success + int play_to_time(vrpn_float64 end_time); + int play_to_time(timeval end_time); + + // end_filetime is an absolute time, corresponding to the + // timestamps of the entries in the file, + // returns -1 on error or EOF, 0 on success + int play_to_filetime(const timeval end_filetime); + + // plays the next entry, returns -1 or error or EOF, 0 otherwise + int playone(); + + // plays at most one entry, but won't play past end_filetime + // returns 0 on success, 1 if at end_filetime, -1 on error or EOF + int playone_to_filetime(timeval end_filetime); + + // returns the elapsed time of the file + timeval get_length(); + double get_length_secs(); + + // returns the timestamp of the earliest in time user message + timeval get_lowest_user_timestamp(); + + // returns the timestamp of the greatest-in-time user message + timeval get_highest_user_timestamp(); + + // returns the name of the file + const char *get_filename(); + + // jump_to_time sets the current position to the given elapsed time + // return 1 if we got to the specified time and 0 if we didn't + int jump_to_time(vrpn_float64 newtime); + int jump_to_time(timeval newtime); + + // jump_to_filetime sets the current position to the given absolute time + // return 1 if we got to the specified time and 0 if we didn't + int jump_to_filetime(timeval absolute_time); + + // Limits the number of messages played out on any one call to mainloop. + // 0 => no limit. + // Used to stop continuous callback-handling when messages arrive + // at a very high rate (such as from a vrpn_Imager) or to make sure + // that we are able to pause after each frame in frame-by-frame + // playback for tracking analysis programs. + void limit_messages_played_back(vrpn_uint32 max_playback) + { + Jane_stop_this_crazy_thing(max_playback); + }; + + // }}} + // {{{ tokens for VRPN control messages (data members) +protected: + vrpn_int32 d_controllerId; + + vrpn_int32 d_set_replay_rate_type; + vrpn_int32 d_reset_type; + vrpn_int32 d_play_to_time_type; + // long d_jump_to_time_type; + + // }}} + // {{{ time-keeping +protected: + timeval d_last_told; // Last time we printed error about no open file. + timeval d_time; // current time in file + timeval d_start_time; // time of first record in file + timeval d_earliest_user_time; // time of first user message + vrpn_bool d_earliest_user_time_valid; + timeval d_highest_user_time; // time of last user message + vrpn_bool d_highest_user_time_valid; + + // finds the timestamps of the earliest and highest-time user messages + void find_superlative_user_times(); + + // these are to be used internally when jumping around in the + // stream (e.g., for finding the earliest and latest timed + // user messages). They assume + // 1) that only functions such as advance_currentLogEntry, + // read_entry and manual traversal of d_logHead/d_logTail + // will be used. + // the functions return false if they don't save or restore the bookmark + class VRPN_API vrpn_FileBookmark { + public: + vrpn_FileBookmark(); + ~vrpn_FileBookmark(); + bool valid; + timeval oldTime; + long int file_pos; // ftell result + vrpn_LOGLIST *oldCurrentLogEntryPtr; // just a pointer, useful for accum + // or preload + vrpn_LOGLIST *oldCurrentLogEntryCopy; // a deep copy, useful for + // no-accum, no-preload + }; + bool store_stream_bookmark(); + bool return_to_bookmark(); + vrpn_FileBookmark d_bookmark; + + // wallclock time at the (beginning of the) last call + // to mainloop that played back an event + timeval d_last_time; // XXX remove + + class VRPN_API FileTime_Accumulator { + // accumulates the amount of time that we will advance + // filetime by when we next play back messages. + timeval d_filetime_accum_since_last_playback; + + // wallclock time when d_filetime_accum_since_last_playback + // was last updated + timeval d_time_of_last_accum; + + // scale factor between stream time and wallclock time + vrpn_float32 d_replay_rate; + + public: + FileTime_Accumulator(); + + // return accumulated time since last reset + const timeval &accumulated(void) + { + return d_filetime_accum_since_last_playback; + } + + // return last time accumulate_to was called + const timeval &time_of_last_accum(void) { return d_time_of_last_accum; } + + vrpn_float32 replay_rate(void) { return d_replay_rate; } + + // add (d_replay_rate * (now_time - d_time_of_last_accum)) + // to d_filetime_accum_since_last_playback + // then set d_time_of_last_accum to now_time + void accumulate_to(const timeval &now_time); + + // if current rate is non-zero, then time is accumulated + // before d_replay_rate is set to new_rate + void set_replay_rate(vrpn_float32 new_rate); + + // set d_time_of_last_accum to now_time + // and set d_filetime_accum_since_last_playback to zero + void reset_at_time(const timeval &now_time); + }; + FileTime_Accumulator d_filetime_accum; + + // }}} + // {{{ actual mechanics of the logfile +protected: + char *d_fileName; + FILE *d_file; + + void play_to_user_message(); + + // helper function for mainloop() + int need_to_play(timeval filetime); + + // checks the cookie at + // the head of the log file; + // exit on error! + virtual int read_cookie(void); + + virtual int read_entry(void); // appends entry to d_logTail + // returns 0 on success, 1 on EOF, -1 on error + + // Steps the currentLogEntry pointer forward one. + // It handles both cases of preload and non-preload. + // returns 0 on success, 1 on EOF, -1 on error + virtual int advance_currentLogEntry(void); + + virtual int close_file(void); + + // }}} + // {{{ handlers for VRPN control messages that might come from + // a File Controller object that wants to control this + // File Connection. +protected: + static int VRPN_CALLBACK handle_set_replay_rate(void *, vrpn_HANDLERPARAM); + static int VRPN_CALLBACK handle_reset(void *, vrpn_HANDLERPARAM); + static int VRPN_CALLBACK handle_play_to_time(void *, vrpn_HANDLERPARAM); + + // }}} + // {{{ Maintains a doubly-linked list structure that keeps + // copies of the messages from the file in memory. If + // d_accumulate is false, then there is only ever one entry + // in memory (d_currentLogEntry == d_logHead == d_logTail). + // If d_preload is true, then all of the records from the file + // are read into the list in the constructor and we merely step + // through memory when playing the streamfile. If d_preload is + // false and d_accumulate is true, then we have all of the + // records up the d_currentLogEntry in memory (d_logTail points + // to d_currentLogEntry but not to the last entry in the file + // until we get to the end of the file). + // The d_currentLogEntry should always be non-NULL unless we are + // past the end of all messages... we will either have preloaded + // all of them or else the read routine will attempt to load the + // next message each time one is played. The constructor fills it + // in with the first message, which makes it non-NULL initially. + // HOWEVER, if there are no user messages and we're asked to skip + // to the first user message then it can be NULL right after the + // constructor is called. +protected: + vrpn_LOGLIST *d_logHead; // the first read-in record + vrpn_LOGLIST *d_logTail; // the last read-in record + vrpn_LOGLIST *d_currentLogEntry; // Message that we've just loaded, or are + // at right now + vrpn_LOGLIST *d_startEntry; // potentially after initial system messages + bool d_preload; // Should THIS File Connection pre-load? + bool d_accumulate; // Should THIS File Connection accumulate? + // }}} +}; + +#endif // VRPN_FILE_CONNECTION_H diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_FileController.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_FileController.h new file mode 100644 index 0000000..1e19c06 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_FileController.h @@ -0,0 +1,47 @@ +#ifndef VRPN_FILE_CONTROLLER_H +#define VRPN_FILE_CONTROLLER_H +#include "vrpn_Configure.h" // for VRPN_API +#include "vrpn_Types.h" // for vrpn_int32, vrpn_float32 + +class VRPN_API vrpn_Connection; // from vrpn_Connection.h + +// class vrpn_File_Controller +// Tom Hudson, July 1998 + +// Controls a file connection (logfile playback). +// Can be attached to any vrpn_Connection. +// vrpn_File_Connections will respond to the messages. + +class VRPN_API vrpn_File_Controller { + +public: + vrpn_File_Controller(vrpn_Connection *); + ~vrpn_File_Controller(void); + + void set_replay_rate(vrpn_float32 = 1.0); + // Sets the rate at which the file is replayed. + + void reset(void); + // Returns to the beginning of the file. + // Does NOT reset rate to 1.0. + // Equivalent to set_to_time(< 0L, 0L >) + + void play_to_time(struct timeval t); + // Goes to an arbitrary elapsed time t in the file, + // triggering all events between the current time and t. + // Does not work in the past (use reset() first). + + // void jump_to_time (struct timeval t); + +protected: + vrpn_Connection *d_connection; + + vrpn_int32 d_myId; + + vrpn_int32 d_set_replay_rate_type; + vrpn_int32 d_reset_type; + vrpn_int32 d_play_to_time_type; + // long d_jump_to_time_type; +}; + +#endif // VRPN_FILE_CONTROLLER_H diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_ForceDevice.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_ForceDevice.h new file mode 100644 index 0000000..c3cbc4d --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_ForceDevice.h @@ -0,0 +1,730 @@ +#ifndef FORCEDEVICE_H +#define FORCEDEVICE_H + +#include <stddef.h> // for NULL + +#include "vrpn_BaseClass.h" // for vrpn_Callback_List, etc +#include "vrpn_Configure.h" // for VRPN_CALLBACK, VRPN_API +#include "vrpn_Shared.h" // for timeval +#include "vrpn_Types.h" // for vrpn_int32, vrpn_float32, etc + +class VRPN_API vrpn_Connection; +struct vrpn_HANDLERPARAM; + +#define MAXPLANE 4 // maximum number of planes in the scene + +// for recovery: +#define DEFAULT_NUM_REC_CYCLES (10) + +// possible values for errorCode: +#define FD_VALUE_OUT_OF_RANGE 0 // surface parameter out of range +#define FD_DUTY_CYCLE_ERROR 1 // servo loop is taking too long +#define FD_FORCE_ERROR 2 // max force exceeded, or motors overheated + // or amplifiers not enabled +#define FD_MISC_ERROR 3 // everything else +#define FD_OK 4 // no error + +// If defined, springs are implemented in the client as force fields. +// If not, springs are implemented with special messages +// and extra Ghost classes. Either way support for the messages +// is compiled into the parent class so that servers can support +// both kinds of clients. + +// (Springs as force fields require some knotty mathematical programming +// at the clients that I can't seem to get right, but avoid lots of +// extra message types and an awful lot of bug-prone Ghost.) + +#define FD_SPRINGS_AS_FIELDS + +class VRPN_API vrpn_ForceDevice : public vrpn_BaseClass { + +public: + vrpn_ForceDevice(const char *name, vrpn_Connection *c); + virtual ~vrpn_ForceDevice(void); + + void print_report(void); + void print_plane(void); + + void setSurfaceKspring(vrpn_float32 k) { SurfaceKspring = k; } + void setSurfaceKdamping(vrpn_float32 d) { SurfaceKdamping = d; } + void setSurfaceFstatic(vrpn_float32 ks) { SurfaceFstatic = ks; } + void setSurfaceFdynamic(vrpn_float32 kd) { SurfaceFdynamic = kd; } + void setRecoveryTime(int rt) { numRecCycles = rt; } + + // additional surface properties + void setSurfaceKadhesionNormal(vrpn_float32 k) + { + SurfaceKadhesionNormal = k; + } + void setSurfaceKadhesionLateral(vrpn_float32 k) + { + SurfaceKadhesionLateral = k; + } + void setSurfaceBuzzFrequency(vrpn_float32 freq) { SurfaceBuzzFreq = freq; } + void setSurfaceBuzzAmplitude(vrpn_float32 amp) { SurfaceBuzzAmp = amp; } + void setSurfaceTextureWavelength(vrpn_float32 wl) + { + SurfaceTextureWavelength = wl; + } + void setSurfaceTextureAmplitude(vrpn_float32 amp) + { + SurfaceTextureAmplitude = amp; + } + + void setCustomEffect(vrpn_int32 effectId, vrpn_float32 *params = NULL, + vrpn_uint32 nbParams = 0); + + void setFF_Origin(vrpn_float32 x, vrpn_float32 y, vrpn_float32 z) + { + ff_origin[0] = x; + ff_origin[1] = y; + ff_origin[2] = z; + } + void setFF_Origin(vrpn_float32 x[3]) + { + ff_origin[0] = x[0]; + ff_origin[1] = x[1]; + ff_origin[2] = x[2]; + } + void setFF_Force(vrpn_float32 fx, vrpn_float32 fy, vrpn_float32 fz) + { + ff_force[0] = fx; + ff_force[1] = fy; + ff_force[2] = fz; + } + void setFF_Force(vrpn_float32 f[3]) + { + ff_force[0] = f[0]; + ff_force[1] = f[1]; + ff_force[2] = f[2]; + } + void setFF_Jacobian(vrpn_float32 dfxdx, vrpn_float32 dfxdy, + vrpn_float32 dfxdz, vrpn_float32 dfydx, + vrpn_float32 dfydy, vrpn_float32 dfydz, + vrpn_float32 dfzdx, vrpn_float32 dfzdy, + vrpn_float32 dfzdz) + { + ff_jacobian[0][0] = dfxdx; + ff_jacobian[0][1] = dfxdy; + ff_jacobian[0][2] = dfxdz; + ff_jacobian[1][0] = dfydx; + ff_jacobian[1][1] = dfydy; + ff_jacobian[1][2] = dfydz; + ff_jacobian[2][0] = dfzdx; + ff_jacobian[2][1] = dfzdy; + ff_jacobian[2][2] = dfzdz; + } + void setFF_Radius(vrpn_float32 r) { ff_radius = r; } + + void set_plane(vrpn_float32 *p); + void set_plane(vrpn_float32 *p, vrpn_float32 d); + void set_plane(vrpn_float32 a, vrpn_float32 b, vrpn_float32 c, + vrpn_float32 d); + + void sendError(int error_code); + + int getRecoveryTime(void) { return numRecCycles; } + int connectionAvailable(void) { return (d_connection != NULL); } + + // constants for constraint messages + + enum ConstraintGeometry { + NO_CONSTRAINT, + POINT_CONSTRAINT, + LINE_CONSTRAINT, + PLANE_CONSTRAINT + }; + +protected: + virtual int register_types(void); + + vrpn_int32 force_message_id; // ID of force message to connection + vrpn_int32 plane_message_id; // ID of plane equation message + vrpn_int32 plane_effects_message_id; // additional plane properties + vrpn_int32 forcefield_message_id; // ID of force field message + vrpn_int32 scp_message_id; // ID of surface contact point message + + // constraint messages + + vrpn_int32 enableConstraint_message_id; + vrpn_int32 setConstraintMode_message_id; + vrpn_int32 setConstraintPoint_message_id; + vrpn_int32 setConstraintLinePoint_message_id; + vrpn_int32 setConstraintLineDirection_message_id; + vrpn_int32 setConstraintPlanePoint_message_id; + vrpn_int32 setConstraintPlaneNormal_message_id; + vrpn_int32 setConstraintKSpring_message_id; + // vrpn_int32 set_constraint_message_id;// ID of constraint force message + + // XXX - error messages should be put into the vrpn base class + // whenever someone makes one + + vrpn_int32 error_message_id; // ID of force device error message + + // IDs for trimesh messages + + vrpn_int32 addObject_message_id; + vrpn_int32 addObjectExScene_message_id; + vrpn_int32 moveToParent_message_id; + vrpn_int32 setObjectPosition_message_id; + vrpn_int32 setObjectOrientation_message_id; + vrpn_int32 setObjectScale_message_id; + vrpn_int32 removeObject_message_id; + vrpn_int32 setVertex_message_id; + vrpn_int32 setNormal_message_id; + vrpn_int32 setTriangle_message_id; + vrpn_int32 removeTriangle_message_id; + vrpn_int32 updateTrimeshChanges_message_id; + vrpn_int32 transformTrimesh_message_id; + vrpn_int32 setTrimeshType_message_id; + vrpn_int32 clearTrimesh_message_id; + + // IDs for scene messages + vrpn_int32 setHapticOrigin_message_id; + vrpn_int32 setHapticScale_message_id; + vrpn_int32 setSceneOrigin_message_id; + vrpn_int32 getNewObjectID_message_id; + vrpn_int32 setObjectIsTouchable_message_id; + + // ajout ONDIM + vrpn_int32 custom_effect_message_id; + // fni ajout ONDIM + + // ENCODING + // ajout ONDIM + static char *encode_custom_effect(vrpn_int32 &len, vrpn_uint32 effectId, + const vrpn_float32 *params, + vrpn_uint32 nbParams); + // fin ajout ONDIM + static char *encode_force(vrpn_int32 &length, const vrpn_float64 *force); + static char *encode_scp(vrpn_int32 &length, const vrpn_float64 *pos, + const vrpn_float64 *quat); + static char *encode_plane(vrpn_int32 &length, const vrpn_float32 *plane, + const vrpn_float32 kspring, + const vrpn_float32 kdamp, const vrpn_float32 fdyn, + const vrpn_float32 fstat, + const vrpn_int32 plane_index, + const vrpn_int32 n_rec_cycles); + static char *encode_surface_effects(vrpn_int32 &len, + const vrpn_float32 k_adhesion_norm, + const vrpn_float32 k_adhesion_lat, + const vrpn_float32 tex_amp, + const vrpn_float32 tex_wl, + const vrpn_float32 buzz_amp, + const vrpn_float32 buzz_freq); + static char *encode_vertex(vrpn_int32 &len, const vrpn_int32 objNum, + const vrpn_int32 vertNum, const vrpn_float32 x, + const vrpn_float32 y, const vrpn_float32 z); + static char *encode_normal(vrpn_int32 &len, const vrpn_int32 objNum, + const vrpn_int32 vertNum, const vrpn_float32 x, + const vrpn_float32 y, const vrpn_float32 z); + static char *encode_triangle(vrpn_int32 &len, const vrpn_int32 objNum, + const vrpn_int32 triNum, + const vrpn_int32 vert0, const vrpn_int32 vert1, + const vrpn_int32 vert2, const vrpn_int32 norm0, + const vrpn_int32 norm1, + const vrpn_int32 norm2); + static char *encode_removeTriangle(vrpn_int32 &len, const vrpn_int32 objNum, + const vrpn_int32 triNum); + static char *encode_updateTrimeshChanges(vrpn_int32 &len, + const vrpn_int32 objNum, + const vrpn_float32 kspring, + const vrpn_float32 kdamp, + const vrpn_float32 fdyn, + const vrpn_float32 fstat); + static char *encode_setTrimeshType(vrpn_int32 &len, const vrpn_int32 objNum, + const vrpn_int32 type); + static char *encode_trimeshTransform(vrpn_int32 &len, + const vrpn_int32 objNum, + const vrpn_float32 homMatrix[16]); + + //*added encodes*// + static char *encode_addObject(vrpn_int32 &len, const vrpn_int32 objNum, + const vrpn_int32 ParentNum); + static char *encode_addObjectExScene(vrpn_int32 &len, + const vrpn_int32 objNum); + static char *encode_objectPosition(vrpn_int32 &len, const vrpn_int32 objNum, + const vrpn_float32 Pos[3]); + static char *encode_objectOrientation(vrpn_int32 &len, + const vrpn_int32 objNum, + const vrpn_float32 axis[3], + const vrpn_float32 angle); + static char *encode_objectScale(vrpn_int32 &len, const vrpn_int32 objNum, + const vrpn_float32 Scale[3]); + static char *encode_removeObject(vrpn_int32 &len, const vrpn_int32 objNum); + static char *encode_clearTrimesh(vrpn_int32 &len, const vrpn_int32 objNum); + static char *encode_moveToParent(vrpn_int32 &len, const vrpn_int32 objNum, + const vrpn_int32 parentNum); + + static char *encode_setHapticOrigin(vrpn_int32 &len, + const vrpn_float32 Pos[3], + const vrpn_float32 axis[3], + const vrpn_float32 angle); + static char *encode_setSceneOrigin(vrpn_int32 &len, + const vrpn_float32 Pos[3], + const vrpn_float32 axis[3], + const vrpn_float32 angle); + static char *encode_setHapticScale(vrpn_int32 &len, + const vrpn_float32 Scale); + static char *encode_setObjectIsTouchable(vrpn_int32 &len, + const vrpn_int32 objNum, + const vrpn_bool isTouchable); + + static char *encode_forcefield(vrpn_int32 &len, + const vrpn_float32 origin[3], + const vrpn_float32 force[3], + const vrpn_float32 jacobian[3][3], + const vrpn_float32 radius); + static char *encode_error(vrpn_int32 &len, const vrpn_int32 error_code); + + // DECODING + // ajout ONDIM + static vrpn_int32 decode_custom_effect(const char *buffer, + const vrpn_int32 len, + vrpn_uint32 *effectId, + vrpn_float32 **params, + vrpn_uint32 *nbParams); + // fin ajout ONDIM + static vrpn_int32 decode_force(const char *buffer, const vrpn_int32 len, + vrpn_float64 *force); + static vrpn_int32 decode_scp(const char *buffer, const vrpn_int32 len, + vrpn_float64 *pos, vrpn_float64 *quat); + static vrpn_int32 decode_plane(const char *buffer, const vrpn_int32 len, + vrpn_float32 *plane, vrpn_float32 *kspring, + vrpn_float32 *kdamp, vrpn_float32 *fdyn, + vrpn_float32 *fstat, vrpn_int32 *plane_index, + vrpn_int32 *n_rec_cycles); + static vrpn_int32 decode_surface_effects( + const char *buffer, const vrpn_int32 len, vrpn_float32 *k_adhesion_norm, + vrpn_float32 *k_adhesion_lat, vrpn_float32 *tex_amp, + vrpn_float32 *tex_wl, vrpn_float32 *buzz_amp, vrpn_float32 *buzz_freq); + static vrpn_int32 decode_vertex(const char *buffer, const vrpn_int32 len, + vrpn_int32 *objNum, vrpn_int32 *vertNum, + vrpn_float32 *x, vrpn_float32 *y, + vrpn_float32 *z); + static vrpn_int32 decode_normal(const char *buffer, const vrpn_int32 len, + vrpn_int32 *objNum, vrpn_int32 *vertNum, + vrpn_float32 *x, vrpn_float32 *y, + vrpn_float32 *z); + static vrpn_int32 decode_triangle(const char *buffer, const vrpn_int32 len, + vrpn_int32 *objNum, vrpn_int32 *triNum, + vrpn_int32 *vert0, vrpn_int32 *vert1, + vrpn_int32 *vert2, vrpn_int32 *norm0, + vrpn_int32 *norm1, vrpn_int32 *norm2); + static vrpn_int32 decode_removeTriangle(const char *buffer, + const vrpn_int32 len, + vrpn_int32 *objNum, + vrpn_int32 *triNum); + static vrpn_int32 + decode_updateTrimeshChanges(const char *buffer, const vrpn_int32 len, + vrpn_int32 *objNum, vrpn_float32 *kspring, + vrpn_float32 *kdamp, vrpn_float32 *fdyn, + vrpn_float32 *fstat); + static vrpn_int32 decode_setTrimeshType(const char *buffer, + const vrpn_int32 len, + vrpn_int32 *objNum, + vrpn_int32 *type); + static vrpn_int32 decode_trimeshTransform(const char *buffer, + const vrpn_int32 len, + vrpn_int32 *objNum, + vrpn_float32 homMatrix[16]); + + //*added decodes*// + static vrpn_int32 decode_addObject(const char *buffer, vrpn_int32 len, + vrpn_int32 *objNum, + vrpn_int32 *ParentNum); + static vrpn_int32 decode_addObjectExScene(const char *buffer, + vrpn_int32 len, + vrpn_int32 *objNum); + static vrpn_int32 decode_objectPosition(const char *buffer, vrpn_int32 len, + vrpn_int32 *objNum, + vrpn_float32 Pos[3]); + static vrpn_int32 decode_objectOrientation(const char *buffer, + vrpn_int32 len, + vrpn_int32 *objNum, + vrpn_float32 axis[3], + vrpn_float32 *angle); + static vrpn_int32 decode_objectScale(const char *buffer, vrpn_int32 len, + vrpn_int32 *objNum, + vrpn_float32 Scale[3]); + static vrpn_int32 decode_removeObject(const char *buffer, vrpn_int32 len, + vrpn_int32 *objNum); + static vrpn_int32 decode_clearTrimesh(const char *buffer, vrpn_int32 len, + vrpn_int32 *objNum); + static vrpn_int32 decode_moveToParent(const char *buffer, vrpn_int32 len, + vrpn_int32 *objNum, + vrpn_int32 *parentNum); + + static vrpn_int32 decode_setHapticOrigin(const char *buffer, vrpn_int32 len, + vrpn_float32 Pos[3], + vrpn_float32 axis[3], + vrpn_float32 *angle); + static vrpn_int32 decode_setHapticScale(const char *buffer, vrpn_int32 len, + vrpn_float32 *Scale); + static vrpn_int32 decode_setSceneOrigin(const char *buffer, vrpn_int32 len, + vrpn_float32 Pos[3], + vrpn_float32 axis[3], + vrpn_float32 *angle); + static vrpn_int32 decode_setObjectIsTouchable(const char *buffer, + vrpn_int32 len, + vrpn_int32 *objNum, + vrpn_bool *isTouchable); + + static vrpn_int32 + decode_forcefield(const char *buffer, const vrpn_int32 len, + vrpn_float32 origin[3], vrpn_float32 force[3], + vrpn_float32 jacobian[3][3], vrpn_float32 *radius); + static vrpn_int32 decode_error(const char *buffer, const vrpn_int32 len, + vrpn_int32 *error_code); + + // constraint encoding & decoding + + static char *encode_enableConstraint(vrpn_int32 &len, vrpn_int32 enable); + static vrpn_int32 decode_enableConstraint(const char *buffer, + const vrpn_int32 len, + vrpn_int32 *enable); + + static char *encode_setConstraintMode(vrpn_int32 &len, + ConstraintGeometry mode); + static vrpn_int32 decode_setConstraintMode(const char *buffer, + const vrpn_int32 len, + ConstraintGeometry *mode); + + static char *encode_setConstraintPoint(vrpn_int32 &len, vrpn_float32 x, + vrpn_float32 y, vrpn_float32 z); + static vrpn_int32 decode_setConstraintPoint(const char *buffer, + const vrpn_int32 len, + vrpn_float32 *x, + vrpn_float32 *y, + vrpn_float32 *z); + + static char *encode_setConstraintLinePoint(vrpn_int32 &len, vrpn_float32 x, + vrpn_float32 y, vrpn_float32 z); + static vrpn_int32 decode_setConstraintLinePoint(const char *buffer, + const vrpn_int32 len, + vrpn_float32 *x, + vrpn_float32 *y, + vrpn_float32 *z); + + static char *encode_setConstraintLineDirection(vrpn_int32 &len, + vrpn_float32 x, + vrpn_float32 y, + vrpn_float32 z); + static vrpn_int32 decode_setConstraintLineDirection(const char *buffer, + const vrpn_int32 len, + vrpn_float32 *x, + vrpn_float32 *y, + vrpn_float32 *z); + + static char *encode_setConstraintPlanePoint(vrpn_int32 &len, vrpn_float32 x, + vrpn_float32 y, vrpn_float32 z); + static vrpn_int32 decode_setConstraintPlanePoint(const char *buffer, + const vrpn_int32 len, + vrpn_float32 *x, + vrpn_float32 *y, + vrpn_float32 *z); + + static char *encode_setConstraintPlaneNormal(vrpn_int32 &len, + vrpn_float32 x, vrpn_float32 y, + vrpn_float32 z); + static vrpn_int32 decode_setConstraintPlaneNormal(const char *buffer, + const vrpn_int32 len, + vrpn_float32 *x, + vrpn_float32 *y, + vrpn_float32 *z); + + static char *encode_setConstraintKSpring(vrpn_int32 &len, vrpn_float32 k); + static vrpn_int32 decode_setConstraintKSpring(const char *buffer, + const vrpn_int32 len, + vrpn_float32 *k); + + // utility functions + + static char *encodePoint(vrpn_int32 &len, vrpn_float32 x, vrpn_float32 y, + vrpn_float32 z); + static vrpn_int32 decodePoint(const char *buffer, const vrpn_int32 len, + vrpn_float32 *x, vrpn_float32 *y, + vrpn_float32 *z); + + struct timeval timestamp; + + vrpn_int32 which_plane; + + vrpn_float64 d_force[3]; + ///< d_force isn't used in vrpn_ForceDevice, but seems to be used + ///< by derived classes? What's the meaning? + + vrpn_float64 scp_pos[3]; + vrpn_float64 scp_quat[4]; // for torque + vrpn_float32 plane[4]; + + vrpn_float32 ff_origin[3]; + vrpn_float32 ff_force[3]; + vrpn_float32 ff_jacobian[3][3]; // J[i][j] = dF[i]/dx[j] + vrpn_float32 ff_radius; + + vrpn_float32 SurfaceKspring; + vrpn_float32 SurfaceKdamping; + vrpn_float32 SurfaceFstatic; + vrpn_float32 SurfaceFdynamic; + vrpn_int32 numRecCycles; + vrpn_int32 errorCode; + + vrpn_float32 SurfaceKadhesionLateral; + vrpn_float32 SurfaceKadhesionNormal; + vrpn_float32 SurfaceBuzzFreq; + vrpn_float32 SurfaceBuzzAmp; + vrpn_float32 SurfaceTextureWavelength; + vrpn_float32 SurfaceTextureAmplitude; + + // ajout ONDIM + vrpn_int32 customEffectId; + vrpn_float32 *customEffectParams; + vrpn_uint32 nbCustomEffectParams; + // fin ajout ONDIM +}; + +// User routine to handle position reports for surface contact point (SCP) +// This is in vrpn_ForceDevice rather than vrpn_Tracker because only +// a force feedback device should know anything about SCPs as this is a +// part of the force feedback model. It may be preferable to use the SCP +// rather than the tracker position for graphics so the hand position +// doesn't appear to go below the surface making the surface look very +// compliant. +typedef struct _vrpn_FORCESCPCB { + struct timeval msg_time; // Time of the report + vrpn_float64 pos[3]; // position of SCP + vrpn_float64 quat[4]; // orientation of SCP +} vrpn_FORCESCPCB; +typedef void(VRPN_CALLBACK *vrpn_FORCESCPHANDLER)(void *userdata, + const vrpn_FORCESCPCB info); + +typedef struct _vrpn_FORCECB { + struct timeval msg_time; // Time of the report + vrpn_float64 force[3]; // force value +} vrpn_FORCECB; +typedef void(VRPN_CALLBACK *vrpn_FORCECHANGEHANDLER)(void *userdata, + const vrpn_FORCECB info); + +typedef struct _vrpn_FORCEERRORCB { + struct timeval msg_time; // time of the report + vrpn_int32 error_code; // type of error +} vrpn_FORCEERRORCB; +typedef void(VRPN_CALLBACK *vrpn_FORCEERRORHANDLER)( + void *userdata, const vrpn_FORCEERRORCB info); + +class VRPN_API vrpn_ForceDevice_Remote : public vrpn_ForceDevice { +public: + // The name of the force device to connect to. + // The connection argument is used only if you already have a connection + // the device must listen on (it is not normally used). + vrpn_ForceDevice_Remote(const char *name, vrpn_Connection *cn = NULL); + virtual ~vrpn_ForceDevice_Remote(void); + + void sendSurface(void); + void startSurface(void); + void stopSurface(void); + + /** functions for a single object + * **********************************************************/ + // vertNum normNum and triNum start at 0 + void setVertex(vrpn_int32 vertNum, vrpn_float32 x, vrpn_float32 y, + vrpn_float32 z); + // NOTE: ghost doesn't take normals, + // and normals still aren't implemented for Hcollide + void setNormal(vrpn_int32 normNum, vrpn_float32 x, vrpn_float32 y, + vrpn_float32 z); + void setTriangle(vrpn_int32 triNum, vrpn_int32 vert0, vrpn_int32 vert1, + vrpn_int32 vert2, vrpn_int32 norm0 = -1, + vrpn_int32 norm1 = -1, vrpn_int32 norm2 = -1); + void removeTriangle(vrpn_int32 triNum); + // should be called to incorporate the above changes into the + // displayed trimesh + void updateTrimeshChanges(); + // set the trimesh's homogen transform matrix (in row major order) + void setTrimeshTransform(vrpn_float32 homMatrix[16]); + void clearTrimesh(void); + + /** functions for multiple objects in the haptic scene + * *************************************/ + // Add an object to the haptic scene as root (parent -1 = default) or as + // child (ParentNum =the number of the parent) + void addObject(vrpn_int32 objNum, vrpn_int32 ParentNum = -1); + // Add an object next to the haptic scene as root + void addObjectExScene(vrpn_int32 objNum); + // vertNum normNum and triNum start at 0 + void setObjectVertex(vrpn_int32 objNum, vrpn_int32 vertNum, vrpn_float32 x, + vrpn_float32 y, vrpn_float32 z); + // NOTE: ghost doesn't take normals, + // and normals still aren't implemented for Hcollide + void setObjectNormal(vrpn_int32 objNum, vrpn_int32 normNum, vrpn_float32 x, + vrpn_float32 y, vrpn_float32 z); + void setObjectTriangle(vrpn_int32 objNum, vrpn_int32 triNum, + vrpn_int32 vert0, vrpn_int32 vert1, vrpn_int32 vert2, + vrpn_int32 norm0 = -1, vrpn_int32 norm1 = -1, + vrpn_int32 norm2 = -1); + void removeObjectTriangle(vrpn_int32 objNum, vrpn_int32 triNum); + // should be called to incorporate the above changes into the + // displayed trimesh + void updateObjectTrimeshChanges(vrpn_int32 objNum); + // set the trimesh's homogen transform matrix (in row major order) + void setObjectTrimeshTransform(vrpn_int32 objNum, + vrpn_float32 homMatrix[16]); + // set position of an object + void setObjectPosition(vrpn_int32 objNum, vrpn_float32 Pos[3]); + // set orientation of an object + void setObjectOrientation(vrpn_int32 objNum, vrpn_float32 axis[3], + vrpn_float32 angle); + // set Scale of an object only x scale is supported at the moment + void setObjectScale(vrpn_int32 objNum, vrpn_float32 Scale[3]); + // remove an object from the scene + void removeObject(vrpn_int32 objNum); + void clearObjectTrimesh(vrpn_int32 objNum); + + /** Functions to organize the scene + * **********************************************************/ + // Change The parent of an object + void moveToParent(vrpn_int32 objNum, vrpn_int32 ParentNum); + // Set the Origin of the haptic device + void setHapticOrigin(vrpn_float32 Pos[3], vrpn_float32 axis[3], + vrpn_float32 angle); + // Set the scale factor of the haptic device + void setHapticScale(vrpn_float32 Scale); + // Set the Origin of the scene + void setSceneOrigin(vrpn_float32 Pos[3], vrpn_float32 axis[3], + vrpn_float32 angle); + // get new ID, use only if wish to use vrpn ids and do not want to manage + // them yourself: ids need to be unique + vrpn_int32 getNewObjectID(); + // make an object touchable or not + void setObjectIsTouchable(vrpn_int32 objNum, vrpn_bool IsTouchable = true); + + // the next time we send a trimesh we will use the following type + void useHcollide(); + void useGhost(); + + // Generalized constraint code. + // Constrains as a spring connected to a point, sliding along a line + // (constraint forces in a plane perpendicular to the line), or + // sliding along a plane (constraint forces only along the plane's + // normal). LineDirection and PlaneNormal should be normalized + // (vector length == 1). + + // Constraints are implemented as force fields, so both cannot + // run at once. + + // XXX it would be safer if changes (especially enable/disable) + // had better relaxation support + + void enableConstraint(vrpn_int32 enable); // zero disables + void setConstraintMode(ConstraintGeometry mode); + void setConstraintPoint(vrpn_float32 point[3]); + void setConstraintLinePoint(vrpn_float32 point[3]); + void setConstraintLineDirection(vrpn_float32 direction[3]); + void setConstraintPlanePoint(vrpn_float32 point[3]); + void setConstraintPlaneNormal(vrpn_float32 normal[3]); + void setConstraintKSpring(vrpn_float32 k); + + // void sendConstraint (vrpn_int32 enable, vrpn_float32 x, + // vrpn_float32 y, vrpn_float32 z, vrpn_float32 kSpr); + + // At the <origin> of the field, user feels the specified <force>. + // As the user moves away from the origin, the force felt changes + // according to the jacobian. If the user moves further than <radius> + // from <origin>, the field cuts out. + + // XXX it would be safer for the field to attenuate rapidly + // from the value at the radius if the user moves beyond the radius + + void sendForceField(vrpn_float32 origin[3], vrpn_float32 force[3], + vrpn_float32 jacobian[3][3], vrpn_float32 radius); + void sendForceField(void); + void stopForceField(void); + + // ajout ONDIM + void startEffect(void); + void stopEffect(void); + // fin ajout ONDIM + + // This routine calls the mainloop of the connection it is on + virtual void mainloop(); + + // (un)Register a callback handler to handle a force change + // and plane equation change and trimesh change + virtual int register_force_change_handler(void *userdata, + vrpn_FORCECHANGEHANDLER handler) + { + return d_change_list.register_handler(userdata, handler); + }; + virtual int unregister_force_change_handler(void *userdata, + vrpn_FORCECHANGEHANDLER handler) + { + return d_change_list.unregister_handler(userdata, handler); + }; + + virtual int register_scp_change_handler(void *userdata, + vrpn_FORCESCPHANDLER handler) + { + return d_scp_change_list.register_handler(userdata, handler); + }; + virtual int unregister_scp_change_handler(void *userdata, + vrpn_FORCESCPHANDLER handler) + { + return d_scp_change_list.unregister_handler(userdata, handler); + }; + + virtual int register_error_handler(void *userdata, + vrpn_FORCEERRORHANDLER handler) + { + return d_error_change_list.register_handler(userdata, handler); + }; + virtual int unregister_error_handler(void *userdata, + vrpn_FORCEERRORHANDLER handler) + { + return d_error_change_list.unregister_handler(userdata, handler); + }; + +protected: + vrpn_Callback_List<vrpn_FORCECB> d_change_list; + static int VRPN_CALLBACK + handle_force_change_message(void *userdata, vrpn_HANDLERPARAM p); + + vrpn_Callback_List<vrpn_FORCESCPCB> d_scp_change_list; + static int VRPN_CALLBACK + handle_scp_change_message(void *userdata, vrpn_HANDLERPARAM p); + + vrpn_Callback_List<vrpn_FORCEERRORCB> d_error_change_list; + static int VRPN_CALLBACK + handle_error_change_message(void *userdata, vrpn_HANDLERPARAM p); + + // constraint types + + vrpn_int32 d_conEnabled; + ConstraintGeometry d_conMode; + vrpn_float32 d_conPoint[3]; + vrpn_float32 d_conLinePoint[3]; + vrpn_float64 d_conLineDirection[3]; // (assumed) normalized + vrpn_float32 d_conPlanePoint[3]; + vrpn_float64 d_conPlaneNormal[3]; // (assumed) normalized + vrpn_float32 d_conKSpring; + + // haptic scene variables + vrpn_int32 m_NextAvailableObjectID; + + // utility functions + + void send(const char *msgbuf, vrpn_int32 len, vrpn_int32 type); +// Takes a pointer to a buffer, the length of the buffer, and the +// vrpn message type id to send. Sends the buffer reliably +// over connection AND DELETES THE BUFFER. + +#ifdef FD_SPRINGS_AS_FIELDS + + void constraintToForceField(void); +// takes the current cs_* settings and translates them into +// a force field. + +#endif // FD_SPRINGS_AS_FIELDS +}; + +#endif diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_Forwarder.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_Forwarder.h new file mode 100644 index 0000000..df9f08f --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_Forwarder.h @@ -0,0 +1,132 @@ +#ifndef VRPN_FORWARDER_H +#define VRPN_FORWARDER_H + +#include "vrpn_Configure.h" // for VRPN_API, VRPN_CALLBACK +#include "vrpn_Connection.h" // for vrpn_Connection (ptr only), etc +#include "vrpn_Types.h" // for vrpn_int32, vrpn_uint32 + +// vrpn_Forwarder +// Tom Hudson, August 1998 +// +// Class to take messages from one VRPN connection and send them out +// on another. + +// Design decisions: +// Scale of forwarding: +// Could write a forwarder per stream (serviceName per instantiation) +// or per connection (serviceName per forward() call). Latter is +// more flexible, but takes up more memory if few distinct streams need +// to be forwarded, has a clunkier syntax, ... +// Flexibility of naming: +// We allow users to take in a message of one name and send it out +// with another name; this is useful and dangerous. + +// Faults: +// There is currently no way to specify vrpn_SENDER_ANY as a source. +// If we do, it isn't clear what sender to specify to the destination. + +class VRPN_API vrpn_ConnectionForwarder { + +public: + // Set up to forward messages from <source> to <destination> + vrpn_ConnectionForwarder(vrpn_Connection *source, + vrpn_Connection *destination); + + ~vrpn_ConnectionForwarder(void); + + // Begins forwarding of a message type. + // Forwards messages of type <sourceName> and sender <sourceServiceName>, + // sending them out as type <destinationName> from sender + // <destinationServiceName>. + // Return nonzero on failure. + int forward(const char *sourceName, const char *sourceServiceName, + const char *destinationName, const char *destinationServiceName, + vrpn_uint32 classOfService = vrpn_CONNECTION_RELIABLE); + + // Stops forwarding of a message type. + // Return nonzero on failure. + int unforward(const char *sourceName, const char *sourceServiceName, + const char *destinationName, + const char *destinationServiceName, + vrpn_uint32 classOfService = vrpn_CONNECTION_RELIABLE); + +private: + static int VRPN_CALLBACK handle_message(void *, vrpn_HANDLERPARAM); + + // Translates (id, serviceId) from source to destination + // and looks up intended class of service. + // Returns nonzero if lookup fails. + vrpn_int32 map(vrpn_int32 *id, vrpn_int32 *serviceId, + vrpn_uint32 *serviceClass); + + vrpn_Connection *d_source; + vrpn_Connection *d_destination; + + struct vrpn_CONNECTIONFORWARDERRECORD { + + vrpn_CONNECTIONFORWARDERRECORD(vrpn_Connection *, vrpn_Connection *, + const char *, const char *, const char *, + const char *, vrpn_uint32); + + vrpn_int32 sourceId; // source's type id + vrpn_int32 sourceServiceId; // source's sender id + vrpn_int32 destinationId; // destination's type id + vrpn_int32 destinationServiceId; // destination's sender id + vrpn_uint32 classOfService; // class of service to send + + vrpn_CONNECTIONFORWARDERRECORD *next; + }; + + vrpn_CONNECTIONFORWARDERRECORD *d_list; +}; + +class VRPN_API vrpn_StreamForwarder { + +public: + // Set up to forward messages from sender <sourceServiceName> on <source> + // to <destination>, as if from sender <destinationServiceName> + vrpn_StreamForwarder(vrpn_Connection *source, const char *sourceServiceName, + vrpn_Connection *destination, + const char *destinationServiceName); + + ~vrpn_StreamForwarder(void); + + // Begins forwarding of a message type. + // Return nonzero on failure. + int forward(const char *sourceName, const char *destinationName, + vrpn_uint32 classOfService = vrpn_CONNECTION_RELIABLE); + + // Stops forwarding of a message type. + // Return nonzero on failure. + int unforward(const char *sourceName, const char *destinationName, + vrpn_uint32 classOfService = vrpn_CONNECTION_RELIABLE); + +private: + static int VRPN_CALLBACK handle_message(void *, vrpn_HANDLERPARAM); + + // Translates (id, serviceId) from source to destination + // and looks up intended class of service. + // Returns nonzero if lookup fails. + vrpn_int32 map(vrpn_int32 *id, vrpn_uint32 *serviceClass); + + vrpn_Connection *d_source; + vrpn_int32 d_sourceService; + vrpn_Connection *d_destination; + vrpn_int32 d_destinationService; + + struct vrpn_STREAMFORWARDERRECORD { + + vrpn_STREAMFORWARDERRECORD(vrpn_Connection *, vrpn_Connection *, + const char *, const char *, vrpn_uint32); + + vrpn_int32 sourceId; // source's type id + vrpn_int32 destinationId; // destination's type id + vrpn_uint32 classOfService; // class of service to send + + vrpn_STREAMFORWARDERRECORD *next; + }; + + vrpn_STREAMFORWARDERRECORD *d_list; +}; + +#endif // VRPN_FORWARDER_H diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_ForwarderController.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_ForwarderController.h new file mode 100644 index 0000000..807b496 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_ForwarderController.h @@ -0,0 +1,131 @@ +#ifndef VRPN_FORWARDER_CONTROLLER_H +#define VRPN_FORWARDER_CONTROLLER_H + +#include "vrpn_Configure.h" // for VRPN_API, VRPN_CALLBACK +#include "vrpn_Types.h" // for vrpn_int32 +// vrpn_Forwarder_Controller +// +// Tom Hudson, September 1998 + +// Written to allow remote a client to tell a server to open another port +// and forward some messages on it to a friend of the client's. + +// Any server that wishes to implement this needs only construct a +// vrpn_Forwarder_Server for each server connection it has open and +// to call the vrpn_Forwarder_Server mainloop frequently. + +// Clients can construct a vrpn_Forwarder_Controller on a connection +// and call start_remote_forwarding(port) to tell the server to open +// <port>, then call forward_message_type(port, name) to start forwarding +// messages of the given name. + +// This isn't an ideal solution, because it means clients need access to +// the names of the message, which they are normally insulated from. + +// Some of the fancier options of the Forwarder (renaming services or +// types, changing class of service) are hidden from the user; this +// is meant to be a simple interface and simple first implementation. + +// New Forwarder_Servers are NOT constructed on connections that a +// Forwarder_Server opens, so clients that are only listening to a +// forwarded stream cannot open new forwarders for still other clients to +// listen to. + +class VRPN_API vrpn_ConnectionForwarder; +class VRPN_API vrpn_Connection; +struct vrpn_HANDLERPARAM; + +class VRPN_API vrpn_Forwarder_Brain { + +public: + vrpn_Forwarder_Brain(vrpn_Connection *); + virtual ~vrpn_Forwarder_Brain(void); + + // Tell a Forwarder_Server to open a vrpn_Connection on remote_port. + + virtual void start_remote_forwarding(vrpn_int32 remote_port) = 0; + + // Tell a Forwarder_Server to begin forwarding messages of type + // message_type from the sender named service_name over remote_port. + + virtual void forward_message_type(vrpn_int32 remote_port, + const char *service_name, + const char *message_type) = 0; + +protected: + vrpn_Connection *d_connection; + + vrpn_int32 d_myId; + + vrpn_int32 d_start_forwarding_type; + vrpn_int32 d_forward_type; + + static char *encode_start_remote_forwarding(vrpn_int32 *length, + vrpn_int32 remote_port); + static char *encode_forward_message_type(vrpn_int32 *length, + vrpn_int32 remote_port, + const char *service_name, + const char *message_type); + + static void decode_start_remote_forwarding(const char *buffer, + vrpn_int32 *remote_port); + static void decode_forward_message_type(const char *buffer, + vrpn_int32 *remote_port, + char **service_name, + char **message_type); +}; + +// Server class + +// VRPN server builders who want to enable remotely-controlled forwarding in +// their server need only create a Forwarder_Server on their server Connections +// and call its mainloop() regularly. + +struct vrpn_Forwarder_List { + vrpn_Forwarder_List *next; + vrpn_int32 port; + vrpn_Connection *connection; + vrpn_ConnectionForwarder *forwarder; +}; + +class VRPN_API vrpn_Forwarder_Server : public vrpn_Forwarder_Brain { + +public: + vrpn_Forwarder_Server(vrpn_Connection *); + virtual ~vrpn_Forwarder_Server(void); + + virtual void mainloop(void); + + virtual void start_remote_forwarding(vrpn_int32 remote_port); + + virtual void forward_message_type(vrpn_int32 remote_port, + const char *service_name, + const char *message_type); + +protected: + vrpn_Forwarder_List *d_myForwarders; + +private: + static int VRPN_CALLBACK handle_start(void *, vrpn_HANDLERPARAM); + static int VRPN_CALLBACK handle_forward(void *, vrpn_HANDLERPARAM); +}; + +// Client class + +// Construct a Forwarder_Controller on a connection to control a +// Forwarder_Server on its far end. + +class VRPN_API vrpn_Forwarder_Controller : public vrpn_Forwarder_Brain { + +public: + vrpn_Forwarder_Controller(vrpn_Connection *); + ~vrpn_Forwarder_Controller(void); + + virtual void start_remote_forwarding(vrpn_int32 remote_port); + + virtual void forward_message_type(vrpn_int32 remote_port, + const char *service_name, + const char *message_type); +}; + +#endif // VRPN_FORWARDER_CONTROLLER_H diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_FunctionGenerator.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_FunctionGenerator.h new file mode 100644 index 0000000..21919ea --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_FunctionGenerator.h @@ -0,0 +1,429 @@ +#ifndef VRPN_FUNCTIONGENERATOR_H +#define VRPN_FUNCTIONGENERATOR_H + +#include <stddef.h> // for NULL + +#include "vrpn_Analog.h" // for vrpn_CHANNEL_MAX +#include "vrpn_BaseClass.h" // for vrpn_Callback_List, etc +#include "vrpn_Configure.h" // for VRPN_CALLBACK, VRPN_API +#include "vrpn_Connection.h" +#include "vrpn_Shared.h" // for timeval +#include "vrpn_Types.h" // for vrpn_int32, vrpn_uint32, etc + + +const vrpn_uint32 vrpn_FUNCTION_CHANNELS_MAX = vrpn_CHANNEL_MAX; + +extern const char* vrpn_FUNCTION_MESSAGE_TYPE_CHANNEL; +extern const char* vrpn_FUNCTION_MESSAGE_TYPE_CHANNEL_REQUEST; +extern const char* vrpn_FUNCTION_MESSAGE_TYPE_ALL_CHANNEL_REQUEST; +extern const char* vrpn_FUNCTION_MESSAGE_TYPE_SAMPLE_RATE; +extern const char* vrpn_FUNCTION_MESSAGE_TYPE_START; +extern const char* vrpn_FUNCTION_MESSAGE_TYPE_STOP; +extern const char* vrpn_FUNCTION_MESSAGE_TYPE_CHANNEL_REPLY; +extern const char* vrpn_FUNCTION_MESSAGE_TYPE_START_REPLY; +extern const char* vrpn_FUNCTION_MESSAGE_TYPE_STOP_REPLY; +extern const char* vrpn_FUNCTION_MESSAGE_TYPE_SAMPLE_RATE_REPLY; +extern const char* vrpn_FUNCTION_MESSAGE_TYPE_INTERPRETER_REQUEST; +extern const char* vrpn_FUNCTION_MESSAGE_TYPE_INTERPRETER_REPLY; +extern const char* vrpn_FUNCTION_MESSAGE_TYPE_ERROR; + +class VRPN_API vrpn_FunctionGenerator_channel; + +// a base class for all functions that vrpn_FunctionGenerator +// can generate +class VRPN_API vrpn_FunctionGenerator_function +{ +public: + virtual ~vrpn_FunctionGenerator_function() = 0; + + // concrete classes should implement this to generate the appropriate + // values for the function the class represents. nValue samples should be + // generated beginning at time startTime, and these samples should be placed + // in the provided buffer. several data members of 'channel' can modify the + // times for which values are generated. + // returns the time of the last sample generated. + virtual vrpn_float32 generateValues( vrpn_float32* buf, vrpn_uint32 nValues, + vrpn_float32 startTime, vrpn_float32 sampleRate, + vrpn_FunctionGenerator_channel* channel ) const = 0; + + // concrete classes should implement this to encode their + // function information into the specified buffer 'buf'. The + // remaining length in the buffer is stored in 'len'. At return, + // 'len' should be set to the number of characters remaining in the + // buffer and the number of characters written should be returned, + // save in case of failure, when negative should be returned. + virtual vrpn_int32 encode_to( char** buf, vrpn_int32& len ) const = 0; + + // concrete classes should implement this to decode their + // function information from the specified buffer. The remaining + // length in the buffer is stored in 'len'. At return, 'len' should + // be set to the number of characters remaining in the the buffer + // and the number of characters read should be returned, save in case + // of failure, when negative should be returned + virtual vrpn_int32 decode_from( const char** buf, vrpn_int32& len ) = 0; + + virtual vrpn_FunctionGenerator_function* clone( ) const = 0; + + // used when encoding/decoding to specify function type + enum FunctionCode + { + FUNCTION_NULL = 0, + FUNCTION_SCRIPT = 1 + }; + + // concrete classes should implement this to return the + // appropriate FunctionCode, from above + virtual FunctionCode getFunctionCode( ) const = 0; + + +}; + + +// the NULL function: generate all zeros +class VRPN_API vrpn_FunctionGenerator_function_NULL +: public virtual vrpn_FunctionGenerator_function +{ +public: + vrpn_FunctionGenerator_function_NULL( ) { } + virtual ~vrpn_FunctionGenerator_function_NULL( ) { } + + vrpn_float32 generateValues( vrpn_float32* buf, vrpn_uint32 nValues, + vrpn_float32 startTime, vrpn_float32 sampleRate, + vrpn_FunctionGenerator_channel* channel ) const; + + vrpn_int32 encode_to( char** buf, vrpn_int32& len ) const; + vrpn_int32 decode_from( const char** buf, vrpn_int32& len ); + vrpn_FunctionGenerator_function* clone( ) const; +protected: + FunctionCode getFunctionCode( ) const { return FUNCTION_NULL; } + +}; + + +class VRPN_API vrpn_FunctionGenerator_function_script +: public virtual vrpn_FunctionGenerator_function +{ +public: + vrpn_FunctionGenerator_function_script( ); + vrpn_FunctionGenerator_function_script( const char* script ); + vrpn_FunctionGenerator_function_script( const vrpn_FunctionGenerator_function_script& ); + virtual ~vrpn_FunctionGenerator_function_script(); + + virtual vrpn_float32 generateValues( vrpn_float32* buf, vrpn_uint32 nValues, + vrpn_float32 startTime, vrpn_float32 sampleRate, + vrpn_FunctionGenerator_channel* channel ) const; + + vrpn_int32 encode_to( char** buf, vrpn_int32& len ) const; + vrpn_int32 decode_from( const char** buf, vrpn_int32& len ); + vrpn_FunctionGenerator_function* clone( ) const; + + // returns a copy of the script. caller is responsible for + // calling 'delete []' to free the returned string. + char* getScript( ) const; + + const char* getConstScript( ) const + { return script; } + + vrpn_bool setScript( char* script ); + +protected: + FunctionCode getFunctionCode( ) const { return FUNCTION_SCRIPT; } + char* script; + +}; + + +class VRPN_API vrpn_FunctionGenerator_channel +{ + // note: the channel will delete its function when the function is + // no longer needed (e.g., when the channel is destroyed or the function changed) +public: + vrpn_FunctionGenerator_channel( ); + vrpn_FunctionGenerator_channel( vrpn_FunctionGenerator_function* function ); + virtual ~vrpn_FunctionGenerator_channel( ); + + const vrpn_FunctionGenerator_function* getFunction( ) const { return function; } + void setFunction( vrpn_FunctionGenerator_function* function ); + + // these return zero on success and negative on some failure. + vrpn_int32 encode_to( char** buf, vrpn_int32& len ) const; + vrpn_int32 decode_from( const char** buf, vrpn_int32& len ); + +protected: + vrpn_FunctionGenerator_function* function; + +}; + + +class VRPN_API vrpn_FunctionGenerator : public vrpn_BaseClass +{ +public: + vrpn_FunctionGenerator( const char* name, vrpn_Connection* c = NULL ); + virtual ~vrpn_FunctionGenerator( ); + + // returns the requested channel, or null if channelNum is + // greater than the maximum number of channels. + const vrpn_FunctionGenerator_channel* getChannel( vrpn_uint32 channelNum ); + + vrpn_uint32 getNumChannels( ) const { return numChannels; } + + vrpn_float32 getSampleRate( ) + { return sampleRate; } + + enum FGError + { + NO_FG_ERROR = 0, + INTERPRETER_ERROR = 1, // the interpreter (for script) had some problem + TAKING_TOO_LONG = 2, // samples were not generated quickly enough + INVALID_RESULT_QUANTITY = 3, // an incorrect number of values was generated + INVALID_RESULT_RANGE = 4 // generated values were out of range + }; + +protected: + vrpn_float32 sampleRate; // samples per second + vrpn_uint32 numChannels; + vrpn_FunctionGenerator_channel* channels[vrpn_FUNCTION_CHANNELS_MAX]; + + vrpn_int32 channelMessageID; // id for channel message (remote -> server) + vrpn_int32 requestChannelMessageID; // id for messages requesting channel info be sent (remote -> server) + vrpn_int32 requestAllChannelsMessageID; // id for messages requesting channel info of all channels be sent (remote -> server) + vrpn_int32 sampleRateMessageID; // id for message to request a sampling rate (remote -> server) + vrpn_int32 startFunctionMessageID; // id for message to start generating the function (remote -> server) + vrpn_int32 stopFunctionMessageID; // id for message to stop generating the function (remote -> server) + vrpn_int32 requestInterpreterMessageID; // id for message to request interpreter description (remote -> server) + + vrpn_int32 channelReplyMessageID; // id for reply for channel message (server -> remote) + vrpn_int32 startFunctionReplyMessageID; // id for reply to start-function message (server -> remote) + vrpn_int32 stopFunctionReplyMessageID; // id for reply to stop-function message (server -> remote) + vrpn_int32 sampleRateReplyMessageID; // id for reply to request-sample-rate message (server -> remote) + vrpn_int32 interpreterReplyMessageID; // id for reply to request-interpreter message (server -> remote) + vrpn_int32 errorMessageID; // id for error reports + + vrpn_int32 gotConnectionMessageID; // for new-connection message + + virtual int register_types( ); + + char msgbuf[vrpn_CONNECTION_TCP_BUFLEN]; + struct timeval timestamp; +}; // end class vrpn_FunctionGenerator + + +class VRPN_API vrpn_FunctionGenerator_Server : public vrpn_FunctionGenerator +{ +public: + vrpn_FunctionGenerator_Server( const char* name, vrpn_uint32 numChannels = vrpn_FUNCTION_CHANNELS_MAX, vrpn_Connection* c = NULL ); + virtual ~vrpn_FunctionGenerator_Server( ); + + virtual void mainloop( ); + + // sub-classes should implement these functions. they will be called when messages + // are received for the particular request. at the end of these functions, servers + // should call the appropriate send*Reply function, even (especially!) if the requested + // change was rejected. + virtual void setChannel( vrpn_uint32 channelNum, vrpn_FunctionGenerator_channel* channel ) = 0; + virtual void start( ) = 0; + virtual void stop( ) = 0; + virtual void setSampleRate( vrpn_float32 rate ) = 0; + + vrpn_uint32 setNumChannels( vrpn_uint32 numChannels ); + + // sub-classes should implement this function to provide a description of the type + // of interpreter used to interpret vrpn_FunctionGenerator_function_script + virtual const char* getInterpreterDescription( ) = 0; + + // sub-classes should not override these methods; these take care of + // receiving requests + static int VRPN_CALLBACK handle_channel_message( void* userdata, vrpn_HANDLERPARAM p ); + static int VRPN_CALLBACK handle_channelRequest_message( void* userdata, vrpn_HANDLERPARAM p ); + static int VRPN_CALLBACK handle_allChannelRequest_message( void* userdata, vrpn_HANDLERPARAM p ); + static int VRPN_CALLBACK handle_start_message( void* userdata, vrpn_HANDLERPARAM p ); + static int VRPN_CALLBACK handle_stop_message( void* userdata, vrpn_HANDLERPARAM p ); + static int VRPN_CALLBACK handle_sample_rate_message( void* userdata, vrpn_HANDLERPARAM p ); + static int VRPN_CALLBACK handle_interpreter_request_message( void* userdata, vrpn_HANDLERPARAM p ); + +protected: + + // sub-classes should call these functions to inform the remote side of + // changes (or of non-changes, when a requested change cannot be accepted). + // returns 0 on success and negative on failure. + int sendChannelReply( vrpn_uint32 channelNum ); + int sendSampleRateReply( ); + int sendStartReply( vrpn_bool started ); + int sendStopReply( vrpn_bool stopped ); + int sendInterpreterDescription( ); + + // sub-classes should use this function to report an error in function generation + int sendError( FGError error, vrpn_int32 channel ); + + vrpn_int32 decode_channel( const char* buf, const vrpn_int32 len, vrpn_uint32& channelNum, + vrpn_FunctionGenerator_channel& channel ); + vrpn_int32 decode_channel_request( const char* buf, const vrpn_int32 len, vrpn_uint32& channelNum ); + vrpn_int32 decode_sampleRate_request( const char* buf, const vrpn_int32 len, vrpn_float32& sampleRate ); + + vrpn_int32 encode_channel_reply( char** buf, vrpn_int32& len, const vrpn_uint32 channelNum ); + vrpn_int32 encode_start_reply( char** buf, vrpn_int32& len, const vrpn_bool isStarted ); + vrpn_int32 encode_stop_reply( char** buf, vrpn_int32& len, const vrpn_bool isStopped ); + vrpn_int32 encode_sampleRate_reply( char** buf, vrpn_int32& len, const vrpn_float32 sampleRate ); + vrpn_int32 encode_interpreterDescription_reply( char** buf, vrpn_int32& len, const char* desc ); + vrpn_int32 encode_error_report( char** buf, vrpn_int32& len, const FGError err, const vrpn_int32 channel ); + +}; // end class vrpn_FunctionGenerator_Server + + +//---------------------------------------------------------- +// ************** Users deal with the following ************* + +// User routine to handle function-generator channel replies. This +// is called when the function-generator server replies with new +// setting for some channel. +typedef struct _vrpn_FUNCTION_CHANNEL_REPLY_CB +{ + struct timeval msg_time; // Time of the report + vrpn_uint32 channelNum; // Which channel is being reported + vrpn_FunctionGenerator_channel* channel; +} vrpn_FUNCTION_CHANNEL_REPLY_CB; +typedef void (VRPN_CALLBACK *vrpn_FUNCTION_CHANGE_REPLY_HANDLER)( void *userdata, + const vrpn_FUNCTION_CHANNEL_REPLY_CB info ); + +// User routine to handle function-generator start replies. This +// is called when the function-generator server reports that it +// has started generating functions. +typedef struct _vrpn_FUNCTION_START_REPLY_CB +{ + struct timeval msg_time; // Time of the report + vrpn_bool isStarted; // did the function generation start? +} vrpn_FUNCTION_START_REPLY_CB; +typedef void (VRPN_CALLBACK *vrpn_FUNCTION_START_REPLY_HANDLER)( void *userdata, + const vrpn_FUNCTION_START_REPLY_CB info ); + +// User routine to handle function-generator stop replies. This +// is called when the function-generator server reports that it +// has stopped generating functions. +typedef struct _vrpn_FUNCTION_STOP_REPLY_CB +{ + struct timeval msg_time; // Time of the report + vrpn_bool isStopped; // did the function generation stop? +} vrpn_FUNCTION_STOP_REPLY_CB; +typedef void (VRPN_CALLBACK *vrpn_FUNCTION_STOP_REPLY_HANDLER)( void *userdata, + const vrpn_FUNCTION_STOP_REPLY_CB info ); + +// User routine to handle function-generator sample-rate replies. +// This is called when the function-generator server reports that +// the function-generation sample rate has changed. +typedef struct _vrpn_FUNCTION_SAMPLE_RATE_REPLY_CB +{ + struct timeval msg_time; // Time of the report + vrpn_float32 sampleRate; +} vrpn_FUNCTION_SAMPLE_RATE_REPLY_CB; +typedef void (VRPN_CALLBACK *vrpn_FUNCTION_SAMPLE_RATE_REPLY_HANDLER)( void *userdata, + const vrpn_FUNCTION_SAMPLE_RATE_REPLY_CB info ); + + +// User routine to handle function-generator interpreter-description replies. +// This is called when the function-generator server reports the description +// of its interpreter. +typedef struct _vrpn_FUNCTION_INTERPRETER_REPLY_CB +{ + struct timeval msg_time; // Time of the report + char* description; +} vrpn_FUNCTION_INTERPRETER_REPLY_CB; +typedef void (VRPN_CALLBACK *vrpn_FUNCTION_INTERPRETER_REPLY_HANDLER)( void *userdata, + const vrpn_FUNCTION_INTERPRETER_REPLY_CB info ); + + +// User routine to handle function-generator error notifications. +// This is called when the function-generator server reports some +// error in the generation of a function. +typedef struct _vrpn_FUNCTION_ERROR_CB +{ + struct timeval msg_time; // Time of the report + vrpn_FunctionGenerator::FGError err; + vrpn_int32 channel; +} vrpn_FUNCTION_ERROR_CB; +typedef void (VRPN_CALLBACK *vrpn_FUNCTION_ERROR_HANDLER)( void *userdata, + const vrpn_FUNCTION_ERROR_CB info ); + + +class VRPN_API vrpn_FunctionGenerator_Remote : public vrpn_FunctionGenerator +{ +public: + vrpn_FunctionGenerator_Remote( const char* name, vrpn_Connection* c = NULL ); + virtual ~vrpn_FunctionGenerator_Remote( ) { } + + int setChannel( const vrpn_uint32 channelNum, const vrpn_FunctionGenerator_channel* channel ); + int requestChannel( const vrpn_uint32 channelNum ); + int requestAllChannels( ); + int requestStart( ); + int requestStop( ); + int requestSampleRate( const vrpn_float32 rate ); + int requestInterpreterDescription( ); + + virtual void mainloop( ); + + // (un)Register a callback handler to handle a channel reply + virtual int register_channel_reply_handler( void *userdata, + vrpn_FUNCTION_CHANGE_REPLY_HANDLER handler ); + virtual int unregister_channel_reply_handler( void *userdata, + vrpn_FUNCTION_CHANGE_REPLY_HANDLER handler ); + + // (un)Register a callback handler to handle a start reply + virtual int register_start_reply_handler( void *userdata, + vrpn_FUNCTION_START_REPLY_HANDLER handler ); + virtual int unregister_start_reply_handler( void *userdata, + vrpn_FUNCTION_START_REPLY_HANDLER handler ); + + // (un)Register a callback handler to handle a stop reply + virtual int register_stop_reply_handler( void *userdata, + vrpn_FUNCTION_STOP_REPLY_HANDLER handler ); + virtual int unregister_stop_reply_handler( void *userdata, + vrpn_FUNCTION_STOP_REPLY_HANDLER handler ); + + // (un)Register a callback handler to handle a sample-rate reply + virtual int register_sample_rate_reply_handler( void *userdata, + vrpn_FUNCTION_SAMPLE_RATE_REPLY_HANDLER handler ); + virtual int unregister_sample_rate_reply_handler( void *userdata, + vrpn_FUNCTION_SAMPLE_RATE_REPLY_HANDLER handler ); + + // (un)Register a callback handler to handle an interpreter message + virtual int register_interpreter_reply_handler( void *userdata, + vrpn_FUNCTION_INTERPRETER_REPLY_HANDLER handler ); + virtual int unregister_interpreter_reply_handler( void *userdata, + vrpn_FUNCTION_INTERPRETER_REPLY_HANDLER handler ); + + virtual int register_error_handler( void* userdata, + vrpn_FUNCTION_ERROR_HANDLER handler ); + virtual int unregister_error_handler( void* userdata, + vrpn_FUNCTION_ERROR_HANDLER handler ); + + static int VRPN_CALLBACK handle_channelReply_message( void* userdata, vrpn_HANDLERPARAM p ); + static int VRPN_CALLBACK handle_startReply_message( void* userdata, vrpn_HANDLERPARAM p ); + static int VRPN_CALLBACK handle_stopReply_message( void* userdata, vrpn_HANDLERPARAM p ); + static int VRPN_CALLBACK handle_sampleRateReply_message( void* userdata, vrpn_HANDLERPARAM p ); + static int VRPN_CALLBACK handle_interpreterReply_message( void* userdata, vrpn_HANDLERPARAM p ); + static int VRPN_CALLBACK handle_error_message( void* userdata, vrpn_HANDLERPARAM p ); + +protected: + vrpn_Callback_List<vrpn_FUNCTION_CHANNEL_REPLY_CB> channel_reply_list; + vrpn_Callback_List<vrpn_FUNCTION_START_REPLY_CB> start_reply_list; + vrpn_Callback_List<vrpn_FUNCTION_STOP_REPLY_CB> stop_reply_list; + vrpn_Callback_List<vrpn_FUNCTION_SAMPLE_RATE_REPLY_CB> sample_rate_reply_list; + vrpn_Callback_List<vrpn_FUNCTION_INTERPRETER_REPLY_CB> interpreter_reply_list; + vrpn_Callback_List<vrpn_FUNCTION_ERROR_CB> error_list; + + + vrpn_int32 decode_channel_reply( const char* buf, const vrpn_int32 len, vrpn_uint32& channelNum ); + vrpn_int32 decode_start_reply( const char* buf, const vrpn_int32 len, vrpn_bool& isStarted ); + vrpn_int32 decode_stop_reply( const char* buf, const vrpn_int32 len, vrpn_bool& isStopped ); + vrpn_int32 decode_sampleRate_reply( const char* buf, const vrpn_int32 len ); + vrpn_int32 decode_interpreterDescription_reply( const char* buf, const vrpn_int32 len, char** desc ); + vrpn_int32 decode_error_reply( const char* buf, const vrpn_int32 len, FGError& error, vrpn_int32& channel ); + + vrpn_int32 encode_channel( char** buf, vrpn_int32& len, const vrpn_uint32 channelNum, + const vrpn_FunctionGenerator_channel* channel ); + vrpn_int32 encode_channel_request( char** buf, vrpn_int32& len, const vrpn_uint32 channelNum ); + vrpn_int32 encode_sampleRate_request( char** buf, vrpn_int32& len, const vrpn_float32 sampleRate ); + +}; // end class vrpn_FunctionGenerator_Remote + + +#endif // VRPN_FUNCTIONGENERATOR_H diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_Imager.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_Imager.h new file mode 100644 index 0000000..8e85c6a --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_Imager.h @@ -0,0 +1,804 @@ +// ImagerControl (should be built into Imager, because it will always +// be the same device). The app doesn't have to use all of the +// functions if they don't want to. +// XXX Client can sent request for only subregion of image to be sent +// Server may ignore this message. +// XXX Server sets region back to total region when last connection closed. +// XXX Client can request a frame rate from the server. This is passed on +// to the server code as a handled message. Server should reset to the +// default when the last connection is closed. +// XXX Binning +// XXX integration times +// XXX Which data sets to send (nano) + +// ImagerPose (may be a separate physical device from the imager) +// XXX Lets client request new pose for imager + +// XXX When transcoding to a lower-bitcount resolution, should we +// adjust the scale and offset to make best use of the bits? Perhaps +// a local and a global scale and offset? + +#ifndef VRPN_IMAGER_H +#define VRPN_IMAGER_H +#include <stdio.h> // for fprintf, stderr +#include <string.h> // for NULL, memcpy + +#include "vrpn_BaseClass.h" // for vrpn_Callback_List, etc +#include "vrpn_Configure.h" // for VRPN_CALLBACK, VRPN_API +#include "vrpn_Connection.h" +#include "vrpn_Shared.h" // for vrpn_buffer, vrpn_unbuffer, etc +#include "vrpn_Types.h" // for vrpn_uint16, vrpn_int32, etc + +const unsigned vrpn_IMAGER_MAX_CHANNELS = 100; + +/// Set of constants to tell how many points you can put into a region +/// depending on the type you are putting in there. Useful for senders +/// to know how large of a chunk they can send at once. +const unsigned vrpn_IMAGER_MAX_REGIONu8 = + (vrpn_CONNECTION_TCP_BUFLEN + - 8 * sizeof(vrpn_int16) // vrpn_Imager header size + - 6 * sizeof(vrpn_int32)) / // VRPN message header + sizeof(vrpn_uint8); +const unsigned vrpn_IMAGER_MAX_REGIONu16 = + (vrpn_CONNECTION_TCP_BUFLEN + - 8 * sizeof(vrpn_int16) // vrpn_Imager header size + - 6 * sizeof(vrpn_int32)) / // VRPN message header + sizeof(vrpn_uint16); +const unsigned vrpn_IMAGER_MAX_REGIONu12in16 = vrpn_IMAGER_MAX_REGIONu16; +const unsigned vrpn_IMAGER_MAX_REGIONf32 = + (vrpn_CONNECTION_TCP_BUFLEN + - 8 * sizeof(vrpn_int16) // vrpn_Imager header size + - 6 * sizeof(vrpn_int32)) / // VRPN message header + sizeof(vrpn_float32); + +/// Holds the description needed to convert from raw data to values for a +/// channel +class VRPN_API vrpn_Imager_Channel { + friend class vrpn_Imager_Remote; // provides access to compression status + friend class vrpn_Imager_Server; // provides access to compression status + friend class vrpn_Imager_Stream_Buffer; // provides access to + // buffer/unbuffer +public: + vrpn_Imager_Channel(void) + { + name[0] = '\0'; + units[0] = '\0'; + minVal = maxVal = 0.0; + scale = 1; + offset = 0; + d_compression = NONE; + }; + + cName name; //< Name of the data set stored in this channel + cName units; //< Units for the data set stored in this channel + vrpn_float32 minVal, + maxVal; //< Range of possible values for pixels in this channel + vrpn_float32 offset, + scale; //< Values in units are (raw_values * scale) + offset + +protected: + // The following methods are here for the derived classes and are not + // relevant + // to user code. + inline bool buffer(char **insertPt, vrpn_int32 *buflen) const + { + if (vrpn_buffer(insertPt, buflen, minVal) || + vrpn_buffer(insertPt, buflen, maxVal) || + vrpn_buffer(insertPt, buflen, offset) || + vrpn_buffer(insertPt, buflen, scale) || + vrpn_buffer(insertPt, buflen, (vrpn_uint32)d_compression) || + vrpn_buffer(insertPt, buflen, name, sizeof(name)) || + vrpn_buffer(insertPt, buflen, units, sizeof(units))) { + return false; + } + else { + return true; + } + } + + inline bool unbuffer(const char **buffer) + { + vrpn_uint32 compression; + if (vrpn_unbuffer(buffer, &minVal) || vrpn_unbuffer(buffer, &maxVal) || + vrpn_unbuffer(buffer, &offset) || vrpn_unbuffer(buffer, &scale) || + vrpn_unbuffer(buffer, &compression) || + vrpn_unbuffer(buffer, name, sizeof(name)) || + vrpn_unbuffer(buffer, units, sizeof(units))) { + return false; + } + else { + d_compression = (ChannelCompression)compression; + return true; + } + } + + typedef enum { NONE = 0 } ChannelCompression; + ChannelCompression d_compression; +}; + +/// Base class for Imager class +class VRPN_API vrpn_Imager : public vrpn_BaseClass { +public: + vrpn_Imager(const char *name, vrpn_Connection *c = NULL); + + // Data member accessors. + vrpn_int32 nRows(void) const { return d_nRows; }; + vrpn_int32 nCols(void) const { return d_nCols; }; + vrpn_int32 nDepth(void) const { return d_nDepth; }; + vrpn_int32 nChannels(void) const { return d_nChannels; }; + +protected: + vrpn_int32 d_nRows; //< Number of rows in the image + vrpn_int32 d_nCols; //< Number of columns in the image + vrpn_int32 d_nDepth; //< Number of depth stacks in the image + vrpn_int32 d_nChannels; //< Number of image data channels + vrpn_Imager_Channel d_channels[vrpn_IMAGER_MAX_CHANNELS]; + + virtual int register_types(void); + vrpn_int32 d_description_m_id; //< ID of the message type describing the + // range and channels + vrpn_int32 d_begin_frame_m_id; //< ID of the message type describing the + // start of a region + vrpn_int32 d_end_frame_m_id; //< ID of the message type describing the start + // of a region + vrpn_int32 d_discarded_frames_m_id; //< ID of the message type describing + // the discarding of one or more regions + vrpn_int32 d_throttle_frames_m_id; //< ID of the message type requesting + // throttling of sending. + vrpn_int32 d_regionu8_m_id; //< ID of the message type describing a region + // with 8-bit unsigned entries + vrpn_int32 d_regionu12in16_m_id; //< ID of the message type describing a + // region with 12-bit unsigned entries + // packed in 16 bits + vrpn_int32 d_regionu16_m_id; //< ID of the message type describing a region + // with 16-bit unsigned entries + vrpn_int32 d_regionf32_m_id; //< ID of the message type describing a region + // with 32-bit float entries +}; + +class VRPN_API vrpn_Imager_Server : public vrpn_Imager { +public: + vrpn_Imager_Server(const char *name, vrpn_Connection *c, vrpn_int32 nCols, + vrpn_int32 nRows, vrpn_int32 nDepth = 1); + + /// Add a channel to the server, returns index of the channel or -1 on + /// failure. + int add_channel(const char *name, const char *units = "unsigned8bit", + vrpn_float32 minVal = 0, vrpn_float32 maxVal = 255, + vrpn_float32 scale = 1, vrpn_float32 offset = 0); + + /// Servers must send begin/end frame pairs around contiguous sections of + /// the image + // to provide hints to the client about when to refresh displays and such. + // If they can determine when frames are missed, they should also send a + // description of missed frames, telling how many are skipped (default of + // zero means "some but don't know how many"). + bool send_begin_frame(const vrpn_uint16 cMin, const vrpn_uint16 cMax, + const vrpn_uint16 rMin, const vrpn_uint16 rMax, + const vrpn_uint16 dMin = 0, + const vrpn_uint16 dMax = 0, + const struct timeval *time = NULL); + bool send_end_frame(const vrpn_uint16 cMin, const vrpn_uint16 cMax, + const vrpn_uint16 rMin, const vrpn_uint16 rMax, + const vrpn_uint16 dMin = 0, const vrpn_uint16 dMax = 0, + const struct timeval *time = NULL); + bool send_discarded_frames(const vrpn_uint16 count = 0, + const struct timeval *time = NULL); + + /// Pack and send the region as efficiently as possible; strides are in + /// steps of the element being sent. + // These functions each take a pointer to the base of the image to be sent: + // its [0,0] element. + // If rows are being inverted, then we need to know how many rows there are + // in the total image. + bool send_region_using_base_pointer( + vrpn_int16 chanIndex, vrpn_uint16 cMin, vrpn_uint16 cMax, + vrpn_uint16 rMin, vrpn_uint16 rMax, const vrpn_uint8 *data, + vrpn_uint32 colStride, vrpn_uint32 rowStride, vrpn_uint16 nRows = 0, + bool invert_rows = false, vrpn_uint32 depthStride = 0, + vrpn_uint16 dMin = 0, vrpn_uint16 dMax = 0, + const struct timeval *time = NULL); + bool send_region_using_base_pointer( + vrpn_int16 chanIndex, vrpn_uint16 cMin, vrpn_uint16 cMax, + vrpn_uint16 rMin, vrpn_uint16 rMax, const vrpn_uint16 *data, + vrpn_uint32 colStride, vrpn_uint32 rowStride, vrpn_uint16 nRows = 0, + bool invert_rows = false, vrpn_uint32 depthStride = 0, + vrpn_uint16 dMin = 0, vrpn_uint16 dMax = 0, + const struct timeval *time = NULL); + bool send_region_using_base_pointer( + vrpn_int16 chanIndex, vrpn_uint16 cMin, vrpn_uint16 cMax, + vrpn_uint16 rMin, vrpn_uint16 rMax, const vrpn_float32 *data, + vrpn_uint32 colStride, vrpn_uint32 rowStride, vrpn_uint16 nRows = 0, + bool invert_rows = false, vrpn_uint32 depthStride = 0, + vrpn_uint16 dMin = 0, vrpn_uint16 dMax = 0, + const struct timeval *time = NULL); + + /// Pack and send the region as efficiently as possible; strides are in + /// steps of the element being sent. + // These functions each take a pointer to the first of the data values to be + // sent. This is a + // pointer to the [cMin, rMin] element of the image to be sent. Note that + // if the Y value is inverted, + // this will NOT be a pointer to the beginning of the data block, but rather + // the the beginning of + // the last line in the data block. Note that rowStride will be less than + // the number of rows in the + // whole image if the data is tightly packed into a block and the region + // does not cover all columns. + bool send_region_using_first_pointer( + vrpn_int16 chanIndex, vrpn_uint16 cMin, vrpn_uint16 cMax, + vrpn_uint16 rMin, vrpn_uint16 rMax, const vrpn_uint8 *data, + vrpn_uint32 colStride, vrpn_uint32 rowStride, vrpn_uint16 nRows = 0, + bool invert_rows = false, vrpn_uint32 depthStride = 0, + vrpn_uint16 dMin = 0, vrpn_uint16 dMax = 0, + const struct timeval *time = NULL); + bool send_region_using_first_pointer( + vrpn_int16 chanIndex, vrpn_uint16 cMin, vrpn_uint16 cMax, + vrpn_uint16 rMin, vrpn_uint16 rMax, const vrpn_uint16 *data, + vrpn_uint32 colStride, vrpn_uint32 rowStride, vrpn_uint16 nRows = 0, + bool invert_rows = false, vrpn_uint32 depthStride = 0, + vrpn_uint16 dMin = 0, vrpn_uint16 dMax = 0, + const struct timeval *time = NULL); + bool send_region_using_first_pointer( + vrpn_int16 chanIndex, vrpn_uint16 cMin, vrpn_uint16 cMax, + vrpn_uint16 rMin, vrpn_uint16 rMax, const vrpn_float32 *data, + vrpn_uint32 colStride, vrpn_uint32 rowStride, vrpn_uint16 nRows = 0, + bool invert_rows = false, vrpn_uint32 depthStride = 0, + vrpn_uint16 dMin = 0, vrpn_uint16 dMax = 0, + const struct timeval *time = NULL); + + /// Set the resolution to a different value than it had been before. + /// Returns true on success. + bool set_resolution(vrpn_int32 nCols, vrpn_int32 nRows, + vrpn_int32 nDepth = 1); + + /// Sends a description of the imager so the remote can process the region + /// messages + bool send_description(void); + + /// Handle baseclass ping/pong messages + virtual void mainloop(void); + +protected: + bool d_description_sent; //< Has the description message been sent? + vrpn_int32 d_frames_to_send; //< Set to -1 if continuous, zero or positive + // tells how many to send and then start + // dropping + vrpn_uint16 d_dropped_due_to_throttle; //< Number of frames dropped due to + // the throttle request + + // This method makes sure we send a description whenever we get a ping from + // a client object. + static int VRPN_CALLBACK + handle_ping_message(void *userdata, vrpn_HANDLERPARAM p); + + // This method handles requests to throttle the number of frames. + static int VRPN_CALLBACK + handle_throttle_message(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_last_drop_message(void *userdata, vrpn_HANDLERPARAM p); +}; + +class VRPN_API vrpn_ImagerPose : public vrpn_BaseClass { +public: + vrpn_ImagerPose(const char *name, vrpn_Connection *c = NULL); + + /// Returns the origin of the coordinate system, + // the location of the corner of the (0,0,0) pixel. Note that + // the pixel coordinate is centered in that pixel, but that the + // pixel extends a half-pixel into the "negative" coordinates. + void get_origin(vrpn_float64 *origin) const + { + memcpy(origin, d_origin, sizeof(d_origin)); + } + + /// This is the total span of the image in columns; + // it is how far and in what direction to go from the origin + // of the image to one pixel past the pixel at the end of + // the column that (0,0,0) is in: this is the total image + // width. + void get_dCol(vrpn_float64 *dCol) const + { + memcpy(dCol, d_dCol, sizeof(d_dCol)); + } + + /// This is the total span of the image in rows; + // it is how far and in what direction to go from the origin + // of the image to one pixel past the pixel at the end of + // the row that (0,0,0) is in: this is the total image height. + void get_dRow(vrpn_float64 *dRow) const + { + memcpy(dRow, d_dRow, sizeof(d_dRow)); + } + + /// This is the total span of the image in depth; + // it is how far and in what direction to go from the origin + // of the image to one pixel past the pixel at the end of + // the depth pixel that (0,0,0) is in: this is the total + // image depth. + void get_dDepth(vrpn_float64 *dDepth) const + { + memcpy(dDepth, d_dDepth, sizeof(d_dDepth)); + } + + /// This will return the location of the center of the specified + // pixel within the image, assuming that the image covers the + // space described by this imagerpose. Note that none of the pixel + // centers will be at the end of the space, except where the image + // has no dimension (Z for a 2D image). Returns false if there is + // a problem (coordinates out of bounds). + bool compute_pixel_center(vrpn_float64 *center, const vrpn_Imager &image, + vrpn_uint16 col, vrpn_uint16 row, + vrpn_uint16 depth = 0); + +protected: + vrpn_float64 d_origin[3]; //< Origin, pixel (0,0,0) in meters + vrpn_float64 + d_dCol[3]; //< End of first columne in coordinate system in meters + vrpn_float64 d_dRow[3]; //< End of first row in coordinate system in meters + vrpn_float64 d_dDepth[3]; //< End of depth in coordinate system in meters + + virtual int register_types(void); + vrpn_int32 d_description_m_id; //< ID of the message type describing the + // range and channels +}; + +class VRPN_API vrpn_ImagerPose_Server : public vrpn_ImagerPose { +public: + vrpn_ImagerPose_Server(const char *name, const vrpn_float64 origin[3], + const vrpn_float64 dCol[3], + const vrpn_float64 dRow[3], + const vrpn_float64 *dDepth = NULL, + vrpn_Connection *c = NULL); + + /// Set the range or units. Return true on success. + bool set_range(const vrpn_float64 origin[3], const vrpn_float64 dCol[3], + const vrpn_float64 dRow[3], + const vrpn_float64 *dDepth = NULL); + + /// Sends a description of the imager so the remote can process the region + /// messages + bool send_description(void); + + /// Handle baseclass ping/pong messages + virtual void mainloop(void); + +protected: + // This method makes sure we send a description whenever we get a ping from + // a client object. + static int VRPN_CALLBACK + handle_ping_message(void *userdata, vrpn_HANDLERPARAM p); +}; + +//------------------------------------------------------------------------------ +// Users deal with things below this line. + +//------------------------------------------------------------------------------ +// Imager_Remote is used for passing image values (pixels), converting them +// to physical units, and saying when regions are started and finished. + +const vrpn_uint16 vrpn_IMAGER_VALTYPE_UNKNOWN = 0; +const vrpn_uint16 vrpn_IMAGER_VALTYPE_UINT8 = 1; +// XXX Bad idea -- do not do this! const vrpn_uint16 +// vrpn_IMAGER_VALTYPE_UINT8RGB = 2; // Placeholder +// XXX Bad idea -- do not do this! const vrpn_uint16 +// vrpn_IMAGER_VALTYPE_UINT8BGR = 3; // Placeholder +const vrpn_uint16 vrpn_IMAGER_VALTYPE_UINT16 = 4; +const vrpn_uint16 vrpn_IMAGER_VALTYPE_UINT12IN16 = 5; +const vrpn_uint16 vrpn_IMAGER_VALTYPE_FLOAT32 = 6; + +class VRPN_API vrpn_Imager_Region; + +typedef struct _vrpn_IMAGERREGIONCB { + struct timeval msg_time; //< Timestamp of the region data's change + const vrpn_Imager_Region *region; //< New region of the image +} vrpn_IMAGERREGIONCB; + +typedef void(VRPN_CALLBACK *vrpn_IMAGERREGIONHANDLER)( + void *userdata, const vrpn_IMAGERREGIONCB info); +// There is no data in the description callback other than the time; the +// data members for the class will have been filled in, so the client should +// call nRows() and other functions to read the new values. +typedef void(VRPN_CALLBACK *vrpn_IMAGERDESCRIPTIONHANDLER)( + void *userdata, const struct timeval msg_time); + +typedef struct _vrpn_IMAGERBEGINFRAMECB { + struct timeval msg_time; //< Timestamp of the begin-frame message + vrpn_uint16 rMin; //< Minimum row in the frame + vrpn_uint16 rMax; //< Maximum row in the frame + vrpn_uint16 cMin; //< Minimum column in the frame + vrpn_uint16 cMax; //< Maximum column in the frame + vrpn_uint16 dMin; //< Minimum depth in the frame + vrpn_uint16 dMax; //< Maximum depth in the frame +} vrpn_IMAGERBEGINFRAMECB; + +typedef struct _vrpn_IMAGERENDFRAMECB { + struct timeval msg_time; //< Timestamp of the end-frame message + vrpn_uint16 rMin; //< Minimum row in the frame + vrpn_uint16 rMax; //< Maximum row in the frame + vrpn_uint16 cMin; //< Minimum column in the frame + vrpn_uint16 cMax; //< Maximum column in the frame + vrpn_uint16 dMin; //< Minimum depth in the frame + vrpn_uint16 dMax; //< Maximum depth in the frame +} vrpn_IMAGERENDFRAMECB; + +typedef struct _vrpn_IMAGERDISCARDEDFRAMESCB { + struct timeval msg_time; //< Timestamp of the begin-frame message + vrpn_uint16 count; //< Number of discarded frames (0 means "1 or more") +} vrpn_IMAGERDISCARDEDFRAMESCB; + +typedef void(VRPN_CALLBACK *vrpn_IMAGERBEGINFRAMEHANDLER)( + void *userdata, const vrpn_IMAGERBEGINFRAMECB info); +typedef void(VRPN_CALLBACK *vrpn_IMAGERENDFRAMEHANDLER)( + void *userdata, const vrpn_IMAGERENDFRAMECB info); +typedef void(VRPN_CALLBACK *vrpn_IMAGERDISCARDEDFRAMESHANDLER)( + void *userdata, const vrpn_IMAGERDISCARDEDFRAMESCB info); + +/// Helper function to convert data for a sub-region of one channel of +// the image. This is passed to the user callback handler and aids in +// getting values out of the buffer. The region is only valid during +// the actual callback handler, so users should not store pointers to +// it for later use. +class VRPN_API vrpn_Imager_Region { + friend class VRPN_API vrpn_Imager_Remote; + friend void VRPN_CALLBACK + java_vrpn_handle_region_change(void *userdata, + const vrpn_IMAGERREGIONCB info); + +public: + vrpn_Imager_Region(void) + { + d_chanIndex = -1; + d_rMin = d_rMax = d_cMin = d_cMax = 0; + d_valBuf = NULL; + d_valType = vrpn_IMAGER_VALTYPE_UNKNOWN; + d_valid = false; + } + + /// Returns the number of values in the region. + inline vrpn_uint32 getNumVals() const + { + if (!d_valid) { + return 0; + } + else { + return (d_rMax - d_rMin + 1) * (d_cMax - d_cMin + 1); + } + } + + /// Reads pixel from the region with no scale and offset applied to the + /// value. Not + /// the most efficient way to read the pixels out -- use the block read + /// routines. + inline bool read_unscaled_pixel(vrpn_uint16 c, vrpn_uint16 r, + vrpn_uint8 &val, vrpn_uint16 d = 0) const + { + if (!d_valid || (c < d_cMin) || (c > d_cMax) || (r < d_rMin) || + (r > d_rMax)) { + fprintf(stderr, "vrpn_Imager_Region::read_unscaled_pixel(): " + "Invalid region or out of range\n"); + return false; + } + else { + if (d_valType != vrpn_IMAGER_VALTYPE_UINT8) { + fprintf(stderr, "XXX " + "vrpn_Imager_Region::read_unscaled_pixel(): " + "Transcoding not implemented yet\n"); + return false; + } + else { + // The data is packed in with column varying fastest, row + // varying next, and depth + // varying slowest. Depth steps are therefore the largest + // steps. + val = + ((const vrpn_uint8 *) + d_valBuf)[(c - d_cMin) + + (d_cMax - d_cMin + 1) * + ((r - d_rMin) + + (d - d_dMin) * (d_rMax - d_rMin + 1))]; + } + } + return true; + } + + /// Reads pixel from the region with no scale and offset applied to the + /// value. Not + // the most efficient way to read the pixels out -- use the block read + // routines. + inline bool read_unscaled_pixel(vrpn_uint16 c, vrpn_uint16 r, + vrpn_uint16 &val, vrpn_uint16 d = 0) const + { + if (!d_valid || (d < d_dMin) || (d > d_dMax) || (c < d_cMin) || + (c > d_cMax) || (r < d_rMin) || (r > d_rMax)) { + fprintf(stderr, "vrpn_Imager_Region::read_unscaled_pixel(): " + "Invalid region or out of range\n"); + return false; + } + else { + if ((d_valType != vrpn_IMAGER_VALTYPE_UINT16) && + (d_valType != vrpn_IMAGER_VALTYPE_UINT12IN16)) { + fprintf(stderr, "XXX " + "vrpn_Imager_Region::read_unscaled_pixel(): " + "Transcoding not implemented yet\n"); + return false; + } + else if (vrpn_big_endian) { + fprintf(stderr, "XXX " + "vrpn_Imager_Region::read_unscaled_pixel(): " + "Not implemented on big-endian yet\n"); + return false; + } + else { + // The data is packed in with column varying fastest, row + // varying next, and depth + // varying slowest. Depth steps are therefore the largest + // steps. + val = + ((const vrpn_uint16 *) + d_valBuf)[(c - d_cMin) + + (d_cMax - d_cMin + 1) * + ((r - d_rMin) + + (d - d_dMin) * (d_rMax - d_rMin + 1))]; + } + } + return true; + } + + /// Reads pixel from the region with no scale and offset applied to the + /// value. Not + // the most efficient way to read the pixels out -- use the block read + // routines. + inline bool read_unscaled_pixel(vrpn_uint16 c, vrpn_uint16 r, + vrpn_float32 &val, vrpn_uint16 d = 0) const + { + if (!d_valid || (d < d_dMin) || (d > d_dMax) || (c < d_cMin) || + (c > d_cMax) || (r < d_rMin) || (r > d_rMax)) { + fprintf(stderr, "vrpn_Imager_Region::read_unscaled_pixel(): " + "Invalid region or out of range\n"); + return false; + } + else { + if (d_valType != vrpn_IMAGER_VALTYPE_FLOAT32) { + fprintf(stderr, "XXX " + "vrpn_Imager_Region::read_unscaled_pixel(): " + "Transcoding not implemented yet\n"); + return false; + } + else if (vrpn_big_endian) { + fprintf(stderr, "XXX " + "vrpn_Imager_Region::read_unscaled_pixel(): " + "Not implemented on big-endian yet\n"); + return false; + } + else { + // The data is packed in with column varying fastest, row + // varying next, and depth + // varying slowest. Depth steps are therefore the largest + // steps. + val = + ((const vrpn_float32 *) + d_valBuf)[(c - d_cMin) + + (d_cMax - d_cMin + 1) * + ((r - d_rMin) + + (d - d_dMin) * (d_rMax - d_rMin + 1))]; + } + } + return true; + } + + // Bulk read routines to copy the whole region right into user structures as + // efficiently as possible. + bool decode_unscaled_region_using_base_pointer( + vrpn_uint8 *data, vrpn_uint32 colStride, vrpn_uint32 rowStride, + vrpn_uint32 depthStride = 0, vrpn_uint16 nRows = 0, + bool invert_rows = false, unsigned repeat = 1) const; + // This routine also reads 12-bits-in-16-bit values. + bool decode_unscaled_region_using_base_pointer( + vrpn_uint16 *data, vrpn_uint32 colStride, vrpn_uint32 rowStride, + vrpn_uint32 depthStride = 0, vrpn_uint16 nRows = 0, + bool invert_rows = false, unsigned repeat = 1) const; + bool decode_unscaled_region_using_base_pointer( + vrpn_float32 *data, vrpn_uint32 colStride, vrpn_uint32 rowStride, + vrpn_uint32 depthStride = 0, vrpn_uint16 nRows = 0, + bool invert_rows = false, unsigned repeat = 1) const; + + // XXX Add routines to read scaled pixels. Clamp values. + + // Report the type of the values stored in the region. The above routines + // use this to decode automatically, but user code may want to do different + // things with different types of data. + vrpn_uint16 get_val_type(void) const { return d_valType; } + + vrpn_int16 d_chanIndex; //< Which channel this region holds data for + vrpn_uint16 d_rMin, d_rMax; //< Range of indices for the rows + vrpn_uint16 d_cMin, d_cMax; //< Range of indices for the columns + vrpn_uint16 d_dMin, d_dMax; //< Range of indices for the depth + +protected: + const void *d_valBuf; //< Pointer to the buffer of values + vrpn_uint16 d_valType; //< Type of the values in the buffer + bool d_valid; //< Tells whether the helper can be used. +}; + +/// This is the class users deal with: it tells the format and the region data +/// when it arrives. +class VRPN_API vrpn_Imager_Remote : public vrpn_Imager { +public: + vrpn_Imager_Remote(const char *name, vrpn_Connection *c = NULL); + + /// Register a handler for when new data arrives (can look up info in object + /// when this happens) + virtual int register_region_handler(void *userdata, + vrpn_IMAGERREGIONHANDLER handler) + { + return d_region_list.register_handler(userdata, handler); + }; + virtual int unregister_region_handler(void *userdata, + vrpn_IMAGERREGIONHANDLER handler) + { + return d_region_list.unregister_handler(userdata, handler); + } + + /// Register a handler for when the object's description changes (if + /// desired). + virtual int + register_description_handler(void *userdata, + vrpn_IMAGERDESCRIPTIONHANDLER handler) + { + return d_description_list.register_handler(userdata, handler); + }; + virtual int + unregister_description_handler(void *userdata, + vrpn_IMAGERDESCRIPTIONHANDLER handler) + { + return d_description_list.unregister_handler(userdata, handler); + } + + /// Register a handler for frame beginning (if the application cares) + virtual int + register_begin_frame_handler(void *userdata, + vrpn_IMAGERBEGINFRAMEHANDLER handler) + { + return d_begin_frame_list.register_handler(userdata, handler); + }; + virtual int + unregister_begin_frame_handler(void *userdata, + vrpn_IMAGERBEGINFRAMEHANDLER handler) + { + return d_begin_frame_list.unregister_handler(userdata, handler); + } + + /// Register a handler for frame end (if the application cares) + virtual int register_end_frame_handler(void *userdata, + vrpn_IMAGERENDFRAMEHANDLER handler) + { + return d_end_frame_list.register_handler(userdata, handler); + }; + virtual int unregister_end_frame_handler(void *userdata, + vrpn_IMAGERENDFRAMEHANDLER handler) + { + return d_end_frame_list.unregister_handler(userdata, handler); + } + + /// Register a handler for discarded frame notifications (if the application + /// cares) + virtual int + register_discarded_frames_handler(void *userdata, + vrpn_IMAGERDISCARDEDFRAMESHANDLER handler) + { + return d_discarded_frames_list.register_handler(userdata, handler); + }; + virtual int unregister_discarded_frames_handler( + void *userdata, vrpn_IMAGERDISCARDEDFRAMESHANDLER handler) + { + return d_discarded_frames_list.unregister_handler(userdata, handler); + } + + /// Request that the server send at most N more frames until a new request + /// is sent. + // This is used to throttle senders that are incurring lots of latency by + // filling + // the network with packets and blocking. The next request for "N" will add + // onto + // the request. Sending "-1" means to send continuously as fast as + // possible, + // which is the default. + virtual bool throttle_sender(vrpn_int32 N); + + /// XXX It could be nice to let the user specify separate callbacks for + // region size changed (which would be called only if the description had + // a different region size than the last time, and also the first time it + // is called) and channel changes (which would require keeping a copy of + // the old and diffing when a new description came in). Also, the interace + // could hook different callbacks for different channels IDs to let the + // Imager do the work of sorting out any mapping changes and keeping track + // of which channel is handled by which callback -- like the Tracker and its + // sensors. This should happen by name, rather than by index. It might be + // nice to provide a delete callback when a channel is removed and an add + // callback when a channel is added as well, and a change callback if the + // name, units, scale or offset change. + + /// Call this each time through the program's main loop + virtual void mainloop(void); + + /// Accessors for the member variables: can be queried in the handler for + /// object changes + const vrpn_Imager_Channel *channel(unsigned chanNum) const; + + /// have we gotten a description message yet? + bool is_description_valid() { return d_got_description; } + +protected: + bool d_got_description; //< Have we gotten a description yet? + // Lists to keep track of registered user handlers. + vrpn_Callback_List<struct timeval> d_description_list; + vrpn_Callback_List<vrpn_IMAGERREGIONCB> d_region_list; + vrpn_Callback_List<vrpn_IMAGERBEGINFRAMECB> d_begin_frame_list; + vrpn_Callback_List<vrpn_IMAGERENDFRAMECB> d_end_frame_list; + vrpn_Callback_List<vrpn_IMAGERDISCARDEDFRAMESCB> d_discarded_frames_list; + + /// Handler for region update message from the server. + static int VRPN_CALLBACK + handle_region_message(void *userdata, vrpn_HANDLERPARAM p); + + /// Handler for resolution and channel list message from the server. + static int VRPN_CALLBACK + handle_description_message(void *userdata, vrpn_HANDLERPARAM p); + + /// Handler for connection dropped message + static int VRPN_CALLBACK + handle_connection_dropped_message(void *userdata, vrpn_HANDLERPARAM p); + + /// Handler for begin-frame message from the server. + static int VRPN_CALLBACK + handle_begin_frame_message(void *userdata, vrpn_HANDLERPARAM p); + + /// Handler for end-frame message from the server. + static int VRPN_CALLBACK + handle_end_frame_message(void *userdata, vrpn_HANDLERPARAM p); + + /// Handler for discarded-frames message from the server. + static int VRPN_CALLBACK + handle_discarded_frames_message(void *userdata, vrpn_HANDLERPARAM p); +}; + +//------------------------------------------------------------------------------ +// ImagerPose_Remote deals with the physical size and location the pixels in +// an image. + +typedef void(VRPN_CALLBACK *vrpn_IMAGERPOSEDESCRIPTIONHANDLER)( + void *userdata, const struct timeval msg_time); + +class VRPN_API vrpn_ImagerPose_Remote : public vrpn_ImagerPose { +public: + vrpn_ImagerPose_Remote(const char *name, vrpn_Connection *c = NULL); + + /// Register a handler for when the object's description changes (if + /// desired) + virtual int + register_description_handler(void *userdata, + vrpn_IMAGERDESCRIPTIONHANDLER handler) + { + return d_description_list.register_handler(userdata, handler); + }; + virtual int + unregister_description_handler(void *userdata, + vrpn_IMAGERDESCRIPTIONHANDLER handler) + { + return d_description_list.unregister_handler(userdata, handler); + } + + /// Call this each time through the program's main loop + virtual void mainloop(void); + +protected: + // Lists to keep track of registered user handlers. + vrpn_Callback_List<struct timeval> d_description_list; + + /// Handler for resolution and channel list message from the server. + static int VRPN_CALLBACK + handle_description_message(void *userdata, vrpn_HANDLERPARAM p); +}; + +#endif diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_LamportClock.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_LamportClock.h new file mode 100644 index 0000000..c168b62 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_LamportClock.h @@ -0,0 +1,91 @@ +#ifndef VRPN_LAMPORT_CLOCK_H +#define VRPN_LAMPORT_CLOCK_H + +#include "vrpn_Configure.h" // for VRPN_API +#include "vrpn_Types.h" // for vrpn_uint32, vrpn_bool + +/// @class vrpn_LamportTimestamp +/// Timestamp for a single event, produced by a vrpn_LamportClock and +/// hopefully generally usable in place of a struct timeval. + +/// @class vrpn_LamportClock +/// Implements a distributed event clock as defined by Leslie Lamport in +/// some seminal papers I can't find my copies of, for use by people who +/// want to sequence events without relying on synchronization of wallclocks. + +class VRPN_API vrpn_LamportTimestamp { + + public: + + vrpn_LamportTimestamp (int vectorLength, vrpn_uint32 * vector); + vrpn_LamportTimestamp (const vrpn_LamportTimestamp &); + ~vrpn_LamportTimestamp (void); + + vrpn_LamportTimestamp & operator = (const vrpn_LamportTimestamp &); + + + // ACCESSORS + + + vrpn_bool operator < (const vrpn_LamportTimestamp & r) const; + ///< Returns vrpn_true if this timestamp precedes r. + ///< It'd be nice if we could throw an exception here, + ///< since some timestamps are incommesurate. + + + // Utility functions. + + vrpn_uint32 operator [] (int i) const; + ///< Returns the event count for the i'th host. + + int size (void) const; + ///< Returns the number of hosts participating in the timestamp. + + + private: + + void copy (const vrpn_uint32 *); + ///< Used by constructors and operator = to copy values into + ///< d_timestamp; don't we wish we were using STL? + + int d_timestampSize; + vrpn_uint32 * d_timestamp; + + vrpn_LamportTimestamp (void); + ///< UNDEFINED - not legal. + +}; + + +class VRPN_API vrpn_LamportClock { + + public: + + vrpn_LamportClock (int numHosts, int ourIndex); + ~vrpn_LamportClock (void); + + + // MANIPULATORS + + + void receive (const vrpn_LamportTimestamp &); + ///< Updates this clock to reflect a timestamp received from + ///< another clock/host. + + vrpn_LamportTimestamp * getTimestampAndAdvance (void); + ///< Increments the current timestamp and returns it. + + + private: + + int d_numHosts; + int d_ourIndex; + vrpn_uint32 * d_currentTimestamp; + +}; + + + +#endif // VRPN_LAMPORT_CLOCK_H + + diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_Mutex.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_Mutex.h new file mode 100644 index 0000000..7d27a05 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_Mutex.h @@ -0,0 +1,333 @@ +#ifndef VRPN_MUTEX_H +#define VRPN_MUTEX_H + +#include <stddef.h> // for NULL + +#include "vrpn_Configure.h" // for VRPN_CALLBACK, VRPN_API +#include "vrpn_Types.h" // for vrpn_int32, vrpn_uint32, etc + +class VRPN_API vrpn_Connection; +struct vrpn_HANDLERPARAM; +// Every time a Mutex_Remote connects to a Mutex_Server, the server assigns +// a unique ID to the remote. +// HACK - because vrpn doesn't let us unicast within a multicast (multiple- +// connection server) (in any clean way), or identify at a MC server which +// connection a message came in over, this code is fragile - it depends +// on the fact that vrpn_Connection only allows one connection to be made +// before triggering the got_connection callback. If connections were somehow +// batched, or we multithreaded vrpn_Connection, this would break. + +class VRPN_API vrpn_Mutex { + +public: + vrpn_Mutex(const char *name, vrpn_Connection * = NULL); + virtual ~vrpn_Mutex(void) = 0; + + void mainloop(void); + +protected: + vrpn_Connection *d_connection; + + vrpn_int32 d_myId; + vrpn_int32 d_requestIndex_type; + vrpn_int32 d_requestMutex_type; + vrpn_int32 d_release_type; + vrpn_int32 d_releaseNotification_type; + vrpn_int32 d_grantRequest_type; + vrpn_int32 d_denyRequest_type; + vrpn_int32 d_initialize_type; + + void sendRequest(vrpn_int32 index); + void sendRelease(void); + void sendReleaseNotification(void); + void sendGrantRequest(vrpn_int32 index); + void sendDenyRequest(vrpn_int32 index); +}; + +class VRPN_API vrpn_Mutex_Server : public vrpn_Mutex { + +public: + vrpn_Mutex_Server(const char *name, vrpn_Connection * = NULL); + virtual ~vrpn_Mutex_Server(void); + +protected: + enum state { HELD, FREE }; + + state d_state; + + vrpn_int32 d_remoteIndex; + ///< Counts remotes who have had IDs issued to them. + + static int VRPN_CALLBACK handle_requestIndex(void *, vrpn_HANDLERPARAM); + static int VRPN_CALLBACK handle_requestMutex(void *, vrpn_HANDLERPARAM); + static int VRPN_CALLBACK handle_release(void *, vrpn_HANDLERPARAM); + + static int VRPN_CALLBACK handle_gotConnection(void *, vrpn_HANDLERPARAM); + static int VRPN_CALLBACK + handle_dropLastConnection(void *, vrpn_HANDLERPARAM); +}; + +class VRPN_API vrpn_Mutex_Remote : public vrpn_Mutex { + +public: + vrpn_Mutex_Remote(const char *name, vrpn_Connection * = NULL); + virtual ~vrpn_Mutex_Remote(void); + + // ACCESSORS + + vrpn_bool isAvailable(void) const; + ///< True from when release() is called or we receive a release + ///< message from another process until request() is called or we + ///< grant the lock to another process in response to its request + ///< message. + vrpn_bool isHeldLocally(void) const; + ///< True from when RequestGranted callbacks are triggered until + ///< release() is called. + vrpn_bool isHeldRemotely(void) const; + ///< True from when we grant the lock to another process in response + ///< to its request message until we receive a release message from + ///< another process. + + // MANIPULATORS + + void request(void); + ///< Request the distributed lock. Does not request the lock + ///< if !isAvailable(), instead automatically triggering DeniedCallbacks. + + void release(void); + ///< Release the distributed lock. Does nothing if !isHeldLocally() + ///< and there isn't a request pending. + + void addRequestGrantedCallback(void *userdata, int (*)(void *)); + ///< These callbacks are triggered when OUR request is granted. + void addRequestDeniedCallback(void *userdata, int (*)(void *)); + ///< These callbacks are triggered when OUR request is denied. + void addTakeCallback(void *userdata, int (*)(void *)); + ///< These callbacks are triggered when ANY peer gets the mutex. + void addReleaseCallback(void *userdata, int (*)(void *)); + ///< These callbacks are triggered when ANY peer releases the + ///< mutex. + +protected: + void requestIndex(void); + + enum state { OURS, REQUESTING, AVAILABLE, HELD_REMOTELY }; + + state d_state; + vrpn_int32 d_myIndex; + vrpn_bool d_requestBeforeInit; + + static int VRPN_CALLBACK handle_grantRequest(void *, vrpn_HANDLERPARAM); + static int VRPN_CALLBACK handle_denyRequest(void *, vrpn_HANDLERPARAM); + static int VRPN_CALLBACK + handle_releaseNotification(void *, vrpn_HANDLERPARAM); + + static int VRPN_CALLBACK handle_initialize(void *, vrpn_HANDLERPARAM); + + static int VRPN_CALLBACK handle_gotConnection(void *, vrpn_HANDLERPARAM); + + void triggerGrantCallbacks(void); + void triggerDenyCallbacks(void); + void triggerTakeCallbacks(void); + void triggerReleaseCallbacks(void); + + struct mutexCallback { + int (*f)(void *); + void *userdata; + mutexCallback *next; + }; + + mutexCallback *d_reqGrantedCB; + mutexCallback *d_reqDeniedCB; + mutexCallback *d_takeCB; + mutexCallback *d_releaseCB; +}; + +/// vrpn_PeerMutex +/// +/// This class provides distributed mutual exclusion between every instance +/// with the same name for which addPeer() has been called. +/// If a process calls request() when isAvailable() returns true, +/// the mutex will attempt to secure a lock to whatever resource it is +/// governing; either RequestGranted or RequestDenied callbacks will +/// be triggered. If RequestGranted callbacks are triggered, the process +/// has the lock until it explicitly calls release() (and can verify this +/// by checking isHeldLocally()). Once the lock-owner calls release(), +/// Release callbacks at every peer will be triggered. +/// +/// Like most vrpn classes, the mainloop() must be called frequently. +/// +/// Note that none of isAvailable(), isHeldLocally(), and isHeldRemotely() +/// are true between when request() is called and either RequestGranted or +/// RequestDenied callbacks are triggered. + +// Known bugs - + +// The constructor that takes a Connection as an argument will incorrectly +// identify its IP address as the machine's default rather than the address +// used by the Connection. This should not cause any errors in the protocol, +// but will bias the tiebreaking algorithm. The same constructor will use +// the wrong port number; without this information the tiebreaking algorithm +// fails. Oops. Use only one mutex per Connection for now. + +// Possible bugs - + +// If on startup somebody else is holding the mutex we'll think it's +// available. However, if we request it they'll deny it to us and +// we won't break. +// If sites don't execute the same set of addPeer() commands, they may +// implicitly partition the network and not get true mutual exclusion. +// This could be fixed by sending an addPeer message. +// If sites execute addPeer() while the lock is held, or being requested, +// we'll break. +// - To fix: send messages, but defer all executions of addPeer until the +// lock is released. If we want to be really careful here, on getting an +// addPeer message when we think the lock is available we should request +// the lock and then (if we get it) release it immediately, without +// triggering any user callbacks. Sounds tough to code? + +// Handling more than 2 sites in a mutex requires multiconnection servers. +// It's been tested with 1-3 sites, and works fine. + +// This is an O(n^2) network traffic implementation; +// for details (and how to fix if it ever becomes a problem), +// see the implementation notes in vrpn_Mutex.C. + +class VRPN_API vrpn_PeerMutex { + +public: + vrpn_PeerMutex(const char *name, int port, const char *NICaddress = NULL); + ///< This constructor opens a new connection/port for the mutex. + + ~vrpn_PeerMutex(void); + ///< If isHeldLocally(), calls release(). + + // ACCESSORS + + vrpn_bool isAvailable(void) const; + ///< True from when release() is called or we receive a release + ///< message from another process until request() is called or we + ///< grant the lock to another process in response to its request + ///< message. + vrpn_bool isHeldLocally(void) const; + ///< True from when RequestGranted callbacks are triggered until + ///< release() is called. + vrpn_bool isHeldRemotely(void) const; + ///< True from when we grant the lock to another process in response + ///< to its request message until we receive a release message from + ///< another process. + + int numPeers(void) const; + + // MANIPULATORS + + void mainloop(void); + + void request(void); + ///< Request the distributed lock. Does not request the lock + ///< if !isAvailable(), instead automatically triggering DeniedCallbacks. + + void release(void); + ///< Release the distributed lock. Does nothing if !isHeldLocally() + ///< and there isn't a request pending. + + void addPeer(const char *stationName); + ///< Takes a VRPN station name of the form "<host>:<port>". + + void addRequestGrantedCallback(void *userdata, int (*)(void *)); + ///< These callbacks are triggered when OUR request is granted. + void addRequestDeniedCallback(void *userdata, int (*)(void *)); + ///< These callbacks are triggered when OUR request is denied. + void addTakeCallback(void *userdata, int (*)(void *)); + ///< These callbacks are triggered when ANY peer gets the mutex. + ///< (If several peers are competing for the mutex, and the + ///< implementation issues multiple "grants", these callbacks will + ///< only be triggered once between triggerings of ReleaseCallbacks.) + void addReleaseCallback(void *userdata, int (*)(void *)); + ///< These callbacks are triggered when ANY peer releases the + ///< mutex. + +protected: + enum state { OURS, REQUESTING, AVAILABLE, HELD_REMOTELY }; + + char *d_mutexName; + + state d_state; + + int d_numPeersGrantingLock; + ///< Counts the number of "grants" we've received after issuing + ///< a request; when this reaches d_numPeers, the lock is ours. + + vrpn_Connection *d_server; + ///< Receive on this connection. + vrpn_Connection **d_peer; + ///< Send on these connections to other Mutex's well-known-ports. + + int d_numPeers; + int d_numConnectionsAllocated; + ///< Dynamic array size for d_peer and d_peerGrantedLock. + + vrpn_uint32 d_myIP; + vrpn_uint32 d_myPort; + vrpn_uint32 d_holderIP; + vrpn_int32 d_holderPort; + + vrpn_int32 d_myId; + vrpn_int32 d_request_type; + vrpn_int32 d_release_type; + vrpn_int32 d_grantRequest_type; + vrpn_int32 d_denyRequest_type; + // vrpn_int32 d_losePeer_type; + + static int VRPN_CALLBACK handle_request(void *, vrpn_HANDLERPARAM); + static int VRPN_CALLBACK handle_release(void *, vrpn_HANDLERPARAM); + static int VRPN_CALLBACK handle_grantRequest(void *, vrpn_HANDLERPARAM); + static int VRPN_CALLBACK handle_denyRequest(void *, vrpn_HANDLERPARAM); + + static int VRPN_CALLBACK handle_losePeer(void *, vrpn_HANDLERPARAM); + + void sendRequest(vrpn_Connection *); + void sendRelease(vrpn_Connection *); + void sendGrantRequest(vrpn_Connection *, vrpn_uint32 IPnumber, + vrpn_uint32 PortNumber); + void sendDenyRequest(vrpn_Connection *, vrpn_uint32 IPnumber, + vrpn_uint32 PortNumber); + + void triggerGrantCallbacks(void); + void triggerDenyCallbacks(void); + void triggerTakeCallbacks(void); + void triggerReleaseCallbacks(void); + + void checkGrantMutex(void); + + void init(const char *name); + + struct mutexCallback { + int (*f)(void *); + void *userdata; + mutexCallback *next; + }; + + mutexCallback *d_reqGrantedCB; + mutexCallback *d_reqDeniedCB; + mutexCallback *d_takeCB; + mutexCallback *d_releaseCB; + + struct peerData { + vrpn_uint32 IPaddress; + vrpn_uint32 port; + vrpn_bool grantedLock; + }; + + peerData *d_peerData; + ///< Needed only to clean up when a peer shuts down (mid-request). + ///< It isn't currently feasible to have all this data, so instead + ///< we abort requests that were interrupted by a shutdown. + + vrpn_PeerMutex(const char *name, vrpn_Connection *c); + ///< This constructor reuses a SERVER connection for the mutex. + ///< BUG BUG BUG - do not use this constructor; it does not reliably + ///< resolve race conditions. +}; + +#endif // VRPN_MUTEX_H diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_Poser.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_Poser.h new file mode 100644 index 0000000..d6dd340 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_Poser.h @@ -0,0 +1,191 @@ +#ifndef vrpn_POSER_H +#define vrpn_POSER_H +#include <stdio.h> // for NULL + +// NOTE: the poser class borrows heavily from the vrpn_Tracker code. +// The poser is basically the inverse of a tracker. +// We are only handling pose and velocity updates for now...acceleration +// will come later, as needed. + +#include "vrpn_BaseClass.h" // for vrpn_Callback_List, etc +#include "vrpn_Configure.h" // for VRPN_CALLBACK, VRPN_API +#include "vrpn_Shared.h" // for timeval +#include "vrpn_Types.h" // for vrpn_float64, vrpn_int32 + +class VRPN_API vrpn_Connection; +struct vrpn_HANDLERPARAM; + +class VRPN_API vrpn_Poser : public vrpn_BaseClass { +public: + vrpn_Poser(const char* name, vrpn_Connection* c = NULL); + + virtual ~vrpn_Poser(void); + + void p_print(); // print the current pose + void p_print_vel(); // print the current velocity + + // a poser server should call the following to register the + // default xform and workspace request handlers + // int register_server_handlers(void); + +protected: + // client-->server + vrpn_int32 req_position_m_id; // ID of poser position message + vrpn_int32 req_position_relative_m_id; // ID of poser position delta message + vrpn_int32 req_velocity_m_id; // ID of poser velocity message + vrpn_int32 req_velocity_relative_m_id; // ID of poser velocity delta message + + // Description of current state + vrpn_float64 p_pos[3], p_quat[4]; // Current pose, (x,y,z), (qx,qy,qz,qw) + vrpn_float64 p_vel[3], + p_vel_quat[4]; // Current velocity and dQuat/vel_quat_dt + vrpn_float64 p_vel_quat_dt; // delta time (in secs) for vel_quat + struct timeval p_timestamp; // Current timestamp + + // Minimum and maximum values available for the position and velocity values + // of the poser. + vrpn_float64 p_pos_min[3], p_pos_max[3], p_pos_rot_min[3], p_pos_rot_max[3], + p_vel_min[3], p_vel_max[3], p_vel_rot_min[3], p_vel_rot_max[3]; + + virtual int register_types(void); // Called by BaseClass init() + + virtual int encode_to(char* buf); // Encodes the position + virtual int encode_vel_to(char* buf); // Encodes the velocity + + virtual void set_pose(const struct timeval t, // Sets the pose internally + const vrpn_float64 position[3], + const vrpn_float64 quaternion[4]); + virtual void set_pose_relative( + const struct timeval t, // Increments the pose internally + const vrpn_float64 + position_delta[3], // pos_new = position_delta + pos_old + const vrpn_float64 quaternion[4]); // q_new = quaternion * q_old + virtual void + set_pose_velocity(const struct timeval t, // Sets the velocity internally + const vrpn_float64 position[3], + const vrpn_float64 quaternion[4], + const vrpn_float64 interval); + virtual void set_pose_velocity_relative( + const struct timeval t, // Increments the velocity internally + const vrpn_float64 + velocity_delta[3], // vel_new = velocity_delta + vel_old + const vrpn_float64 quaternion[4], // q_new = quaternion * q_old + const vrpn_float64 + interval_delta); // interval_new = interval_delta + interval_old +}; + +//------------------------------------------------------------------------------------ +// Server Code + +/// A structure for Call-Backs related to Vrpn Poser Server +typedef struct _vrpn_POSERCB { + struct timeval msg_time; // Timestamp + /// NOTE: I think since we have different routines for handling velocity and + /// position poser requests, + /// putting poser and quaternions for both doesn't make sense. Instead, the + /// change handler should + /// take care of packing correct poser and quaternion. + vrpn_float64 pos[3]; + vrpn_float64 quat[4]; +} vrpn_POSERCB; + +typedef void(VRPN_CALLBACK* vrpn_POSERHANDLER)(void* userdata, + const vrpn_POSERCB info); + +//------------------------------------------------------------------------------------ +// Server Code +// Users supply the routines to handle requests from the client + +// This is a sample basic poser server +// + +class VRPN_API vrpn_Poser_Server : public vrpn_Poser { +public: + vrpn_Poser_Server(const char* name, vrpn_Connection* c); + + /// This function should be called each time through app mainloop. + virtual void mainloop(); + + int register_change_handler(void* userdata, vrpn_POSERHANDLER handler) + { + return d_callback_list.register_handler(userdata, handler); + }; + int unregister_change_handler(void* userdata, vrpn_POSERHANDLER handler) + { + return d_callback_list.unregister_handler(userdata, handler); + } + + int register_relative_change_handler(void* userdata, + vrpn_POSERHANDLER handler) + { + return d_relative_callback_list.register_handler(userdata, handler); + } + int unregister_relative_change_handler(void* userdata, + vrpn_POSERHANDLER handler) + { + return d_relative_callback_list.unregister_handler(userdata, handler); + } + +protected: + static int VRPN_CALLBACK + handle_change_message(void* userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_relative_change_message(void* userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_vel_change_message(void* userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_relative_vel_change_message(void* userdata, vrpn_HANDLERPARAM p); + vrpn_Callback_List<vrpn_POSERCB> d_callback_list; + vrpn_Callback_List<vrpn_POSERCB> d_relative_callback_list; +}; + +//------------------------------------------------------------------------------------ +// Client Code + +// Open a poser that is on the other end of a connection for sending updates to +// it. +class VRPN_API vrpn_Poser_Remote : public vrpn_Poser { +public: + // The name of the poser to connect to, including connection name, + // for example "poser@magnesium.cs.unc.edu". If you already + // have the connection open, you can specify it as the second parameter. + // This allows both servers and clients in the same thread, for example. + // If it is not specified, then the connection will be looked up based + // on the name passed in. + vrpn_Poser_Remote(const char* name, vrpn_Connection* c = NULL); + + // unregister all of the handlers registered with the connection + virtual ~vrpn_Poser_Remote(void); + + // This routine calls the mainloop of the connection it's on + virtual void mainloop(); + + // Routines to set the state of the poser + int request_pose(const struct timeval t, const vrpn_float64 position[3], + const vrpn_float64 quaternion[4]); + int request_pose_relative(const struct timeval t, + const vrpn_float64 position_delta[3], + const vrpn_float64 quaternion[4]); + int request_pose_velocity(const struct timeval t, + const vrpn_float64 velocity[3], + const vrpn_float64 quaternion[4], + const vrpn_float64 interval); + int request_pose_velocity_relative(const struct timeval t, + const vrpn_float64 velocity_delta[3], + const vrpn_float64 quaternion[4], + const vrpn_float64 interval_delta); + +protected: + virtual int + client_send_pose(); // Sends the current pose. Called by request_pose + virtual int client_send_pose_relative(); // Sends the current pose delta. + // Called by request_pose_relative + virtual int client_send_pose_velocity(); // Sends the current velocity. + // Called by request_pose_velocity + virtual int + client_send_pose_velocity_relative(); // Sends the current velocity delta. + // Called by + // request_pose_velocity_relative +}; + +#endif diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_RedundantTransmission.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_RedundantTransmission.h new file mode 100644 index 0000000..9df9b86 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_RedundantTransmission.h @@ -0,0 +1,214 @@ +#ifndef VRPN_REDUNDANT_TRANSMISSION_H +#define VRPN_REDUNDANT_TRANSMISSION_H + +/// @class vrpn_RedundantTransmission +/// Helper class for vrpn_Connection that automates redundant transmission +/// for unreliable (low-latency) messages. Call pack_messages() here instead +/// of on your connection, and call mainloop() here before calling mainloop() +/// on your connection. + +#include <stddef.h> // for NULL + +#include "vrpn_BaseClass.h" // for vrpn_BaseClass +#include "vrpn_Configure.h" // for VRPN_API, VRPN_CALLBACK +#include "vrpn_Connection.h" // for vrpn_Connection (ptr only), etc +#include "vrpn_Shared.h" // for timeval +#include "vrpn_Types.h" // for vrpn_uint32, vrpn_bool, etc + +struct timeval; + +class VRPN_API vrpn_RedundantTransmission { + +public: + vrpn_RedundantTransmission(vrpn_Connection *c); + virtual ~vrpn_RedundantTransmission(void); + + // ACCESSORS + + vrpn_uint32 defaultRetransmissions(void) const; + timeval defaultInterval(void) const; + vrpn_bool isEnabled(void) const; + + // MANIPULATORS + + virtual void mainloop(void); + ///< Determines which messages need to be resent and queues + ///< them up on the connection for transmission. + + void enable(vrpn_bool); + + virtual void setDefaults(vrpn_uint32 numRetransmissions, + timeval transmissionInterval); + ///< Set default values for future calls to pack_message(). + + virtual int pack_message(vrpn_uint32 len, timeval time, vrpn_uint32 type, + vrpn_uint32 sender, const char *buffer, + vrpn_uint32 class_of_service, + vrpn_int32 numRetransmissions = -1, + timeval *transmissionInterval = NULL); + ///< If !isEnabled(), does a normal pack_message(), but if isEnabled() + ///< ignores class_of_service and sends it vrpn_CONNECTION_LOW_LATENCY, + ///< sending it an additional number of times equal to numRetransmissions + ///< at minimum intervals of transmissionInterval. + ///< Specify -1 and NULL to use default values. + +protected: + vrpn_Connection *d_connection; + + struct queuedMessage { + vrpn_HANDLERPARAM p; + vrpn_uint32 remainingTransmissions; + timeval transmissionInterval; + timeval nextValidTime; + queuedMessage *next; + }; + + queuedMessage *d_messageList; + vrpn_uint32 d_numMessagesQueued; + ///< For debugging, mostly. + + // Default values. + + vrpn_uint32 d_numTransmissions; + timeval d_transmissionInterval; + + vrpn_bool d_isEnabled; +}; + +struct vrpn_RedundantController_Protocol { + + char *encode_set(int *len, vrpn_uint32 num, timeval interval); + void decode_set(const char **buf, vrpn_uint32 *num, timeval *interval); + + char *encode_enable(int *len, vrpn_bool); + void decode_enable(const char **buf, vrpn_bool *); + + void register_types(vrpn_Connection *); + + vrpn_int32 d_set_type; + vrpn_int32 d_enable_type; +}; + +/// @class vrpn_RedundantController +/// Accepts commands over a connection to control a local +/// vrpn_RedundantTransmission's default parameters. + +class VRPN_API vrpn_RedundantController : public vrpn_BaseClass { + +public: + vrpn_RedundantController(vrpn_RedundantTransmission *, vrpn_Connection *); + ~vrpn_RedundantController(void); + + void mainloop(void); + // Do nothing; vrpn_BaseClass requires this. + +protected: + virtual int register_types(void); + + vrpn_RedundantController_Protocol d_protocol; + + static int VRPN_CALLBACK handle_set(void *, vrpn_HANDLERPARAM); + static int VRPN_CALLBACK handle_enable(void *, vrpn_HANDLERPARAM); + + vrpn_RedundantTransmission *d_object; +}; + +/// @class vrpn_RedundantRemote +/// Sends messages to a vrpn_RedundantController so that a +/// vrpn_RedundantTransmission on a server can be controlled from a client. + +class VRPN_API vrpn_RedundantRemote : public vrpn_BaseClass { + +public: + vrpn_RedundantRemote(vrpn_Connection *); + ~vrpn_RedundantRemote(void); + + void mainloop(void); + // Do nothing; vrpn_BaseClass requires this. + + void set(int numRetransmissions, timeval transmissionInterval); + void enable(vrpn_bool); + +protected: + int register_types(void); + + vrpn_RedundantController_Protocol d_protocol; +}; + +/// @class vrpn_RedundantReceiver +/// Helper class that eliminates duplicates; only the first instance of +/// a message is delivered. Registers a callback on connection for any +/// type it's told to monitor; when it gets a message back, checks its +/// list of recently-seen-timestamps for that type; if it isn't on the +/// list, it's dispatched and replaces the oldest item on the list. +/// List length is limited, so +/// if too many messages of the same type (more than VRPN_RR_LENGTH) are +/// interleaved - if transmissionInterval * numRetransmissions > +/// VRPN_RR_LENGTH * the normal rate of message generation - it will not +/// detect the redundant messages. + +// A TypeDispatcher insists on too much control of its table for +// us to use one here - we want to use the same indices as the +// vrpn_Connection we're attached to, but if we had our own TypeDispatcher +// we'd have an independent, inconsistent set of type & sender ids. + +#define VRPN_RR_LENGTH 8 + +class VRPN_API vrpn_RedundantReceiver { + +public: + vrpn_RedundantReceiver(vrpn_Connection *); + virtual ~vrpn_RedundantReceiver(void); + + virtual int register_handler(vrpn_int32 type, vrpn_MESSAGEHANDLER handler, + void *userdata, + vrpn_int32 sender = vrpn_ANY_SENDER); + virtual int unregister_handler(vrpn_int32 type, vrpn_MESSAGEHANDLER handler, + void *userdata, + vrpn_int32 sender = vrpn_ANY_SENDER); + + void record(vrpn_bool); + ///< Turns "memory" (tracking statistics of redundant reception) + ///< on and off. + + void writeMemory(const char *filename); + ///< Writes statistics to the named file: timestamp of every message + ///< received and number of copies of that message. Detects partial + ///< losses, but not when all copies are lost, since vrpn_RR doesn't + ///< expect messages. + + void clearMemory(void); + ///< Throws away / resets statistics. + +protected: + vrpn_Connection *d_connection; + + struct VRPN_API RRRecord { + RRRecord(void); + + timeval timestampSeen[VRPN_RR_LENGTH]; + int numSeen[VRPN_RR_LENGTH]; + int nextTimestampToReplace; + + vrpnMsgCallbackEntry *cb; + vrpn_bool handlerIsRegistered; + }; + + RRRecord d_records[vrpn_CONNECTION_MAX_TYPES]; + RRRecord d_generic; + + struct RRMemory { + timeval timestamp; + int numSeen; + RRMemory *next; + }; + + RRMemory *d_memory; + RRMemory *d_lastMemory; + vrpn_bool d_record; + + static int VRPN_CALLBACK + handle_possiblyRedundantMessage(void *, vrpn_HANDLERPARAM); +}; + +#endif // VRPN_REDUNDANT_TRANSMISSION_H diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_Serial.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_Serial.h new file mode 100644 index 0000000..ac031fc --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_Serial.h @@ -0,0 +1,91 @@ +#ifndef VRPN_SERIAL_H +#define VRPN_SERIAL_H + +#include "vrpn_Configure.h" // for VRPN_API +#include <stddef.h> // For size_t + +/// @file +/// +/// @brief vrpn_Serial: Pulls all the serial port routines into one file to make +/// porting to +/// new operating systems easier. +/// +/// @author Russ Taylor, 1998 + +typedef enum { + vrpn_SER_PARITY_NONE, + vrpn_SER_PARITY_ODD, + vrpn_SER_PARITY_EVEN, + vrpn_SER_PARITY_MARK, + vrpn_SER_PARITY_SPACE +} vrpn_SER_PARITY; + +/// @brief Open a serial port, given its name and baud rate. +/// +/// Default Settings are 8 bits, no parity, 1 start and stop bits with no +/// RTS (hardware) flow control. Also, +/// set the port so that it will return immediately if there are no +/// characters or less than the number of characters requested. +/// +/// @returns the file descriptor on success,-1 on failure. +extern VRPN_API int +vrpn_open_commport(const char *portname, long baud, int charsize = 8, + vrpn_SER_PARITY parity = vrpn_SER_PARITY_NONE, + bool rts_flow = false); + +/// @name RTS Hardware Flow Control +/// Set and clear functions for the RTS ("ready to send") hardware flow- +/// control bit. These are used on a port that is already open. Some +/// devices (like the Ascension Flock of Birds) use this to reset the +/// device. Return 0 on success, nonzero on error. +/// @{ +extern VRPN_API int vrpn_set_rts(int comm); +extern VRPN_API int vrpn_clear_rts(int comm); +/// @} + +extern VRPN_API int vrpn_close_commport(int comm); + +/// @brief Throw out any characters within the input buffer. +/// @returns 0 on success, -1 on error. +extern VRPN_API int vrpn_flush_input_buffer(int comm); + +/// @brief Throw out any characters (do not send) within the output buffer +/// @returns 0 on success, tc err codes (whatever those are) on error. +extern VRPN_API int vrpn_flush_output_buffer(int comm); + +/// @brief Wait until all of the characters in the output buffer are sent, then +/// return. +/// +/// @returns 0 on success, -1 on error. +extern VRPN_API int vrpn_drain_output_buffer(int comm); + +/// @name Read routines +/// +/// Read up the the requested count of characters from the input buffer, +/// return with less if less (or none) are there. Return the number of +/// characters read, or -1 if there is an error. The second of these +/// will keep looking until the timeout period expires before returning +/// (NULL pointer will cause it to block indefinitely). +/// @{ +extern VRPN_API int +vrpn_read_available_characters(int comm, unsigned char *buffer, size_t count); +extern VRPN_API int vrpn_read_available_characters(int comm, + unsigned char *buffer, + size_t count, + struct timeval *timeout); +/// @} + +/// @name Write routines +/// +/// Write the specified number of characters. Some devices can't accept writes +/// that +/// are too fast, so need time between characters; the write_slowly function +/// handles +/// this case. +/// @} +extern VRPN_API int vrpn_write_characters(int comm, const unsigned char *buffer, + size_t bytes); +extern VRPN_API int vrpn_write_slowly(int comm, const unsigned char *buffer, + size_t bytes, int millisec_delay); + +#endif diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_SerialPort.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_SerialPort.h new file mode 100644 index 0000000..3a41e71 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_SerialPort.h @@ -0,0 +1,227 @@ +/** @file + @brief Header + + @date 2012 + + @author + Ryan Pavlik + <rpavlik@iastate.edu> and <abiryan@ryand.net> + http://academic.cleardefinition.com/ + Iowa State University Virtual Reality Applications Center + Human-Computer Interaction Graduate Program +*/ + +// Copyright Iowa State University 2012. +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#pragma once + +// Internal Includes +#include "vrpn_Configure.h" // for VRPN_API +#include "vrpn_Serial.h" // for ::vrpn_SER_PARITY_NONE, etc + +// Library/third-party includes +// - none + +// Standard includes +#include <stdexcept> // for runtime_error, logic_error +#include <string> // for string + +/// @brief A simple class wrapping the functionality of vrpn_Serial.h with +/// RAII, object-orientation, and optional STL types +class VRPN_API vrpn_SerialPort { +public: + typedef int file_handle_type; + /// @brief Construct and open port + /// @sa vrpn_open_commport + /// @throws OpenFailure + vrpn_SerialPort(const char *portname, long baud, int charsize = 8, + vrpn_SER_PARITY parity = vrpn_SER_PARITY_NONE); + + /// @brief Construct without opening + vrpn_SerialPort(); + + /// @brief Destructor - closes port if open. + ~vrpn_SerialPort(); + + /// @name Open/Close Methods + /// @{ + /// @brief Open serial port + /// @sa vrpn_open_commport + /// @throws OpenFailure, AlreadyOpen + void open(const char *portname, long baud, int charsize = 8, + vrpn_SER_PARITY parity = vrpn_SER_PARITY_NONE); + bool is_open() const; + + /// @brief Close the serial port. + /// @throws NotOpen, CloseFailure + void close(); + /// @} + + /// @name Write + /// @returns number of bytes written + /// @throws WriteFailure, NotOpen + /// @{ + int write(std::string const &buffer); + int write(const unsigned char *buffer, int bytes); + /// @} + + /// @name Read + /// @throws ReadFailure, NotOpen + /// @{ + /// @brief Read available characters from input buffer, up to indicated + /// count. + int read_available_characters(unsigned char *buffer, int count); + + /// @brief Read available characters from input buffer, up to indicated + /// count (or -1 for no limit) + std::string read_available_characters(int count = -1); + + /// @brief Read available characters from input buffer, and wait up to the + /// indicated timeout for those remaining, up to indicated count. + int read_available_characters(unsigned char *buffer, int count, + struct timeval &timeout); + + /// @brief Read available characters from input buffer, and wait up to the + /// indicated timeout for those remaining, up to indicated count. + std::string read_available_characters(int count, struct timeval &timeout); + /// @} + + /// @name Buffer manipulation + /// @{ + + /// @brief Throw out any characters within the input buffer. + /// @throws FlushFailure, NotOpen + void flush_input_buffer(); + + /// @brief Throw out any characters (do not send) within the output buffer. + /// @throws FlushFailure, NotOpen + void flush_output_buffer(); + + /// @brief Wait until all of the characters in the output buffer are sent, + /// then return. + void drain_output_buffer(); + /// @} + + /// @name RTS + /// @brief Set and clear functions for the RTS ("ready to send") hardware + /// flow- control bit. + /// + /// These are used on a port that is already open. Some devices (like the + /// Ascension Flock of Birds) use this to reset the device. + /// @throws RTSFailure, NotOpen + /// @{ + void set_rts(); + void clear_rts(); + void assign_rts(bool set); + /// @} + + /// @name Serial Port Exceptions + /// @{ + struct AlreadyOpen; + struct CloseFailure; + struct DrainFailure; + struct FlushFailure; + struct NotOpen; + struct OpenFailure; + struct RTSFailure; + struct ReadFailure; + struct WriteFailure; + /// @} + +private: + void requiresOpen() const; + /// @name Non-copyable + /// @{ + vrpn_SerialPort(vrpn_SerialPort const &); + vrpn_SerialPort const &operator=(vrpn_SerialPort const &); + /// @} + file_handle_type _comm; + bool _rts_status; +}; + +struct vrpn_SerialPort::AlreadyOpen : std::logic_error { + AlreadyOpen() + : std::logic_error("Tried to open a serial port that was already open.") + { + } +}; + +struct vrpn_SerialPort::NotOpen : std::logic_error { + NotOpen() + : std::logic_error("Tried to use a serial port that was not yet open.") + { + } +}; + +struct vrpn_SerialPort::OpenFailure : std::runtime_error { + OpenFailure() + : std::runtime_error( + "Received an error when trying to open serial port.") + { + } +}; + +struct vrpn_SerialPort::CloseFailure : std::runtime_error { + CloseFailure() + : std::runtime_error( + "Received an error when trying to close serial port.") + { + } +}; + +struct vrpn_SerialPort::RTSFailure : std::runtime_error { + RTSFailure() + : std::runtime_error("Failed to modify serial port RTS status.") + { + } +}; + +struct vrpn_SerialPort::ReadFailure : std::runtime_error { + ReadFailure() + : std::runtime_error("Failure on serial port read.") + { + } +}; + +struct vrpn_SerialPort::WriteFailure : std::runtime_error { + WriteFailure() + : std::runtime_error("Failure on serial port write.") + { + } +}; + +struct vrpn_SerialPort::FlushFailure : std::runtime_error { + FlushFailure() + : std::runtime_error("Failure on serial port flush.") + { + } +}; + +struct vrpn_SerialPort::DrainFailure : std::runtime_error { + DrainFailure() + : std::runtime_error("Failure on serial port drain.") + { + } +}; + +inline bool vrpn_SerialPort::is_open() const { return _comm != -1; } + +inline void vrpn_SerialPort::assign_rts(bool set) +{ + if (set) { + set_rts(); + } + else { + clear_rts(); + } +} + +inline void vrpn_SerialPort::requiresOpen() const +{ + if (!is_open()) { + throw NotOpen(); + } +} diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_Shared.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_Shared.h new file mode 100644 index 0000000..10c112b --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_Shared.h @@ -0,0 +1,495 @@ +#pragma once + +// Horrible hack for old HPUX compiler +#ifdef hpux +#ifndef true +#define bool int +#define true 1 +#define false 0 +#endif +#endif + +#include "vrpn_Configure.h" // for VRPN_API +#include "vrpn_Types.h" // for vrpn_int32, vrpn_float64, etc +#include "vrpn_Thread.h" +#include <string.h> // for memcpy() +#include <stdio.h> // for fprintf() + +#if defined(__ANDROID__) +#include <bitset> +#endif + +// IWYU pragma: no_include <bits/time.h> + +// Oct 2000: Sang-Uok changed because vrpn code was compiling but giving +// runtime errors with cygwin 1.1. I changed the code so it only uses unix +// code. I had to change includes in various files. + +// jan 2000: jeff changing the way sockets are used with cygwin. I made this +// change because I realized that we were using winsock stuff in some places, +// and cygwin stuff in others. Discovered this when our code wouldn't compile +// in cygwin-1.0 (but it did in cygwin-b20.1). + +// let's start with a clean slate +#undef VRPN_USE_WINSOCK_SOCKETS + +// Does cygwin use winsock sockets or unix sockets +//#define VRPN_CYGWIN_USES_WINSOCK_SOCKETS + +#if defined(_WIN32) && \ + (!defined(__CYGWIN__) || defined(VRPN_CYGWIN_USES_WINSOCK_SOCKETS)) +#define VRPN_USE_WINSOCK_SOCKETS +#endif + +#ifndef VRPN_USE_WINSOCK_SOCKETS +// On Win32, this constant is defined as ~0 (sockets are unsigned ints) +#define INVALID_SOCKET -1 +#define SOCKET int +#endif + +#if !(defined(_WIN32) && defined(VRPN_USE_WINSOCK_SOCKETS)) +#include <sys/select.h> // for select +#include <netinet/in.h> // for htonl, htons +#endif + +#ifdef _WIN32_WCE +#define perror(x) fprintf(stderr, "%s\n", x); +#endif + +// comment from vrpn_Connection.h reads : +// +// gethostbyname() fails on SOME Windows NT boxes, but not all, +// if given an IP octet string rather than a true name. +// Until we figure out WHY, we have this extra clause in here. +// It probably wouldn't hurt to enable it for non-NT systems +// as well. +#ifdef _WIN32 +#define VRPN_USE_WINDOWS_GETHOSTBYNAME_HACK +#endif + +//-------------------------------------------------------------- +// Timeval defines. These are a bit hairy. The basic problem is +// that Windows doesn't implement gettimeofday(), nor does it +// define "struct timezone", although Winsock.h does define +// "struct timeval". The painful solution has been to define a +// vrpn_gettimeofday() function that takes a void * as a second +// argument (the timezone) and have all VRPN code call this function +// rather than gettimeofday(). On non-WINSOCK implementations, +// we alias vrpn_gettimeofday() right back to gettimeofday(), so +// that we are calling the system routine. On Windows, we will +// be using vrpn_gettimofday(). So far so good, but now user code +// would like to not have to know the difference under windows, so +// we have an optional VRPN configuration setting in vrpn_Configure.h +// that exports vrpn_gettimeofday() as gettimeofday() and also +// exports a "struct timezone" definition. Yucky, but it works and +// lets user code use the VRPN one as if it were the system call +// on Windows. + +#if (!defined(VRPN_USE_WINSOCK_SOCKETS)) +#include <sys/time.h> // for timeval, timezone, gettimeofday +// If we're using std::chrono, then we implement a new +// vrpn_gettimeofday() on top of it in a platform-independent +// manner. Otherwise, we just use the system call. +#ifndef VRPN_USE_STD_CHRONO + #define vrpn_gettimeofday gettimeofday +#endif +#else // winsock sockets + +// These are a pair of horrible hacks that instruct Windows include +// files to (1) not define min() and max() in a way that messes up +// standard-library calls to them, and (2) avoids pulling in a large +// number of Windows header files. They are not used directly within +// the VRPN library, but rather within the Windows include files to +// change the way they behave. + +#ifndef NOMINMAX +#define NOMINMAX +#endif +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include <windows.h> +#ifndef _WIN32_WCE +#include <sys/timeb.h> +#endif +#ifdef VRPN_USE_WINSOCK2 +#include <winsock2.h> // struct timeval is defined here +#else +#include <winsock.h> // struct timeval is defined here +#endif + +// Whether or not we export gettimeofday, we declare the +// vrpn_gettimeofday() function on Windows. +extern "C" VRPN_API int vrpn_gettimeofday(struct timeval *tp, + void *tzp = NULL); + +// If compiling under Cygnus Solutions Cygwin then these get defined by +// including sys/time.h. So, we will manually define only for _WIN32 +// Only do this if the Configure file has set VRPN_EXPORT_GETTIMEOFDAY, +// so that application code can get at it. All VRPN routines should be +// calling vrpn_gettimeofday() directly. + +#if defined(VRPN_EXPORT_GETTIMEOFDAY) + +// manually define this too. _WIN32 sans cygwin doesn't have gettimeofday +#define gettimeofday vrpn_gettimeofday + +#endif +#endif + +//-------------------------------------------------------------- +// vrpn_* timeval utility functions + +// IMPORTANT: timevals must be normalized to make any sense +// +// * normalized means abs(tv_usec) is less than 1,000,000 +// +// * TimevalSum and TimevalDiff do not do the right thing if +// their inputs are not normalized +// +// * TimevalScale now normalizes it's results [9/1999 it didn't before] + +// make sure tv_usec is less than 1,000,000 +extern VRPN_API struct timeval vrpn_TimevalNormalize(const struct timeval &tv); + +extern VRPN_API struct timeval vrpn_TimevalSum(const struct timeval &tv1, + const struct timeval &tv2); +extern VRPN_API struct timeval vrpn_TimevalDiff(const struct timeval &tv1, + const struct timeval &tv2); +extern VRPN_API struct timeval vrpn_TimevalScale(const struct timeval &tv, + double scale); + +/// @brief Return number of microseconds between startT and endT. +extern VRPN_API unsigned long vrpn_TimevalDuration(struct timeval endT, + struct timeval startT); + +/// @brief Return the number of seconds between startT and endT as a +/// floating-point value. +extern VRPN_API double vrpn_TimevalDurationSeconds(struct timeval endT, + struct timeval startT); + +extern VRPN_API bool vrpn_TimevalGreater(const struct timeval &tv1, + const struct timeval &tv2); +extern VRPN_API bool vrpn_TimevalEqual(const struct timeval &tv1, + const struct timeval &tv2); + +extern VRPN_API double vrpn_TimevalMsecs(const struct timeval &tv1); + +extern VRPN_API struct timeval vrpn_MsecsTimeval(const double dMsecs); +extern VRPN_API void vrpn_SleepMsecs(double dMilliSecs); + +//-------------------------------------------------------------- +// vrpn_* buffer util functions and endian-ness related +// definitions and functions. + +// xform a double to/from network order -- like htonl and htons +extern VRPN_API vrpn_float64 vrpn_htond(vrpn_float64 d); +extern VRPN_API vrpn_float64 vrpn_ntohd(vrpn_float64 d); + +// From this we get the variable "vrpn_big_endian" set to true if the machine we +// are +// on is big endian and to false if it is little endian. This can be used by +// custom packing and unpacking code to bypass the buffer and unbuffer routines +// for cases that have to be particularly fast (like video data). It is also +// used +// internally by the vrpn_htond() function. + +static const int vrpn_int_data_for_endian_test = 1; +static const char *vrpn_char_data_for_endian_test = + static_cast<const char*>(static_cast<const void *>((&vrpn_int_data_for_endian_test))); +static const bool vrpn_big_endian = (vrpn_char_data_for_endian_test[0] != 1); + +// Read and write strings (not single items). +extern VRPN_API int vrpn_buffer(char **insertPt, vrpn_int32 *buflen, + const char *string, vrpn_int32 length); +extern VRPN_API int vrpn_unbuffer(const char **buffer, char *string, + vrpn_int32 length); + +// Read and write timeval. +extern VRPN_API int vrpn_unbuffer(const char **buffer, timeval *t); +extern VRPN_API int vrpn_buffer(char **insertPt, vrpn_int32 *buflen, + const timeval t); + +// To read and write the atomic types defined in vrpn_Types, you use the +// templated +// buffer and unbuffer routines below. These have the same form as the ones for +// timeval, but they use types vrpn_int, vrpn_uint, vrpn_int16, vrpn_uint16, +// vrpn_int32, vrpn_uint32, vrpn_float32, and vrpn_float64. + +/** + @brief Internal header providing unbuffering facilities for a number of + types. + + @date 2011 + + @author + Ryan Pavlik + <rpavlik@iastate.edu> and <abiryan@ryand.net> + http://academic.cleardefinition.com/ + Iowa State University Virtual Reality Applications Center + Human-Computer Interaction Graduate Program +*/ + +// Copyright Iowa State University 2011. +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// Tested in the context of vrpn_server and vrpn_print_devices running between +// an SGI running Irix 6.5 MIPS 32-bit (big endian) and Mac OSX intel 64-bit +// (little endian) machine with a NULL tracker and it worked using the SGI +// repaired commits from 3/17/2012. + +/// @brief Contains overloaded hton() and ntoh() functions that forward +/// to their correctly-typed implementations. +namespace vrpn_byte_order { + namespace vrpn_detail { + /// Traits class to get the uint type of a given size + template <int TypeSize> struct uint_traits; + + template <> struct uint_traits<1> { + typedef vrpn_uint8 type; + }; + template <> struct uint_traits<2> { + typedef vrpn_uint16 type; + }; + template <> struct uint_traits<4> { + typedef vrpn_uint32 type; + }; + } // end of namespace vrpn_detail + + /// host to network byte order for 8-bit uints is a no-op + inline vrpn_uint8 hton(vrpn_uint8 hostval) { return hostval; } + + /// network to host byte order for 8-bit uints is a no-op + inline vrpn_uint8 ntoh(vrpn_uint8 netval) { return netval; } + + /// host to network byte order for 16-bit uints + inline vrpn_uint16 hton(vrpn_uint16 hostval) { return htons(hostval); } + + /// network to host byte order for 16-bit uints + inline vrpn_uint16 ntoh(vrpn_uint16 netval) { return ntohs(netval); } + + /// host to network byte order for 32-bit uints + inline vrpn_uint32 hton(vrpn_uint32 hostval) { return htonl(hostval); } + + /// network to host byte order for 32-bit uints + inline vrpn_uint32 ntoh(vrpn_uint32 netval) { return ntohl(netval); } + + /// host to network byte order for 64-bit floats, using vrpn_htond + inline vrpn_float64 hton(vrpn_float64 hostval) { return vrpn_htond(hostval); } + + /// network to host byte order for 64-bit floats, using vrpn_ntohd + inline vrpn_float64 ntoh(vrpn_float64 netval) { return vrpn_ntohd(netval); } + + /// Templated hton that type-puns to the same-sized uint type + /// as a fallback for those types not explicitly defined above. + template <typename T> inline T hton(T input) + { + union { + T asInput; + typename vrpn_detail::uint_traits<sizeof(T)>::type asInt; + } inVal, outVal; + inVal.asInput = input; + outVal.asInt = hton(inVal.asInt); + return outVal.asInput; + } + + /// Templated ntoh that type-puns to the same-sized uint type + /// as a fallback for those types not explicitly defined above. + template <typename T> inline T ntoh(T input) + { + union { + T asInput; + typename vrpn_detail::uint_traits<sizeof(T)>::type asInt; + } inVal, outVal; + inVal.asInput = input; + outVal.asInt = ntoh(inVal.asInt); + return outVal.asInput; + } +} // end of namespace vrpn_byte_order + +namespace vrpn_detail { + template <typename T> struct remove_const { + typedef T type; + }; + + template <typename T> struct remove_const<const T> { + typedef T type; + }; + + template <bool Condition> struct vrpn_static_assert { + }; + /// @brief Each static assertion needs its message in this enum, or it will + /// always fail. + template <> struct vrpn_static_assert<true> { + enum { SIZE_OF_BUFFER_ITEM_IS_NOT_ONE_BYTE }; + }; +} // end of namespace vrpn_detail + +#ifdef VRPN_USE_STATIC_ASSERTIONS +/// @brief Static assertion macro for limited sets of messages. +/// Inspired by http://eigen.tuxfamily.org/dox/TopicAssertions.html +#if defined(__GXX_EXPERIMENTAL_CXX0X__) || \ + (defined(_MSC_VER) && (_MSC_VER >= 1600)) +#define VRPN_STATIC_ASSERT(CONDITION, MESSAGE) \ + static_assert(CONDITION, #MESSAGE) +#else +#define VRPN_STATIC_ASSERT(CONDITION, MESSAGE) \ + (void)(::vrpn_detail::vrpn_static_assert<CONDITION>::MESSAGE) +#endif +#else +/// Fall back to normal asserts. +#include <assert.h> +#define VRPN_STATIC_ASSERT(CONDITION, MESSAGE) assert((CONDITION) && #MESSAGE) +#endif + +/// Function template to unbuffer values from a buffer stored in little- +/// endian byte order. Specify the type to extract T as a template parameter. +/// The templated buffer type ByteT will be deduced automatically. +/// The input pointer will be advanced past the unbuffered value. +template <typename T, typename ByteT> +static inline T vrpn_unbuffer_from_little_endian(ByteT *&input) +{ + using namespace vrpn_byte_order; + + VRPN_STATIC_ASSERT(sizeof(ByteT) == 1, SIZE_OF_BUFFER_ITEM_IS_NOT_ONE_BYTE); + + /// Union to allow type-punning + union { + typename ::vrpn_detail::remove_const<ByteT>::type bytes[sizeof(T)]; + T typed; + } value; + + /// Swap known little-endian into big-endian (aka network byte order) + for (unsigned int i = 0, j = sizeof(T) - 1; i < sizeof(T); ++i, --j) { + value.bytes[i] = input[j]; + } + + /// Advance input pointer + input += sizeof(T); + + /// return value in host byte order + return ntoh(value.typed); +} + +/// Function template to unbuffer values from a buffer stored in network +/// byte order. Specify the type to extract T as a template parameter. +/// The templated buffer type ByteT will be deduced automatically. +/// The input pointer will be advanced past the unbuffered value. +template <typename T, typename ByteT> inline T vrpn_unbuffer(ByteT *&input) +{ + using namespace vrpn_byte_order; + + VRPN_STATIC_ASSERT(sizeof(ByteT) == 1, SIZE_OF_BUFFER_ITEM_IS_NOT_ONE_BYTE); + + /// Union to allow type-punning and ensure alignment + union { + typename ::vrpn_detail::remove_const<ByteT>::type bytes[sizeof(T)]; + T typed; + } value; + + /// Copy bytes into union + memcpy(value.bytes, input, sizeof(T)); + + /// Advance input pointer + input += sizeof(T); + + /// return value in host byte order + return ntoh(value.typed); +} + +/// Function template to buffer values to a buffer stored in little- +/// endian order. Specify the type to buffer T as a template parameter. +/// The templated buffer type ByteT will be deduced automatically. +/// The input pointer will be advanced past the unbuffered value. +template <typename T, typename ByteT> +inline int vrpn_buffer_to_little_endian(ByteT **insertPt, vrpn_int32 *buflen, const T inVal) +{ + using namespace vrpn_byte_order; + + VRPN_STATIC_ASSERT(sizeof(ByteT) == 1, SIZE_OF_BUFFER_ITEM_IS_NOT_ONE_BYTE); + + if ((insertPt == NULL) || (buflen == NULL)) { + fprintf(stderr, "vrpn_buffer: NULL pointer\n"); + return -1; + } + + if (sizeof(T) > static_cast<size_t>(*buflen)) { + fprintf(stderr, "vrpn_buffer: buffer not large enough\n"); + return -1; + } + + /// Union to allow type-punning and ensure alignment + union { + typename ::vrpn_detail::remove_const<ByteT>::type bytes[sizeof(T)]; + T typed; + } value; + + /// Populate union in network byte order + value.typed = hton(inVal); + + /// Swap known big-endian (aka network byte order) into little-endian + for (unsigned int i = 0, j = sizeof(T) - 1; i < sizeof(T); ++i, --j) { + (*insertPt)[i] = value.bytes[j]; + } + + /// Advance insert pointer + *insertPt += sizeof(T); + /// Decrement buffer length + *buflen -= sizeof(T); + + return 0; +} + +/// Function template to buffer values to a buffer stored in network +/// byte order. Specify the type to buffer T as a template parameter. +/// The templated buffer type ByteT will be deduced automatically. +/// The input pointer will be advanced past the unbuffered value. +template <typename T, typename ByteT> +inline int vrpn_buffer(ByteT **insertPt, vrpn_int32 *buflen, const T inVal) +{ + using namespace vrpn_byte_order; + + VRPN_STATIC_ASSERT(sizeof(ByteT) == 1, SIZE_OF_BUFFER_ITEM_IS_NOT_ONE_BYTE); + + if ((insertPt == NULL) || (buflen == NULL)) { + fprintf(stderr, "vrpn_buffer: NULL pointer\n"); + return -1; + } + + if (sizeof(T) > static_cast<size_t>(*buflen)) { + fprintf(stderr, "vrpn_buffer: buffer not large enough\n"); + return -1; + } + + /// Union to allow type-punning and ensure alignment + union { + typename ::vrpn_detail::remove_const<ByteT>::type bytes[sizeof(T)]; + T typed; + } value; + + /// Populate union in network byte order + value.typed = hton(inVal); + + /// Copy bytes into buffer + memcpy(*insertPt, value.bytes, sizeof(T)); + + /// Advance insert pointer + *insertPt += sizeof(T); + /// Decrement buffer length + *buflen -= sizeof(T); + + return 0; +} + +template <typename T, typename ByteT> +inline int vrpn_unbuffer(ByteT **input, T *lvalue) +{ + *lvalue = ::vrpn_unbuffer<T, ByteT>(*input); + return 0; +} + +// Returns true if tests work and false if they do not. +extern bool vrpn_test_pack_unpack(void); + diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_SharedObject.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_SharedObject.h new file mode 100644 index 0000000..6dfa452 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_SharedObject.h @@ -0,0 +1,572 @@ +#ifndef VRPN_SHARED_OBJECT +#define VRPN_SHARED_OBJECT + +#include <stddef.h> // for NULL + +#include "vrpn_Configure.h" // for VRPN_CALLBACK, VRPN_API +// This *must* be here to take care of winsock2.h and sys/time.h and other +// assorted system-dependent details. +#include "vrpn_Shared.h" // for timeval +#include "vrpn_Types.h" // for vrpn_int32, vrpn_bool, etc + +class VRPN_API vrpn_Connection; +struct timeval; +struct vrpn_HANDLERPARAM; + +class VRPN_API vrpn_LamportClock; // from "vrpn_LamportClock.h" +class VRPN_API vrpn_LamportTimestamp; + +// It's increasingly clear that we could handle all this with +// a template, except for the fact that vrpn_Shared_String is +// based on char *. All we need is a String base class. +// We could try to adopt BCString from nano's libnmb... + +// I'd like to implement shouldAcceptUpdate/shouldSendUpdate +// with the Strategy pattern (Gamma/Helm/Johnson/Vlissides 1995, pg 315). +// That would make it far, far easier to extend, but the implementation +// looks too unweildy. + +class VRPN_API vrpn_Shared_String; +class VRPN_API vrpn_Shared_float64; +class VRPN_API vrpn_Shared_int32; + +typedef int(VRPN_CALLBACK *vrpnDeferredUpdateCallback)(void *userdata); + +typedef int(VRPN_CALLBACK *vrpnSharedIntCallback)(void *userdata, + vrpn_int32 newValue, + vrpn_bool isLocal); +typedef int(VRPN_CALLBACK *vrpnSharedFloatCallback)(void *userdata, + vrpn_float64 newValue, + vrpn_bool isLocal); +typedef int(VRPN_CALLBACK *vrpnSharedStringCallback)(void *userdata, + const char *newValue, + vrpn_bool isLocal); + +typedef int(VRPN_CALLBACK *vrpnTimedSharedIntCallback)(void *userdata, + vrpn_int32 newValue, + timeval when, + vrpn_bool isLocal); +typedef int(VRPN_CALLBACK *vrpnTimedSharedFloatCallback)(void *userdata, + vrpn_float64 newValue, + timeval when, + vrpn_bool isLocal); +typedef int(VRPN_CALLBACK *vrpnTimedSharedStringCallback)(void *userdata, + const char *newValue, + timeval when, + vrpn_bool isLocal); + +// Update callbacks should return 0 on successful completion, +// nonzero on error (which will prevent further update callbacks +// from being invoked). + +typedef int(VRPN_CALLBACK *vrpnSharedIntSerializerPolicy)( + void *userdata, vrpn_int32 newValue, timeval when, + vrpn_Shared_int32 *object); +typedef int(VRPN_CALLBACK *vrpnSharedFloatSerializerPolicy)( + void *userdata, vrpn_float64 newValue, timeval when, + vrpn_Shared_float64 *object); +typedef int(VRPN_CALLBACK *vrpnSharedStringSerializerPolicy)( + void *userdata, const char *newValue, timeval when, + vrpn_Shared_String *object); + +// Policy callbacks should return 0 if the update should be accepted, +// nonzero if it should be denied. + +#define VRPN_SO_DEFAULT 0x00 +#define VRPN_SO_IGNORE_IDEMPOTENT 0x01 +#define VRPN_SO_DEFER_UPDATES 0x10 +#define VRPN_SO_IGNORE_OLD 0x100 + +// Each of these flags can be passed to all vrpn_Shared_* constructors. +// If VRPN_SO_IGNORE_IDEMPOTENT is used, calls of operator = (v) or set(v) +// are *ignored* if v == d_value. No callbacks are called, no network +// traffic takes place. +// If VRPN_SO_DEFER_UPDATES is used, calls of operator = (v) or set(v) +// on vrpn_Shared_*_Remote are sent to the server but not reflected +// locally until an update message is received from the server. +// If VRPN_SO_IGNORE_OLD is set, calls of set(v, t) are ignored if +// t < d_lastUpdate. This includes messages propagated over the network. + +// A vrpn_Shared_*_Server/Remote pair using VRPN_SO_IGNORE_OLD are +// guaranteed to reach the same final state - after quiescence (all messages +// sent on the network are delivered) they will yield the same value(), +// but they are *not* guaranteed to go through the same sequence of +// callbacks. + +// Using VRPN_SO_DEFER_UPDATES serializes all changes to d_value and +// all callbacks, so it guarantees that all instances of the shared +// variable see the same sequence of callbacks. + +// setSerializerPolicy() can be used to change the way VRPN_SO_DEFER_UPDATES +// operates. The default value described above is equivalent to calling +// setSerializerPolicy(vrpn_ACCEPT). Also possible are vrpn_DENY_REMOTE, +// which causes the serializer to ignore all updates from its peers, +// vrpn_DENY_LOCAL, which accepts updates from peers but ignores local +// updates, +// and vrpn_CALLBACK, which passes the update to a callback which can +// return zero for vrpn_ACCEPT or nonzero for vrpn_DENY. + +enum vrpn_SerializerPolicy { + vrpn_ACCEPT, + vrpn_DENY_REMOTE, + vrpn_DENY_LOCAL, + vrpn_CALLBACK +}; + +// Separated out vrpn_SharedObject from common behavior of 3 classes +// on 14 Feb 2000. Now all we need is permission to use templates to +// collapse them all together; *all* the functions remaining on the +// other classes are type-dependent and should be templatable. +// (One exception: the string that names the type. This could probably +// be cut.) + +class VRPN_API vrpn_SharedObject { + +public: + vrpn_SharedObject(const char *name, const char *tname, vrpn_int32 mode); + virtual ~vrpn_SharedObject(void); + + // ACCESSORS + + const char *name(void) const; + vrpn_bool isSerializer(void) const; + + // MANIPULATORS + + virtual void bindConnection(vrpn_Connection *); + ///< Every derived class should call this, do what it needs to, + ///< and ALSO call {server,remote}PostBindCleanup() to get + ///< myId and peerId set up and to get standard handlers registered. + + void useLamportClock(vrpn_LamportClock *); + ///< Lamport Clocks are NOT currently integrated. They should + ///< provide serialization (virtual timestamps) that work even + ///< when the clocks of the computers communicating are not + ///< roughly synchronized. + + void becomeSerializer(void); + ///< Requests that this instance of the shared object becomes + ///< the serializer (i.e. lock-arbitrator), and we can then use + ///< setSerializerPolicy to imitate a complete lock. Does nothing + ///< if we already are the serializer (isSerializer() returns true); + ///< otherwise initiates a 3-phase request protocol with the + ///< current serializer. There currently isn't any provision for + ///< notification of success (or failure). + + void registerDeferredUpdateCallback(vrpnDeferredUpdateCallback, + void *userdata); + ///< The specified function will be passed userdata when this + ///< particular shared object defers an update (receives a local + ///< update but is not the serializer and so sends the update off + ///< to the serializer). Intended to allow insertion of timing + ///< code for those times when you really want to know how long + ///< every little thing is taking. + +protected: + char *d_name; + vrpn_int32 d_mode; + timeval d_lastUpdate; + char *d_typename; // currently int32, float64, or String + + vrpn_Connection *d_connection; + // vrpn_int32 d_updateFromServer_type; + // vrpn_int32 d_updateFromRemote_type; + // vrpn_int32 d_myUpdate_type; // fragile + vrpn_int32 d_serverId; + vrpn_int32 d_remoteId; + vrpn_int32 d_myId; // fragile + vrpn_int32 d_peerId; // fragile + vrpn_int32 d_update_type; + + vrpn_int32 d_requestSerializer_type; + ///< Sent to the serializer to assume its duties. + vrpn_int32 d_grantSerializer_type; + ///< Sent by the serializer to grant a request. + vrpn_int32 d_assumeSerializer_type; + ///< Sent by a new serializer once it has been notified that + ///< its request has been granted. + + // vrpn_int32 d_updateFromServerLamport_type; + // vrpn_int32 d_updateFromRemoteLamport_type; + vrpn_int32 d_lamportUpdate_type; + + vrpn_bool d_isSerializer; + ///< default to vrpn_TRUE for servers, FALSE for remotes + vrpn_bool d_isNegotiatingSerializer; + ///< As long as we have inorder delivery, this should be + ///< sufficient to keep us from getting many at once. + + virtual vrpn_bool shouldSendUpdate(vrpn_bool isLocalSet, + vrpn_bool acceptedUpdate); + + int yankCallbacks(vrpn_bool isLocal); + ///< must set d_lastUpdate BEFORE calling yankCallbacks() + + static int VRPN_CALLBACK + handle_requestSerializer(void *, vrpn_HANDLERPARAM); + static int VRPN_CALLBACK handle_grantSerializer(void *, vrpn_HANDLERPARAM); + static int VRPN_CALLBACK handle_assumeSerializer(void *, vrpn_HANDLERPARAM); + + vrpn_bool d_queueSets; + ///< If this is true, no set()s are processed; instead, they + ///< are queued for later execution. + ///< NOT IMPLEMENTED + + vrpn_LamportClock *d_lClock; + vrpn_LamportTimestamp *d_lastLamportUpdate; + + struct deferredUpdateCallbackEntry { + vrpnDeferredUpdateCallback handler; + void *userdata; + deferredUpdateCallbackEntry *next; + }; + deferredUpdateCallbackEntry *d_deferredUpdateCallbacks; + + int yankDeferredUpdateCallbacks(void); + ///< returns -1 on error (i.e. nonzero return by a callback) + + void serverPostBindCleanup(void); + void remotePostBindCleanup(void); + + virtual void sendUpdate(void) = 0; + ///< Should invoke default sendUpdate() for this derived type. + virtual int handleUpdate(vrpn_HANDLERPARAM) = 0; + + static int VRPN_CALLBACK handle_gotConnection(void *, vrpn_HANDLERPARAM); + ///< Register this handler in postBindCleanup(); + ///< it calls sendUpdate() to make sure the remote has the + ///< correct value on first connection. + static int VRPN_CALLBACK handle_update(void *, vrpn_HANDLERPARAM); + ///< Passes arguments to handleUpdate() for this type; + ///< registered in postBindCleanup(); + +private: + void postBindCleanup(void); +}; + +class VRPN_API vrpn_Shared_int32 : public vrpn_SharedObject { + +public: + vrpn_Shared_int32(const char *name, vrpn_int32 defaultValue = 0, + vrpn_int32 mode = VRPN_SO_DEFAULT); + virtual ~vrpn_Shared_int32(void); + + // ACCESSORS + + vrpn_int32 value(void) const; + operator vrpn_int32() const; + + // MANIPULATORS + + vrpn_Shared_int32 &operator=(vrpn_int32 newValue); + // calls set(newValue, now); + + vrpn_Shared_int32 &set(vrpn_int32 newValue, timeval when); + // calls protected set (newValue, when, vrpn_TRUE); + + void register_handler(vrpnSharedIntCallback, void *); + void unregister_handler(vrpnSharedIntCallback, void *); + void register_handler(vrpnTimedSharedIntCallback, void *); + void unregister_handler(vrpnTimedSharedIntCallback, void *); + // Callbacks are (currently) called *AFTER* the assignment + // has been made, so any check of the value of their shared int + // will return newValue + + void setSerializerPolicy(vrpn_SerializerPolicy policy = vrpn_ACCEPT, + vrpnSharedIntSerializerPolicy f = NULL, + void *userdata = NULL); + +protected: + vrpn_int32 d_value; + + // callback code + // Could generalize this by making a class that gets passed + // a vrpn_HANDLERPARAM and passes whatever is needed to its callback, + // but it's not worth doing that unless we need a third or fourth + // kind of callback. + struct callbackEntry { + vrpnSharedIntCallback handler; + void *userdata; + callbackEntry *next; + }; + callbackEntry *d_callbacks; + struct timedCallbackEntry { + vrpnTimedSharedIntCallback handler; + void *userdata; + timedCallbackEntry *next; + }; + timedCallbackEntry *d_timedCallbacks; + + vrpn_Shared_int32 &set(vrpn_int32, timeval, vrpn_bool isLocalSet, + vrpn_LamportTimestamp * = NULL); + + virtual vrpn_bool shouldAcceptUpdate(vrpn_int32 newValue, timeval when, + vrpn_bool isLocalSet, + vrpn_LamportTimestamp *); + + virtual void sendUpdate(void); + void sendUpdate(vrpn_int32 newValue, timeval when); + + void encode(char **buffer, vrpn_int32 *len, vrpn_int32 newValue, + timeval when) const; + void encodeLamport(char **buffer, vrpn_int32 *len, vrpn_int32 newValue, + timeval when, vrpn_LamportTimestamp *t) const; + // We used to have sendUpdate() and encode() just read off of + // d_value and d_lastUpdate, but that doesn't work when we're + // serializing (VRPN_SO_DEFER_UPDATES), because we don't want + // to change the local values but do want to send the new values + // to the serializer. + void decode(const char **buffer, vrpn_int32 *len, vrpn_int32 *newValue, + timeval *when) const; + void decodeLamport(const char **buffer, vrpn_int32 *len, + vrpn_int32 *newValue, timeval *when, + vrpn_LamportTimestamp **t) const; + + int yankCallbacks(vrpn_bool isLocal); + // must set d_lastUpdate BEFORE calling yankCallbacks() + + // serializer policy code + vrpn_SerializerPolicy d_policy; // default to vrpn_ACCEPT + vrpnSharedIntSerializerPolicy d_policyCallback; + void *d_policyUserdata; + + int handleUpdate(vrpn_HANDLERPARAM); + + static int VRPN_CALLBACK handle_lamportUpdate(void *, vrpn_HANDLERPARAM); +}; + +// I don't think the derived classes should have to have operator = () +// defined (they didn't in the last version??), but both SGI and HP +// compilers seem to insist on it. + +class VRPN_API vrpn_Shared_int32_Server : public vrpn_Shared_int32 { + +public: + vrpn_Shared_int32_Server(const char *name, vrpn_int32 defaultValue = 0, + vrpn_int32 defaultMode = VRPN_SO_DEFAULT); + virtual ~vrpn_Shared_int32_Server(void); + + vrpn_Shared_int32_Server &operator=(vrpn_int32 newValue); + + virtual void bindConnection(vrpn_Connection *); + +protected: +}; + +class VRPN_API vrpn_Shared_int32_Remote : public vrpn_Shared_int32 { + +public: + vrpn_Shared_int32_Remote(const char *name, vrpn_int32 defaultValue = 0, + vrpn_int32 defaultMode = VRPN_SO_DEFAULT); + virtual ~vrpn_Shared_int32_Remote(void); + + vrpn_Shared_int32_Remote &operator=(vrpn_int32 newValue); + + virtual void bindConnection(vrpn_Connection *); +}; + +class VRPN_API vrpn_Shared_float64 : public vrpn_SharedObject { + +public: + vrpn_Shared_float64(const char *name, vrpn_float64 defaultValue = 0.0, + vrpn_int32 mode = VRPN_SO_DEFAULT); + virtual ~vrpn_Shared_float64(void); + + // ACCESSORS + + vrpn_float64 value(void) const; + operator vrpn_float64() const; + + // MANIPULATORS + + vrpn_Shared_float64 &operator=(vrpn_float64 newValue); + // calls set(newValue, now); + + virtual vrpn_Shared_float64 &set(vrpn_float64 newValue, timeval when); + // calls protected set (newValue, when, vrpn_TRUE); + + void register_handler(vrpnSharedFloatCallback, void *); + void unregister_handler(vrpnSharedFloatCallback, void *); + void register_handler(vrpnTimedSharedFloatCallback, void *); + void unregister_handler(vrpnTimedSharedFloatCallback, void *); + // Callbacks are (currently) called *AFTER* the assignment + // has been made, so any check of the value of their shared int + // will return newValue + + void setSerializerPolicy(vrpn_SerializerPolicy policy = vrpn_ACCEPT, + vrpnSharedFloatSerializerPolicy f = NULL, + void *userdata = NULL); + +protected: + vrpn_float64 d_value; + + // callback code + // Could generalize this by making a class that gets passed + // a vrpn_HANDLERPARAM and passes whatever is needed to its callback, + // but it's not worth doing that unless we need a third or fourth + // kind of callback. + struct callbackEntry { + vrpnSharedFloatCallback handler; + void *userdata; + callbackEntry *next; + }; + callbackEntry *d_callbacks; + struct timedCallbackEntry { + vrpnTimedSharedFloatCallback handler; + void *userdata; + timedCallbackEntry *next; + }; + timedCallbackEntry *d_timedCallbacks; + + vrpn_SerializerPolicy d_policy; // default to vrpn_ACCEPT + vrpnSharedFloatSerializerPolicy d_policyCallback; + void *d_policyUserdata; + + vrpn_Shared_float64 &set(vrpn_float64, timeval, vrpn_bool isLocalSet); + + virtual vrpn_bool shouldAcceptUpdate(vrpn_float64 newValue, timeval when, + vrpn_bool isLocalSet); + + virtual void sendUpdate(void); + void sendUpdate(vrpn_float64 newValue, timeval when); + void encode(char **buffer, vrpn_int32 *len, vrpn_float64 newValue, + timeval when) const; + void decode(const char **buffer, vrpn_int32 *len, vrpn_float64 *newValue, + timeval *when) const; + + int yankCallbacks(vrpn_bool isLocal); + // must set d_lastUpdate BEFORE calling yankCallbacks() + + int handleUpdate(vrpn_HANDLERPARAM); + static int VRPN_CALLBACK handle_lamportUpdate(void *, vrpn_HANDLERPARAM); +}; + +class VRPN_API vrpn_Shared_float64_Server : public vrpn_Shared_float64 { + +public: + vrpn_Shared_float64_Server(const char *name, vrpn_float64 defaultValue = 0, + vrpn_int32 defaultMode = VRPN_SO_DEFAULT); + virtual ~vrpn_Shared_float64_Server(void); + + vrpn_Shared_float64_Server &operator=(vrpn_float64 newValue); + + virtual void bindConnection(vrpn_Connection *); + +protected: +}; + +class VRPN_API vrpn_Shared_float64_Remote : public vrpn_Shared_float64 { + +public: + vrpn_Shared_float64_Remote(const char *name, vrpn_float64 defaultValue = 0, + vrpn_int32 defaultMode = VRPN_SO_DEFAULT); + virtual ~vrpn_Shared_float64_Remote(void); + + vrpn_Shared_float64_Remote &operator=(vrpn_float64 newValue); + + virtual void bindConnection(vrpn_Connection *); +}; + +class VRPN_API vrpn_Shared_String : public vrpn_SharedObject { + +public: + vrpn_Shared_String(const char *name, const char *defaultValue = NULL, + vrpn_int32 mode = VRPN_SO_DEFAULT); + virtual ~vrpn_Shared_String(void); + + // ACCESSORS + + const char *value(void) const; + operator const char *() const; + + // MANIPULATORS + + vrpn_Shared_String &operator=(const char *newValue); + // calls set(newValue, now); + + virtual vrpn_Shared_String &set(const char *newValue, timeval when); + // calls protected set (newValue, when, vrpn_TRUE); + + void register_handler(vrpnSharedStringCallback, void *); + void unregister_handler(vrpnSharedStringCallback, void *); + void register_handler(vrpnTimedSharedStringCallback, void *); + void unregister_handler(vrpnTimedSharedStringCallback, void *); + // Callbacks are (currently) called *AFTER* the assignment + // has been made, so any check of the value of their shared int + // will return newValue + + void setSerializerPolicy(vrpn_SerializerPolicy policy = vrpn_ACCEPT, + vrpnSharedStringSerializerPolicy f = NULL, + void *userdata = NULL); + +protected: + char *d_value; + + // callback code + // Could generalize this by making a class that gets passed + // a vrpn_HANDLERPARAM and passes whatever is needed to its callback, + // but it's not worth doing that unless we need a third or fourth + // kind of callback. + struct callbackEntry { + vrpnSharedStringCallback handler; + void *userdata; + callbackEntry *next; + }; + callbackEntry *d_callbacks; + struct timedCallbackEntry { + vrpnTimedSharedStringCallback handler; + void *userdata; + timedCallbackEntry *next; + }; + timedCallbackEntry *d_timedCallbacks; + + vrpn_SerializerPolicy d_policy; // default to vrpn_ACCEPT + vrpnSharedStringSerializerPolicy d_policyCallback; + void *d_policyUserdata; + + vrpn_Shared_String &set(const char *, timeval, vrpn_bool isLocalSet); + + virtual vrpn_bool shouldAcceptUpdate(const char *newValue, timeval when, + vrpn_bool isLocalSet); + + virtual void sendUpdate(void); + void sendUpdate(const char *newValue, timeval when); + void encode(char **buffer, vrpn_int32 *len, const char *newValue, + timeval when) const; + void decode(const char **buffer, vrpn_int32 *len, char *newValue, + timeval *when) const; + + int yankCallbacks(vrpn_bool isLocal); + // must set d_lastUpdate BEFORE calling yankCallbacks() + + int handleUpdate(vrpn_HANDLERPARAM); + static int VRPN_CALLBACK handle_lamportUpdate(void *, vrpn_HANDLERPARAM); +}; + +class VRPN_API vrpn_Shared_String_Server : public vrpn_Shared_String { + +public: + vrpn_Shared_String_Server(const char *name, const char *defaultValue = NULL, + vrpn_int32 defaultMode = VRPN_SO_DEFAULT); + virtual ~vrpn_Shared_String_Server(void); + + vrpn_Shared_String_Server &operator=(const char *); + + virtual void bindConnection(vrpn_Connection *); + +protected: +}; + +class VRPN_API vrpn_Shared_String_Remote : public vrpn_Shared_String { + +public: + vrpn_Shared_String_Remote(const char *name, const char *defaultValue = NULL, + vrpn_int32 defaultMode = VRPN_SO_DEFAULT); + virtual ~vrpn_Shared_String_Remote(void); + + vrpn_Shared_String_Remote &operator=(const char *); + + virtual void bindConnection(vrpn_Connection *); +}; + +#endif // VRPN_SHARED_OBJECT diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_Sound.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_Sound.h new file mode 100644 index 0000000..a06ebdc --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_Sound.h @@ -0,0 +1,443 @@ +// vrpn_Sound.h +// +// April 12 2000 - ZK + +#ifndef VRPN_SOUND_H + +#include "vrpn_BaseClass.h" // for vrpn_BaseClass +#include "vrpn_Configure.h" // for VRPN_CALLBACK, VRPN_API +#include "vrpn_Shared.h" // for timeval +#include "vrpn_Text.h" // for vrpn_TEXTCB, etc +#include "vrpn_Types.h" // for vrpn_int32, vrpn_float64, etc + +class VRPN_API vrpn_Connection; +struct vrpn_HANDLERPARAM; + +#define MAX_MATERIAL_NAME_LENGTH 128 +#define MAX_NUMBER_SOUNDS 1024 +#define MAX_NUMBER_MATERIALS 64 +#define MAX_NUMBER_POLYGONS 2048 +#define MAX_FILENAME_LENGTH 2048 + +// everything is on order found in these structs! + +typedef vrpn_int32 vrpn_SoundID; + +typedef struct _vrpn_PoseDef { + vrpn_float64 position[3]; + vrpn_float64 orientation[4]; + _vrpn_PoseDef() + { + position[0] = position[1] = position[2] = 0.0; + orientation[0] = orientation[1] = orientation[2] = 0.0; + orientation[3] = 1.0; + }; +} vrpn_PoseDef; + +typedef struct _vrpn_SoundDef { + vrpn_PoseDef pose; + vrpn_float64 velocity[4]; + vrpn_float64 max_front_dist; + vrpn_float64 min_front_dist; + vrpn_float64 max_back_dist; + vrpn_float64 min_back_dist; + vrpn_float64 cone_inner_angle; + vrpn_float64 cone_outer_angle; + vrpn_float64 cone_gain; + vrpn_float64 dopler_scale; + vrpn_float64 equalization_val; + vrpn_float64 pitch; + vrpn_float32 volume; // Jason Clark calls this volume, but really it is gain! + _vrpn_SoundDef() + : max_front_dist(0) + , min_front_dist(0) + , max_back_dist(0) + , min_back_dist(0) + , cone_inner_angle(0) + , cone_outer_angle(0) + , cone_gain(0) + , dopler_scale(0) + , equalization_val(0) + , pitch(0) + , volume(0) + { velocity[0] = velocity[1] = velocity[2] = velocity[3] = 0.0; }; + +} vrpn_SoundDef; + +typedef struct _vrpn_ListenerDef { + vrpn_PoseDef pose; + vrpn_float64 velocity[4]; +} vrpn_ListenerDef; + +typedef struct _vrpn_MaterialDef { + char material_name[MAX_MATERIAL_NAME_LENGTH]; + vrpn_float64 transmittance_gain; + vrpn_float64 transmittance_highfreq; + vrpn_float64 reflectance_gain; + vrpn_float64 reflectance_highfreq; +} vrpn_MaterialDef; + +typedef struct _vrpn_QuadDef { + vrpn_int32 subQuad; // really a bool + vrpn_float64 openingFactor; + vrpn_int32 tag; + vrpn_float64 vertices[4][3]; + char material_name[MAX_MATERIAL_NAME_LENGTH]; +} vrpn_QuadDef; + +typedef struct _vrpn_TriDef { + vrpn_int32 subTri; + vrpn_float64 openingFactor; + vrpn_int32 tag; + vrpn_float64 vertices[3][3]; + char material_name[MAX_MATERIAL_NAME_LENGTH]; +} vrpn_TriDef; + +class VRPN_API vrpn_Sound : public vrpn_BaseClass { + +public: + vrpn_Sound(const char *name, vrpn_Connection *c); + ~vrpn_Sound(); + +protected: + vrpn_int32 + load_sound_local; // ID of message to load a sound from server side + vrpn_int32 + load_sound_remote; // ID of message to load a sound from client side + vrpn_int32 unload_sound; // ID of message to unload a sound + vrpn_int32 play_sound; // ID of message to play a sound + vrpn_int32 stop_sound; // ID of message to stop a sound + vrpn_int32 + change_sound_status; // ID of message to change the sound's status + vrpn_int32 + set_listener_pose; // ID of message to set the listener's pos/orient + vrpn_int32 + set_listener_velocity; // ID of message to set the listener's velocity + vrpn_int32 set_sound_pose; // + vrpn_int32 set_sound_velocity; // + vrpn_int32 set_sound_distanceinfo; // + vrpn_int32 set_sound_coneinfo; // + vrpn_int32 set_sound_doplerfactor; // + vrpn_int32 set_sound_eqvalue; // + vrpn_int32 set_sound_pitch; + vrpn_int32 set_sound_volume; // + + vrpn_int32 load_model_local; // load model file from server side + vrpn_int32 load_model_remote; // load model file from client side + vrpn_int32 load_polyquad; // ID of message to load a quad polygon + vrpn_int32 load_polytri; // ID of message to load a tri polygon + vrpn_int32 load_material; // ID of message to load a material definition + vrpn_int32 set_polyquad_vertices; + vrpn_int32 set_polytri_vertices; + vrpn_int32 set_poly_openingfactor; + vrpn_int32 set_poly_material; + + vrpn_int32 receive_text_message; + + struct timeval timestamp; // Current timestamp + + int register_types(void); + + /*All encodes and decodes functions are for the purpose of setting up + messages to be sent over the network properly (ie to put them in one + char buffer and to put them in proper network order and for getting + the messages back into a usable format once they have been received*/ + + /*Note encodeSound allocates space dynamically for buf, it is your + responsibility to free it up*/ + vrpn_int32 encodeSound_local(const char *filename, const vrpn_SoundID id, + const vrpn_SoundDef soundDef, char **buf); + /*Note decodeSound allocates space dynamically for filename, it is your + responsibility to free it up*/ + vrpn_int32 decodeSound_local(const char *buf, char **filename, + vrpn_SoundID *id, vrpn_SoundDef *soundDef, + const int payload); + + // These two are not supported yet! + vrpn_int32 encodeSound_remote(const char *filename, const vrpn_SoundID id, + char **buf); + vrpn_int32 decodeSound_remote(const char *buf, char **filename, + vrpn_SoundID *id, const int payload); + + vrpn_int32 encodeSoundID(const vrpn_SoundID id, char *buf); + vrpn_int32 decodeSoundID(const char *buf, vrpn_SoundID *id); + vrpn_int32 encodeSoundDef(const vrpn_SoundDef sound, const vrpn_SoundID id, + const vrpn_int32 repeat, char *buf); + vrpn_int32 decodeSoundDef(const char *buf, vrpn_SoundDef *sound, + vrpn_SoundID *id, vrpn_int32 *repeat); + vrpn_int32 encodeSoundPlay(const vrpn_SoundID id, const vrpn_int32 repeat, + char *buf); + vrpn_int32 decodeSoundPlay(const char *buf, vrpn_SoundID *id, + vrpn_int32 *repeat); + vrpn_int32 encodeListenerVelocity(const vrpn_float64 *velocity, char *buf); + vrpn_int32 decodeListenerVelocity(const char *buf, vrpn_float64 *velocity); + vrpn_int32 encodeListenerPose(const vrpn_PoseDef pose, char *buf); + vrpn_int32 decodeListenerPose(const char *buf, vrpn_PoseDef *pose); + + vrpn_int32 encodeSoundPose(const vrpn_PoseDef pose, const vrpn_SoundID id, + char *buf); + vrpn_int32 decodeSoundPose(const char *buf, vrpn_PoseDef *pose, + vrpn_SoundID *id); + vrpn_int32 encodeSoundVelocity(const vrpn_float64 *velocity, + const vrpn_SoundID id, char *buf); + vrpn_int32 decodeSoundVelocity(const char *buf, vrpn_float64 *velocity, + vrpn_SoundID *id); + vrpn_int32 encodeSoundDistInfo(const vrpn_float64 min_back, + const vrpn_float64 max_back, + const vrpn_float64 min_front, + const vrpn_float64 max_front, + const vrpn_SoundID id, char *buf); + vrpn_int32 decodeSoundDistInfo(const char *buf, vrpn_float64 *min_back, + vrpn_float64 *max_back, + vrpn_float64 *min_front, + vrpn_float64 *max_front, vrpn_SoundID *id); + vrpn_int32 encodeSoundConeInfo(const vrpn_float64 cone_inner_angle, + const vrpn_float64 cone_outer_angle, + const vrpn_float64 cone_gain, + const vrpn_SoundID id, char *buf); + vrpn_int32 decodeSoundConeInfo(const char *buf, + vrpn_float64 *cone_inner_angle, + vrpn_float64 *cone_outer_angle, + vrpn_float64 *cone_gain, vrpn_SoundID *id); + vrpn_int32 encodeSoundDoplerScale(const vrpn_float64 doplerfactor, + const vrpn_SoundID id, char *buf); + vrpn_int32 decodeSoundDoplerScale(const char *buf, + vrpn_float64 *doplerfactor, + vrpn_SoundID *id); + vrpn_int32 encodeSoundEqFactor(const vrpn_float64 eqfactor, + const vrpn_SoundID id, char *buf); + vrpn_int32 decodeSoundEqFactor(const char *buf, vrpn_float64 *eqfactor, + vrpn_SoundID *id); + vrpn_int32 encodeSoundPitch(const vrpn_float64 pitch, const vrpn_SoundID id, + char *buf); + vrpn_int32 decodeSoundPitch(const char *buf, vrpn_float64 *pitch, + vrpn_SoundID *id); + vrpn_int32 encodeSoundVolume(const vrpn_float64 volume, + const vrpn_SoundID id, char *buf); + vrpn_int32 decodeSoundVolume(const char *buf, vrpn_float64 *volume, + vrpn_SoundID *id); + + vrpn_int32 encodeLoadModel_local(const char *filename, char **buf); + vrpn_int32 decodeLoadModel_local(const char *buf, char **filename, + const int payload); + + // Remote stuff not supported yet! + vrpn_int32 encodeLoadModel_remote(const char *filename, char **buf); + vrpn_int32 decodeLoadModel_remote(const char *buf, char **filename, + const int payload); + + vrpn_int32 encodeLoadPolyQuad(const vrpn_QuadDef quad, char *buf); + vrpn_int32 decodeLoadPolyQuad(const char *buf, vrpn_QuadDef *quad); + vrpn_int32 encodeLoadPolyTri(const vrpn_TriDef tri, char *buf); + vrpn_int32 decodeLoadPolyTri(const char *buf, vrpn_TriDef *tri); + vrpn_int32 encodeLoadMaterial(const vrpn_int32 id, + const vrpn_MaterialDef material, char *buf); + vrpn_int32 decodeLoadMaterial(const char *buf, vrpn_MaterialDef *material, + vrpn_int32 *id); + vrpn_int32 encodeSetQuadVert(const vrpn_float64 vertices[4][3], + const vrpn_int32 tag, char *buf); + vrpn_int32 decodeSetQuadVert(const char *buf, + vrpn_float64 (*vertices)[4][3], + vrpn_int32 *tag); + vrpn_int32 encodeSetTriVert(const vrpn_float64 vertices[3][3], + const vrpn_int32 tag, char *buf); + vrpn_int32 decodeSetTriVert(const char *buf, vrpn_float64 (*vertices)[3][3], + vrpn_int32 *tag); + vrpn_int32 encodeSetPolyOF(const vrpn_float64 openingfactor, + const vrpn_int32 tag, char *buf); + vrpn_int32 decodeSetPolyOF(const char *buf, vrpn_float64 *openingfactor, + vrpn_int32 *tag); + vrpn_int32 encodeSetPolyMaterial(const char *material, const vrpn_int32 tag, + char *buf); + vrpn_int32 decodeSetPolyMaterial(const char *buf, char **material, + vrpn_int32 *tag, const int payload); +}; + +class VRPN_API vrpn_Sound_Client : public vrpn_Sound, + public vrpn_Text_Receiver { +public: + vrpn_Sound_Client(const char *name, vrpn_Connection *c); + ~vrpn_Sound_Client(); + + // This command starts a sound playing, the repeat value indicates how + // many times to play it. Continuously if repeat is set to 0 + vrpn_int32 playSound(const vrpn_SoundID id, vrpn_int32 repeat); + vrpn_int32 stopSound(const vrpn_SoundID id); + // Loads a sound into memory on the server side, returns the ID value to be + // used to refer to the sound from now on. Pass in the path and filename + vrpn_SoundID loadSound(const char *sound, const vrpn_SoundID id, + const vrpn_SoundDef soundDef); + vrpn_int32 unloadSound(const vrpn_SoundID id); + + // All the functions with change and sound in them, can change either an + // already playing sound or one yet to be played + vrpn_int32 setSoundVolume(const vrpn_SoundID id, const vrpn_float64 volume); + vrpn_int32 setSoundPose(const vrpn_SoundID id, vrpn_float64 position[3], + vrpn_float64 orientation[4]); + vrpn_int32 setSoundVelocity(const vrpn_SoundID id, + const vrpn_float64 velocity[4]); + vrpn_int32 setSoundDistances(const vrpn_SoundID id, + const vrpn_float64 max_front_dist, + const vrpn_float64 min_front_dist, + const vrpn_float64 max_back_dist, + const vrpn_float64 min_back_dist); + vrpn_int32 setSoundConeInfo(const vrpn_SoundID id, + const vrpn_float64 inner_angle, + const vrpn_float64 outer_angle, + const vrpn_float64 gain); + + vrpn_int32 setSoundDopScale(const vrpn_SoundID id, vrpn_float64 dopfactor); + vrpn_int32 setSoundEqValue(const vrpn_SoundID id, vrpn_float64 eq_value); + vrpn_int32 setSoundPitch(const vrpn_SoundID id, vrpn_float64 pitch); + + vrpn_int32 setListenerPose(const vrpn_float64 position[3], + const vrpn_float64 orientation[4]); + vrpn_int32 setListenerVelocity(const vrpn_float64 velocity[4]); + + vrpn_int32 LoadModel_local(const char *filename); + + // Remote stuff not supported yet! + vrpn_int32 LoadModel_remote(const char *data); + + vrpn_int32 LoadPolyQuad(const vrpn_QuadDef quad); + vrpn_int32 LoadPolyTri(const vrpn_TriDef tri); + vrpn_int32 LoadMaterial(const vrpn_int32 id, + const vrpn_MaterialDef material); + + vrpn_int32 setMaterialName(const int id, const char *materialname); + vrpn_int32 setMaterialTransGain(const int id, + const vrpn_float64 transmittance_gain); + vrpn_int32 setMaterialTransHF(const int id, + const vrpn_float64 transmittance_hf); + vrpn_int32 setMaterialReflGain(const int id, + const vrpn_float64 reflectance_gain); + vrpn_int32 setMaterialReflHF(const int id, + const vrpn_float64 reflectance_hf); + + vrpn_int32 setPolyOF(const int id, const vrpn_float64 OF); + vrpn_int32 setQuadVertices(const int id, const vrpn_float64 vertices[4][3]); + vrpn_int32 setPolyMaterialName(const int id, const char *materialname); + + vrpn_int32 setTriVertices(const int id, const vrpn_float64 vertices[3][3]); + + virtual void mainloop(); + + virtual void receiveTextMessage(const char *message, vrpn_uint32 type, + vrpn_uint32 level, struct timeval msg_time); + +protected: +private: + static void VRPN_CALLBACK + handle_receiveTextMessage(void *userdata, const vrpn_TEXTCB t); +}; + +/*Note on the server design + The server is designed in such a way that it expects a sub-class that is + implemented + that actually implements sound functionality to have certain functions that it + can + call to tell the child to play, load, whatever. This parent server class, + handles + all of the callback functionality and decoding, allowing child classes to only + have + to worry about sound functionality*/ +#ifndef VRPN_CLIENT_ONLY +class VRPN_API vrpn_Sound_Server : public vrpn_Sound, public vrpn_Text_Sender { +public: + vrpn_Sound_Server(const char *name, vrpn_Connection *c); + ~vrpn_Sound_Server(); + + virtual void playSound(vrpn_SoundID id, vrpn_int32 repeat, + vrpn_SoundDef soundDef) = 0; + virtual void loadSoundLocal(char *filename, vrpn_SoundID id, + vrpn_SoundDef soundDef) = 0; + virtual void loadSoundRemote(char *file, vrpn_SoundID id, + vrpn_SoundDef soundDef) = 0; + virtual void stopSound(vrpn_SoundID id) = 0; + virtual void unloadSound(vrpn_SoundID id) = 0; + virtual void changeSoundStatus(vrpn_SoundID id, vrpn_SoundDef soundDef) = 0; + virtual void setListenerPose(vrpn_PoseDef pose) = 0; + virtual void setListenerVelocity(vrpn_float64 *velocity) = 0; + + virtual void setSoundPose(vrpn_SoundID id, vrpn_PoseDef pose) = 0; + virtual void setSoundVelocity(vrpn_SoundID id, vrpn_float64 *velocity) = 0; + virtual void setSoundDistInfo(vrpn_SoundID id, vrpn_float64 *distinfo) = 0; + virtual void setSoundConeInfo(vrpn_SoundID id, vrpn_float64 *coneinfo) = 0; + + virtual void setSoundDoplerFactor(vrpn_SoundID id, + vrpn_float64 doplerfactor) = 0; + virtual void setSoundEqValue(vrpn_SoundID id, vrpn_float64 eqvalue) = 0; + virtual void setSoundPitch(vrpn_SoundID id, vrpn_float64 pitch) = 0; + virtual void setSoundVolume(vrpn_SoundID id, vrpn_float64 volume) = 0; + virtual void loadModelLocal(const char *filename) = 0; + virtual void loadModelRemote() = 0; // not supported + virtual void loadPolyQuad(vrpn_QuadDef *quad) = 0; + virtual void loadPolyTri(vrpn_TriDef *tri) = 0; + virtual void loadMaterial(vrpn_MaterialDef *material, vrpn_int32 id) = 0; + virtual void setPolyQuadVertices(vrpn_float64 vertices[4][3], + const vrpn_int32 id) = 0; + virtual void setPolyTriVertices(vrpn_float64 vertices[3][3], + const vrpn_int32 id) = 0; + virtual void setPolyOF(vrpn_float64 OF, vrpn_int32 tag) = 0; + virtual void setPolyMaterial(const char *material, vrpn_int32 tag) = 0; + +protected: +private: + static int VRPN_CALLBACK + handle_loadSoundLocal(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_loadSoundRemote(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_unloadSound(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_playSound(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_stopSound(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_changeSoundStatus(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_setListenerPose(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_setListenerVelocity(void *userdata, vrpn_HANDLERPARAM p); + + static int VRPN_CALLBACK + handle_setSoundPose(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_setSoundVelocity(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_setSoundDistanceinfo(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_setSoundConeinfo(void *userdata, vrpn_HANDLERPARAM p); + + static int VRPN_CALLBACK + handle_setSoundDoplerfactor(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_setSoundEqvalue(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_setSoundPitch(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_setSoundVolume(void *userdata, vrpn_HANDLERPARAM p); + + static int VRPN_CALLBACK + handle_loadModelLocal(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_loadModelRemote(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_loadPolyquad(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_loadPolytri(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_loadMaterial(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_setPolyquadVertices(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_setPolytriVertices(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_setPolyOpeningfactor(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_setPolyMaterial(void *userdata, vrpn_HANDLERPARAM p); +}; +#endif //#ifndef VRPN_CLIENT_ONLY + +#define VRPN_SOUND_H +#endif diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_Text.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_Text.h new file mode 100644 index 0000000..597d0d9 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_Text.h @@ -0,0 +1,102 @@ +/* vrpn_Text.h + Definition of user-level access to the text sending and retrieving + functions within VRPN. These are wrappers around the vrpn_BaseClass + routines, since basic text functions have been pulled into these + classes. +*/ + +#ifndef VRPN_TEXT_H +#include <stddef.h> // for NULL + +#include "vrpn_BaseClass.h" // for vrpn_BaseClass, etc +#include "vrpn_Configure.h" // for VRPN_API, VRPN_CALLBACK +#include "vrpn_Connection.h" // for vrpn_Connection, etc +#include "vrpn_Shared.h" // for timeval +#include "vrpn_Types.h" // for vrpn_uint32 + +// text-message time value meaning "go find out what time it is right now" +const struct timeval vrpn_TEXT_NOW = {0, 0}; + +/// Structure passed back to user-level code from a vrpn_Text_Receiver. +typedef struct _vrpn_TEXTCB { + struct timeval msg_time; // Time of the message + char message[vrpn_MAX_TEXT_LEN]; // The message + vrpn_TEXT_SEVERITY type; + vrpn_uint32 level; +} vrpn_TEXTCB; + +/// Description of the callback function type. +typedef void(VRPN_CALLBACK *vrpn_TEXTHANDLER)(void *userdata, + const vrpn_TEXTCB info); + +//---------------------------------------------------------- +//************** Users deal with the following ************* + +/// Allows a user to send text messages from a device (usually, +// the send_text_message() function is protected). It provides +// the needed function definitions for vrpn_BaseClass. + +class VRPN_API vrpn_Text_Sender : public vrpn_BaseClass { +public: + vrpn_Text_Sender(const char *name, vrpn_Connection *c = NULL) + : vrpn_BaseClass(name, c) + { + init(); + }; + + /// Mainloop the connection to send the message. + void mainloop(void) + { + server_mainloop(); + if (d_connection) d_connection->mainloop(); + }; + + /// Send a text message. + int send_message(const char *msg, + vrpn_TEXT_SEVERITY type = vrpn_TEXT_NORMAL, + vrpn_uint32 level = 0, + const struct timeval time = vrpn_TEXT_NOW); + +protected: + /// No types to register beyond the text, which is done in BaseClass. + virtual int register_types(void) { return 0; }; +}; + +/// Allows a user to handle text messages directly, in addition to having the +// standard VRPN printing functions handle them. + +class VRPN_API vrpn_Text_Receiver : public vrpn_BaseClass { +public: + vrpn_Text_Receiver(const char *name, vrpn_Connection *c = NULL); + virtual ~vrpn_Text_Receiver(void); + virtual int register_message_handler(void *userdata, + vrpn_TEXTHANDLER handler) + { + return d_callback_list.register_handler(userdata, handler); + }; + + virtual int unregister_message_handler(void *userdata, + vrpn_TEXTHANDLER handler) + { + return d_callback_list.unregister_handler(userdata, handler); + } + + virtual void mainloop(void) + { + if (d_connection) { + d_connection->mainloop(); + }; + client_mainloop(); + }; + +protected: + static int VRPN_CALLBACK + handle_message(void *userdata, vrpn_HANDLERPARAM p); + vrpn_Callback_List<vrpn_TEXTCB> d_callback_list; + + /// No types to register beyond the text, which is done in BaseClass. + virtual int register_types(void) { return 0; }; +}; + +#define VRPN_TEXT_H +#endif diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_Thread.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_Thread.h new file mode 100644 index 0000000..4141467 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_Thread.h @@ -0,0 +1,245 @@ +/** @file + @brief Header containing vrpn_Thread, vrpn_Semaphore (formerly in + vrpn_Shared.h), as well as a lock-guard class. + + Semaphore and Thread classes derived from Hans Weber's classes from UNC. + Don't let the existence of a Thread class fool you into thinking + that VRPN is thread-safe. This and the Semaphore are included as + building blocks towards making your own code thread-safe. They are + here to enable the vrpn_Imager_Logger class to do its thing. + + @date 2015 + + @author + Sensics, Inc. + <http://sensics.com/osvr> +*/ + +// Copyright 2015 Sensics, Inc. +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef INCLUDED_vrpn_Thread_h_GUID_A455652F_72CE_4F8A_859E_543489012D01 +#define INCLUDED_vrpn_Thread_h_GUID_A455652F_72CE_4F8A_859E_543489012D01 + +// Internal Includes +#include "vrpn_Configure.h" // for VRPN_API + +// Library/third-party includes +// - none + +// Standard includes + +#if defined(sgi) || (defined(_WIN32) && !defined(__CYGWIN__)) || \ + defined(linux) || defined(__APPLE__) +#define vrpn_THREADS_AVAILABLE +#else +#undef vrpn_THREADS_AVAILABLE +#endif + +// multi process stuff +#if defined(sgi) +#include <task.h> +#include <ulocks.h> +#elif defined(_WIN32) +#include "vrpn_WindowsH.h" +#include <process.h> +#else +#include <pthread.h> // for pthread_t +#include <semaphore.h> // for sem_t +#endif + +// make the SGI compile without tons of warnings +#ifdef sgi +#pragma set woff 1110, 1424, 3201 +#endif + +// and reset the warnings +#ifdef sgi +#pragma reset woff 1110, 1424, 3201 +#endif + +class VRPN_API vrpn_Semaphore { +public: + /// @brief constructor - mutex by default (0 is a sync primitive) + vrpn_Semaphore(int cNumResources = 1); + + /// @brief destructor + ~vrpn_Semaphore(); + + /// @brief routine to reset it (true on success, false on failure) + /// (may create new semaphore) + bool reset(int cNumResources = 1); + + /// @brief Blocking acquire of resource. ("down") + /// @return 1 when it has acquired the resource, -1 on fail + int p(); + + /// @brief Release of resource. ("up") + /// @return 0 when it has released the resource, -1 on fail + int v(); + + /// @brief Non-blocking attempt to acquire resource ("down") + /// @return 0 if it could not access the resource + /// and 1 if it could (-1 on fail) + int condP(); + + /// @brief read values + int numResources(); + +private: + /// @brief non-copyable + vrpn_Semaphore(const vrpn_Semaphore &); + /// @brief non-assignable + vrpn_Semaphore & operator=(const vrpn_Semaphore &); + /// @name common init and destroy routines + /// @{ + bool init(); + bool destroy(); + /// @} + + int cResources; + + // arch specific details +#ifdef sgi + // single mem area for dynamically alloced shared mem + static usptr_t *ppaArena; + static void allocArena(); + + // the semaphore struct in the arena + usema_t *ps; + ulock_t l; + bool fUsingLock; +#elif defined(_WIN32) + HANDLE hSemaphore; +#else + sem_t *semaphore; // Posix +#endif +}; + +namespace vrpn { + struct try_to_lock_t { + }; + + /// @brief Dummy variable to pass to SemaphoreGuard to indicate we only want + /// a conditional lock. + const try_to_lock_t try_to_lock = {}; + /// @brief An RAII lock/guard class for vrpn_Semaphore + class VRPN_API SemaphoreGuard { + public: + /// @brief Constructor that locks (p) the semaphore + explicit SemaphoreGuard(vrpn_Semaphore &sem); + + /// @brief overload that only tries to lock (condP) - doesn't block. + SemaphoreGuard(vrpn_Semaphore &sem, try_to_lock_t); + + /// @brief Destructor that unlocks if we've locked. + ~SemaphoreGuard(); + + /// @brief Checks to see if we locked. + bool locked() const { return locked_; } + + /// @brief Locks the semaphore, if we haven't locked it already. + void lock(); + + /// @brief Tries to lock - returns true if we locked it. + bool try_to_lock(); + + /// @brief Unlocks the resource, if we have locked it. + void unlock(); + + private: + void handleLockResult_(int result); + /// @brief non-copyable + SemaphoreGuard(SemaphoreGuard const &); + /// @brief non-assignable + SemaphoreGuard &operator=(SemaphoreGuard const &); + bool locked_; + vrpn_Semaphore &sem_; + }; + +} // namespace vrpn + +// A ptr to this struct will be passed to the +// thread function. The user data ptr will be in pvUD. +// (There used to be a non-functional semaphore object +// also in this structure, but it was removed. This leaves +// a struct with only one element, which is a pain but +// at least it doesn't break existing code. If we need +// to add something else later, there is a place for it. + +// The user should create and manage any semaphore needed +// to handle access control to the userdata. + +struct VRPN_API vrpn_ThreadData { + void *pvUD; +}; + +typedef void(*vrpn_THREAD_FUNC)(vrpn_ThreadData &threadData); + +// Don't let the existence of a Thread class fool you into thinking +// that VRPN is thread-safe. This and the Semaphore are included as +// building blocks towards making your own code thread-safe. They are +// here to enable the vrpn_Imager_Stream_Buffer class to do its thing. +class VRPN_API vrpn_Thread { +public: + // args are the routine to run in the thread + // a ThreadData struct which will be passed into + // the thread (it will be passed as a void *). + vrpn_Thread(vrpn_THREAD_FUNC pfThread, vrpn_ThreadData td); + ~vrpn_Thread(); + +#if defined(sgi) + typedef unsigned long thread_t; +#elif defined(_WIN32) + typedef uintptr_t thread_t; +#else + typedef pthread_t thread_t; +#endif + + // start/kill the thread (true on success, false on failure) + bool go(); + bool kill(); + + // thread info: check if running, get proc id + bool running(); + thread_t pid(); + + // run-time user function to test if threads are available + // (same value as #ifdef THREADS_AVAILABLE) + static bool available(); + + // Number of processors available on this machine. + static unsigned number_of_processors(); + + // This can be used to change the ThreadData user data ptr + // between calls to go (ie, when a thread object is used + // many times with different args). This will take + // effect the next time go() is called. + void userData(void *pvNewUserData); + void *userData(); + +protected: + // user func and data ptrs + void(*pfThread)(vrpn_ThreadData &ThreadData); + vrpn_ThreadData td; + + // utility func for calling the specified function. + static void threadFuncShell(void *pvThread); + + // Posix version of the utility function, makes the + // function prototype match. + static void *threadFuncShellPosix(void *pvThread); + + // the process id + thread_t threadID; +}; + +// Returns true if they work and false if they do not. +extern bool vrpn_test_threads_and_semaphores(void); + + + +#endif // INCLUDED_vrpn_Thread_h_GUID_A455652F_72CE_4F8A_859E_543489012D01 + diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_Tracker.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_Tracker.h new file mode 100644 index 0000000..0b4bdc1 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_Tracker.h @@ -0,0 +1,518 @@ +#ifndef vrpn_TRACKER_H +#define vrpn_TRACKER_H +#include <stdio.h> // for NULL, FILE + +// NOTE: a vrpn tracker must call user callbacks with tracker data (pos and +// ori info) which represent the transformation xfSourceFromSensor. +// This means that the pos info is the position of the origin of +// the sensor coord sys in the source coord sys space, and the +// quat represents the orientation of the sensor relative to the +// source space (ie, its value rotates the source's axes so that +// they coincide with the sensor's) +// Positions from all trackers in VRPN are reported in meters. +// Velocities are reported in meters/second. +// Accelerations are reported in meters/second/second. +// These are all reported in three-element double arrays +// in the order (X=0, Y=1, Z=2). +// They are translated into this format from the native format for each device. +// Orientations from all trackers in VRPN are reported in quaternions +// (see Quatlib for more info) in four-element double arrays +// in the order (X=0, Y=1, Z=2, W=3). +// They are translated into this format from the native format for each device. + +// to use time synched tracking, just pass in a sync connection to the +// client and the server + +#include "vrpn_BaseClass.h" // for vrpn_Callback_List, etc +#include "vrpn_Configure.h" // for VRPN_CALLBACK, VRPN_API, etc +#include "vrpn_Connection.h" +#include "vrpn_Shared.h" // for timeval +#include "vrpn_Types.h" // for vrpn_float64, vrpn_int32, etc + +class VRPN_API vrpn_RedundantTransmission; + +// tracker status flags +const int vrpn_TRACKER_SYNCING = (3); +const int vrpn_TRACKER_AWAITING_STATION = (2); +const int vrpn_TRACKER_REPORT_READY = (1); +const int vrpn_TRACKER_PARTIAL = (0); +const int vrpn_TRACKER_RESETTING = (-1); +const int vrpn_TRACKER_FAIL = (-2); + +// index for the change_list that should be called for all sensors. +// Not an in-range index. +const int vrpn_ALL_SENSORS = -1; + +typedef vrpn_float64 vrpn_Tracker_Pos[3]; +typedef vrpn_float64 vrpn_Tracker_Quat[4]; + +class VRPN_API vrpn_Tracker : public vrpn_BaseClass { +public: + // vrpn_Tracker.cfg, in the "local" directory, is the default config file + // . You can specify a different config file in the constructor. When + // you do this, you must also specify a vrpn_Connection. Pass in NULL + // if you don't have one. This awkwardness is because C++ requires that + // only the rightmost arguments can use the default values, and that the + // order of arguments must match the base class :( + vrpn_Tracker(const char *name, vrpn_Connection *c = NULL, + const char *tracker_cfg_file_name = NULL); + + virtual ~vrpn_Tracker(void); + + int read_config_file(FILE *config_file, const char *tracker_name); + void print_latest_report(void); + // a tracker server should call the following to register the + // default xform and workspace request handlers + int register_server_handlers(void); + void get_local_t2r(vrpn_float64 *vec, vrpn_float64 *quat); + void get_local_u2s(vrpn_int32 sensor, vrpn_float64 *vec, + vrpn_float64 *quat); + static int VRPN_CALLBACK + handle_t2r_request(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_u2s_request(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_workspace_request(void *userdata, vrpn_HANDLERPARAM p); + // static int VRPN_CALLBACK handle_update_rate_request (void *, + // vrpn_HANDLERPARAM); + +protected: + vrpn_int32 position_m_id; // ID of tracker position message + vrpn_int32 velocity_m_id; // ID of tracker velocity message + vrpn_int32 accel_m_id; // ID of tracker acceleration message + vrpn_int32 tracker2room_m_id; // ID of tracker tracker2room message + vrpn_int32 unit2sensor_m_id; // ID of tracker unit2sensor message + vrpn_int32 request_t2r_m_id; // ID of tracker2room request message + vrpn_int32 request_u2s_m_id; // ID of unit2sensor request message + vrpn_int32 request_workspace_m_id; // ID of workspace request message + vrpn_int32 workspace_m_id; // ID of workspace message + vrpn_int32 update_rate_id; // ID of update rate message + vrpn_int32 connection_dropped_m_id; // ID of connection dropped message + vrpn_int32 reset_origin_m_id; // ID of reset origin message + + // Description of the next report to go out + vrpn_int32 d_sensor; // Current sensor + vrpn_float64 pos[3], d_quat[4]; // Current pose, (x,y,z), (qx,qy,qz,qw) + vrpn_float64 vel[3], vel_quat[4]; // Cur velocity and dQuat/vel_quat_dt + vrpn_float64 vel_quat_dt; // delta time (in secs) for vel_quat + vrpn_float64 acc[3], acc_quat[4]; // Cur accel and d2Quat/acc_quat_dt2 + vrpn_float64 acc_quat_dt; // delta time (in secs) for acc_quat + struct timeval timestamp; // Current timestamp + vrpn_int32 frame_count; // Current framecount + + // The timestamp that the last report was received (Used by the Liberty + // Driver) + // Other trackers use timestamp as the watchdog, however due to variable USB + // latency the Liberty driver uses the device timestamp and not the computer + // clock + // at the time the report was received. This however can drift + // from the computer time, and hence it can cause a reset when things are + // working fine + struct timeval watchdog_timestamp; + + vrpn_float64 tracker2room[3], tracker2room_quat[4]; // Current t2r xform + vrpn_int32 num_sensors; + + // Arrays of values, one per sensor. Includes function to ensure there are + // enough there for a specified number of sensors. + vrpn_Tracker_Pos *unit2sensor; + vrpn_Tracker_Quat *unit2sensor_quat; // Current u2s xforms + unsigned num_unit2sensors; + bool ensure_enough_unit2sensors(unsigned num); + + // bounding box for the tracker workspace (in tracker space) + // these are the points with (x,y,z) minimum and maximum + // note: we assume the bounding box edges are aligned with the tracker + // coordinate system + vrpn_float64 workspace_min[3], workspace_max[3]; + + int status; // What are we doing? + + virtual int register_types(void); //< Called by BaseClass init() + virtual int encode_to(char *buf); // Encodes the position report + // Not all trackers will call the velocity and acceleration packers + virtual int encode_vel_to(char *buf); // Encodes the velocity report + virtual int encode_acc_to(char *buf); // Encodes the acceleration report + virtual int encode_tracker2room_to(char *buf); // Encodes the tracker2room + virtual int encode_unit2sensor_to(char *buf); // and unit2sensor xforms + virtual int encode_workspace_to(char *buf); // Encodes workspace info +}; + +#ifndef VRPN_CLIENT_ONLY +#define VRPN_TRACKER_BUF_SIZE 100 + +class VRPN_API vrpn_Tracker_Serial : public vrpn_Tracker { +public: + vrpn_Tracker_Serial(const char *name, vrpn_Connection *c, + const char *port = "/dev/ttyS1", long baud = 38400); + virtual ~vrpn_Tracker_Serial(); + +protected: + char portname[VRPN_TRACKER_BUF_SIZE]; + long baudrate; + int serial_fd; + + unsigned char buffer[VRPN_TRACKER_BUF_SIZE]; // Characters read in from the + // tracker so far + vrpn_uint32 bufcount; // How many characters in the buffer? + + /// Gets a report if one is available, returns 0 if not, 1 if complete + /// report. + virtual int get_report(void) = 0; + + // Sends the report that was just read. + virtual void send_report(void); + + /// Reset the tracker. + virtual void reset(void) = 0; + +public: + /// Uses the get_report, send_report, and reset routines to implement a + /// server + virtual void mainloop(); +}; + +// This driver uses the VRPN-preferred LibUSB-1.0 to control the device. +#if defined(VRPN_USE_LIBUSB_1_0) +struct libusb_device_handle; // IWYU pragma: keep +struct libusb_context; // IWYU pragma: keep +#define VRPN_TRACKER_USB_BUF_SIZE 1000 + +class VRPN_API vrpn_Tracker_USB : public vrpn_Tracker { +public: + vrpn_Tracker_USB(const char *name, vrpn_Connection *c, vrpn_uint16 vendor, + vrpn_uint16 product, long baud = 115200); + virtual ~vrpn_Tracker_USB(); + +protected: + struct libusb_device_handle *_device_handle; // Handle for the USB device + struct libusb_context *_context; // LibUSB context used for this device + vrpn_uint16 _vendor; // Vendor ID for usb device + vrpn_uint16 _product; // Product ID for usb device + long _baudrate; + + vrpn_uint8 buffer[VRPN_TRACKER_USB_BUF_SIZE]; // Characters read in from the + // tracker + vrpn_uint32 bufcount; // How many characters in the buffer? + + /// Gets reports if some are available, returns 0 if not, 1 if complete + /// report(s). + virtual int get_report(void) = 0; + + // Sends the report that was just read. + virtual void send_report(void); + + /// Reset the tracker. + virtual void reset(void) = 0; + +public: + /// Uses the get_report, send_report, and reset routines to implement a + /// server + virtual void mainloop(); +}; + +// End of VRPN_USE_LIBUSB_1_0 +#endif + +#endif // VRPN_CLIENT_ONLY + +// This is an example of a tracker server. It basically reports the +// position at the origin with zero velocity and acceleration over and +// over again at the rate requested. It is here mostly as an example of +// how to build a tracker server, and also serves as a test object for +// client codes and VRPN builds. + +class VRPN_API vrpn_Tracker_NULL : public vrpn_Tracker { +public: + vrpn_Tracker_NULL(const char *name, vrpn_Connection *c, + vrpn_int32 sensors = 1, vrpn_float64 Hz = 1.0); + virtual void mainloop(); + + void setRedundantTransmission(vrpn_RedundantTransmission *); + +protected: + vrpn_float64 update_rate; + + vrpn_RedundantTransmission *d_redundancy; +}; + +// This is an example of a tracker server. It stays at the +// origina and spins around the specified axis at the +// specified rate of rotation, reporting orientation and +// orientation velocity at the specified +// rate. It was designed to help test the smoothness of +// rendering for VR systems by providing a ground-truth +// smoothly-rotating tracker source. + +class VRPN_API vrpn_Tracker_Spin : public vrpn_Tracker { +public: + vrpn_Tracker_Spin(const char *name, vrpn_Connection *c, + vrpn_int32 sensors = 1, vrpn_float64 reportRateHz = 1.0, + vrpn_float64 axisX = 0, vrpn_float64 axisY = 0, + vrpn_float64 axisZ = 1, vrpn_float64 spinRateHz = 0.5); + virtual void mainloop(); + +protected: + vrpn_float64 update_rate; + vrpn_float64 x, y, z, spin_rate_Hz; + struct timeval start; +}; + +// This is a tracker server that can be used by an application that +// just wants to generate tracker reports but does not really have +// a tracker device to drive. Similar to the vrpn_Analog_Server, it +// provides a quick and easy way for an application to report things. +// +// The application creates an object of this class, specifying the +// number of sensors and the connection that is to be used. It then +// reports poses (position + quat), pose velocities, and pose +// accelerations as desired using the provided functions. The +// mainloop() function needs to be called periodically even when +// there is nothing to report. + +class VRPN_API vrpn_Tracker_Server : public vrpn_Tracker { +public: + vrpn_Tracker_Server(const char *name, vrpn_Connection *c, + vrpn_int32 sensors = 1); + + /// This function should be called each time through app mainloop. + virtual void mainloop(); + + /// These functions should be called to report changes in state, once per + /// sensor. + virtual int report_pose( + const int sensor, const struct timeval t, + const vrpn_float64 position[3], const vrpn_float64 quaternion[4], + const vrpn_uint32 class_of_service = vrpn_CONNECTION_LOW_LATENCY); + virtual int report_pose_velocity( + const int sensor, const struct timeval t, + const vrpn_float64 position[3], const vrpn_float64 quaternion[4], + const vrpn_float64 interval, + const vrpn_uint32 class_of_service = vrpn_CONNECTION_LOW_LATENCY); + virtual int report_pose_acceleration( + const int sensor, const struct timeval t, + const vrpn_float64 position[3], const vrpn_float64 quaternion[4], + const vrpn_float64 interval, + const vrpn_uint32 class_of_service = vrpn_CONNECTION_LOW_LATENCY); +}; + +//---------------------------------------------------------- +// ************** Users deal with the following ************* + +// User routine to handle a tracker position update. This is called when +// the tracker callback is called (when a message from its counterpart +// across the connection arrives). + +typedef struct _vrpn_TRACKERCB { + struct timeval msg_time; // Time of the report + vrpn_int32 sensor; // Which sensor is reporting + vrpn_float64 pos[3]; // Position of the sensor + vrpn_float64 quat[4]; // Orientation of the sensor +} vrpn_TRACKERCB; +typedef void(VRPN_CALLBACK *vrpn_TRACKERCHANGEHANDLER)( + void *userdata, const vrpn_TRACKERCB info); + +// User routine to handle a tracker velocity update. This is called when +// the tracker callback is called (when a message from its counterpart +// across the connetion arrives). + +typedef struct _vrpn_TRACKERVELCB { + struct timeval msg_time; // Time of the report + vrpn_int32 sensor; // Which sensor is reporting + vrpn_float64 vel[3]; // Velocity of the sensor + vrpn_float64 vel_quat[4]; // Rotation of the sensor per vel_quat_dt + vrpn_float64 vel_quat_dt; // delta time (in secs) for vel_quat +} vrpn_TRACKERVELCB; +typedef void(VRPN_CALLBACK *vrpn_TRACKERVELCHANGEHANDLER)( + void *userdata, const vrpn_TRACKERVELCB info); + +// User routine to handle a tracker acceleration update. This is called when +// the tracker callback is called (when a message from its counterpart +// across the connetion arrives). + +typedef struct _vrpn_TRACKERACCCB { + struct timeval msg_time; // Time of the report + vrpn_int32 sensor; // Which sensor is reporting + vrpn_float64 acc[3]; // Acceleration of the sensor + vrpn_float64 acc_quat[4]; // Change in vel_quat of the sensor per acc_quat_dt + vrpn_float64 acc_quat_dt; // delta time (in secs) for acc_quat + +} vrpn_TRACKERACCCB; +typedef void(VRPN_CALLBACK *vrpn_TRACKERACCCHANGEHANDLER)( + void *userdata, const vrpn_TRACKERACCCB info); + +// User routine to handle a tracker room2tracker xform update. This is called +// when the tracker callback is called (when a message from its counterpart +// across the connection arrives). + +typedef struct _vrpn_TRACKERTRACKER2ROOMCB { + struct timeval msg_time; // Time of the report + vrpn_float64 tracker2room[3]; // position offset + vrpn_float64 tracker2room_quat[4]; // orientation offset +} vrpn_TRACKERTRACKER2ROOMCB; +typedef void(VRPN_CALLBACK *vrpn_TRACKERTRACKER2ROOMCHANGEHANDLER)( + void *userdata, const vrpn_TRACKERTRACKER2ROOMCB info); + +typedef struct _vrpn_TRACKERUNIT2SENSORCB { + struct timeval msg_time; // Time of the report + vrpn_int32 sensor; // Which sensor this is for + vrpn_float64 unit2sensor[3]; // position offset + vrpn_float64 unit2sensor_quat[4]; // orientation offset +} vrpn_TRACKERUNIT2SENSORCB; +typedef void(VRPN_CALLBACK *vrpn_TRACKERUNIT2SENSORCHANGEHANDLER)( + void *userdata, const vrpn_TRACKERUNIT2SENSORCB info); + +typedef struct _vrpn_TRACKERWORKSPACECB { + struct timeval msg_time; // Time of the report + vrpn_float64 workspace_min[3]; // minimum corner of box (tracker CS) + vrpn_float64 workspace_max[3]; // maximum corner of box (tracker CS) +} vrpn_TRACKERWORKSPACECB; +typedef void(VRPN_CALLBACK *vrpn_TRACKERWORKSPACECHANGEHANDLER)( + void *userdata, const vrpn_TRACKERWORKSPACECB info); + +// Structure to hold all of the callback lists for one sensor +// (also used for the "all sensors" sensor). +class vrpn_Tracker_Sensor_Callbacks { +public: + vrpn_Callback_List<vrpn_TRACKERCB> d_change; + vrpn_Callback_List<vrpn_TRACKERVELCB> d_velchange; + vrpn_Callback_List<vrpn_TRACKERACCCB> d_accchange; + vrpn_Callback_List<vrpn_TRACKERUNIT2SENSORCB> d_unit2sensorchange; + + // This class requires deep copies. + void operator=(const vrpn_Tracker_Sensor_Callbacks &from) + { + d_change = from.d_change; + d_velchange = from.d_velchange; + d_accchange = from.d_accchange; + d_unit2sensorchange = from.d_unit2sensorchange; + }; +}; + +// Open a tracker that is on the other end of a connection +// and handle updates from it. This is the type of tracker that user code will +// deal with. + +class VRPN_API vrpn_Tracker_Remote : public vrpn_Tracker { +public: + // The name of the tracker to connect to, including connection name, + // for example "Ceiling_tracker@ceiling.cs.unc.edu". If you already + // have the connection open, you can specify it as the second parameter. + // This allows both servers and clients in the same thread, for example. + // If it is not specified, then the connection will be looked up based + // on the name passed in. + vrpn_Tracker_Remote(const char *name, vrpn_Connection *c = NULL); + + // unregister all of the handlers registered with the connection + virtual ~vrpn_Tracker_Remote(void); + + // request room from tracker xforms + int request_t2r_xform(void); + // request all available sensor from unit xforms + int request_u2s_xform(void); + // request workspace bounding box + int request_workspace(void); + + // set rate of p/v/a updates from the tracker + int set_update_rate(vrpn_float64 samplesPerSecond); + + // reset origin to current tracker location (e.g. - to reinitialize + // a PHANToM in its reset position) + int reset_origin(void); + + // This routine calls the mainloop of the connection it's on + virtual void mainloop(); + + // **** to register handlers for sensor-specific messages: **** + // Default is to register them for all sensors. + + // (un)Register a callback handler to handle a position change + virtual int register_change_handler(void *userdata, + vrpn_TRACKERCHANGEHANDLER handler, + vrpn_int32 sensor = vrpn_ALL_SENSORS); + virtual int unregister_change_handler(void *userdata, + vrpn_TRACKERCHANGEHANDLER handler, + vrpn_int32 sensor = vrpn_ALL_SENSORS); + + // (un)Register a callback handler to handle a velocity change + virtual int register_change_handler(void *userdata, + vrpn_TRACKERVELCHANGEHANDLER handler, + vrpn_int32 sensor = vrpn_ALL_SENSORS); + virtual int unregister_change_handler(void *userdata, + vrpn_TRACKERVELCHANGEHANDLER handler, + vrpn_int32 sensor = vrpn_ALL_SENSORS); + + // (un)Register a callback handler to handle an acceleration change + virtual int register_change_handler(void *userdata, + vrpn_TRACKERACCCHANGEHANDLER handler, + vrpn_int32 sensor = vrpn_ALL_SENSORS); + virtual int unregister_change_handler(void *userdata, + vrpn_TRACKERACCCHANGEHANDLER handler, + vrpn_int32 sensor = vrpn_ALL_SENSORS); + + // (un)Register a callback handler to handle a unit2sensor change + virtual int + register_change_handler(void *userdata, + vrpn_TRACKERUNIT2SENSORCHANGEHANDLER handler, + vrpn_int32 sensor = vrpn_ALL_SENSORS); + virtual int + unregister_change_handler(void *userdata, + vrpn_TRACKERUNIT2SENSORCHANGEHANDLER handler, + vrpn_int32 sensor = vrpn_ALL_SENSORS); + + // **** to get workspace information **** + // (un)Register a callback handler to handle a workspace change + virtual int + register_change_handler(void *userdata, + vrpn_TRACKERWORKSPACECHANGEHANDLER handler) + { + return d_workspacechange_list.register_handler(userdata, handler); + }; + virtual int + unregister_change_handler(void *userdata, + vrpn_TRACKERWORKSPACECHANGEHANDLER handler) + { + return d_workspacechange_list.unregister_handler(userdata, handler); + } + + // (un)Register a callback handler to handle a tracker2room change + virtual int + register_change_handler(void *userdata, + vrpn_TRACKERTRACKER2ROOMCHANGEHANDLER handler) + { + return d_tracker2roomchange_list.register_handler(userdata, handler); + }; + virtual int + unregister_change_handler(void *userdata, + vrpn_TRACKERTRACKER2ROOMCHANGEHANDLER handler) + { + return d_tracker2roomchange_list.unregister_handler(userdata, handler); + }; + +protected: + // Callbacks with one per sensor (plus one for "all") + vrpn_Tracker_Sensor_Callbacks all_sensor_callbacks; + vrpn_Tracker_Sensor_Callbacks *sensor_callbacks; + unsigned num_sensor_callbacks; + bool ensure_enough_sensor_callbacks(unsigned num); + + // Callbacks that are one per tracker + vrpn_Callback_List<vrpn_TRACKERTRACKER2ROOMCB> d_tracker2roomchange_list; + vrpn_Callback_List<vrpn_TRACKERWORKSPACECB> d_workspacechange_list; + + static int VRPN_CALLBACK + handle_change_message(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_vel_change_message(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_acc_change_message(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_tracker2room_change_message(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_unit2sensor_change_message(void *userdata, vrpn_HANDLERPARAM p); + static int VRPN_CALLBACK + handle_workspace_change_message(void *userdata, vrpn_HANDLERPARAM p); +}; + +// End of vrpn_TRACKER_H +#endif diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_Types.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_Types.h new file mode 100644 index 0000000..54cfa42 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_Types.h @@ -0,0 +1,223 @@ +#ifndef VRPN_TYPES_H +#define VRPN_TYPES_H + +#include "vrpn_Configure.h" + +//------------------------------------------------------------------ +// Do a test for a C++ compiler first, to ensure it's the first +// error message. Otherwise, the error messages you get are +// completely cryptic. +//------------------------------------------------------------------ +#ifndef __cplusplus +#ifndef VRPN_IGNORE_NO_CPLUSPLUS +#error Need to compile with a C++ compiler, not a C compiler. The problem is that in Windows, filenames are case-insensitive. So the compiler cannot tell mumble.c from mumble.C. Visual Studio decided to make .cpp (which used to mean run the C preprocessor) mean C++ and both .c and .C mean C. The other problem is that when you insert a new file into a project, it FOR THAT FILE makes an override. The project settings say C++ but if you right-click on the file itself it has an override to compile with C. This needs to be changed for both the .C file and the .h file. +#endif +#endif + +//------------------------------------------------------------------ +// This section contains definitions for architecture-dependent +// types. It is important that the data sent over a vrpn_Connection +// be of the same size on all hosts sending and receiving it. Since +// C++ does not constrain the size of 'int', 'long', 'double' and +// so forth, we create new types here that are defined correctly for +// each architecture and use them for all data that might be sent +// across a connection. +// Part of porting VRPN to a new architecture is defining the +// types below on that architecture in such as way that the compiler +// can determine which machine type it is on. +//------------------------------------------------------------------ + +#undef VRPN_ARCH + +#ifdef sgi +#define VRPN_ARCH sgi +typedef char vrpn_int8; +typedef unsigned char vrpn_uint8; +typedef short vrpn_int16; +typedef unsigned short vrpn_uint16; +typedef int vrpn_int32; +typedef unsigned int vrpn_uint32; +typedef float vrpn_float32; +typedef double vrpn_float64; +#endif + +#ifdef hpux +#define VRPN_ARCH hpux +typedef char vrpn_int8; +typedef unsigned char vrpn_uint8; +typedef short vrpn_int16; +typedef unsigned short vrpn_uint16; +typedef int vrpn_int32; +typedef unsigned int vrpn_uint32; +typedef float vrpn_float32; +typedef double vrpn_float64; +#endif + +// For PixelFlow aCC compiler +#ifdef __hpux +#undef VRPN_ARCH +#define VRPN_ARCH __hpux +typedef char vrpn_int8; +typedef unsigned char vrpn_uint8; +typedef short vrpn_int16; +typedef unsigned short vrpn_uint16; +typedef int vrpn_int32; +typedef unsigned int vrpn_uint32; +typedef float vrpn_float32; +typedef double vrpn_float64; +#endif + +#ifdef sparc +#define VRPN_ARCH sparc +typedef char vrpn_int8; +typedef unsigned char vrpn_uint8; +typedef short vrpn_int16; +typedef unsigned short vrpn_uint16; +typedef int vrpn_int32; +typedef unsigned int vrpn_uint32; +typedef float vrpn_float32; +typedef double vrpn_float64; +#endif + +#ifdef linux +#define VRPN_ARCH linux +typedef char vrpn_int8; +typedef unsigned char vrpn_uint8; +typedef short vrpn_int16; +typedef unsigned short vrpn_uint16; +typedef int vrpn_int32; +typedef unsigned int vrpn_uint32; +typedef float vrpn_float32; +typedef double vrpn_float64; +#endif + +#ifdef _AIX +#define VRPN_ARCH aix +typedef char vrpn_int8; +typedef unsigned char vrpn_uint8; +typedef short vrpn_int16; +typedef unsigned short vrpn_uint16; +typedef int vrpn_int32; +typedef unsigned int vrpn_uint32; +typedef float vrpn_float32; +typedef double vrpn_float64; +#endif + +// _WIN32 is defined for all compilers for Windows (cygnus g++ included) +// WIN32 (sans underline) is defined only by the Windows VC++ compiler. +// +// DO NOT EVER USE WIN32 +// +// It is too hard to differentiate from _WIN32, and may not actually be +// defined by VC++ (it's a project option). If you use WIN32 to distinguish +// between VC++ and cygwin/g++, may your wrists quickly develop a nerve +// disorder that prevents you from ever typing again ;) +// +#ifdef _WIN32 +#define VRPN_ARCH _WIN32 +typedef char vrpn_int8; +typedef unsigned char vrpn_uint8; +typedef short vrpn_int16; +typedef unsigned short vrpn_uint16; +typedef int vrpn_int32; +typedef unsigned int vrpn_uint32; +typedef float vrpn_float32; +typedef double vrpn_float64; +#endif + +#if defined(FreeBSD) || defined(__FreeBSD__) +#ifndef FreeBSD +#define FreeBSD +#endif +#define VRPN_ARCH FreeBSD +typedef char vrpn_int8; +typedef unsigned char vrpn_uint8; +typedef short vrpn_int16; +typedef unsigned short vrpn_uint16; +typedef int vrpn_int32; +typedef unsigned int vrpn_uint32; +typedef float vrpn_float32; +typedef double vrpn_float64; +#endif + +#ifdef __APPLE__ +#define VRPN_ARCH MacOSX +typedef char vrpn_int8; +typedef unsigned char vrpn_uint8; +typedef short vrpn_int16; +typedef unsigned short vrpn_uint16; +typedef int vrpn_int32; +typedef unsigned int vrpn_uint32; +typedef float vrpn_float32; +typedef double vrpn_float64; +#endif + +// Architecture of last resort. +#ifndef VRPN_ARCH +#ifdef __GNUC__ +#define VRPN_ARCH _WIN32 +typedef char vrpn_int8; +typedef unsigned char vrpn_uint8; +typedef short vrpn_int16; +typedef unsigned short vrpn_uint16; +typedef int vrpn_int32; +typedef unsigned int vrpn_uint32; +typedef float vrpn_float32; +typedef double vrpn_float64; +#endif +#endif + +#ifndef VRPN_ARCH +#error Need to define architecture-dependent sizes in this file +#endif + +// Prevent use of this macro outside this file; +// if you need to distinguish more types, then define new types in this file. + +#undef VRPN_ARCH + +// ******************************************************* +// you should NOT need to modify anything below this point +// ******************************************************* +#ifdef __cplusplus +typedef vrpn_int16 vrpn_bool; + +const vrpn_int16 vrpn_true = 1; +const vrpn_int16 vrpn_false = 0; +const vrpn_int16 vrpn_TRUE = 1; +const vrpn_int16 vrpn_FALSE = 0; +const vrpn_int16 VRPN_TRUE = 1; +const vrpn_int16 VRPN_FALSE = 0; +#endif + +// should we add a success & fail? + +// [juliano 10/9/99] The vrpn bool variables can not actually be fully +// optimized away, because the compiler is not allowed to assume their +// values don't change. +// +// [juliano 11/28/99] Perhaps the optimization can be done if they are +// static? I don't know enough about what compilers can/cannot do today. +// +// If you are willing to assume templates, there is an alternative using +// a traits class that does make the optimization possible (and likely). +// +// If you don't want to use templates, but still want the sizeof +// these things be vrpn_int16, you can use macros like this. +// +// #define vrpn_false /*false*/vrpn_int16(0) +// #define vrpn_true /*true*/vrpn_int16(1) +// +// With this method, you will still be able to tell, in the +// compiler error messages, what the real code contains. +// +// If you don't care about them being a different type than +// vrpn_int16 (probably not a good idea), you can use this technique, +// which guarantees optimizations can be performed. +// +// enum vrpn_bool_constants_t{ +// vrpn_false=0, vrpn_FALSE=0, VRPN_FALSE=0, +// vrpn_true=1, vrpn_TRUE=1, VRPN_TRUE=1 }; +// + +#endif // VRPN_TYPES_H diff --git a/ThirdParty/Vrpn/Include/vrpn/vrpn_WindowsH.h b/ThirdParty/Vrpn/Include/vrpn/vrpn_WindowsH.h new file mode 100644 index 0000000..a28d3d3 --- /dev/null +++ b/ThirdParty/Vrpn/Include/vrpn/vrpn_WindowsH.h @@ -0,0 +1,78 @@ +/** @file + @brief Header to minimally include windows.h + + @date 2015 + + @author + Ryan Pavlik + Sensics, Inc. + <http://sensics.com/osvr> +*/ + + +// Copyright 2015 Sensics, Inc. +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef INCLUDED_vrpn_WindowsH_h_GUID_97C90BFD_D6C3_4AB3_3272_A10F7448D165 +#define INCLUDED_vrpn_WindowsH_h_GUID_97C90BFD_D6C3_4AB3_3272_A10F7448D165 + +#ifdef _WIN32 + +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#define VRPN_WIN32_LEAN_AND_MEAN +#endif + +#ifndef NOMINMAX +#define NOMINMAX +#define VRPN_NOMINMAX +#endif + +#ifndef NOSERVICE +#define NOSERVICE +#define VRPN_NOSERVICE +#endif + +#ifndef NOMCX +#define NOMCX +#define VRPN_NOMCX +#endif + +#ifndef NOIME +#define NOIME +#define VRPN_NOIME +#endif + +#include <windows.h> + +#ifdef VRPN_WIN32_LEAN_AND_MEAN +#undef VRPN_WIN32_LEAN_AND_MEAN +#undef WIN32_LEAN_AND_MEAN +#endif + +#ifdef VRPN_NOMINMAX +#undef VRPN_NOMINMAX +#undef NOMINMAX +#endif + +#ifdef VRPN_NOSERVICE +#undef VRPN_NOSERVICE +#undef NOSERVICE +#endif + +#ifdef VRPN_NOMCX +#undef VRPN_NOMCX +#undef NOMCX +#endif + +#ifdef VRPN_NOIME +#undef VRPN_NOIME +#undef NOIME +#endif + +#endif // _WIN32 + +#endif // INCLUDED_vrpn_WindowsH_h_GUID_97C90BFD_D6C3_4AB3_3272_A10F7448D165 + diff --git a/ThirdParty/Vrpn/Lib/Linux/libquat.lib b/ThirdParty/Vrpn/Lib/Linux/libquat.lib new file mode 100644 index 0000000000000000000000000000000000000000..dd1ba69f104100d67982eb375afab2da4ed4e026 GIT binary patch literal 32378 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 literal 0 HcmV?d00001 diff --git a/ThirdParty/Vrpn/Lib/Linux/libvrpn.lib b/ThirdParty/Vrpn/Lib/Linux/libvrpn.lib new file mode 100644 index 0000000000000000000000000000000000000000..ab76599b0939c81281e8508e79107b8417971595 GIT binary patch literal 1125448 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ф&Q6f(9=e1BHOPrD%>u<V zM`vg18W`s4L!p62&}9-(|AzYqc?SnLI=ebMf!hsa`rF71#owWRo*_oTu71J(lm@5~ zboLhNTqtD}<nQl`*Tt|CtwF5?Xv`Dt)?-aUFq1%S3JOg^8l;1oL{VxqCBi%s(<A9d z5=@aq7)e%|B*t7aQzbD*lb0@y4Nw~q#i@Cq_E0kPPB~aZ0$W0apMDE3JwZo}<q>td zI#%=GM+zV{%%I7VysQF0vAqP+WQR20C^8bgqQ>SCTvau=)q+(6jz$Jf4e%-&n`w9} zX?SA{RVQRcouMJ5*$lo80ded#XtvKN9&&RZHf=@*NZLS$;zKU+fG<0S=ug38fC;hz ziOI>SIjNAtFwh-=#}NE61MwiPn1KuuVDlT!78I7af!Ki~ZlIFT7P1k#UEo~j49j(h zJ4i#EQ5*5tM-O3B8L-v?sBLW!kE#<iG>AhTxJMk1bs7U^BB=F8jEPWnSWQIrGo;ao z-Ao)Ri7*us%*2=qSBb?`Pt2f$E!~C%2q=g_L5eO83IK>WHcw!afj9&t6O3ssY&kT# zwdmq7YhkOQVd^2F3^5$lK?rL@Fs+468NrN!`4(LqW^D-8W*W#^bQy%TVVKs!RyLzs zi!Khc7Phb%rXJy2bQy%T@KJEot}FWZH>xZo+al(suypRw4ZxxVzbPP3K?@ID7J-$Z zn}QmxkRZS?2dg6dCP9LXfJsnAV3V-Vp6Tl=kOYh^ETHNWxXOwO^5Pxy5_9s?<Nd*B zq3Sv7<?BPmODi&SG82m`<9+f$SE?dO!HY5^F~oU8NP@0;DFykNd7zu$N)j{kQj3t} z+%j`gv1)=!loaLX<e=)vFG@~zNiEAvPDM5+zo<O1C<R?5L=16oHnNV=yyTM1{5<#6 zJWxHDkL)VwjwA4yMo3z)4wE3sL$*<Y&Symy%s?FIgd_~jO%M@iScBsLEMjPCY;0g; zZed`opkQQdYGMi{4Gj#;%uEy%OpFZ;Ou#Xiz*X<+<Hp3u$N&S340a3%9!!*h;lTt1 z+X2jUV2ER2WN-|33=8(`{O-~D+qbuz!>9Ax3y`d5H@inCvuC%zgh#i-3y)47=HtyA z93UA629M7BU^V>V2lxe>1vnTO_ywCeSiqD7m~!Ue7j%~37i`u5bDJ%|l(PoEptA+P zV6z99+Z+L=oIUsjog?@Kn=`=N<_a+7oWU>XT){8c+yUk`&wx-J3}9PkK&TZE!5t84 z1w?QMggOBcyaAz3Km>0<s232y9}o)U7k<I!9}qbXR<I2c5Q>8l!h=v65J3wFr2!GN zfKVO~!3YTD0TGOVP#F-x3J8?}5v+hv9T3485UK+rI0HhhfC%n@P%9vUJ0R2vh~Nzf zbpj%I146xk2>yUjFCc<HAQT51#77W{g9*ZeP#O?H3kanF5ww6%9uUC@2;~70jDS!X z5Wxxvl>rf~fKVL}!5I*$10pyBLal%Z?toA$Ac8v})Cq{-4G47tB6tHry?_Y*fKV?W zf<GV>2Rp<^5Q>8t!h=v65J3wFr2!GNfKVO~!3YTD0TGOVP#F-x3J8?}5v+hv9T348 z5UK+rI0HhhfC%n@P%9vUJ0R2vh~Nzfbpj%I146xk2>yUjFCc<Hm>C$N9pfD14|{eV z_vpM2%c(w{|3N93!K3pym`(!&J%0HXaBdCu==|-`%?!@P-8IYt9^LF7y`~_k{{aS_ z%?cb042CD0fBffnJs5qMUmjK-{P*a!1t~H-05;UIc|SP!*BKbz_JL^Umu~<m_~ghh z;Bud11EWvpcd$~A|A#%3+d-;5EDzT_*w4iPb@xk<@(JBwsl#b7_l1HAAjeS0kl+B% z&Tk%_zq`TZ%qM;=h|QlI`32b^Vyy@2sy&;JaX9W_U}0b|eCyM#3o_CN;?mcup549- z`&1bi7<PdQKv=lE)&>O#JUkqm|FD-`{lqWe@|pweUa$pVW1Els@aT4V&Ee76@)}f} zdHg@>kqmZ?hvm_lW4$a#K?R^k^AV0{#~8<0P+Y_w28Ac6glw*17hvFTQDtOc@Ja3m zdEdA7B!8b2BLjnHuj7B$&J&K!512ige=rvdyBc0HJmA}UfWLJQ0|Ud$w+svnzM2PJ z4KF$F2D#kuKw28yy`P-;1zfIkfGD5q0%=bCdM(#Mj{D@qF9=~d^1B{(<o7xZlIyuH zz{0=)l7q7ZT&_zXD`~k7Dx*P4;4A@`>k6n!6j&G-U?LEuAQ8{zLoB|Q7x`P$|NsB* z+j^kH%&)fx>>AJSHypvCJ^_>-8X5ll|DWc_ugB=f?|R6Q-|G-4kQqIj4{~_^KTvw7 z^*{+LI5iwjn}CRakH$A3k2!XJ^X&ZN(Rspy^FoP`XXg|ZPz~eR*`p%C!NBmE-?MiQ zSi}%gQ8{+EsDMHnkzn`*SyW)6tq1BVeR^|LIQD{*%xzd&(e&tM1*IL2ZVoIdMiVLg zoBy(xT>^Q^<qjgfxH5P)ALVF1`opu^<qn5uXUiRs%fTrh;u=uWKkC`dqvFw>`NFfi zMn}M-^?!*)uL&dxb+dbRL;cka@t13NiwY<&x_0~MD0p-}bqovrAK>B9d_<u2K&g;N z;}MVrD9H}yerQJBrwvQ^;8gwk3^ad&!#6m<weuLHlK1S*7x3tO2Ug_S?al$I<rTo? z!)PrJYRQb&^39{QeDeU-@}97^w+1X%8Xj<M{pQH;dCazvfq`KssN&`KInmh-D)?ZP zdvgu507D5kq<V^Tj0aUs=w*Z!tc*aY0++*{oyR;n@571(cukJfqJY;&h9_IU@q3<Y z{0VZ&4v0$*c0ww3et8E5aCrl%&mB9@d3Ij$?ELD{`P-*=w+06T1FTZ^fK=Tc%|`_w z7W;I*^67jCE|p+KbFYVlM<=&O^MMMF&SsG2(H=<iXxTJcHVF=7*@QE5;w_?@cUyp( z&L#YiatEpLOrV5<sl-xBz2=7Xcsx6g!O9hkqHDrv`yAAAB)@$Q4tb>ZuwxjkqvqLL z25Av{cC&$7k$x7i`pV<@0frC%|9k8NwXqo(KJ4cYKj5(o%CSf3k9l<VFl$JFdg(39 z1`?pbr76q~V7iCd11cT>=1*Zx0MX3{97<0?(or0|{}2-F*m>Tw^NI(wve^tW5}p{k zO+i+BG#}#tS2m!U#<lYYp2`Mf&vCq7fY*oQxgXS$ht$!XhvCkI4y(bEbsE3C3j;$y z=f}pMplY_*F^ymEV0la$zuu|xurz+X%jE$c$p<|SK4AUCFWABksv$q|3-+)Za4;}@ z;uoC44$5<%_yy;%JAgX*2O<x{GH<s9bO^xkK<6oNFzopM|Nnm^1st$mg(IxRfUGPH zDLufP$KMPZn*%wh^PtDUhpeCY1*Y&r+$7M$4{?*g5`KuA1m^IA+ywGakr03Q+cbW? z2SuEp_yu#0a~K{toW`$rp;#)7U+-|SDo9OP=qLV|BcJ$V?tJ2pJN!EM6Tbks=MUF_ zArL^otDy9A_!EE3!B6}#r#|t=9ZcibcmX#K*?-{S3Gm>=chAm0zP;rFuz?p)@5!^1 zMa8q*AKZQN?Bro_JPzsqfzq2#=W}qN@rNI9<QHrKcUr*=P=*9EKpk;MenA%%4lpSJ z76c8Mf*GJeQ?R%On6v;3f`(4P4A9^ySlk0lMt}uDL#SW|Xb=@Fo&hE+z=EKmR4@ZH zm<ncqq72Lc4XA<{pdnQ-12m`#W`KrO!3@yADwqKpS_LyegR5W$Xm}OO01dE$8K5Cn zFatEm3TA-90?Ysnw1OF+p;j;hG}sDefQDPa3<*Zi_=8}J3aG&Y76A>qf*GJ;S1<!K z@Cs&thF-x8(BLbW0UCY<Ge85dU<POi7R&$*!h#u~VOTH&G!P4BfQDkh4A5XKm;oA& z1v5YcvS0>iNEXZh4a$NUpkY}s12ixTW`Krf!3@ygESLcro&_^N1GHcUXowcf01eWD z8K7ZWFatDD3ub_ZYQYQ%HfU&ohHD`rOi&TfkS$mQG-wNEfQD_s4A8(Wm;oBP1v5b1 zIxqt?d<$lP25`X)&=4+|0UE>wGeE<*U<PO)7t8<+<$@WY!CWu{G@J`&fChBI4A77+ zm;oBp1v5ayx?l!qU>D2)4ef#%put@*12nt~W`G8G!3@w4FPH%u<OMT8!@OVyXrLF& z01fqm84~Q!&;SkhLPVIMBA_8(un1_-7t8<+`+^yufnP8KH1rE*fChiT4AAf|m;o99 z1~W2XR)7Y9AtEp<Km);G5ztUDm;o9L1~Wjz!C(exKp4ze0W$|QC=3ySnFAUa28)1( zhQSQb;4qj08Xg8SKm){J255*F%m57%gBhS<VlV?VQ0&>w4lSC%eMnHz<axYB1ymk` ziYCu)78Q@~iWi>EH8!A8%bhF?3_gs{9lN)H2ccZL-4#5#ML{ZIoifm1CAdg{7I2^% z30AO;mS+s$fFCW-1Y1-_%QL|imC^D{utkNc<yqqq&@6!AH=oYuptc*d{S5A$z?*vT zMk{=n3)JRdc<J%`|9?zHsN?0364Bv>=W!Pn0Z_sBQt0>p|DK)4J-hdSi%rn@y$ruR zgGYC~0N7a1&N)zt+a8_wOP~96K8LjoUyH%o@SdH=k;GxWRG2JiybRjD^k{qoY8rcX z{`2YHqtXDHQx|Aa$pF!sEh?bN7tkC8JJ{w=9{f57I$Kl>K$A3`ZJ<HG)&q6QKFJRZ zZ-eJwT<$|UW}tq-9Z)mU<NskF%f~g3J-g?DssNAH+a=~cy<5QMf_h^}?Rk%G=AF$9 zpne$0JD)w4dUPKDAI#y=9WCI|db{+2;Q^1vBOs?jqu?-_ex&g~*x=t^pWdyY4gjp9 z<I@eETJ&r_F5uDm-ly{)uE9TF2FU1ND@gb8R**+QQRC719vlwf^#`q>bips!3aW(o z1zSN)YJNdi4t_yb34Xy=P-B{3uoV;r{DQ6;{DQ6){DQ5ZMl`=*E2s(0FX-yQFX$S< zFW3rdJo5{-f|}0!g030-g02<(f~}xNGrwRfsL2fCffot1f||?xf~}y&GQVIes9pr| zAabB)GQVIesFBPs*a~VQgLn`*Q1h5yuocue<`--QHH|?$h#aU{4Dttf(!LecBnI)o zllHBk<}k=N5IIm&7{r6ffttY}KSAU`O<)iYA_r>zf_w&%12ug?Jct~q*$eU!L=M#C z1@Rzqpyn>fM-VwsQy0X8$bp)<ARj^GKuuf_4<ZL@-hzAtkpoo)ARa^x)T{;h2s~-u z3To1Vc;HF<RtX3NYRrOS3!((nkOlD|a-c>mD9#{qpav|62ay9cUO_PjkpnecK|F{Y zsL=|FKZqQt!3yF*<Uoy8Q2asUKn+z84<ZL@q=MoPA_pqaK|F{YsBsF4KZqQtVG80w z<Uoy5P&x$9-M4}oq#z!63cnT97zOzVA_r=Sf_M-)P$LxNBZwTR0Se+l<Uoy2kdGj8 zkeP{AP_q*hV-P`5lM}>)XaF@gK`{oA12r{4Jct~qSO&!yL=M!%1o0qppynkg#vpQ_ zrX`36kpnd=VWlW|Xx^8>gB8?)^ymcVPmklRpt1#=L7Vr2y7vtHExVZ+7`nHDCN^EV zTLU;47~svy?;f2m!MPaJvfRnczyQhL&~_y#X@FPfjAm#^UIO)KK?wqqmq5K)P=bKS zfqJqa9z+h*iv=Zdh#aT~3*tfKK)qK`5{JlvdafWIL=Mzz1toEa9H_?%;z8s<y;V>W zhsc3?svsUj4%ABpC2>e*0QFEoJV<63&Cso&J|(C?hGZg8e-cy#LoyhsFA3s7<OU=| zHy#DmpN8K&I^V<ERgi@(#5Jwl{}66kd33unfCq+;yRbr<R)T*(O{*gw-FrbL2B>AF z2wx8bZ(n(I&V|T=n^!L&Ed_9i@mkum^9V8@X(r$ZypaJNeM7XhaIA-F{a+&C(amo7 z?SFs*XfBmG;)O@&{b;cNqYpFupS_2H*#uOo8G{HA1~EX>8Jn3I7#OxOGca&7Ffg2C zW?*1E$jrb1_993bXekc^l735&AP9pPApNQ=3=9mQ779qeH46g+qcIB>{nr{A7?}M) z8r47q2!j|h3=9m#AQMs<7#KjtMT0nTED+~pgN!R<fylIhICa>}hWSkyWGV=Q7$B4P zgE)tvCSPJ;U|>AOfY)tSAPpc4Vt|}u2U_?AZsIU7F#P3YU|`VXg1F6$i-CdB5y}Yx zaeTP2nEio)IRj)M$VniY0mJ~gtrlc_GSqFUAdWl>1A`DKFhQIM4u~}qI2afhK`m%d z@Rou&pk_5l1z4to1B;!Y@L-2}6g<Q%&cMK+0Jfchfx#SVr#mP-?4ioQlE`rl(+^V3 zAjiPK0Gi`60x1Ixrh_<PApLF(3=9$=Q4mJf&&R;PAPlvQK@r)0kbaQ+13~&daoG>k z4^qvb0kz)-WQ#YHlK|2mfXjXl1_lNx1_p+Fkd`E5TZ*9mZvyGBLY6^xe<IZVQ$YGl zpj!Gtoas=`dXWD4*z8{fO6yV}--A*QC}lIsGB7ZdgLH#1HhbDZ5+HlTKnxJ>g4#0+ zWX~j8xN~Hu6Hpk#Z~(YS1`{wL2GEQjg!93kAC&tb956{LA2i<xUcw5S!-Mp`JsJ;# zYlqJJkZLOqTwa6LvA`w3Zh}<@uxfw-mwAx&DPTRINkZ@<Pq?A4`9UV5Dgi6SFrEQ4 z-^^U`0_+@+hvD`ydoV}5@PJQ6g4Vr&jUd}6Ak!HT{=sQJs<Y98iv*uR?St$WfDfqj zdPsP7@<Vz8o}KNWp1NoEesJ8h{x6Z70I$zIJLf}0q4hZ;Bz$|fgS5d$M|?WJgV#BO zgU|!_{3yabkj2A)ka{PcojfWqH?^pMOh+EaQ9&8+z%icV+q(y>5h==GGkOS@Vhl!k zb{>1pjj|vCG6{&8P$15Sthe^)yzB{D_WB<*GNZj8R4qW#MrQ<vPp5%rcRx7jIz0qD zJKI4_!vo+TLd@vG$G$+>1iTU#Yyfy(_w{91>W76;H(a?H%KR=^&udUk4|N>_Lx4x; z50CC0AWK0FHEj=85EHRJ*~2oNqm<Rd(!9jnqZ>3{BjC|p4_fV7`V`YP3l!VHjss0P z`wMt<LPo3%4@4e@TMcGF$HxLZJO6ohv-xyayzuW;v4a`i>mlLY$zunJYVXb#J5W@6 zcki(SITGYvNu>0LI$r1By9KNoYy5tPWRn=s8gJs#A=t4D4B+^Lq(`c|cMop&Lbd>4 z85|`&J%$Abpp>@~;6wo`r9i79u$H$F39vehbPg~7Knat<qxl%ryx!fQB^qEoc*<J| z1_qcCFpXh6&hk$Jwo8d@mqTI{?tZlL6=6Pge1fzOPr*4OF)uGQhXJxJPaz0=(2|t` zgK8Ql1Clx`h2+G%y!;Y{@}kU=R0Ze;ek+BN{Nm!wymT&PwegT$gjNd9iFxWJ3hAjO z3d#9-d8yz{aEef+&N-O{1(|v2u>F8gJyyl3B_JvA$<f7D3QmbB3ZNbSd8s)H8mcLp zr0MoAEm6o%Q^*Hx*Hg$%1Y1ai36LNGI{~K)AmIhQ7Y`gd>Lm)Wdt4Nt=WamlLQ{)3 zSfG2x<3R^MTUo&jgq<9vp=qT6+PsTq0c@u^9$nC&$W6`7FRFyP3r!o+aUW3kTPgVE zD-@R|XQ0`aRGOBST4bdFp%p;sA}6sZJyij6b`_{S4NB3Vf)Pa13g7q+T1xc)Ka8ff zJ)i=f+GgT2?*i06FdCm)a^!|ud{E21u=D|=$q74<9%{J<WEM6Ib03VxrUqGzTJC|_ z2cwbgAcalq`~u4tFq)9tsO27*eK4Akz3B3w)(5&6HTgH5L(4%ZO--|r&4QkZ3#rZ+ z7#N^O7DM>ZS|3F{<kVrPJme??Wck4sF2mJ5#HJ4;$RQV?_7`T;3_0R(v6FKW^U@W{ zQj3Z+^Yau;^$he36*Ni`(~I?kTzy;}gI(iI4Gi_uGV>C1G#MBeKm)8GqZq3Ke1aGl zD+JhQgSgVtJnS437$Jk9Dj*RC28N5w44`e53=B?u0#1Aqj(iHuEPc%VOd?Qu#wxH0 zj4-_*ahUnw(N#x2fo3L%o!}vM1_p+BkX|(NKtt*wAaMo;2GHm#h-tvUzyKZ|W?*1A z01|KnyTOT1!HG}9iO;~1&%%+<p_#pht(UcrrJuQt2{PO}2c(vPfx!+kl*j-&3t<CP zED|J!X^uPJ0S;t?m^m2vPH;H#UEl!8fQFqJ7#Kj)@E~KHS)gG8H^-4r!;#OR8R`m< zUlc(0AcZx^@1W^;kp4al{rLTp12qfgACUPCP%+S0GssL(m`{O<^??MO_yimw@x|Q7 z#K54#z`y{So(D<YVnBDl6U6;&Jy0J&!tn{zJn$&5BcA{$ZeeCz0U5+Joe$&|&;WD@ z6G(u8A%+WTHY9$X_!MAa(*sU7AhkA7wFg03kkz^KJrHPSg(zfTU;u^L8mQVC98h!N zVU9b@K<-=s)u#`#1DXawZUwDS1qnf=!BaVBpd2U#7JC5YKq;`;7bpixfhP@oKodj^ z3=ICTFhvV@(8NLkR81TXH6V8dK-KVo90#2c0G%cP;zr`o2QvE%R39jxfF_4P`4l<c zL25og)quv#VQP@`GAK?&z!D4$+mY;Y;*-FLKahD2P_>|R0cJwt5MDNb`~zCf1adoQ zK7qlJPXJ^GXxR-&Y!LxFKx&tO4JOV#7ockK#laV-8eDMz@)u}94#<7D!W&d3+CVcL zuJ8uw2W1;JXgLOAgZgD48Wgu68Z>(YqCw#VqCwMIp!pCG8?+)9G|2&CgT@FYLGv37 z3=GoHvIHa!nsAbbii0MPl%Q;o`#@(SfYhi%%PbHZv{nwZ6b{4&mC1Tg^`P?A5XuHk zc!Kg9NDXMf5Hzy|VuL0!LDPL8HfVwgw5$unc4A;)aE9u2Wnf?cO?839K~q*<P;np7 zp$AYlC~iR0Q6M!zP%%(>9|~oMGcYhjfC3K>e#{Fh13vyoS8{}vfq{|14lWGJ{~*q8 zeuy}X4+?LPxQzfrJR9T~1_lOD*nq@0Le)=$ii5%dB;E)WKLZs9g$+nN1uD)AEf7Fq z1rk?+io?n|&{Qr+yc;SGiYE{snj{&bq2i!)4-yBJ)nFPb4hkm_ALh=_d=U57g9JhK z9F#r+72gZxgW?FpoC+0(1ste81c|#t#qFW~g4xRh4k*wpBuEtkPvHl#Ilwc~AQlY& z0*k|Z0~2Ln&;*;q!T?(EgAiq4@PMkngDl9vz_1aNF&J1FWT5VWNt-~$Vf80WoF8h= z8#MI~pz3v?@d8ud1QpLg6IX<a!|EECdNHW`-=L|V2enrRTCT#>=Rw7D(8Nul;#1JX z|3K}%f+l_zDh?}?Vdl?+iie;Dbv{&l3Ys_{RQw8>cq~*LmJVR%gJ@<3G|z$r85kIt zA+10t4?!_AfJ!$6AI4&40F`zy9)f0O09%d_fU=muH7t~aL@|RW{gDKqOlAg9NeSg3 zQOt-5cO+4e`#~iriV&E?44%FRGf@a;@U%RN5SYWv0L#5#E}URy0F}6KE}X&404jaq zTsVW70aOyhxo`$E1E^GnbKwkT22cqN=fWAx46srPE(B&UGr&qCFc(fRGk{8QI2X*g z$Irl^$OI~Z!CZL$zQzq{2SP*<q%{wAac>;rOBp~*H<%b6K+`$Q=kqxr;ts43vtjL9 zP#q@3z{CJL=LRGL?k_MfFnB}NH-IWv1_lOjTb_Y|VImL2oCat*2lo{i7#JqAL&QO5 zfH0^p1ELF97#Nh0(kCp%KVt%kBhoWW9Mm2F7X={ANElS(U=vSg#~wa~$V-Qi%z4g; zU41bQ@#8T6f*Jt~3=H6QGy?;}3|^4?5$O=rJ_A|f02W82LvWjnfq@}_5fVNhpcN0e zt<1o{@CF)g0iZ?^$XsYuum>ux0L^-!wm!)G{owFK<O@(65+rWQ3~~>sg#zL+Fo4>h zAXY9k9v?sh4;JrIToCsdK#LAgp9Z8}394QJ)KG%1ZvlzxGJ?zpwUR(Q26&7{a6-%p zfSLp9Z-G?2g_`pK+Q9_%<3Qqv!R~~5ih+Rv)J6n}TY}RA)KX|0A0!Ui3JG;OhzrMG zk(Z&sMHv_lb7GI*l{n(J8;5u_G~O408jB1J46yiRgNi#q8#>^=83O}DCo~)mK)nF! z_ko-x2NgGfii7)$3=9lP;CMuoC$Mk;?fg?hDt|z2IgmM^<3T|A6qKJpd}y$OOL%PI zlfcTrAjn|P-~i271t3kJF$OM(IIN%20Tpk7s)yxknEEuR`U_BVVCvtqK+H*imNPK* z3%D2<6d6FRQHa4X^*XE|ahPuy7+~t3fW<*ASyc7<+z|6OK<$O4y!EWu<97;F{Re2d z1XG{R1~KOX)SWPK6?Tw&V68pG(lJ@EIiMA35cj}p&}yhStj2()U_Y?=?(iBFCjNm9 zWIm|%4KWAQj{vc_!RFXAC_w!M&GrmQQ1Jw4`wC`{DcF2_2H0_vF!5tx^Fh4<kf{vd zaTgHlCp5l5V@n`DEc`v8=EKTs(3T63ybRQQ5F3PH>L-EChqY=M7+~T&yx7Cv7o46E zDG};DhQr`|4GTpEc#9_xNBMjlM}C|DHXr7DNM9A?UN&%f0;}a17(o49kT|IQr-anr z0QDh3;#^?&AlfIO`UWKa3TzIdzJ{q!0INsT?=bbC_(b>?WC8@sATNW22!YA{+zbp# zOwh`d0kWbJB;kU*R1+is#bG$aPvJ2CDL?jjam3NCSc^j(l>D&y%L#{iHyrivX&m_! zTAYGgxS*Ahe;~v9|6%<+Q1%7oKA8AkXubuBgVtNZ#E&A0TQe|#PRIkBbQUTON`Ih5 zk}&n(ki<c9FmY*+!3>ae2~q+R2bIsDr~pZW)>*>DO+f-s^`J$#FmX`&$EF^%a2O^I z%5yOFbD-vcC{U_{iSGjmFfcHH%$|wlucJ_LklR5`1ep4}P;n476-oVHkN|Y-2ig2e zXc7cTgI2V{%-Mq^J`Ks7vq<8|=6r;Tqr2x9R2<#?{Ll&uWG}Kib&<r8&EEwTM>ppP zR2*b4sPzbQ|7EB+y7{0@H?Z(WPH(cHK!k=5a(cT5U0;cA?+d6n$X*Z=W-lYO-Ggo~ zKax0dx)nzfM^3l$P;rp?$mzBSDh@Iq)Ha9NTL~2hxw8f-zWSizAoa-poeC8Psn0=D zzY{7BQjZ)CM$ke4q#iV;0JFCNNgO$Sc0t8K?ne%v<xp{u`N;9U6-gX9eD*`dLFOQb z!zrjZ$Q;mmYnXd3A&Dc0=Pjr>x;c{2b{NPU<n*tIL);!o98~th?7fd9jvOz~pyHr# zt3?Xu-%xRoy~yS;K?_8XdQck=W_}w~9HbuEzkNvJ$o`!M6-W2)d#E_beB}802^9ya z2PFZRy|Bq9kiDQbFH9UfA%Ue_l7hB_LFVux`BxJv4l)Nh-giL7LFz$K1T+66lDHs} zIk%wV=<a_46$hCEYF)t0c?%T>*^BIcGibvMB#xXf;*i9V)4w!m$v)J-pw=wRd}XLO z$Q)3c9VWgH)F6PCC&=aJQK&e&`_DtgLGA~c1vBR!R2(FR9B!|m;^^jlfr^970S$e@ z%wdN1SJBNeMH25t3g-YMape3M1r-OGkDMPfpyD9&k<}L<i6f`a3aB``IqRX~Aag+D z-7xpxz#*OwZ7_q>Bj>v^s5mHms*(KF4HXBeM~?SNP;rp@EF|^Yq2eI*$mziV+T{kR z2aN^8+*yPqj+{<vq2eHOkkg4IwEqthM@}aSP;rp?$oW(YDh>)akRF)5mQZn!7;-vs zg^Ht_;|~=FnS-28;-KQ_=1fHrM@}c}k;IYXeLoKIlTdMxy~ye33RE0qFLL>I2T2?` z{XBt+qnjfMnq-IOyBMT+1gV47`=GuPEZm^Y1aSKk)W(O2gW3`x^`LM=u1}%GBv?JN zf1%cb#gW|)ax=&rbbo>7Z(!meH86WYW`e{)?nMqCQr!d1E*S0s%|C(62e}719$`H@ zkT|mYLGwx2)WdqRAoa-Zj{+%%wuh134{ct7-4lxxFQBp=qy;^kLEDl*;vn-uVFC*u z*hnl$9NC?)o-ew%FUSyRdO&t3XzmLng&xkNx(8RhgO=ih%m=v#Ih;Xd0!$p){jiY- zboHP#3{#Kn{uGcPmT(5OwLns!@I)?`z{|s-;ehNOP}suMBbSq)G72OPat}xiEc~-U zf>3ji-Cu@7ybehm+5K%$arE#9)!iT|boV32FS7e#;Q&&P?0(pI61w{<K!#&+e>aji zviacEIat&$#-V;Sk~p$|H$%nI{R^6721$Y32^tH8g)^uv3K9qT3%UFU#RW(lWDaQP z9;P0a??C1tm;ad{#ZdPnmwT}AK{p???GU5|WIm|t1~b1CBnUMJ*?f?jK~f-lCnDu* z(D*z^9Nm0SoeL5NnGY&^VdleTKtSdon-8jsLFz%`$ngRTH<0<r>6}{W1aw9V%wFVl zj_hA#aZue2Q;!_)^FV@F@+qy|KiJYaa{Yze4;l>hDKYLDZ1pK}J%#N4!BB4!<DS7* zZ-V-spsWfS?*wgj2C+dHHa`Foj|K@qF|=C%z6%Og_JX9K%~G&9tV{!m!$zt>=79PU zATbbzwG%+%pmjVTF%X8W4*-e7%2JRxto#It!`f^hanSl65DgNCwIx7&*t#B&IA~uy zNDPEw<v&Oq*}t%I10)WcGX$vzjro9RkT|R^0P#U}3Wx@YgVeyn3pBO~69<hi!NeDU z1flDWa*?*EgN{K3NrB7(iG#{k5FfU76eJEZ2j)J|F;F0RkT}R*nD_;dAk_R~C>un9 zj)nr!Aoal@1{6Pl(jakIn-(Ml-VO&f2Qf><!0-Vi2^B|<N6_(7ASsYJ$ngkH2vGIN z@d!GK6{a3J9tA)KK-GheKme%$VbBp(AQ~hMYa4+0u(hrraadayBn~>p6-0x?!G~Lb zI1CI74j=)j`N-h|IsgZx1SAcc+X3-G^VA?3Bo00a0K{QnV1Ug_fy6=eFD!mRhvk5j zfW$#{H%z<$BmlJ+)P{tK!`2mnq(S1ac!#aA1&M>qfyFQAz#W+RAbVkMT>w%DHNOy~ z0E$6}@PL>gX;|9;#NPlCfU0)^2|zLE_$?3<Bn>*+0K^9210VsYdgOQq9pnR&2T3Ex z`vs5yR6TOM-#`*aj`s&h;>ht1It&PAK61RnCeA?Gko^lfAPA-&av}?e$G{)}YH&f_ z18duWWMK1-Aag)%by&QBP6q?YgTz5?NSL?*k~tu8SbTv_!-c5_nFEWj03`LWwGSY5 zpp$VyG{}5d9}~m}&98xIkT_x%n1KOw>KIHMIbI5o%twwF(5bpG^~mwkfTSMT9MC*F zOg*wYVQZN|?t%4LK<YrJnSp4Kcq@nj#jyElkT~cZ4_LhdTl)+WhxL^}S`Hw&2iacO z8fcJu<oE@hh6d6H5=TzYACSyJPS2pzd|~R5{mTHF+=8YD<ZuI>s0LGy9Bu+g>XFm4 z1d=#%dR9OZM^4Y6Q`unVBd2EvB=yMt1)bCeQ;(dUVQaQQ;eec;Ve7p?;>h6%I{gV| z4sv>HK(ZG(y@8GvhN(vmw+Tq<k;4siBpggVa=0x(Qjcs7=$JT|dSrJVKvIvK-atnb z!_*_EH`qD`kbjZW8|bJxn0i=V1o2_(z(DGe!x=m<15FRe;-GUMLHa=Ik<%M&eHcg_ zIlX}nh=i#}_AhKrI!HZoxPi`Rf~iLiH_+jmFmdGc20CgICXSrmVC&*R<|C&!&{>o) z^~mWh0o0+y;$P4yl`!?l=?%8d24p^RdIPOPfT>50N6>+mFmdGcwgAaq<n#tQ>k_6O zIoviNsYebs(4m+x^~m9N07*TvIiQ0wVd|0H`2a~ha(V-up$SuuoZevTX+YtCoZdhu zQNh&1j}rn3fCeeBgfpyM1esF`QU}GbdIlt(1{DKQ$n9;=xkVr`5FU!{ZDjw#@+Qc? zJs=N3F{n)oVuHkBV^bhL41>f$^MkPPf{m|fL)m^gAc=OMMXVe%mLpp&RzeB^Kj ziNor5<ZuR=19LZWzXoJ4OdPpi19B%!9N9g{{SKJ@Aoq;+vp{<c7#NWIS;*mrTs|X* z8*=%K9FNH5Gjcp4mk-GCh+NJf$0Kq%LrMP>xqL?MpCXsfptJ-^>!9?2>|a<q0*ND+ z&&c@&xqL<rH{@~;Ioy!TXXJ20E}v-;Zph(}91h6tgylbwf04^)&|DQPe2~j$kQfMq z)FYSA$mK&NNC6ZhhYxaogi3?EuajXM=*e>+E~vQ)+M5JogD@<7K;ob^<RCE+2JLYI z(I9cyUK|h~Hf|3R2dRg(OF(mNAbFTLtepYdR|*q{)yJ^$0hl;!z3LN?A<%JGkomB6 z?y!D3Ts>%zn}LDB1{7dO>S61YU6I5=?uVs&SU(qL4s6|Y4U&40y|8uAtw`b^b71Lp z3z9fUJ#1YztX~N;AGZGb4w`z{I^sWQ;;?nctRMrR{sP$x+xG+8p97Kx*$Z3O3|k)z z6Njy9hV|EA;;?n-i68+a^I`jkT9Cv+<~KkGP+|QekTggfw$6PgNC3$k*th_!zXOs6 zsfVqXhxK1T;)qrE3=AUB_A^KvmL@?-0oLyTiNnSoLE<(@>Jh8-85m&w3y^x)-Y<~) zNF?>3@PzGuDnSy5?d1ZguSF6EsfUF-tiJ#<AF*1Mfng1jde~eo$egW6;vjQi`>0^; ze~>w_Jp>^2H__C?_E&vD5{H%fAoYKd#6jl6_Fci+^C0tKc^RZ$5!!A9iG$R`_G7sq ziGvU21StmXMMM$@sfX>;g0;6n=D_B5L0W2%)Pwd$g2X_$6-gXq4rpC3NF3IF2AKn! z>ja5!L{ksj?*-eJ1yYY#b<e;6TR#aB2bmAs2L@~3g2Z8KQ$gl4Lff|>agci0{xBIN zaabJ+Qm=|64pI->HwG)8K;|G;7c($;qN#_un;|{5q$D#pH9svSv63M^D!9b5B(*3v zGcU0uwTvM?DkUcXMERkdUtwBMl$lrJ3Xw1YA9dxFSe)vdlUQ7Al9`u@L(0$$ekN0K zYF<ieQ8B~_Zxq7~P0~|K{7Q47r)xpgpecbHR8m=x3RPlcfa;Rayv)MVR72C`oXpg` zlK9-j%)FfZ`~rxbxD*$s7L}zIAuHA^O3g{sD@m;=(Tk7r!**_m1**}gN+3sfpesQO zG#4X$uEH<t4AC1>W)PoeWD@UZh;Fta#B8kMD4s(YfpYi=<ajX`kTEFAv4#bvGPtRD zkI2B(=SPHkXsp1kKuIMKBcV!A6EH*yIbsn;p!gjUdzi}6{Enn7J_=zJdQ2GLhzXE5 zO3)&VKyeK;CNPwvxdxXqxT*L<7Snhl)I)<AZUt&gfQ^JIL5m5n6!9^Ep&ZTc(3n6~ z#-Nv+pPQSSSHch<72=GVKOuo-5RaZc7$6anl30=mV(As->wz@m4GJu#fb^h*1uiux z5e@MLcBP(}F7?qXE-7LtE=fr(Dk9U}DAq&51Qb|d*a8bA5rRu17?*@6RtZqpChDPu zav0uF#_q!qLVEJSmc&Pe1QSvTD(}IHi&Ar-@$QLVPeEx(az<higI;=3erW-w0~tUy z2U=<1Y~&i?og83j3a+)B;io);)f$2YA*Vm#RfrOAkYq!$dPAHJ$t%wVI|s!UNa`>v z0v~tjnq>}ZK9nWqfE6OU8@mcDMj4tw%!&t{R+*k!jK@rTO5>9&65|U>i&EpuGK)$| z6LT2!^72bk_1yhJb&E?9le57t#9}|L0Luhvz#H*+bz)2J&N#xF2&?ew#M<;RvVb>} z5=%?+Q&MwMOHxx{=V7{L2DoJglo>(}uJUm7bMbKv3UCZ^^mPq3hzC0en-2_4icy<q znGEsZkWWfY&&-QYPAo~zfQqE%rNH>Oi(TXtgPC!NDsxec02jC@kqpTd2JtAxFsKX* z!w?C<5DCT*@kA9#1Gk0KAm(AQ7bJmJSV9~Gl0Yjg5fW&HB~&5}e1a@Alpxh<JowzO z_~gW#oOpP{ogqFnuRJp^B|a#%xHLBvsv$KaKCLJb#7$35j!&&fPAw>jFG)<wNhO%h z4NXC3%Oaia>YACt5Fcd-Np=|}`FSZw{JfI<3@{&m6VA{WWN1!i0r<4oV%N-+6o@XA z0JcocOU_S8jW5Y}4M=7HRdgkZNep_$mAPQL2wbd#Jb;>5At7dD2sw=vTC&7L&)#*# zn(RRl66R-U07}jkiAkAdhDHYQ@x_^-ATBPB2lX`KGxO5&U7_I#i2(F20n}nsq!VEw z#Tq={1(XH2l?8(;_jpJt@8{^_@9ykGl)1+6EKRhj`WgATsrniDCgui)7KZv@JJT~u zzzi?}Jx5s2nZe!J86{yDTVe<qVG0>qGU$PuAbOSzdXNawOD-<4z|e~+VvH$dWC1e` zQ_k2N!%RbSm~u=xV>1lpMrJVOm~zIZn95CI$_?QxOjX7v7#a;tU>e~JLt_k8#zrtz zhHw^$;T+&;XcljXsooH-9>Ic#d2vaRp`IZ$b%Gl(F5!AbscCxg@#z&6@dc?x#rb)O zIhiGu@nr@WW*ac*`9SQ&lrzQ@G6bmyWk)?j<nbTS*aSIvJrC%77fhWqpaYz4umNVM z66i1`l*hmTntud|L5E@C;;?a6dE~)5EN492hMngJ*9l=HKo|IDKo_2Z_8fr5R$$}c zu<`#d+>p5zkQ_uOgiL_iD*_#Vfrx_6z=E+Lv>!X@JOKzBncM)Ki~;SX1Brv|2knP| z4oAVJ+ZlF3?Po)CKm&B}54N5kWCjSM1t-H6Zm65k^q&B2hGJlVpJ)TJ9~8#u{tp13 zLj^js17tb^Pk`EwZXZlPjK<~vJy8F{)Pd{=38DKRw9W+_|7h-C0JR@Y7=Eq-%%!;O zKLWB0dQS~VEy#Y*JQ%wDS)jX{7#JAP!+!&X_MgFGKWM%R-Tu8yko1Rc{{af^zk<bn z(7YJB{q8vYe}O{#??CNGPXC~JU3B}6arplM)PCf(m!Nn=Pmg*`*wg<HX!?h(PX)z4 zXv-}uJ;L%ouJrQ)i~B+Ae9_$xI*$Nb`Za(K#>4i}fZPtk=<Wxt0|J|gme4z(6MwMt zIY90QZA~TC{a>)SAG97BY!`GN2gp6@jM&rP1gQIA@dr{1!szZ-V#FT)9-wQgkk%W3 z+z$$KV%-lu)Q|yjt`JB+XgxBz`&n?Lp9N6&gZ5T~+zrF%?*EU&{RvR_Bc~tGDIvtV zp9eZw4huh!`$6;h=<e?W-D`)X{DBqRuz6lw?(c-15sa38K0w`%oPI!CgNb#&1Qz#$ z)=i_kUmu723!se)P@KWs4x-V+Ukiu(H-K(NgPlFhz`y_sKhSAb#JXPvi~B+AyV2dh z6G!>S0G;fDou>tII|!q@e+#VrffoJ+pbPXsH+6wDLER790!*y?4Y0T$w7whN{gZgH z=idWR_k;GlL!AJo(B0n)KGzdE@d{P}Arhby^ssgFpzsIHvl8om8!YYztwTq5zZDMm zCqO3;k=H_iT!!v`QylKMfG!e)7Ng+w1Df9@*8Lt>+z(o7j_!WYJT$iQ{{htfu=9sN zZU<p>_y5LGf6aipA36Vm=81`Qe+U-$gVyh(yT1!Z`kw%uj3t!*LG!U-Gttt21a$Ep zY`+93{eX%DV%?vB#r+^7!FD0lUz2c@{{hfRV?ynRUL4`?kq(M22KYH!AoqiUgjo0I zU~xYvO3~dfgCqPGK;2KM{UDB`{J8;jKXUp3&2tm${t7Ja2dz&;cYhR)@MnNd!V{{0 zLve)v3~0rNT>paR#ff!)3l{f-)={Fn{|S!zD*@_$s52mm0Zae$K92fJ1GG5;t^NX? zXN2zlBj9s}85p3&1>Bw!Q2Ue6@)fA80V#sfQS6ZNAG&-4Bn8F>&_xFvX#H38@+XuX z+I|D;LJ%*Y?k|9LKtbsrv~CaG{kYoC6R?CoXdNhe__wk_-H+x^3((;o42W~)U@n8% z595Q*BL$m@rauC@$QE{Q0LcBI_2Mx7ptdN;3|#J?gT?)zeT`tdkjkH(INW~#>VDWb z2FNZDMi2ijY|!vWbN>YBCK2TP3u@A%yMI3qB>d2{Gr*4I2I&FW3&ZI4<MRIsEdB?r z$wc@6b@2J$3=FVyxMB7LKo{+U>P(mzh(@>n5-WE92S68*BgY?TJtn&Uak+mB7WaeJ zEu*`CGU$F}&>72U0r-GO_xHi>TtL&`0bQty?0(SM55&6v02cRy)?=f)Umi#J7l1M= z1L9mwP}qYodiYD>2>%1nMWV>{H>fTp*8OLo?uV%d<v);-=<a_3%|A?N;r9UQeo&tU z<Zc*7cR#N9zXG)%x&H+!6431zhn1gb_QMX)gq0Jx>=%NSpJ@6wKo3%Y?bikQAG9wQ z79KEjak>8i7WaeJ+oHSw2DJV_&wmoof(K?F%>C&6%lz2$-w&w!VeSOEA2fad(+?AW z25rB9+IBEIK(qqXe&{d`NC=E!^%ji23%WQQEQ3n;LG`1GLdrU1u~(4sQ`j~@xKsdC zKj_?BxFFJaAWZBjZ2S}^0Hp;$hlzmdA87pv@;_+&3f=$Pc_3#+LbbuE57784fF5W9 z@-Ha<(DmyZD4+mCQ)6QTBXbJ_BLxK`V^b4TC~0V5U}k2bpkQofVQ2={k-$~&>f^@5 z2r?OBEhB>+c)d1+hae{)EgXjgivxoy10(n@)nL!g?;f4MeS6C}d^*2@cRhP{vwL(h zdv^Ovcyv3w@aW`WKHd!51_r<Nv$vYV@Y^oXFg92ZfA|4@!Di56ZOFyBo}I@%I`6|w z^y!3LpbEPumtP({I}i-M2$dOZOLq;k0O)S#UU0kTe}F+}Gib}0M>kGs6&3~tJkp?z zW$4n~pcCmBJh~0R=IgL9Ff{K5+48?csd+cZy#FPV&AUN5|MO2d*!<%^|C9q9C-}D= z_<ke$F!(y%=)*{N8-wo74fgE(@6ijc><tfqgTk?SKRC4N3=D7kK)eI>?<Yro0hjw6 z8yMl&to}djncNOi?O}Pi=D~i@Tm?A%z<1(K2nAW-7!vH-dEB$}3pkcaR0Lpw>e=n0 z!U2vb9~A{~7~+npw}x2b%CnnA1!{r@%mmlg|Bn2g?;HPuT5CH%@x<?Qv=f{FV8Pj3 z!z{qS-vS!W^60f;?%oUvLziwBW(ALK&=@6yN9Rp&P_!Q4Zv{<yz%+stgTfh?V$jK| zV8s<LJQ(kHZw5sX)J#Wk_#>MPy5T<B5qyVmES8&^LA`y%P0e6a9bUZj{{J6-w>ILM zW>CulO|8cZkK-=f;Oge3JyuPiZ6kOznPb%i+T((z$pK^&GsGqxkfzR~NO|YA7%bO# zpon{Pz6XafOqO4s!SH13H-67^jX#m1?qFv-D19B~mv>+Qr>9_##y21laNcWC31DGh z=+@vr`-xw`0dhxl>)Q%N>(wA7wUQpmM?dikx*X;(JmArI1SAGdp0S60K(}{;GaxId zobkXJl#mSI+4;=yfKTW5&Q}mOcY|;H_3RGk@a*;%a0G9Tb~QYS?CsvP3E<=(>KFoY zGN`2S?ELT3yF>-FHPokj4cO_9-M$R`Cmp+|gWP6$vChE*)k3g!paQMC;)M_6f6wj^ z6%NmC9~Fe1u<Yd6-48OO^<;%=Nt{peN5k6_!1?tqBvd{*@(a4$=kWM{*vIm7&C}P` zXcl#zf?4ImT=4>{J^x`=fddodAyDd#1>J#tm|xxnbQgFx`#w-{{y)H=<v<Aw=(cXy zP27k82K5vXDF~#7Umi5G!~lt3M^JzTICh@#?7ZsH`PHNIw@>e8(5_inq2tpHF0DM9 zj|+gq`=3YWE1%AnVCTbZ>-CWE=;ZcjK9Jzi*$mQ*qXxiHu6RHT+FnNqk4|Qf=7R+u zo!uZ~Tw9+w@_W946fQd<h0EE_ZcxB`H17uQ)#YyiZ8rj!M&RNCU)cgWa0;5SAq5e> zvITUC7FaPcWy?Ya1_sz2<=_}1s)Tvz3d+9S1hNFEN<%JPY_V!0P`a36)kL6l(E@3L zmLmVa5&l{lR(^PN9(~ORD`Fs$uoQz?)IidkNAocOa7_iR-{5z7gX?gREZ7c@#>1ev z$GnCdApus0u<kgRKLKtYxU@jJNFLq_A=6|6?(N+Taxd5on2vtU@7a0G162uFDZ2C1 zh;TouF^~io2M$uu#qz}3gp&V*102CEI*)GV?#ZBx<<ncD!s65U?SFuUNAGS>6U`9P z&I4x#hZi28rkBH3MvvD2B}P8o;vU_TL5e)OyFq(@T)LY<?ID+LA7%ycS>)hC`G1gy zNAnSZ)&r%yoiCuyc8tfCM?if>q|)l`>+@-PF!%DG>J$U-V?Ue*F8{zrhXe<Bc7F5h z{NveM1}S<yyV*QDSyVi`{VYJmf@dcWi|6qc6;K?3>K<?-rrY6#XRi&5WA_#nP=Vpv z?ZN_UjQDgu1jkS7fl>=}wV?6>hgy4xx4_K{EUgRBToS@x5OY0Vcpi6wT;TP3Cafq$ z6x^WcGjuHuAT2E5y8m^bXXkOx?mb|Sfg(fFqdQ&z>~zo0IZ)Bt9-a3~pL;eRlkn+$ z4y#Wvo7a&18SK&g#(`hJMJ0k?(?vz08{87;bWt(z=ym7t=yXxB@aUco3Pz9C+a)S# z6Fj=D`88Zr6!<lKR1Ek9eN+Va1zA-72XlCIM+<ng-Y&goc)+9ih(k0qzQFAXto04( zGzM6HfYmp><s6{g1g>mcJ0E~O1`8xuee<Hhqq7;L+2c64+5yEcta;fCI<f)U81w-p zaabF()B={0!4(E5PO-NyOC4cxinB;ZjaIO^NJTZ_SOx1qYS6vz_3S+I+Sar4h(|ZL zQ~^b-Jhc4r=+1}4uSe%<NHo0l=zL%L!n66f1f*&P2NFCWJD-F3uo4^GJ_-hBmjB>9 z!j6<h*gd=VL(KeNg0K&so?y`qN=`2z$qCdv0k`hJ<qxR62+EJ({tdK7>-CWE?Bw@o ze$n9B*$#>&Bs-+}<r$FDD~kDul3T*JcRNTUEXDeCen(j8(Rmo=Rd@m438@Ou%ZGoS z-E2PH6)*gIRqT+`kas7K9msj!oh^1CYrMPn*uerp8kD}_{zuJE{=Hkk>X97k0}X6Y zN^3sC0cxqmImUy72A@0A($M;cj^Og_50WE2J9$(<j`ZwoQ2{v;Im@e|=tl}qRQLM! z?g4AX>Rw1!+o$t6EV0Af4XRSOJv)yf0w0o|5P=R4Y)JV5>W?#5ya0O|mL9;_-4m4k zKw}0-ol#JU0va^H(-rmUT@0#Oe0sBCV+TIaP7GrB0Mu3o4?e&<q>!d3sI3U?#KJTg zeuG64EZ2eaKcu?C))_730!1S@?_(*^K_hjD;u&V-aTiF>?DY}UAq_;g3{@N!xUfu$ zoE`!^x?NNZx&`=8HU0wmr<|)3+;0K3;b94++XC9LfQ}}B<Y4tBC_h5O|B5G3O?w|u zX$z_TU>3lNT0BjAXgqoJR&yXC23<e6s0L*&jQ9Z;Qgn};BS<CYYiUq{3mSidG-O|M z!=l5p^9U@t!xImzjF|vxu|g9&D0&#+?a$HnECT}r{oAt`<AbgLOC&tH*$uz_4^RMQ zQ09mi9-a52!EqLS7&2Z4YV>G0c3uOGTc~h=a|uSX*Qd8e1={)TeDw*`LgM%z;Na2C z?a^HbY7ZL=K-<Im*xJLO2Bu55kFi4MF~=~+a7XmUum-qF!`2uEO<*I67(-BF7`c3a zw5Pzs9iVd3vGbf~=M}IIARXr7atxn%c0PxsdvHeoAK*c(Cm^jPY@X2SeBse}1mplv zX&HyTSr2N<z7~U(35Yf>h7UI()rY|zouBznbqXJcT>b|xCqD5DI&<s*HGrcJL;MdO zzwqch?bvzMv-6u<uMOzxKnBO=|IGYtpxH#XUX{0?cA-n>3;q+1ootTHXILDMyMZT0 zJe!YkI5r>o<J$U`zYo-hcj<iV(+gTR!@w`k;Mn|!y-e{FzW_7DYDa!SHmHst9?ge2 zJpP|8z5O~D;j4Y16DPnC2CH*m%C@|A^XLYf>(TAY;L{6I$bhUIQni94F-2WF!4B+? z|NsBLOXm+*Jq@myVh=Mg{GaW~4C=`vuKk0pJORx>Fo2GiRtALt2!qy#fTrj{XXG$~ z=IlX136g-$1pJ@<xPgHgtPecw1CjzUK=TmaL1Rsz31ZNJs~`!6O$-bSAVc^;vsu3w zA=i?zgO+#*F+n)0AdV~((&b_xLqKl+z`zV%ECD*z0BjhD0lG%g7GxM`?F-0GkbVY` zeIN&emED8d=>$@y0ky^yWQ{8m0|V%MXwaFEjGzNZF#NWMf!PFfia1CD92?@$>)XL5 zgU)FH*$Fz&h!HfO2vP=?fw>u^A2dM&vIV3XeDN&o2p|Sf9Dwu(g3d1k4H0A253?Vv zA2eMF8vX$d(t-7ZIG}TP8A0<wut_s`+#uTzvW)?BWC=(MXsHMT=&W}T2egKb5p=*W zR{bCkfqK~>ngPTBr4O(TpgTH2X#;fTD<fzk8pHk2bOwqkuyzmw6lJQQ00JEk3o=U! z#ED>JU;qVfIcU9bKJuk}AX!lSgZu(&LxC>D0nJo1fL3tAZ3M031BE5%Od>|m+#*~C zSwCpeDkv^ME7cf4#}R?9V+Xse3p#f<3ltZigOl*;2d{br=?7T}nt@;d%`AX8>p}WK zGY1%93C|}MU<(--7(fh=9x;#;K@(?SZ-Hb%rhslu`3K@KLh}h9C}<?1932ox1zR}P zGK1!!!6^--8_WQOxiiQXP*j7g)CO@t*$KJ~lY!w30|NudN@<Xc9MqODkS%&pjx~tm z#>fEPn*o;b!)8Ayo?vNqB<7h#4Gj#;QlL}@nr;J?ON^jH)1m84kY|_!z|{np0LK(R zC^Las5Q0=ba(@bB0;oM7?9q7{(uD^N!f5XYB}=f49-R>!KAi@h-Tk0OwnwLjfM;hr zh-r8L+`holg8?;D!L=3G0PuX->&vi~FQQh1PFL;&EeAv>2kUu#3gj*r4)Eyw;nBSV zWGQIaLfeBC#6*nWd02*Xl(KqQnwOY+bTfD~9}w{9t{3oV{a^YN(>73MLf8g&T;ySo zZhrxfPRKAHsHX$o;|SS3AMamUQczl=06I=4JvF{4wXig`xP$?>3XsCQ)SO~`O8rW6 z<B`-A<QJ7NpjsCM-W_kHz@VDOiN!K21?R*(^%8~j)Dnec_||_#E-XspA^YvE6q3O@ zVEaE6Ap1YTR9<S10@Py)kPWXz<eOAXiBWl}<w*V^#xYh92g5=ewnbM%(@McJFD11? zA-}XlAwNwaDZex?rI?GswWuh+$Vx#$1G_#=D+PFvsHP}n7AxfCmnbAAmt>Zu>M1A$ z7nY{xBxhvirR(7|2^6s41OVMFjAUf7LSj;WS*n6+3X-wb3Q376@IWgqP$<bqasmaG zX6BV8=47T2HY_bMGbc4g0d%NRW?nkfw=iwRVE2H}K+?mLDik!JhcM)o=7P6NgMvU4 zoa#U!2;O<F01Xi<g_8W@;>^5stmZi<=Hw(LCTCMI;gV(~aVZ$GQ5)<*^%4bmwt^%T zSl}r@0tIhEh8l!O$e`jN9yu6ciP}m*AvixbH9s#E6jvn*rNs(~3Q76trNs()rMXF| zMWBQZOMX@g3aTmCV+?8|s6-$!ZqRgs>`G6CdA8UJi!)&PuP8AuJrx??@aXW#EH1IK zf`uJyhdU_m`i1)VpoJO{y8Iz|JvTKszo-(sWk~z#AtgYOm4aWsLUCzw2AX|IrD<uY zMOF$B8k}Ks5{uGP6;ku^OVeQ+dO__oaGwuWTTzcb@f&<~@P8OhEt5f`z0@)bpE(Dh z?uXI%)KVe`Y7J1LpIE)Hc!1Hw>La9%TJDFr3q}*N7nl4<ch6w+KdtgBEMLNCT<L*Y z_QULf(SyZ4T<(C0(>p!T+dh~-anYzJ<3RdD$ZCxsN06a(V4#gRurg!F$z`bW@Y)>G zJpn6(5?IZHv^=0HpcMG*B89TlqT<Z_JOxud13g0pjgrLlV*MajA6Lg<*LYI{L;bYO zyu=*PF&d!J4UkU8ssNuL2F3~jcJQr=($YNa91|EB7(fGVpuMpmHSj$GPJ9ARd=id) z3e7Bi%>A%ys2Lcmz$P%l^n$K;hMB(=WPl@|Kr<5q14s<Ig^mGy6aboepfh@5cU0-Z z_Mka}?R4T(aN^T&<TGey>tXF<>1S?(4tGLkMImN`tO5<z!OU0(5`gP><kN8H+rZHb z*UkX4?+8c@0|Ucr5Djq;+%B+kwjS1Aux}y5t6xCsK<yk5?Z_tp@{bQ__=f><9}c+r z1Gm$OPs54Nz>&|wk<X!-y@#zAZaHYE3^WD^G6r;CB8Ucs`3$I8pg}{hSx$Tcj*u{C z?qh<)%O0p2&^|s~YG8L4fySb7sR8ZN2iXf6)54|(w140U)UIV9g>Zj4LgE7I8>R$4 z3nxAY4?Y7(7)gLejTsmiKw~)|ZJ;=TZ3Y0{X$7;(iBH0bPXT6D4>*)TV=bUzWspA5 z*$xbjd;%_f0ifi=019jHvQ!2JhI-f;0dP0r4r@@lgPpYuzPl9?&+v2%3U}CDI-oI4 zB=^D9fc#(r-OvZxKa8XX!w(>}2~f45y}J0+g3<x(J{{P;7*M)|-BDu#^C!g3@U#ia z2gvEN2WlT^NCy;VATvPwC_&*EN2D3BbE}clBWUIxWCp(U=mYj30|UPF2s;}dUwVX{ zyNoM6g36T=s9oTrB%tLAD4q5|#ld&F!qbE!p9U!Lz|v_JUxX81f(Ks!WE>fGFUwVs z2jO}k<%~Pu0S-_YL&_SaEWQ&QPJ9<QJopZ9Fo4|g2WlTE?SR4?lt4l5fSpam2Ff?c zX5uLaJU|l)NZb8EX(9%TSOFHX7A#^jpklD}1ajjCs2FGz9_(~TdV;5Kke@C<)qv&& zKz;%R3&<O63=9mQ(P<DHlr}&#XxJ4*gLZF#XwWb?h!$jkoLdB9gUkf&Jpi#m^Aw=G z4Pt{PWS~dSgRH=cp9p~VKz;m=E@=ba8wR_nm4QJCsz6B?G)gQ9=flp2p8yq~2(p-g zfdRCH7o<f3Dt;SH{E!gD9PpeN0|NtiUVwptAqOfx3tF~;&V2xxBL)?J4iyK@3WCJ% z3PQ}0g62!mR1rvgJ5)RiDh`^o1&Pmsii6Is0r5fm(m-?~R9p}oX$%aYDKC(?A5=UF zDh`e_1_p*RQ1`&x2Ra`Dq`nR6-!oA4pnXpu@!wGOY|yxe*}D`f9t9N#4NQa7`$NSi zK*hl`YzzzxKcVh94iyJYI)l`&g^DwP5)lIf186o2BwhwJ2Q(oB;)Bu$hz8xMz{nuU z0NNK0;zOOwa1d$^c;bkGfdLl3OQ7PrK#Gy#HybL>0*znLyd6kM1XSD~Dh}Fz3=&TS zO+J9u|ARP4m=!7xySou4wH|bE5d#YY?9K_8cqCLDcE=%1oEa((yE_mj-VVwz3@i+w zNmiH`h_;4`!|vDviGlD7s5x7p=?x?X!jqulU(m#DpyIH)3#1l=PeILx-H`wi1K|>= z_#J5a1c`yL22?x-79k)(1_p*=X!y)Q6Tb?z_YRtPJyaZa7C+P&hUZZ8LHluGVjx-* zsvcGzg2X^r461$$h=YciVHYuCh@&|MD$mRSD%GGIB#M~<RLUU<K$*-8pi&RYL86$! zlYvMAP$n}2*s)L^f?@{OBnUo?#SEU+h4CP?t1ttDA`__Ogz!NVk|0(dFQm-{Vk6@# zIK-de5J#C9MluLAPY<e(kc7ZYNlxtc%Cle>pAT)XgEb=&xyaL@NaCP&m=FUK19;IF z0|NuNAHl%D09w=m5{I>&!TksZ28Nd$pn3<9_(6RZka3ThL3IQo9$_kynLy%*c!!CD z(i1lSKE!g)1jzg-F6{p0=D{v5iX$AZ;0T9#ybymCKxf@SbvejhSuTk91W*Obz`y`* z!!R%~e1WQ;096lehcGZO`0zp07eJFDxShzrz;K5XB7Ol>Su-#&fZI<D3=E)|Z%{Zd zfQp0LTMP^gHBj{%pyq(umLT`ILd6ZBfd^{0g2V+_q2`0j2?hpG`wt`zy0Z~vz5-Mn z)V>6Xe`18F7l4YxVkn6RA`WY#g4*;T^(&y^Z~>|i+)rU(V3-T_FRY$|`S$`h#GD3b z=LAYIyo9R%04?{xeMbfc1~Yz$de|L-;C><l0|RJHff7=_hPAcAq2|NdQn2#-9@L$% zJ8?n%Taf#cSRm%ZiXd3{JYs@~2S77AEPOzB7J<Ue0V)plHbW28oe!W%9o%<fU|?t# z0Ht$iBr-5CfZBf`dqu(Guv(Xa0oH!#hq~VZ>LE}+3#48QDn0=kV4!{+NPH*M{RyB3 zAOiyfsJ{aew`7L6Ux5$AV_*Q~XAlciFM`~E09u5C`(q3Y3?OCDqyth0$FXdnvpl63 zE<iIV=)4P%<X5P80JL2J6W`1VQU3ti4uOexK-I(24@}$+svg!~gNg5gst-Ujrv$1V zbVe%39WeD?;4??17(g2$K;p1+OPw8iIbZ@cA9lwosBH|=r^*X){{g7KVB#O3=EKGx zVdC8!Q1wuE!o;P)=EHIc0|T^}U|<ECFT((HH%!F^u=z6JaUYO7VB$$&^JQR1FM!Km zkUSIEd?^Ol-BGY|=_wDyJ+QltL46{S`VC<7rQqc`OxzM|z7+fpY|xS(kouR<aE9G| z1#|CFsQIwFs9|RjO@NvY(hI_{@E3rZ54)2Lrv4#6_IUZvj9t7QN4dQdT)#jQKT;pg z5?sGP6FHLjQ)qrMfM!WhUl-)wRA_!FfR=lpzBEYO9I8G6n$cnEw?oT^1<-N;rXF<m z7bt%zKr<6G8#Ay%&EEjZXbcPtpfL=P`JfgBR4IrH$D47~@8P@*3`(HLhpL1YHw=?; z)OSm9i0{N<zK<~W@ZXEW99JCe8Bp^co4>-?u$#XRhxuDLu&dvSL%lPO{C*XOInd|^ z_dGyrK>t9dIse1@RiG9tXyGAD9Mm2I1wBX{wC)Zj4q7t>69?rXm^f%zCrlhv2g1Z* z{aR453R=1c6Q2fB3{9^fIhZ)C{RI*ORgp09D@f`=Ned?a87dA+wxFebFmZ2C#6Zml zl}Rx1AgDOVU!aj_n0P8w9Aq!3NdptFg^HuApN%9Ax}OlH9=yy6dPWp-I6p*Ej~vdQ zk;IY18FV%p$ZH^ffmZOs%#Q^*5NbZCj}8-Wf{KIGgX%h%co$S0<bGuJE1}{b^`JZr zQxD4TAbZi(pGQ(ZkAZ;!rv4^W97KU?d6+ot?mmz?pmB1TIOxnnkoh2ck<9^>8z6Cz zIiR`)rXF^uAG$dPpv1wz0B+78n_~qP2blvJy@8qI2^B{-2UH${>_vA^K2$x(9MGy( zm^pP&addMQB8emCi`7tZkU7ZdA5@-$>;;*Fto|TWJxClmADx7XqnjfHQV2~Cps^O1 zJ0WZ0F~bLR<^#xHkU1c&F!k{u4%8gv_)3F{gVcknewg}Fs5pq4i<BN<cVC0VK`Vk` z>aT+Yp!pHh<ba7kfr^7DWOFz{mO<TvY>oz!II@3{@6ZE{A;Qe}M^cY$KB#>K3I~wA z$mTDHsz*-`8=>N$Z~#?>F!K*U#X;sEhubG4anM*GO#M%&ILQ2Zq;TT{1q#%^$mND8 zR2-xp)HZ>cV+j=p*^6ABcq54;mnSh$agaHnv%q2IY(x@AE@wbz+rh#Ix!kyiq#n7P zc?J~+xd&N2D=0Fc`4qXF5r&GRt2cy-gWQRnudSitpzud7XF%;?m^+cfKN6}Q-JE2o zILI92a;69>4ss8&Iek!ZbaQ4v#X;sEmov+u;^^iahKi$`a~3KNG6%VwxdRnPH|IZ+ zIC8nc2}+dE{DoZ3$UwzG<{+zAK@tazS;EqT4w5)>`C|eV2e}j3d{?MAy7^I1agcwJ z(|Iyf99?}Sk~p$^K>ZF_{344_MpBRL&e>3Lba!rqile({FH{`eJ(rQhk?nnoLma$O z37UVA-SZWy9^E}$AcsKn1#<WZL&eeEBabAG>>fQNaZsNF7LQIy;>hZ~ki?PI2O)_g zyFUslj_&?Ks5pp1c7H8M02&U+>8%q<9N9fHki?PQvj#~VS^X9yab)#-ki?PQe*`Ly z?*89UaZosePKSYoTPSqg0VIuF{=`GYLFRzuVCwUr;vjR7%Z<fI;-IlZnEFRhagZ6H zW5QwLub|=}bCAnVK4`}WT|H==1ePz5)$1auM|QtCR2<}fkX0~y-Js$idy(Cr02K$> zi)>C7R2*auhzT>N62yVVJF+=Tk;IYX>j;uKaymJKB#s=9SD@k`dy&f@(0Cmz9FXhT zOlXG`<bF^e9p=tDs5r>K$nnw&6$hyYt@VJZ--aZP9A5{a;vjR7!~YRf9Apl%`d3hK zboDIIt~*FQayaur#X<f>jxSlLILI92a5jUAqnqOZ6$hCE3PPB_{GsCL=CmS-BgfZb zByr^UT8$)*oKH6+i6h73Zm2lOJ;?F+6)FyL53;=ypw1pNT_M}64HXCZ7dgH{q2lP~ zWJAS4>QT}IR2-xp+5B!Kab$l@!y!HoNgUa~%b?=u{yhm52e}8?{a>NtAon1Lg9vo! z2c#a^{R&WVka}eI8zYG$yWb9nxEqo<vitp@;^^+rgNlRPgY5pLP;roZklhbD>l&0# zLF$p+e*sB7vim`2n}XDX%t3blYb5o^=Kn?#M^+Cx!2vYK4>`{rmj1b+gEk=Zk^L(S z6-W2422>oR9yB%vGshiC9J$?|gCvgJK5s)3M{b|*#vy(bNgTPJdIS{*g(qmt9_F4` zP;rnuk;|q3P;roY<Z^}+I==$)FQ|xunIi!e2bqIh&R8IcBgdB$R2*aua=s3Lii6BS zRu7sVhs7^)_$NTsqnpzY6-RgfOsF_WJ*WtQxqksv9AqzO|0hiRERr~KeQ^aU4l=(E zsbBUIDh@ISIetGt#X;&pXG_D(7Xi;BL(&^^yc<BpLFz&KU}5SbpyD9&k<&vGk~ng_ zL*}(1{d(khZ%0y(9Pe|W;vjpG<9!)a929QI@xB!*4ss82yhG;MA^t*+$EQf@k;UIb z#X;sHr-xrqagh1Q`IHGdKnW5@P7hpAaddM;q2eI*$o6VM#X<f>jz?ptIJ$aIBynW- zMB@-oMiNJMXEszE-JOk4adh|eLdDVDvlvMn**#lvi0?%bM|RIqs5rWNZb8M--SZeK zj_#iKNaD!u`G+KqTn-CC=NmxgAgh-`5=U0Agd~pael4gty89iW;^^-8g^GjhMNSWq zNaD!u$v_fEc25nGII{W{BynW*JxJon?w<k`M|b~8s5r=-pko1G<-jK-ape4-1RA`C z_7jowZw^!(WIm|sgPBte6$hD*oPYNqi6fh@0~+kcV!jzv9ArMI>VTQ=0u={^KeBuL zpyD9)$nJ@Sile)y0ZAORh6`r?OQ<-=98i$J#D7D@LFOQ<mjVq2VR64cR2-xpIUF3J z;^^-8fr_Ks8wV9fH>U)LI7mONUIQIw3Ufbn*akfRl8scqK!*pw;-EPfn0nBd63iUX zQKv9*@JSI^{0mB}AoU>oK~)n>J#2m+-Tk1GK0xY0;>hj<jWL46(ZdIHYy(IfWIm_} zhnWvL2pS{~G6y-F`#^%wb~|V-08BmfY6XmOd(apxNDIh(P|*TY4?1@qB#v%=7Dy0k zK5~8prB#p=Xj%ontsm(wI*>T%qzRB35QfbsgTz4xFo48B7__z;M1#aZ=f8v4APk#N z28n~}caRtegYrIz28n|X&H%AN7*rO4XplH8?m&E)e?j6AAOR?bt=|NR!{QDk1!{AG zXplIvzhLnN67K~mfMVzs6yUQ!KzH{*h2it!AoZYeV9*#SNUj4!fX>H&-WvfE2Zb$2 z3Zx!%1O`kT6xYb&u&`SI5=1fwCcXkm9Aq!d-LN}OK<2~T3{rXmL_p1frB#s71rPxh zhlL492zFN)$Q<POdH|Aysz;75@R0{lapd@d-FX2r2RXieAen<4U*G_Snu8o)93TUr z;_!1kKx?~@#9?!(AfsXHK0(sR;a~s~fSLnalL}G~I?@G1gQQ`34aA47R|AQI`em^A zf~}(giGvPzfr$rz1fb@F*5<&(L1(^z%mYb-j_ZMmCx8T?>OtbL_=T-c1xbU<fr%G@ z1fc3c_QK-50!bX?PEel^WFKfx5QqjzL$ARBaT#FyRY2m<>wUrEuysx#aoCz-kOXM` z4~PbdgU;{)u|aqPNC4^{<n*uuNgO#n96%CBP7f!L#9?_BWc~#taoE~ukoXNGapbk9 zu>CV2Y0w>cAhjU;10(=-CvrHzmYjm5VQZH`>N!9KCsaLb4HQTmwmt@=9@OuE#UpI* z3`iW*e}RcBAejT2(}#(})(wNygT!I+Yk;I4WDZQ+0!bWXFD!loki=nY13>PC?Zp9^ z4?30#BnHBu^PfO8NE~#BFNh7ou=Q>r@u?sID2DC-0f{5WZv~RQ$no2NB#s=vGmylQ z-MIis99H*%tX_d64l7GR;;?l~AoqZd=7)tRY=03*JO`<MI)G#jNE{ZPCy>NJ=D@^3 zcPNAG0ht3^;|}7(=HEf$pyRJVVj%nh$sAZ+3=;o=B#s=OpgRsh@*s1N!;=F#9}N;m z4o}$rCXhI?IT}dnk=+TK#|NngpZo-}47BeJNj=gPCJeB3Y#{Zmpz;)|9=5j$Bo14X z3z7;zG6&h-0wi(d_^m(^M^1+gNaD!pumedP*}tH5ry%=5?m-T>8A$4p!wt3%3#1-7 z9fIx%hM9xx&I3s1Ag99<NaD!p@BxxIayYy|5=TiVNa85z1W6p(zu*QewERK#FX$9< znER3a3p!&ECXQ?lY#$gX9FW}!y7&R69wnWC8ir7NQPK&LI7&J}5{F*%12UEYwk`r> zFLF4;_LG6ck=tDrNai57CmWE&VR;l}K?jmJa{FWgk~ng>!PZfL>_rYY*!p0QIC45! zfn*MH`(y)>ICA^s1d=$izb+t&Bey4SAc-TlCqE#GBZu1$Byr??!~k9Y0CGQaK7!p< z2ogt551@73pzs5UBZrR!k~zrXqktri96lCE;>hlVts4QEkDQNSd*wjl$oU9%rxZvW zIelgznU9>0V0-C6>XGwN1(JGX|280rBm1`lNgUa~uyyAk^O4P2futVUog0wEk@L|G zByr??1Y6$%G9Nh~oj_7w1BxIhhOI{jsYgy%uzi6bapds-fn*L!I)Sby0jWnxCrIMR z{uMwHM-Dd$Byr?$Q$P|&Nhe6+$nJDN5=TiVNa85z1W6n@{4<cmQPK&LI7&J}5=ZuL z1Clthe?jZdK~Vt;H)Q`#KvIuv&I%-PWOr^r5=TiVNa85z1W6nvogj(B#t=a6yMQE) z9L^v)5C*v)wnh}h2aO4UXizf+wq_N?hxOAz;>h>SL9f6DH<w|1N<ivieKDANSi2OK zhGF8ceiUeJCrBSm9M<1h3KE2_w*i?CYtw^{Y6MBa)Wh}x!1|#uaoGM39*{?&=78J} zE8lI<#9{dy)?b5}1IurbNa{iE0qrjWxuXL~9ArLhKgS$2aoGNkrAXo+b71{aSU(76 zFKj*dNi_Aaejsc=KTJJ%z=wf>;VqhaSU(Nce}SootwR?C2|&XK<Q~|*Mja$^kiTI2 za$x-hkTggfw*RICBmgxBBo5nOQi~)GG9T8@fwl8N(jfJ){Vsbz0!Ze-_OBd85(k+B z>z}~(NrI$7=D_x&z}B_G#9{kaWTEXVkT}R3*#1ikByo^Au=VwhNa7&%F#A%F#6jv| z`(|>H#6jv|`!!+hRgk?P^{{pQOOVuq#9{lc)*^|6%z^Fiyn-YSQV-h)25V=+%!lpk z`iP_+WDaaUDCqtfQ2K?bhwak>-3o^+4%^pd3T<zI)Pu}{?H`4;>p<dQ_dpAhNHq1Z zeWkE{|1k9zpz3SU)Wi0h!rEyt^|1XG3(?fW_Mz@U5(l{lw(so<nmBBq9IRagGat4O z&jng<!o*?w_F(&0VdAj;d9d;WBn}(H1cl=gBy(V8CP*CC9ssEaA7~5`1nv7qQV-jM z4w8cHg951sou2^`1K}@7>Op6eg2X`hFOoPozMy<qeGM`Pwig_vo*_N8q$D#pH9svS zv63M^D!9b5B(*3vGcU0uwTvM?DkUcXMEPMmH^)3bzMv>Guf!Fi0&+5rQ(|$db53G$ zu}NlLCJre>Gx#xi#i@BIsYS(5BP=kFA~iIDt1YQ4NQJ62G61WDTNav^Sy-BCXqpT@ z+c7>jF*7eGKfeHCEH1^xsYPX}MaYWvic)hD^-5AJO7!BR{IH(g13BWy0?h_&rv^bz z`9V`@h!#pNMo>3mGXY{3ObIbZ55d%8_cB}-n`IE^!j)hRU}unPVc`=}W)PoeWD<`x zZMYb^mNCFo;#LtKg)jv@WI!gwNBLod7(^Vd4^J$C9f3b0p-SMU5f#V~7x<B&7H&RP z*Fu9HYAhiouuz4Yi7jus7!VA9kP3X^50S?Ve~38TcC5~Yrd)_pd>IMsP9#?l6{b*Q zNl=U5wb1Z~8jICKNJ<ce1VemOh%;8@5dRy*V~ZNFE@Iq{M>|$aA#TL2D-4%wLU2h0 z<C5^iDxsI0pPQSSSHh5+np>P&0`@32g$D8HnHsDVtEb>0iB>#-br2bf*tBA`3?715 zba-O8S<gqWxTJ`oxFjXDsE7pjV6__JPmn2L1mr^q$OjXU_aq=6Mog%J92!Eb!eC+* zdJ?6uptK}8Be94<FTE(gw15GUA5#)b5<x7zqI}4~;pzD$@rdKZ89+4&mga@Ck!yf= za)2SEMs$WBKMq!pmJ0Bx#TurN<V3DEL!2(lE6-(!k58^hj4voHN{uheEGj8Y%wf>W z%P&dQbN36?EiOq+&IWk_kF$&{pvR<xPq<D`1ygycIq_wQIi;ztSt(hB3^2xSK(T9P z08}&9Mued`sL>Y>YGuI=g9iE39MlXgOU!{57$L3^A@RYkVXi@*A(6P90?9UpmXNcl zQBIn6C8P^i#AJdzPE1O~YXH`uhd9?6N7NE;F+KzESZrjJnwOlPl8O>e@g@1L0m)#y zu{Rq*DJ4C#xFoeGKC!eUKP5FMwInqKcEYu5W`J8}K$)RAxJB;a=;z|&8Wi9d<ml@f zY!DAI7LvPA56y%Gg`r7tYKdQIF6;&Y*Gy>2PD)MB%!^M>EJ@CQilpYHK>5YsZbuqJ z8kCNY3c+4zLNXw@til>92zl&<CPE&2p$U~w1D^;FEr>wrS}#5xe4b}~a$-(SJiJ52 z5FeUXo|%^tACy{LnwtvMkeU&nR+I?hrY9%Ir&c7V7L>%7Bqrsgg3=)#cN>~PV-s?8 zIW!(q7~-Q0AsH{DBtI_&iJw=Jp8@7$Z;?TKV`PeID#&oq`S(!c15y}3wO&bL5`$iG zWiFU5$_JIc1YB!m205cV9$Qw$ntpH^2uV6dhEM}hOL|wb%rb(S1uN2^r~8v-m@&*@ zFvH+MNYGSbN*%brLB^)1BFa!~c@UKL!~6^lK-EP>Vp3+Ap^-s+d~qfyeHItTgSyo5 znR#jXuF%8?Nxe}-^=*tykq)4TItCJqMXmv50d8f%2JuD)@!)d7(a+Jx-`zhnBp@`z z*@-OMjNt<TB-*8)k)NBYpOJ53ZeVC(s1J5edS(fj0Vd*6N+vyL26ty?l#FPJA!39n zWN66%X%XrnSO_5tn4|@!S>_l*hUPHk2o_w($P6wCXPIFbVPpzdWr`tb0+TZ`!H_eA zOCng9s!WVAG#VMhO~sTngi9h=n5vA8Fikarn~EuE2$w{#FjW~FVw!3QHx*OT5H5+t zV$g#WbD+}CP|pyWUqA()o=do1QEHlAe0+LEMSMYOQE`4=VoqjBWqg?dhQ*j7#s+Yw zz*&aKV~OB#Ix-0pJ_guQ6BH9ZfEJT6Ffh!5j>Ezvq0<O3E(2(O7bFIqR)UMe)?ZG8 zuGfW0z}AVv_{OY|y$vuvj5dHC+?WAfkPAAi8Z<TuTek~a&(p&TI){@1Jl_P<3!-m8 z?S-A63K9ch=x{HH3C4TC=LdnAD8vQm;45g421o*AKWIM%Oh1ecgxb#ravVq@6eoc0 zw_<?Y-v<=}Q|SKp;f4AiP5%tgp#TgF46t|x*$)b1bpPXW{~f6NVd_EpLG!#Ycf)AV zxhCNFL$kjC>V7m~26Xr1vi}Jd`$6-`FneM2U1mu9p@&}sh4#O}Vn1m97-lbwHU?dK z$iTpWZvO-d?f-(se$YHM%w8D18HfKDP-y=jsQt+47qtEbW-p8u23=r>#s3?i_QUjp z6ED)bFBl(m0Uy{bw1jd3ntoyV6qNo1q4x=b^uok(r5_IHBnQlXkbck{GT1KY`g4#u zwF21F&jG0WL2KYa>R=c>{Z@d_A%;#Y!W1zuFg$>|AGW?3WIt$M1S~%ha=!=`_k-3Q zqr0CUhx-#i2X`?b&h3La4c+}*INZMjbVvvT0|RU=6v+LcA`#vF+Te4885p3+1!fJy zC8+&sph5>O3JGfv7gT0|=o1_eG3az6NC<*K2YE6uFx)`XkM91%9MJL)q6<z+fD$VM z1H%E(rWOVU29Wzf=X9XE--QoiKU(r*cmO>>7<tVU$Z&M~aiu>6Eb#|g|9~EU_R#QS zMsq*`=zw;l^bWEcgkkOnu|e2M80vpC{Wn01P?6TBg8UDP5}1Bi`txOj_#akJfXoEp z3aI^{xlRxthGFprqt9?c^uy#~^fIV^7#~K%^uhQ|kopg{{1+z7umY-I11<hx?uRL? zh1GvB0Vw?e>VMd|(jfnX&H{(&hxy-z53}wE8DRj8KiHAIAa{e}4_!aFvF})1oLW?( z=d72nZ)j?4Y+z(=VPL4BU}S7+VhSY<4Ghf8OcWFh%`6NQz#xIE-qpvA33L-F$U^X1 zNITfJ1gHpvf~~m(@gVIY2L>(%Mh4H$lb)RyJUTymbpC>0-iWx19(=_%@?F&dU=5eh zHMn%LsK76<_wBp@-eM7P7~(0=Wg!}>#hMC`d+)e7-AeP4OEUBGtQ1s>xj23DlM`V) zE7cS(E(RRhd{c{y6Vp>6x(J!U03O^R`mz#Gxe5v!^m|4?c@=g}B`E$uYCvMJv<^<& zj(i{?kQ4@93$7<H&zJ{o$zy~qoMm8O0Hq6%W>8rV5{L0Y?G=zX2xB{Q8gwBv=qyH% zJP5<w=m|a}p9$V}1G|%ffdRB`3!7s>e#9mYE&9MqctGhEwl@pfBnG#6LB$449JZ$l zR7QdJy}`sGX%4b?8QC1zz6X#Qpz<509=47Z-5i+tAoU<Qke@*qw(bBX4vQaX7YH<D zzyP26fpmcplOlfLL3Bg2L~tI=%+HI5q*Tz5Z?Iu}uwi@-Xq*SE%E$m+ReWx7IzlB_ zG5RPsY!DDM_@AhU7)&cJDFP2pK?kXb7z6;jP|q3G8v}Lmzyn*b9v>(yD8Zm}(m?Tm zZiWI>5Vl7OCJ!ppU~CW#Dr!MuAR5GnVOadb&K`z|qo+BLUgUU%se`TUg6&BI?NJ29 zH7G5C)WFJO&>7kwGtk=-p#7>Kb;#?!L41%}WE#}g1Bt=Y4@eSv7Bh$m%SRwK2!qrj z)1du2Ffoug47+0!1eez^6%ZP<ACr-R0i!O1?csujBSbai&Sw}KM1%H&VGBRl-Vd0+ zK;Z|<pXlKSTH6Q;SCCoA7`B!WR6c>kLEZr^+d<c_Z)5_lnP3FGE;GVjml>N|m>Yo= z6JM7ZfHsYR9KpZ<Ju}#W!JdJU0d%jjV@Pm-N9SkH&ObiA#T-7J-@rAIM>n%4sD|qH zmhk9yc;VT}!{XEV93s_xgd^H9#xc$@{;+4~ai7lTFik$4{~;<mkAvw6!5*EzJ-V4e zCU|t$FbjBevqS5={{aS_&K!8;c<{&xG*@%{FX3<g@xO%2@IZ4l&;Jsp=)*7#$6X-D zn1F9ijy{ZB7l(p99O@Vn?9u$D!ngChZ|6~u&eI;9S3xf8c6i}x_|2oahFySxzXh}x z%%ihLC8D!LMaHA`Z3(wW=X<cXJUfqhbmpiexEen3XuZ7`6s{o2`(R0r&ZE8{#XfMw zM|@lV`*hZ*IQVqtsCamE#;638@WO)1v-9X{W>>?v9-XgUdu`-=I-fc+zISDO@7R1? zfIs{Izov_dg2!<e6>usn;q^@Z?$KMLq5!d~w?-wy5Efq`g`F-c0xq33Dm;$O|CxQd zQ&bZ8+oBj57+g9(@}KPF@Mv~X5n$<dQQ>Jm@TU_*{b1&AOJihU=)A#y!lT<qMWB-r zyP`ahq89`dm4U57SJmvI!t=+q^;?N3$ms$ey(KC<KAn$TIzNJa(R#Z?3?bps9ikG@ zc@rY@7G1`p^Ceiuwe@X@II1QG7pR;^cZo`bM>iWZ(Xk15bn|<3XL`73*QoG-jL!gh zw7{j?hfTqw+eJmerSqRlw~LBQ7GuEws~*iq1X>R`@=rPD(OsjW0J_ba3zP~p!1lUy ze(-2MQUOZ+v7q!Hi{)-{P!|e(t}R#xIIw>(^S96X_y0e<xyS*#SsaJrNu((5B0{li z>o@+^+JFE5zw8C6hUQO9_khOl5RM1?0F))5LBZep5oE--fB*l#W_r!w(RmnKAbE5` zast0R14@3A@ag1H@$5X~(fPIc7e9YnFCzm(cPxWTcP$J5X-EF^F5RUZj{N6bx^sCP z`OiA_vRJz?esJt{VHL2vz~5TV$iM)Kt^kkbqXM4CS-{OU&*PxX$KcV;qvCNKRKPNL zKtx(^^Y=XlU9iyUqQU{ncLKf6j2_89z&`TqJnGx2qvDZ#+o$urN9Q|_&Rbw{$73$C z3=AHOcYV5ZR0MpwT~s(+TmSR-tp*!(*s<3g$%rF9oywlc_kB8_qnN-V12O;<+<l<M z@{YZ3NP3QYbhD`VbXs^O-}CAGkE%}|qVH{8jAO4WlAdE=PlN8aPrmEZ`5jf09K&l% zSXh9Z+8_G=|9@zpxVC<)Zva^c4HDPZxAjZFhCu~3FnTl}k-(dlL3@W^i(w`c&|Y0c zGBG^xdh2TzNQ!_I{FpjGqnHRC;NUhq@Ur^<|NqG4Gq`w0u8#y@Rf|WrGY7OnQUK*_ zlnM!6S82ecJiA#`!0hfC76EYC4m$3L!K2&oe}I8wr;Cb6^N;`hEuglMCn)iBSHAFJ zeD2W=>SQoDf@_Y>V?Lb^!47Rbz~2hmMG7~x*M`NhyF`V<wcCY70jddEF=$IMx?%xb zib3rc52Pv;GweV+_g{jx1!GEq4#z+QE5uHZ7oNvmc)-oXm%jh8l{%oK_VDR)!Kw>% zhy=PW2asJX5WCDlX%D46@LJ3RTGHTeC#3PqLmDUn9^LH!11t;=L>}gscVU3EPeLKp zwSi~ne^5;b-opZ7fIBuI2Dl{)Vu0P@(Y-|ll=ZqpR4P1rT~q`-K<$`b9~BLsUKbSw zpI#po32?Nw94N{6>}L1qj#1G7<#+{9g(>0FU7{iY&YkysI$!y8KJ@MU@IS!7qxE(P z2drcRRq!0J3f{N%NeKt6ZDe@cxAhx{`yFgW=M9hMBL?s+hNZRu<uF8`?gpJR|N10a zcsRhr1Dui_44`c&kIqjXogY0rKm32dFAwrEB)md`13Wv=d4kG{-=4kY96p@~!Hxm> zwUgPi+us6|GdwzZn0;Hnf!Y{?&JraqKAjLJd$b-XG57d?01<OXJem(n_;f16RrCfh zLK=NY$re29ftfx*hfyHBhu%U%(tp^q^O$GzaS4yk`#zoj!0v_H2TemL^+|wd=ULCr z>mHq7Jvx8;^cHKtRQq&;>Qn~L-Vzm1e0hN45YlLXxvtkk!lRShqxnFEN2jxfZ|i?p z7`Ve4WuP#yLJ5PTkTB4Os{n_=d!NpKFh4-r0~7@V#0XHE+OzoxBqW}JL*g|vIR8K* z2<`-Eu%MTp!JeJpJUV}ScC&eaV%rZM+aBH3;Pwn3IFoUB9CwD~pzdl3P&0=YY?a4x zXK;4%Y(55Y!MA8oLkH|H&(7lrVX$g+w}8rTNShzj(_!#{1T`pnV8Kn2BRsmnn;<+O zZh_kP9mPRdl)UCfq}}82WP#Q-NduQJp!~#K@dE5Set8E5$1qS|=r`CVkIws$xQzo# zgB$&jh7HWjv<Xo4pmfa~@d8#n5Y`DR??B<@2rb_fd^?YMcAod_yy6K?)Uc3(#|u2R z_JO*zU^gCTQ317jTn$fpfC}DsKAn$zI)D0hegMmQbUG_Ql5#hPN9XbXfdXl*2TF86 zuI+Ys;n7^f4C?2A=GVH5dB7PDQr`XWg*MG!7l7N?@Gb_kM|Z^w561hTR<r=96)gcR zi5$TPG`Jd`gxCx1@qsNU5$!JKF}!4W($(+)*qx9tg!v9VF*YAjKopk~K;1M2a38W- z0n~4h@aPRu5%B2sQQ`3He1OF=IiGGG6>!T9<U9e8LnR=dgDS330Vj4=I9C9a_7PkT zWUh@05)b4uP-hZ3zd_PEQvbH~e~E-gH@o4t{{af1aE7FcXmAROK0E;&-{A83yJzPg z-`;X~`^K}|9o)Y0?DofK-*|SjgPJ~`-TsL7&2bkMNInHObShqWHrLn)FqCNfFg^!0 zO?X_o-7#AxrRI<n4e7hX%ENAWZv-?X2rjLWl!2X&sT7nk!Aija32AsBH3nW!0~HqC z(9o8HrFW0+cmarp&KOWc-1g|aU-}ACnSjNKZ81RWJEZ<a;~UUKt!L+7P(uKGUKEG{ z$|(#Wh6Muy1DFBsNQ2r4pgpGDQ&d31GoWUI0j!ze0cs{VfSL&wU?;U4;BVOh(%jpk z0y=+*U%-I_)GZJ2=mvM^b5s&Q4F?CG&J>jlpY9qJ3s7gj0Mw2!@aZg3sqpNMl>jv# z^wK7HbX)UlxTpm1Yxt-n@N0yq6z~g%s3`CY`ltx-3$m#E59aXbju!A}y<K_*G~~bm z8*)HtWcarJ2Q@JuV=XA{4Z{N-jYmM?0MA3%dZ?(acW`6(^>J`{hzQRBSUL39r?*rA zR^s_|gHH8i@N7OV;L!=H{UA*wa5%xz2)NAmW$<V|kl@kjssQr=rgQ;V`nW4N9eXs_ z8ZeaTbeHnDbh|ph+tlA-J^t1MrM9qC39Tn#CgMrI5S2tFVUKQC25`IRxC<+|9r=2K zXXg=*?pknpAq}f9py}766C9_Y<og;D65ud+Ee+BG4jBj^sVX`G4@B5F8ngmuU|{$^ zdk+IMDEBewg3>7ngBYNpLhyEb(3}S7JnC@J_$TNfQ?Ls`%0R_GNdL8l1_ow7(7oxP z^RL-K>k~ki#DONS{XhfJpc@VaLH$?|M~#VrffJ&WfkB^{0esAa7f1%Q!4-61AjoLw ztl0nA9~hW3K&R?~obv&+@&I%sB7D3273h5FJCMvB1_tm2?qL0(Q@ucX-hgBT7?ET^ z`?WzbuRt;`j0_B*%m~&4an=9X5dVOL;N!<221wIEkQz`I26W=aO%Ue@BV@_WMUZiK zpq%$0&U54o96?G!VdcpT4pi77fD9l8D0Fv&tP2BOD-2?Q@FD10psS#8Ka0GO0%jJ% zouGLokRApQ12pOV6T}0Z0tYhtDTo8w(hoZJ3B+aqB@oaY5@=65Bj`e0j5r0Q2~7sb zN-yv%0BCj=9y_3@1(^&w|BMlIP#A`Oh}%HH28vpcOBg_D2edW}d^j4)?V_NSV;~vO z@db>aHB+FV2Hi)-2s&sN!|XW>%u=Aya8Nr>8ss0)GyrI-7sO`xKN}<uI-DD13b;WI zI*}4d9^y8TVvzelGy{kMQmzdOTTn3ZGcYiKZ*~-eMyWC=O7)-|M-aynTl|93E67A} zg9*j}1vO|WlmT?NGsqezkTsyP5_CW#Xh95vDb!@p?Wc^cP!8w{EXG(y$h-kq26Xuq zMtFeY3N*$6TCD-<^e}){a==xAro};ag3e7~1RWd!mjO8flqNy?LFo__1)!67!B=vE zw1AIi0*yX^IG~Kj2x_o_%S@2hVEPw<^1l>FHz@yu&gy3bt)&4SItNk)&&wctK#OER zDnX_)fC3s6H(*tuUO31e(E1xj&>{@1?u6+F&76SsgS3EL#Q-ZMR)X>i$gybd3;-p1 zaLNZ;$H31Gp<yJo`N-{ikR61~hqUJ)-6T;&JFZ#*)Mc6g>SCie>OiI<FsOYO3>v5C z2IUKI|HreF-=q0JfoG??f@gO<xH6H0_wSL~L-C+C0;E2H_j&|;d&?DIeJr0&q@IsQ z=V4fNg6MTX#@-OFfsUVm+nax2wPmk|gl8v@3dBt=Dhi&kMw%qQJOh$@klJUypcw~5 zM@s-U*nx1_b6C|J=NJ#JZ9O}Wz2^1=4WU6=DF`i)PAsg4hU{1dh<k%QIxl;6eglPK z>+KTN{h%ZSPBtE$5ged#&~ASTk4_H(&rWv<!vo;XAeM0z)b=T)jdK}hD=aJ!EeFu% zc|>y-Y~AZq3=9Dtoj*LfE5Na)=h1vXA`J}m;O$w<aE?+|4@>hBbB}INlSja#yB^e| zD1C})2dD{(umkL*$ip7p{sJDI9AFzk!#t<~0!mMy`8m(df1cfJKHU{B{CidGU`F?P zNO*Vh*ny(byVJ!^!MnT04(wC{?QQ?w5<3N~@%bG+9tor~TDh+Vhx_1(3EiD!rZ=Sa zE_e#`pKo^^hi`Y9fKTTGAI%>gmN$ysJiGZkHP8EW{_tSD!QU~Hk%7Te^Nh#Nf1shd z|NrehEzj_`gYG5vWqjgkdBlg`>49(S6aH4vw6Lq;6Ia8xFF{O?Ug!TFoi{z2A2OFH zcznMJX-_&HV`l(a>G}V-Z)Y8c$N$qF{|}bF^l1LU%-<x!$iM(jZfWrJ22$_Y?Z)BJ z>%r*R>Bn)*fsug_AKCoo!+%P5zXY{&JoiA{|GyrVH9@l?jPDWdWan>L2<rBHzv<KY z7uw%C=E}g}@&72)ogY1#f3O#6r6Jr0l0OcrIT;wzj=QolFdTDbXYgn~%Hh#`_($nO zU&g1N-EyAYVH_Tsw>&kkd$eAv<A#j2f-`_`r=4eK9*1vd9;gdcA_gBwiE%`3$wLRr zAwq|JI{$*)QQZ7`0jx-bEDtNK$jr%1EUJw6$xlyDEm8ncnR)5)MX80Qsl_D>gj5w5 z<mVNq5>QrLl2}q&jNeQvtAfPj?D(Agbl9$*`1~~RCLIk;D+T}35{3LUh1}HK{Gv)d zF6{PMS(WBt7?M_$pBtZ4nwFMYWToH)rWH!^^A(D76LWGD((;QGa#HisOEQWnHnljj zDpesfFFC)cC^fl+Y&W8K6^AMDkZoXAR#>A4CaaK~n5SN%0NXpHkW!RiP>`CUkds(k zqJY>RtN_{xMHh>pJEW*;S5AI<dS+g_0yM!Y(9jNDNIJ%}3VU*dMS~ScTV^tJ(<m$# zfKoch;Z_RH`K3823VHb@3XtTh07<R*Ln+=pH7~U&GZ}vpfU8n)%`GUYRDcCmUSe*l zLIG&SS&Bkt9v1^7(C|4exhOTUBo#T;XryK4q!ueA<`ktSrc^4VR%8~J*lXel3dsIS zEA$izv9}19S7ExG!Ra_X6*<)^63}D?F&nn!61x46P-r_R=Hw)S$|0Z3;u0$>Sk{5Y zT@k1#@(cCxK}%&s=)#t((X=7$D1^AZ$V$O4U!k}(IRni;NCL5fCKPbe$w@3qPgO|G z%P&pO0CjGVnn>WeKqNl3nKz)7B#frE`RL}sd#vaZ6!ITH{Q;vXG!CvE)Ha86C}6yR zx(`N^Yt&$I54GHZD;!|q1fy}OBUPMQ?uNMwM&oh^z3s#04w(30D^IB99$5JWqhbC< zr|E4Uy8Y;UYL$nuat}tM+XLg%+di1RxM(9otgT?UawF*3H)vfQX!DGL!PpF|eyBXG z2?aNf0hf7@)(S!$iCaY&K!dL!-HcTMK0yqO6$0$DL0oBR9(E4U9TuQ;2VT&}z`y_+ zy9BStcH$Fo;*)UVQ*h+daO5*+X6<3=WA10dweJKZ4zmX|j>+K2C(z8q0KUToG;#;B z5Okg=*lb6b*-m^KPJ9NAd=@Tz8yK6}d)Rte`&jy!+n5UU7-IDp0`wT-^%$!37`*ft zm^SJ$MCvg_=`lp>F)(@P33&1CV07d=!05)efiYB%AyJPZ7lu;w7=rW|!t@vl^%z|B z7(i1ypdo&c8&sH}d&jW3ApqG43=E)f0nL?w^nGW9>cbH(prKkB$Z#+Ncv#huPXIJw z0J{_AJID~YUMFyvy6`15v-Pm{f&&&hy#c$k1ZD=v+!Cm{ustjwcU^&s-39O0VPIf@ zn~fS@Aisk*y)ZB^fQB@1guf%71FGLac@cIm1}Of(`XF{V@+mZfoeWYF!vyje1H&p* zcfi$v+;0L^1Dd1&sRrqr0u=*IJHX6#<dXpDWA0;OU;wEBFKYnZuYhDWvKmnMPJo&t z4+;;6`<(a`VBs5p6274N4t8e+XsjHRMqT&}K*^K=lz#6(%>teA36cXzfWjJfkAo+H zGyt01hV47?2Dt|_jk)t3KuPD|v<bUUp%i95rap}L0flQ1XkrOz8!ku;W){>d;JxQt zu&9IGy@0F^cAhP=80_q4WHA<SgfTF{;uB;q@)@|GI0lI!pMMJy1BI~zR4;hH3$%;? z#q|=XIH>FZGa+#aN)O<)28svRJpiDAF(fq@WfaJ~FJJ`>44_#OFcZx@ko(SnC7}C- z9r*-6cIbeo4j33fXK90_A^I@v0I7|Ds@;f`KCzXVpgagV^8pkF*RiJyjQ9nq1t|sX zO9IXGf!LruFd!OKHh^f*qFN9QnyCZPpc!Tm4Vqm7(V*qDpvff=8<h4zG-zrRM1#s| z&=eJjEzbbSZy+{kk`Oe73Sz4=Ffgcr=8_m7Wg%!b6eJGXCJf4ZAT}ufg7OQ94LXw- z6t5sQXt*6dSqkzD7W_{TRHkC?HSAyq?XQJxMuoTmr2QFq->@;*O(4EHh+tq~NEd;q zhutp&T9ylvx&u}34Nd<bcY(yWLB)Nb;-E=qka#Urd=XR}wB!~ft^pP20VfCs@QgJ` z{DTn0-f*ZmXc_|~z7#6n3l#^=hJeID_n|T}7&9D#io^C2MncuY?vH?(V+<8{gQhds z9?Jtz_kdQCfXoFgRshjn&~T`Qs)vPt0#yArs5mH2LF(I~;-HCf5Z@U@FfcF}LB+v) zYZw?9VBrJ04;AEo(D?@-r7-uehq^Nn8o;2tB0=(<Q1RtZaq!G60|P@cR2;O&2c!-( zKMSI5q2e{r!UlA90Z3dGRB#~eJq3w@a0pa92Wmb@41`aDG5`Y$1MHqGkQfL<?ki<s z5P_Nx5(D8ZsQM5z@w=e8X$BSs*u6*~wIDnRDt-Y?y*bo9u)S*_wIDnJYCbHzfy6-A z8Y&K6CIu3JVqd5@?A{!xFazWsSr$;HfeC@>Q&9K7%2u!-XdwkuJOi5EVB&62ao9a9 zFmYz6y`ZuWCI+H+K-Gg5k%0Kf7~39SkUTS%_=1RoN-+=%6*EIxO{jw4)fb>r4nvrM z8Ma9sO^TTTR0^UAg3SSY4nu;O0aQw22s1D<fJ#hk;-C@~n>eUM#U>6aU9pLSN?L5< zpi&o`IH<<KCJri%v5A99W^Cf1QW{m9Q-py*kqJ~{L&P~C6hjFw1GxPF<-#dl9_-=? zeAvZ7OA$czE!+So160Ce6Ti-h-JDM>*u|}wv5SN5MZ;$Pa~$q0V8U*WF7h%LsM|pl zXh91$^Y3$GH^&V}xc$LlFR0wXX8u9wUU}F#C7?DF$UPGL3=E*X^{_q9p#By}d^R6M zJONq`fciinaa%5kIEW3xpuQi7p3BO>poEkkVa422W{@}{|H8!g2|&y_0Cg<5?aRQx zuuKr79+93wZ84Dfj$m;_dIl|i0*UWugqY(1YS1t+Fo4<>An{dDcM5>ZAqECeI~gQi z02MEQst2{tLE;Q-AbSz{3)Ef&iF>es#1Z)s7H;WK_rvZ90r%BFOX-*(?%4qKGOYi# z3L4G}pyHtR7|47Ms5uj$83-mmi4kNkqMU)Xo0*~RhuwDr>SKb;0o|9N#DFNTVBrjE z?<*mdZ!qy_sCycqMJ2c|#K6D+s-HpWVF73<7y|=%eGtfekUdK9Q31p`Hk#Z}|3b(4 zLH$LL`X^9#!tN~r^*KS}F>Da^0#JKlB@U=953)A^>QPYN5TyPbG(0ar0|wNu1c|?c z_I*KYWZc6I3O7V~1#UYtFn~*JXi`H~&TyHHfkBYLgaOvB04>V{DPUxWhzEcg)6hF( zLE;<1=a`u=!0v;9sh<Zm2Uh>W#7m*-VfXaG#LZylL)%v{@wZU*51{!DCO!|Q9x4u6 z1_yFaF+28hqm>ile%Sqwu$oDO7b1QD>Mxjh5Y%1+sQEB)RX(VCs5@cenPBr_txg7b z&BqEh-;4p~ZdlII2b*sO?xTa;4HN$bRS#>=z}n}&VDn8FK&w|l>OuW85dDY;;vU#N zL7@IKNSp_3z6k@YFAWnv4>sR~0km%rqz-0}A=LZ^Xgd(*-u+PXFMt#?K*pj#%$Lyc z2h|TCJ}mr~K+Ok<fiO&*R}g!=T*6TwN#UrEK=-RDA+=jz`4@C=q7nl%6Cw5IkAur$ zSgvAV0QECL?&1fRV~Bbm)?NekACwpn?Gu>!5#Vwg7Tbuke?aF{f%2&X)M{7@Addx- zuVGGtW@83WpATEU1C{XD#H(@CgQYmcV|f`El$fB28M^it<lnhC>do~y#P{GZUqA$V zJbL43=YWcFZ2kfzGi>7hIPz~E4);vMp?(*R_7A8p4+;-Zwgzn#hn+nGD<MJRptaR7 zanOoZn0nCaSeQ6y4K7R^w4(qf4q90X5(lN5=?n}EFmccsAuw@}984UvP8lW+>N3N` zLF=(#;-IPrCT;`@IOtdj=<aQpxIYf@cpTz&IK;ur`=I87?)`<Ce+)@I=)4%1IIKJc zg&XJ|JDB(^kSC$$AdAE9w?bDB>j$EX>wp3UY7S^kFU)*bs5q$kFdr$L{h{I@>p|%Y zralfT4l*B<*J0vCP;qo~YM|oi=5#~F(ao6;6-PH`B~%>U98h@$ieGed&Op_pn{y2+ zj&2U9J&Dbn-%#}+^FepF!~Dwx5@3Lw$%GtkuyGlX`Jmn(OuaNzJ%~aMHwBOYG+sb` z6PWryByr^Ug5AFbl19!ip#BKV{h)gaVdii_>sOF^&^bOZaZ@C5Wc5Bs;>hYVk;IYJ z!_H?#Hy_k)$L5}$Nai4$F9<Da(c?=RDh>)yP?H<xeod%2x_V=%I7mIH)e2MZ1QiFl z6FK}tki?PWHySFAZhk6M9ArLdhy`YT2~-^2{7NKo<oI2NB#vBu9zqgFE<fKu#X;@? z?ZtrED+C&lg{DJLp9v<e1QiFl2UPaL#NDCdAag()6JX;0P;qqiB~WpYdeF`jnED#1 zIJ)}jP;roY<b1IZDh>)aQ11g~&L*fhy81m(agcgYT?12p8Y&L57dakZK*iC``2-aQ znFHF90W*gYRG~ui9kMxcP;qo~G@#-jb3k^(%rS?GgT#={iAEAfuJ2Nz;vjR7>$PI2 zILI7i_0>q?$oah)DvoZ>PpCM^oB*Wq+!*8`sDDA{Ou*dlfI}SAPKM=QWc4vP)E7g= zK@@Vl*MbC~?MP4(hS}Q#6$iN!Iov?)4UoMce}Re$nEIDU>OuEL!^HWa{X>vB$o059 zk~ngCWr!q>tlk?*9JyQyf{KHzNA_0?R2<|^P!fZ=CmSjbau2e<W+I6r$L~TUapd@2 z2^9yKkDN}<L&ZVngYHg+*?SEt4svHRQoO%}ii6Z6hua6JI7mHcqZiB^VQ7CCq#ikZ zl##@d!_yQ=99ex3k~ngBMnc6w_9BO8GE^MoU*zyCf{KIOgB+fVk;IY1a|4n%Xifs= zuN_F@$l-hdDh{$2Ih^^R9SxAZ$mw4TNgUZ;8yw;;NaD!$`as3e?Tv<tgTe<nUM54u z(cQBMDh^VQ9PjI(;vn_N?%a(ejvPKmq2lP~T!f0Fn{yi~j_&?vP;roYWb@x4i6e)@ zH>fzeIULY_Ajllh+!rh!C2)wVBZ(uomyB?TTOo-fyC(=q9NFGPBynW(b8v`*#;ZZ) z7|8v|<}X81?~asD_aKRb#t32ly@ezWy7w9;E)D9;K+AK`R!*3>CXzUE{{nQ*GRQrk za0XQoF!e!5>b;QMQ-&mtZ2o>EanRfv%$zq!;>hZMBZ(vDBQEGTDJXo9#U*iwtK$&Q zL=p$>^@q8q4M`lieYFTl9Jzh<5GoEz{~<`>@DeHxawl>-3N{%5Qjc7YfzI=Wg)^v# zg}Fxs)QN(|7jikK4HZW>#}q0KiZ75H%p4b}ILJN7=9D6dBd5<^Byr?&U^-MBWIl4a zw-hQ4G9Ov}S|oAg^t=@+j&6<usPhB$FLFC%DUvvHyl=uGz8{D9864uzq2i!0Lynh^ zP;rnuK}9|+JQ+Zp3aC4g!&3)I9J!ta&4YvD7i2zY*DTB&4<z-->CGQ14pI-=f(uih z4iyK5Gjcl2gNlRHgYJWesh^D`j+{Q1LB&DlAg9j*P;rns$l(B)pM{LOA*avhQ1u{l zki+2}R2<!$A5d{nc!K0$?qmmby0C<&DUvvH`t(5(M^0}sIK<PS;vjpG(`_MC9OQoF zdZ!Xe968-KLdDU|0r5fc3o-|}KL~1*z{EitrD6UBm8CFo(7Dktao9*H$Q)#GP}&2j z2Zb4O{KD2{fYc+052#FosYgz4$Y(qwha2cD0FZi+ImqDv8;3?02b~!JQ;!@zu=x;B zcp!%}v^WQ!X-$m#LGwN!^FjVac7GH|5SmVq-48m603?O(&Qg#dR6TO|fZPC*LRSwu z5dtQTtRB>Mg^45k7gSe*#L@i=n`Z-=KMko~fE{`P@)vUc0{I1I4yb7ZOAnwt3layJ zgPgxWr&qwlk<%Nf?Ew-;Hy?Cl07x9<PEgYTW<IFx2NFj&A2x3Q5=S0?0F5Pr)T5gZ zOK%|aK~*2je9(C#AoU<~klhb+CrBJQoMGVxG9MI2FmqtxgRUMlwg568q#ik)Ae#@; z3p1w{q!^kWkkdJ`f04yu^E4oPk>ec{<{+a${zXpbw01vio*CpGWOstX3gjM;IC6L* zr(0z8uyl*A9<<XKW)8A{L1*fN#L@i=I-vz54l)Nhop&RRS0nf1HX?~5yYn)VIA|>u zEWV)41n}t-$mfW|W`aQ4U~vs{2W(yrBo14v1rmqN)Puy+Kmt$<o0kKLgX&YLFavBJ z2_z1iqXWso*dTFO83huDrGJn(Y|R%)9MpyZ(I9c?)g~Y=1FRediNnfXkOZu}1&Jg3 z7gpYa#9?z5AoZ~F79<W{4-67yV1Umrg2X}nL0EXf(k)0FG$#TR2lc^0T0!EVG7~1g z0wf4sKM5*BVB#Cl#9`|=K<8Y6q+sU2#6jm?!NfuK!u)drBnUMh<W874>^L8gIp70K zpz6T8yrJr0b3Gs_*m@C=dRQF+68`}rpz2{|5m*SM5Gsxw@38a?l7_`KNIh)b7)TsB z-X%Z+P;)>hae~x>umX}eZ0#XP+yY4)*<TJw;;=O)AoZ{_=t0u3x(Or>n{Nh*gYrHs zULrsOQ1^h^jWBW8ntYHnD2>6yGe81R^&oLrd=(&xgUo@6S0IUl>;>roxd*fd14M(Q zVQ~oJ&j1NP&4<m|fy5Uei3foMpm+t6IOy0Qs4&9@Byr^Uf~}7PNh8PC0gwRHUgY?? zfh3OX&Id^1pkr%b_P#(8?}iC7Fu>OVfTTfdaA4v210(>o7j#|{OdPg<0VE9)hlM8x zs6d6P2blvCS3nXkN3vG~NgQ;h7fi|kNgTEY79<DT{{XTVIXoSZ)FX$d2a-5)cm^Pe zBb$?fB#!J(&^k1b{UCcmhZ%#|AY6f@9(>>rND#EH0ZANG7sJZ^4kU5V*+)?246r>D zAoG#!U4f(?wk8;)2eb|iM1$1B+D;%oY<~tw9M*;eiNp3-fW%>O0un!gWIl4Z!RAjv z>XF0k29kQ@bO>AL4N{LBo-dHpBi9$O^|<KjIiT~5AaP{>3LuHY+AtvZOCX7ZkMIHs zg4WI>iG%K|fu&mwB=KUTd#MbN#6fKmn0gB|aah>F_Md><2{H#J?t!EpWG^gFCLoE! z#6V8XKoUnTPYRI4k;{_`Byr?$Za@-8j>irpapZWMfFzC_k1LSGk=?lgNgTO6fz3OE z!U4HFxqze|IX&M%5=YMO50J!>^ZN@Vab*9(_P~JbMfUFxB=yMtg)MyssYf;kwnqje zj_gj@d^AWLIlpUw8ivsF4LQHV)^&l@Bj<MuB=z7^%s`P2x^o0c966j}>p?;0Ag6!W zdU23Aa(*vBG6y-oS0IVQ(k9621|)IhaO*%4M-I0MNaD!pWCoHra(FI45=YMOuyySq z_am!6fTSMTzp#BpAoa-k{Q{DD<ox~tNgO#me;|n?=P&R9kI;BT&R-m$$u_7svO7WR zxIp0tau0I2Ng%054mSlPapZ7=?KuLOgX~TRB=yMo%L7RqIe#S}i6f`m3?y;n`~_O) z26I1h{;EJykL=$DBynW_b|8r(`*#A8II=k_ki?PQxdBNWIe+ay5=YKo2av>(^VbO^ z@p_O4q4)xlIC8rBfFzC_{y&h!QPK%$vKE>iP|^vKII@2Qki?P0O#(?AIouSG#8J`- zk~p$E9gxIP(g~6{N;*LjM-KlCByp5<f+UWTPLRZr{o8;fj_ltKBynW_!q!!T(m%2} zE0EM9yK@7QI7&J}5=TiVNa85z1W6n=W&%no7m&n}!x<z8!XS5ocV>e)3=HrU;GkxW z4O9$7!TRGManPPTkQfNV)&YXVwLk(;3>p&vF+t)W^{_G;)MiE&hxG$teI<~3kU6k0 zh4t@1;$U;2<((kN;n4L4AoZZJDv-Ibei=+XEIwfC^g-ev^|1aSY#$d$9ArLh9X)Ja zFH9V^P9N5<fs2C%vKSZ`KnK!-?1zcN*6+jmFEDY~diIBC?uWU91*8z_FOYjSfCldw z7#Mhw#6j+d^`mT%#6jv|>)c(D#6jv|`_Eu^#DSzi>S62UGeH7SdqL`9`_fvF#6jv| z>vLi2m_gDYaoBqNg&+YWb71ZGJxJmp^|1B7N0G!q_QKlbu=X}c8l)b!&j8j=hKa-W z8Nk*(!o*?wIb5LaC73vD--a)eILKaDdmYv;g{g<_FIj@59^@X_zL2#@;vjQi`|XhT zH6vC{Gcdr~bs+OWYnwr7283bzn?d5Ry_FzwSo;km4x4KLi6ifGhV5AaiNp5efz-ps z%0S{F(0l_Dhviw2IIP_T5(n+01&M)h4U&4$o+*$R2*cV-AoZX<#vm~ehP8h{;;=am zkoZO<b3ow(+us1&2Mtn>*ag7Aa1~8GtX&Ih=YZ71_N0Q$XN1;kAaRiSF#pRSiNnSQ zLFx^V#9@0?LE@H3;vjQi;Sz%+ZUs^Z#i>Z*AoVc+!`crZ_rT^3z*=%sbCU}y8PZcr zN-}d(^V3oiD;eUWf=et*Qj2mk^Abx^%NXLLQgQ;oR3e!2GX!6!8Sj)>oa&sDSX^w9 znU`7O3R2-m+(92kmXOo8&`(2)2OZ;9S`0A?-4;VL_)%fSsd*`>MNoA(&L%N5fhz|c zz6Vw89b94@A8%-65FcNbnp~1!6rYq>oEo2;pPQSX=joGV=;{iRE6FIzFOP?uS{R>N zRFq!?ag&h&_#6|s&qMPv3rkZCO_OsnQ}asVa}zW3a`N*F@GCA(Eh<YbLRJj9ToiQE zsa|}PAFjhsAO{j!pjm?B<Q2$CDaeXZEg>$Vko6OEnXv&hR-uO=#^)p!m&79uL4<^g zp(!{Bo%8eZQo&aV8=4lS=H{2B2BoH@7NzDTr$W`CB{CNyh&c8rfXNc)EtqQTW;sJ_ z3Mn&)&oeTK$4Krjh7gyaCs44s9yAu=y79**iXH+nkD?Y~KK7$|P!#*&$RiL%MX5Q7 zL^~Ujt}r#?bUTuU_$aumiHs*`NRy-*ZU;vE7~qIEkT}r+0Lg_e$a--49gAAH>u^O0 zs=+uS7p#b!c*D?$)9uiB18E>V-XOY&tPLPx3HJ@+vgi1y5NG_^#~>a(k{Q67um>A1 z)p(0g9GZwrlGrtSVmKQ0TI=GHqN3!CBCuD8wFiGVfs6_xtR#f6l3>D0JP9iy7_B&R z2gn~d^+HmtK|DUaL<cAK6a=zA43GICc;tfd$a&(D(@QVPFD+nz)ZHnGC5a%GUQs^e z3|Jf$E$GH`^d#nN1iI)v0HgK=sl^{(cy(eACcIkk<~9m+8shdKaj_1uJJ>KDdngfU z2-q3e4Jj@u%1O;*h>yxE&jpc*xzLD(wi)~&jZ-s7%hWU3FF4*ZF()TKIk6<a$TQj1 z)zu<CKCz%6H7~_Ammxkrxgs&XptLA8zAUq-q%<*yK`$@ABvsGdFBEi)a&k5}Zn3vm z%|T7*c#yrYqrgF-XAbHFlqKdELgFaIH6kQF*fq>G$TK7|iy=PB5E9*xvvC6gk^?dW zypuC=TVrGaZ-Xb6mgJ|T=A@RSroc}6b<GTL%M2(pGzT{bJska9d|ZP99D^KvU4sqc zGoc<#N=?tqi%(80NzQ<Zq~@i-_)#G^OEpMo0Lrj9OErWNoTVB<3C>atswAzvD6=FL zB|_tqa}x8?<C7C}a^m6rDTesayz<Pvl=z_3;?i80hSZGsw4y{1H$6EyKD8n_wV))v zBrz!`73703;?f>SX$bL3gNaw_Nu*M};*z40#3Tm2;>uhQ9Uo-`iQV*6<eor$Qe`~o zeCz=4<Y0q%WR%39SCkJb=fH^ylH458PL(t^fE?ltI^G+WdgGDKpa-So%z%L8VB>fQ z0-1$T@EIC|+?11_4t7bgD@cQ3d@vY+G~g(ajZ83(zlWZo?+VHc5dFc1@gO6J3p67m zXtxP^ygJBRpi|31-as)9e=%)r2I@THJOdrpwZ@v?K#nC~x;d)pIBFhOGL1K~L^U2G zD6o|h_*@OiltzZ|pe@KRDuE>yoURNB^D{I6m8%trNttEfQG()3P%bVm249m9pP84I z?~0Pgad+3DPB29}bG#@O><oybid+NA0^G`i4dM;W<H1FsV`zkrzq`9@kh2qsmKej! zSyHUf&&bbB)z8Q`F*h)@Fw_UTAw9DM%m5Sd=vhzCnE}#N)ibn&u`C(fot;sNEMp6p zoFSZLfvL(It_sdF$53Tx23G}VnPI3h#Sk&Z6f!i08wF=!sxrYe$^@<t&cdP!Q=c(R zpOG<!q#;}q!NOE!WQ3{F2xh7woP|Y|AzT%L1uI)YrL>`*Av7I>N?SdbaJ{0`G`;xv z^ool3g4Cko{Jg}R%#zCZG6M`3V2T(Sz-%+Zlr)4(8X^z<f`=c;B?9;$x6z^N-vL?_ z#lXN&2-+NtBnh3?fQ$6AfzB&r03DA67XvY1^E<83_4yz%5QeQI0<l53iw)!GIgl_z z0ci6D0|Ubi=>7!II%m+BD{P%UY<<flUWol5Ij}}3aRO@Z3+Q+=R2Vkg4C68^1fTN) z=fW8Y(7|%h+Ha5`$bQheVwiC-Ivi?08=3<)KphC%Cjc@7gwg#E+NTCK3r)WVbnzlA zqCxh9ruxwRkIVfzQ1`>sgY<*ug~4_~*IR?!b02iCBm)Bjy8916-H+xh*mfz9Rxrk8 ze+d@*LG#b(_D^Sp#2>o-7bvv928;cm`DS$cH{tOA0}AbL!D2sXUK`#1EFAv-K%xCT zSnLO_yFs_V4Tt|3pbO{8jsGcF><6vyLAT!yhyMjAw0{oNe&qZMnxjUyzXx>ZB$o8A z0JR^cADq~+oGI20J6{<spemsG7aENWp!^3qF9DVxVdA**&kCsfVd_EpLF<Un-5-P_ z{tTe*M{^d@`F8^r`$6lK(Cr7EO9HAB(DSbYh4$}&+7AnVkpDsZ1kmmOh$H?2p!P$J zfkhvN|3Np|g3Uw=s0mo&4|EzQEItUu-w~+A$nFQNj|ba@RQ@`#U@!kBK-~{pPXY4) zdi`MwJGvFk{VSmEhpqDmg&*ilHDcX=0gL-V>-f>#{|iU{Re&BD2HFD+b32GecmG#b zX#J1o{tW0Mec1XDko!TWFB0qiJ6PNg3KDepFA&5Y{uiL`M_&7n&Hb~%=S@QwM1T}P zaRhX81L!hxkPyiIpfk;gb^i-2?gs@4y8EqhxIY1Wg)j6Ra*zX{7(M*WaJb(9x*-Ns zW`eYW+z(nKM6CP2U~xYvEYaQ1i6i|#fVv;H?g!)s5Jq=DXk7)^Otkbf0qTC_^bcC6 zL9F{3po=1q^Dk%(6WA`K{Cf~b`fmUg77U2<^+0Y1VRZNJ!IAz0B0;Jd7?9IHXnhE= z?&rbce$e@4=<aXh#-9EiKnJ-qFfhQ*$Aq{B^Q^l@ZtVHj0aREpFfbseAJDoKboajp zp9_vSFBE2vIH<5<U|_fdU55b^2h}woHjG}&32{GknGQ$_f<c)L)PDdqnjs=!5<UD^ za6;V=mPHT?pzdD*+C0g?0It75>tWE{Kba3=KU(r*cmPUl3=9mQIul_kX87T%|0S@* zA85TEdi*hi&u3>~U`BI50d(;Z%)Kx-p!5F;L;a7Y-vhdd4_42C@;_*u4NN~wd@8j6 z2kWQ6?5Tj-4@$EzF%S)lHyC{$n*Km?$aoo4Ke8Bz4bul=gK!6={{`FL0uln_6;S=K z^|)X`=)LwZHi&NKh58@FLBa`8|3^U6AISfp@JIK51RrD%K9W{2Qv(`*9?<jyayK^p z`lf~o$iUFl*x10x+`_;}LBYt_)Wj4@8X6dwnVBdk7+P8wSb#MoaMio|xG^z;Oa@!Y zz{p?+-j@mCAxH(#0VPl_q+jm9Aj!bU0J<A{A4ofR6Q9R%XK?0#-9_BZ;L+(U;c?s< zymc=6aM}dNuwakoHxeG5zdd?uR5(03??E(zI1pCneF)urL?YTT?yzU)G1y(!u!~$_ z7dG?DJ1`*b>IE6=+4<G8^B>q`pU!V!b9`Ih^0(|^U|;}U;OpD^q{Q2^+m!)yX|i{B zjIDrA=Tp#ay70SnJ-S^PJi0kNx;<ZbSjTV(lnQ%y*VsyUbeC{QfX!<?P?GD>oh#tc z`nL2E;u>nt&f~tF`o5jz9KN0D0=}Jf0w8NVx*cA4cGs{9cy#MKc9*cKxOTg+DtL5* zTJa1%oj?DFS{UALJy7Zhb~4!f&Kn+JpTjP<J#2XU^+R}ga(MKDcJMOn1C=A-b0xu= zUK?Pl0Od4<3eRqL0nbi10od)_yFqvBz3zYoC8l;zrbB24D+gQkGVuTZ{~n!(5iW*B z56mo-@I;EA#y6miBR<{s9^LUAAngLM*mpI2>(N{-!NA|b#K^$l)4N0kv<1Yo+eJm8 zTf?QhfW@Qv0Eb7Xiwam9hevOTio!0?F`!@<wI1Ma1zj)Bf7X%zoOQNBos~zow*)Mp zSQ!`?5dLWX%T!|B{FkvrrS)y83$i*;rhM(h-wN7%>tbE3QoQSR1%|v5vIwYFcrAb| z0y<X&VV6gDw1j6jJ2VZj3wU(1J9d|-u>23m@aR0~(F<Mz>1z1ar`JVA!SH}b=Y5yX zPhcN`0|(4<>3reQcmxz~(T?yGff-q#(|`~bJMINX?oMbd34l#Pk0t2c&EUJbLmfjv zxl+Kh^E)VGc0PwijBo3I{ua=Xl}~rEfN$$J{ua=g*&fY@1w6aieY!JV_;;u13#6qX z?t1p@W`kxQAL|ro_R&YpK0+Sd(jX&zyURdkmY#VX0m_$3p4}`e?%gi>3eMdn`YP~D z^4zEM<NpAM)&r&Pp51N&9-Yjva^STBW=Me6eIi1_qw_h$^UX&D-~ou`UU*QRLg;!u z9Tajft+4W_^ElWjQ0hkVFX%4#ZcG02op#-YEFR4VIXpUfRQS(z8hLa+2PaXF&SPMG z-)~4Bh&((2oF71eE#cUCt@Eo#=WicS(T8;1b!WDMOJ}hPETck7gE+_d*u$Xm4isM? z?E;>i-#j{hdv-oY((2P$EP<p?Alfm`G5#>f#qjdYF)TR1v-27#n!DLNI+;B{*KT(^ zyzuB0VfN@|_UI0H;n7?pEWl72>d|_#MAW0xM_2%qggv@zm?0_Ywfb=u@U?7)-wZDq zo^&-l;A(gh7AGFv+~Bga(}i0Ai<kuDiuSm}{PK`qsYmAzk8VDXP7a7eJV6eD6>=V( z$3XcSblo}J{rub@?;z3}sr=C30I=VgJ-R(!fb)q*a}Bou1AhzXbb61@`~L$JKn2QT z&?V>H%wPcxkN{|dJ~)6JUVwwbqnjO?h5rW_fPEeKqSHlK#iQHtMRN_a%KwsTeCjly z>NNhBq~TMi168N<za$V^q`@+$;oH}Fm>EEmfq~(*4Tkt@6-*&P4559X9v31b!2EmM zg&AC}cfJ5eU+iH-_=D<ym@-fb@o4>DqT$ia@6lbtEb%{30}(O`AfI&mFe?}yX#V-1 z-{oNR;T@oIDjJkP;qeP|Qu6@;k52Yu?i>vK;RpBy-35-jD}YpcfDa=8H8?yv+b3`` zFnAnq-vQlU!7tc8gOh;)#XN9+0ksLbK@|amNAm#z&rUYa?m7XGOXD1y_kj#ysB`h` zjdO4{{O{4t-d+61qdWM6M>n@ixATwx0S=!3k9#J!fz*NZH6NDnv^-vO)$ur34Ady{ zX#HQx`&s}=1f1tRyXz!C*6>1j$KAj!UP!J)Du07LJO3m3+q0A1v%4PVzWpG3!S0K9 za5emf-F?SAlfi)j)(3XqF_8PfVkqu|i$Gk|T@Q92E12ig`5){waGrb3;MsW$R+hjr zGQT`SfM@4#&+cll>#Ti~yFsq=Z2p;2>*n7p;_2NPa@oMW)8(>-b7#qA8}Ck^%MOmc zj*O0-%^-!KJk#x9;TZY<0nESMu*|*>blS#iF-&n#PDCV0aFU5UoCYsHz>Uch{O3B& z`A>C*vv@Qg=kVyPQ4u)qqQV23sR7repcVtqPH_6^JOuWv;Q>&=3N4Qv!4+WR8_-4y zm(J5Joku-8&v|xU2RA4G_;kJpYw`Ghz{8f2g@K{ChW~75j*0;P>CPAx5szLM6$x<T z<hY9p3(QJzBZUQQrBCN8uzt_(8WjP<x1a=}?$OQe+U=vF;M(n?qT<mTqav`6gN1>? zr}LLj=f^C@;Qs+09?eGtz_mZfRq)Cy7EA2~+B1g;A#kDg`Y1Ggf%0eb?kS)gQWEX~ zjW|D#WJr88|46BIcIkFj=q}dq=;d*MR=OUYA*T&oI$cg%be5d9@#u^>?a=GMh={|^ zoBsnWjyHo%Wnf^4#^NT_SbKd57GL1H3seGkJ~xCk&|!{J1g8!W6_0Ko6%LnfZv~fb zXC1?DS&Uf>(9i(KnE+~e0nXnZjc-7EIy^dmL%qu1BFV_W05zGvg$Kkzc$vQ!w9^RU zZ5>j*4K@_isso+4#Ng3w2rmA?8G^s1lZk=B1Cl8`nt!J7_kxZz@aQ%1L<H<-gX1or zEkH@J)8#WLY(G2ndNOu`Gm=j?zauz-gZex-9sdVfc=YZD6=}#p1+sfGNYJCZ8+6l) zOSiKID7a99>UcA#Py`i|;Nr6xG(>@ju;$$$SqA<V&<$wd_J`p&cwX<_3{vdV`5)GU z0;O#UkIoPk1yEjs^nyH^Yg8l{`1{g8Aqz@XAXkN`aDXCD0IQ4m1zc1(9Qg&=8mc)M z_*+4D7kTt<2Kxil00QR_tTuInvRCsDF8&@+)7+=KM1{i#l#`CTsDK6xnD|e0x~Q0d za-juCzXl=~f_qsYH*0|MKO{3k>;bvB^?!+)M>jht=v=y;ReX9wR1Bb*@RLvH&n!mA zAZWTf-n<7oLiD=QqxlDOO)-Wm7%6atDv~QeMFFZSU`2sP;}K9A2ba(U^V`d?zyIM? z3aLfx%l5zj|HJYtEPsK{0`Tbk4M|s^Dy4ZhC{P$m>OFc}R6s8C=`P^#>8=p)IPL;I z;F1XxCFlhsJW7ztN4!x2D;Kdw3CJCW2Rs^&fLsR&8CdxOP2#1o9*Babxmtjs#D|($ z3SJ_?+b^K<mYOz1A7)_qKYI@Yvk7REC+O62&<H4lBGNWo@LjE-?ki{yGb3n#2;5i$ z1rDeH0O^0+z`zWeIbwhxzW`!@N-%rS+}9S+=1~R)hBA<P&@Eo8L7G7rwB;1ka01Iz zGBPlLTmd=<jIkN{@-dJ;kUgHv;Qh~_LtjC<89<Cv3=9l4AO)Zz88rO{mZ^uDH4$Wg zCmypv2i1XffEXZ;iGj>oiF92O1IS>I|208oDPl8AlUW_)Fwg)mc*8Ylmovy);FGgJ zTcJTE3D}kZaB2h-V1BSiFL)FiJjMm@LxXO>0ZTK$+bawnogfn#JRou)M|yOF`jreG zy^vJjc`q8=w1Q|Pkp%gVL@ijA{{YoI|NsAo(O4BxC<yX9%n0Te5DUS}*+Nn)N&<>9 z^GZ^StgI4KQsVQIvQm>vG&HRg{6c+v6bkaeatZ~B#l@*9T##k;cr@jgmMG+>DdeW+ z<`-2GR_>gbr(U7}Tb!o=S_zz#n4FDGBV-dC>F&eO2eA{e>JYE3$Sc5M>#{+C12H5e zH90>eRUtRExHvIAm5U)PD8NsF!5792Pb|vI%uDBDa0Ts<<YEZ*^Y-%(_fvo^8Rue9 z&`?d$R7fkz&s9(@wo*_nhWZ?B1ErM$#6EaHdAcC0R6uqmB#H<b0E$8d(7sOvPZuOR z6$&!*(qYR$i8BeL1FK2-B%73<myX3G@D^IgMp7#)SO~;pSuby;;FqrePSuFblX^&= zBf+4M{CtJn#Joxc=u*^Tcp6Pj(Nj?H%u6mxO)O4@*yigP5%1*e=n@pHkeHXEP?VaS zpIeZbld1qp4tfd-0Xbl`Mc~D)3MCLXIwTkCmF6YurKXhPbR&2V0yJ@1DL9stq~;cs zfDA~@1E;&<lA=sdkYyy6C}b8Zl;r0t<m7|Wn_s>{QEG8PeqM1ZBymBu)GDOq7b)1; zDi|6l6sIQV=cN=g5Kw6hR|wgvr-0b4s!)`wn_3K7f}dHOk(vUk{vag``pz1ND1tP? zy5j;N4`+dQ2Pl-K78Pga=P8)#8R!`*Xp|(T7wZSP`nWm<yT+Ru80x2G<|XEUhFD-r z8X2pC7#J%A7^QjGIY8&-fy8B?hJuFBVfVGe#2Bjre84)`!6#}+!}Nj9xC9TXF)%QI z&X@+z(K+!6IPyt=u7U^OJr5f52lbLc#!rT=8N$4i-GwipnZ1Xtm$i?jpSg{R0o*<S zwVgrwX5!Z8&i8-=MI)$E1P`|`FfbUx^ug~PhuvlGfO3~TsD_q-Rsi5L2ORkXK>jj- zih-IZpfG{oNAAMs&<u4cC=6g{9fGI6Aa*(ODS(0ieBC<uc1Un*f`Ngd1LPq{7=i9% z2Zs^J{y9*)K=y)^fW(l`<ba7GpT_|cy8+b;o5}>~1+DJ^$-~6JaS7$Pfz&&K;|c5r zP<VsV0PL(kP@4?o-)87ts<5;Bz~T%HVE_0)%>uP>7~p<x274G3Cb086K<Bl>(uEVB z1js(H8ju@79ZirMLFa9P>;s7{ftm}N9bj<bQviiM>}<T7AjOzz$DQv2N*Z8l<-5V* z$oGH)Bmwf*52%^ouy^DW0Qn2#M%bAfV1GIC3ApenG&AM#X*ls2xbrD6fX_xX0kyvv z7#KkJ{vrGcPIh2_Ff%doz2I=-`@jJbW9mfaY(nPL^1a}2geqfTU;w34*jaAiGfd%O z=+1Y5qZw>AQxo3_4kx|~93Uak*?6GySfK6!om~nFGq9VPeBh1-#WU>eHPE_KkeX(u zB0dQxJ_UC^0q}j4pivu8P=eOQLgYa_$b3F%f(Ue0I4FsLmLNly6GIfBkyc!wIb_T` z=l_G(=7C!35Dnl-BL)VBUhteZF9VDZ&T9+|4A-FIMIcMT_whpXHABT)pyDvMgh0io zL&ZVoRDg7tL&Xn5#X&s}kT?fa9F|YO`ILcy;U*Wz&%6xW(DVUQzXd9;1Qmy=2i<kU z$iT}G3KfT`?}Mt(fr`V_S3||;L&ZVosDs=S2XznZd|udj9cQ58u(KDJfD|(@FjPXt zL3h@Igg`wM5bXsOzYR?juyD|YinD?<9s>iY><6j;2X&7gR2;Of3?%LdRS!Fh88izE z5*LDsUj=cXYe7KF$53-%ch^Ja))^S~LB)fi;SWknAoZ)E;*n5s(7+x@d<IlJ2~E5e zDxM7$2c<`l`gHK3a;W1$0#KX*>fkZ3Fu=}8f(kQ8L)F9F2NQn-RS!E;7$$xkD*go~ z0Hvk4Kx-Wky%})60o5<;p!5UQ1Xc-JCkAGK??{J6I!pjc<G#xsVLntTm|_O^UcpQ_ z0lFhdkqMMLAwn>nU)V6$*??5cX2mYvghM=s1H1Z_IPPd=#-ZL2hd5}78tAT62B^cq z<u3yR1E}W-5{I1~2Ck<-oo47As<5-?z~wjt1H)bD9mue=u;3vM6)%7$K$tkFo(7o@ zJBtlg*K*?sH_%zLpgIW@hRE0$xx0=e!Hq+F8#Ck%SXg@o)D8k^tA~oi&JF^#S3u%V zIU(v{XaB*<lRgfJIINxqwTnRNL2JoD{(_wW1gbMZ;;qnd0I@+B+_qz2U;v$M3{npg z17VoB1XMk!ZUTve+H@cqbOtj>J-RqA)SU*<#e%SSya09Q1LztcaQy~4TNhlmGchzk z)r0F)1_lOD8v$hg0&sqXwvj+*8$;v$05pq%>wg9YhFef`1VC#S7#JA9^&A5OgBR32 z6QGd>t|J*37`CuN!tDdJ-~qQc7#JAB*&*T$Q1iiU4h9B>)lhNRS(C7O3RI4R+!=tD zZVy54T1OZE3Jp)#9d#gog2K}XDh@k)4cvxeU|{Hinu9KW97p;Dop}uPD#%zk1}!1P zCjN>UbVoEd18i+5th{Ol-_gy@04on+db7alVK-)g^g^rvok1wbzz4sx8deX6g4J^~ zfJdm1_6&f|+!bWtW`NlTJFD9lYA-Z6;pXkfacA#T9O8Rn;fa>tL1$@$;tO`xA*>t# zoy!IDBg97#5){wa#24cz_dw+owmX*faNJp~j3XXRafqMAVK3;;OxV5b5SK&9?Ktj6 zcEw>n=x%mw{sq-6*u>dzxJM3$f9-LopMyi3mj#r@poIX^n#Bkl>Y>>dG<^x~FT(C> zfNmiG-|+%EuMs8=I~Nnwf&krz022q@M*#{!ka!>i189*JcmNQzZXPBMYO})BXMhBu zYoU?FVd)xV4(Psin0nC2El3L}{UP6B2y1VF)FZp+El4rce9+oum^m!a_7F%tXniqE z+#D(nD&9b6v%$oDq2eI*$o|TNii6Z=Bl))&Dh_fd2*b>2f{KI80o`Q*69<i{gPe+P z&Qz#+kQt!T1EzinR2<!$ElA?XcfcM-5(n+!f|+v)DvoaN6{tAKUQm-5rv5Qh9Npfx zNaCQjI86P2Byr?$V+R=wjThwj<%f!cDCGEc1PMUZBgbz&k~pYs4zqU-R2)Qs%2b&6 zYLEcb9OUpn0u={Qpj8?$^-n+o(5)GuyZ{sbh9nN!<^dCjo!t(S289t!TpSdLSnRcd zii6aH<_}=%1EJy|GeCI+CLWC>jvSulP;vBlY=nw~%tyXE7uH_}nU5R}OQGsP;>hO1 z&aecDBgfZPsCtn3$nkXxDh^VQ9AB_ADM8}M`7s70zyP^J8#&*>&hQ3FBd6y^kN{LY za=z<^ii6w(8n1wb+bpO!h(h-7B9H(yUXcB}9V(6<o(G}gAoD@fIxzELXL5t2k<Gsg z62M~qQzUWZ@O%pu2bqr?o~oe40W}9Xo%<n)BZqS=k~p%zAd^&}u?7YPWc5>VsDF<n z4yx;6{^fzT4?xZZoka>0hn?jN5(h1xhlxi()r0&6+ExJ*Pk@Sp)Pwr&F!BFTagcgY zpA{yq4&p%bBPecQ;;=ibLFz%Z9!xwRNj<W?<xp{uy`VliOnnnn9Aq|fy6S<7gUkmx z4W@n;R2*IX5~w&xJ*Z6vQ@<7}j;?+?R2-xpR2Re4AApLZt3L%52dM{j0buHHLd8M; zLQaRlAV)y+3us#qO#Nyc;*uZ>q3I2@rWU4N9Z4K?PZvzw8!8T>kj>u-62M~4aU^kM zbFLtXBj@*rIK+|ff=13q)}TOy`WHDKU7_Nja0891!Q3AV6$e>^tUeYh4pI;5g2B}1 zK*iC+88qGns>ea%pf);8{c|Ms$ae;+gAyw=e2~?bLdDVDQx6pfxd+s)gqhz56$jai z9PbyQ;vjQCQ{XW5oS;O5C47XT;vn;p{i_5OM>pRNNgTA@1!n#Us5r=8&@l`!@!v?| zpf(;%TniK#Q1^hgn!v;}q2eHWk<CAgL;OCHIA{zHX3l3ManQCZn7AjXQ3VZuWc9H~ z;>hafLd8Mh1L`uv%-IMP2e}hD9+g3X2raKbeF2zybEr7F`bwxcDBO_KVKY=5WG{#b zGiMTr19d-gyw8J*qniWUiv}_W6eKWnw&75J04fer4`Ra9p9gWU*lPevlu-YI#+YI1 zk?*QS4xi;v^`LM-j^8~v#N|MN4z(9qJ;;5qe23h=g%*e4ehp}B1Lhu(eIWH9eaQ6! z)OfIZ(0m(AJ*Z8HtR7lyGAM%tq3IU6e*~%%K~gaDL2VHbA7mzohKa+>g^ibh;tMp! z3bPk<uQE(MXz>h895!wZ@(1Wl1eiETEeL~}-5`H~*dPoIPVn9?*!`0rahUxe^)NF* z;-EPl5DgNC_31!-P+bY4LE^BnTM!@QW)KY$2Q4B8u|XI%UkMTiuUrBNGC<lMASOs0 z`K~<BcqU97G=>0TgD|L%2BJagVPk9{KB#RBqCw)w=D@}WLE^~ngpGHC#F6i20iBBg zGbaYbfMVGA3rIc4ZLsh{zFQ9@4s#!D+y|r{wEYtn?yzw?kT_@$Hq?0d_z_4Pv_cD} z9{CPESl=0>2eua+q#ijQL2@7r5{He&g7`2D5>JP5pz~iKE+`$s<}N^dSic@5t_Bi- zVvrv}OprK8J#73E)JBDg!}0=%54+b3rXCg_p!?-O@*r`LdRV#vEkT2cgUpAG%kBjU zLdz47dRX|rK@tb4hmHGwMG^<8hs{5LHy}dI0jY<LN1A{F21y(??i+(94jVs4zViWO z4s0A9cK02~Um$VVxHzmo4ikrsqn|)CA2zOb2TdF{9{&MNd;zEt3MvOd1|zv2G>!%e z0u?lI*!%!&E*T^Zawlw@6*N8%(gzcVjhn(Y#lpm4<FAz<0jRy8aE8qnO+gX|nGYK$ zhTY)?k_L&x#)&~Iv61bCjZgmpDTJC2QV$!?7J>FFLDC>`*mybYjxv}yY+QT_ntIqc z`Ux~~*f{qaG;!FtI1i|xg}MhNe}RsGP1FOOxgVccRFp`?)BDkvw%|N+AL|kqijTnu zoiLBxWJ{25GZRZv<3Y=@;*%?rb705B6MLLIhB~9floTS*oHsNBFS`OQDuXU2#D9W3 zOcqlg^lW)Q?2Ck;vhXv)(c=Sr?0S3@?i1-T-3dKG9lL#K<^`wbCKhDm7p20)!AI~L zn!v@~OB0JyV3Jrohu1P^h%9c;K@Sbb@HA8$hZjJykQ@P8CCE@*l9FFqf^>#B_>|nl zlGKXK5(d4b;$nvQsE{ypJ3xXV*aU;I2>N0A+|U?h8K!Fhk=hIpOH#4w2_bY;I5=Gf zR~DC~=Efr>Pw3Hppb*h3E=epZ0i7WYIZC>?q$oMJ0IC3d_FqwI4#tVnh;?wFQ#R3k z134)f%Q4Bts3#ml&rl7?%uOvz%<;=F%1zA4tV#{?h8;8vJ<*r0hZtjtJ|m;z)ROqz z%)I!V)Uwo^_>%ni0??viSDXhS8-oMBG!J$ZvUhR-_#k9DpO6eM3gB7P+0d1klatfH z{!0U;`!MVo3nUecTgnrM6!FI(NBLnbUYreGgP`dR?kNIiCdbF86z4-%FEi+2IY8OR z*a#e7m>DHLGq1QLF)tZ(%rcHb*~k*I92MoXY)}$`#Jy`kGS*ZQ;GGQ0I@p8B*buU` z8r4kDI_Y@0sR7uG4akC+YXtF7a(+Q&JZSN2W^yX{9Al6y=y*@i;mcGxgc(-WL9(z* zW?C8|_d<_3hABZTwKp;Vl{~O@*3g&%op+1ntZ&?bWC%OGw;(?+9p{<7IART<Ig@nF zMy8N;(MXrq#6wR!#_109vx5!e<I8ff93Bj+eo#&sHZ+gNJYpDB$zxRJh8Cb=D!;g- zC^az`lmbhOQ(Xfr;ywN2-8_9<8RFf2{GA+q;^T`;lj1!gX9~j?%Ii5Z5I*l0S+zUb zslJF4e-SK8*txIB2mQiM2u3>97bb-F2w#{Yyod8b6&b-#;x&Y`u${>ZQ;zktU6>^N z99=^=3(JYRFs~XR4%9`k$UIsX<^pOSk*mmo{cKzZ&?FZF1H%L8_$;Uo1j5j69*7CX zpu3$xV$kj$SPVqK`prqO0V|Lo(mD|+mqC~rGS>s+!)OlBARGe&!vW}cENEN<)OUi7 zYk~M6wesL~d7w3WARYoQf!Yh&Achddv<r0iFH|YAGKL87t||rwsP*8rw4kvBXg3Qy z{sz*p3VJpa`q_{Iput531_rd?!#JC9DeP=ukmo=KLh%XcKpbow1LR*&7^C}N3wE{~ zR3D5|fZC5dwgi%cjo*OSAgl^ITM@)T!atz)!^U$!_JiyOVURKqA4FR-Gl0A9&~7P6 z2#hPB_Cuo)ECwQA`ax_E_J+D2U4H{qKVqjFNHykKMK>JozW`dS!N9=q1C%(ScZh@H z0%kwV{nNnfUNO&R%YY7u2EZa5Vm)|#62ycW%aFnWS{I6${$OVdgXX3{>R}i?{6TRF z8k$G<{|~4GVeW<LN9Tjwf#yW8(i2dNp~isIFK9>{rXMDbEB&WnN&lenHke&7dKEPM z(9dRrovjPA59}zUbv`iuQXFUNJ;36A(EJ3<Jed1c!RyZ<YwTfWf@luVVh9EX2IR3= zkT@v3km(1|^am0{#%56c$YLNiOh1SX!W@wD2Q~}^5&~ljsD9ASU$6j_fVm&aWngB< zER#TTKcN1H-Bl0rFKB%POh1SZQm4s*nf5^91<?2dt-A*CLGA{{AG&^UOV_Eiq$EF2 z&si^DpU~NC#>S?`W+a}?b^x|03UsGB$T18K44Mp#4B)-nkTacpd&@as`}sj<Qgt$W zcKb_!&-Ll#VLsl>0m>(!BX6Lm9YIbF0A1wFFW3yaUzcC7S%Q&)fnU&>gI~~Df?u#% z1I%r<08`Ey{DRIF{DRFMU~V&Lc`(1Avj@MRa|FL&a|T4T0!%q)@C!Ou@C!C~fVs^x zAQWh1o?oyTG~muJ*bG`%%P-gry22L3V*pv*4BCvuFW3wkJLMN_25mtA@gQ=bf|Osd z`31x<P_YE!LF9gb4ygd2h2+_J+@te8EF@rO9w47whIF<QcrQ2TOeAba{&Y5jmO7vu zeS>@=P-n9W8|VZIW^fpTPsTx&)?i~`FgyS{%mTi5+@tvz2Y81t^z05&&o)9=j~f31 zFkgFiyK{Je6MzEPaU&!Fz>~cO%-7(^t9a2|W3BL?zXdd+-MtwUEzSS_^S5Myj`Co< z@6juIm5G4?ax8~O=S^^Z3D$@`Q5bMBFdT2zfzI~B6!zLMyL7uSD|DAIYru~Jftv+7 zjL@sQ#u{`&oJTikRu+1$h$rKHsA`D)KAr!;Cxd_;!LI>cn!_*HtiuM*9X1fk2SUX_ zs2m7Y1EG2#)Eo%4214zDP-h_29SHRXLj8eIJnUc_WFV9dgtCE9J`gGfLghfH8VChi zHN!91JO{#C1EKans521i4upCGq5eQ99uA0o5K0F^*+3{C2o(dNK>I8B1)FOiydDTO z2STlZP<tTM83=U;LcM`de;^bOC&WGor30aCAe0Y;ih)o$5UK`3^+2dO5NZvC0-cM& zFW7tr!n*^Z-ax275Q>KjVjmX+1LW8W_%Q<T<B&iTu!uu_zzNCYg~xFhZg307qr2h- zB(c5>|NH+xYO(fO3|63_ilY~I0Uq5hDhAyK-2p88=lD-G|Kcj;Z~iy86m%fT{{RQW z1CfV2FEpQEZ2loy$_tVZ^XO*py!Jo910?0q&Hg{Y0M4=iu~5%u3jiyL07>x6yD%^` z|6?j<@7xZ`99T{;0afT=4?~MU2L{ktp^a}qJMcO`d365n?grITmKXW^K$kFhBp*87 z0#5p%yw<!MWGVxH%Q{dc*3InM`D`bsg$XI_{|6+1&mk)W9o=Ru;L|Pc(LEVdxp{PV zORzC8xO6vz@~um^kFi4Mu`EW%FvtHv-~*Ui50u1X#tmqp2-vCMjQH9XdJvpv=QG0t zu(PtjF;?-y1C)i4?Q#U~zyzO|2R;9&@d(I^ptDZF!G}0o4Tt~h3Oyhm1bLij4}uD| z!Qnx8eTVR$W9J8W1iM%stgCPSCF+@cfWLJs0|Nsznn9~A;nB<tK6eNl%^-0|D7bVU zq9msITR@viUTy}ZAjsjIun2X59vVh;oW4$jIvSJ)p^h#If<_xij4BQ;<@P|N9fGO! zGWhIWNPa>O@08|WqWrC(HS|z7k{YNuQx|^=Xh+V=`P2whasv>j<46oZP<sk?RNMz< z1_sa0e~!)jK!p+me;+8N8r}w-$Jq^D`{UCKUVigh%Cp;-VIRE2@PQsH`noi2f@AZZ zd7!$Rt0cqmcngHdz`)?xyboNMl>~Wqvw=%7pU&?-o&P#-{SQd+?B?_6E(9GaYz8XF zJiDiX$}!LGK2SO4+T8{!$6UL8%pm1hIHDZmZ!HEL-24BqXL1|J$sU%6`FpBBLXAg2 zo`Ih*hd5ggkv~BPwt>r>U335c|GyJd@c49oBO<d=E9k-X2f{s_A5mRIZ^uB+E(M?E z3QG{6GTae-CTsI<Q1~+N_iY31YkiBEB-C*vi7K@6zj@DUaPlZkbm`mzX2Ob+08mK; z>c{-+eB}Z<9+$-W4JBRVffB+0qaMlNUZ98N(V8}RxdK0P7<~3D`0Ut!&|^pq4}fbw z&*XU^?|QV}t~2szKFp5Pe{yWFkz?EsTJ_a@p8>4cqu2SrNAuyI9?icQJvtB9-`x*N zN>C}#mQ@B!Q}sO>53@5eFr-buVP50mpa1^<hZ%VbY$W)cQpdQLpx!Y2tVsS-onrha zJN;O8fO_f3XFmpbc76fn=5BD-;6LHm$)e&2;j|v8i}P$g!m<}MBx!it2bR0Ru6->7 zj!IBY2e$`cEv(lvpzvz`%UpKfk$;<u90$ZmkU7mq|9Bv0!kU}CEUlo?9*C2X0vzdV zbNud00GUgg`{WSr>xPs(cwBfLy9*&_86&5E&(6Q_Q_q`gSOpkLlpUM*f|3UVf1f<K z#C+xhITQ<8JR079U5Qz9fsS_phbKll1V^Z6H$S34g{DSu8hUBR$iRSGmVt=@<t$;x z?w+}z4A%Tpl)t5(fq|j<rwD&b7$b<m#ouZT>i6+)^O5CnwCa%s4}!E<GJz~`W$@{I z@6-7WS|a;0K#OEk&^hm(-BTe&axbJvZUv1KxOV%PLW<<D|Dn*9C4b9nMh1qLJ3(n1 zQoc3R$Z|07w}AFuIX3J8TgkxRdX$lY!SQ$t*r}klgJbhvNc|8D3T$WvLA-OIH3X(} zT9^F${~u%|=rm{I&BN_I(6O5@K^u&r;~9=n|AE%zA^GnqsLq4>57h2J^B+ivl;Fng zzek{+QnxDuD8#7}gC)8+6WePc&u)8AZ{S(yEpXc8muCPK1+pBD9WCIP1(yP?pv(cT zit|AyHo}^7@KOL&BOuz#;f`Uj>;|f`Jv;w-f{t5vc;VSx!v@K1u;vJ8e>b+~h&TS+ z1~L}j5`bnltj(8rsDI=*9Iaa9K$)W?h=1D&&u%sn8Y|GGgV|Uq?F5CD94M^7W`n~D zTsC`H9<FKkz|v%KVL&P`JsRJD4rcM}{O{P^4hrJVgZw8uc~n{t)Ft}#rl??)=HS_k z*K+8k`FC*Cy_QP@=TA_1ei!60c`W5Q*cy=QZhC@Fzs>|T(e%N`B%Ah{KnnP7cF*qV zkg}m4QZ}@M1_@oeee@MPI-h1ShC&Y<Z9Pyb<k5Hp<OO(SU_1C1w9pz{PC}e{29#Qm z>R&|rB*3%tyJzPg-`;YRQ9#d578TEKfABD%XD1Jf<M9?1P-uZ_O;|&fKm33rzhH|B z$lYKDD6YW_(0H&TzaZpTR~Hotupnqu7|Z~T3xj1fz@!CO5HvarW`M?r!QviZG6F0J z8YKoZK;y(<@eD9o0Tu*}7K0g}@nSFoG-3>9fX0l$4A7`Cm;o9$1~WkGg~1Ha*fE#^ z8a)OxK;y??257A{m;o9?1~WjT$Y2I&92v|2g)o=_8cX)<W`_nHcq|bdbf7RYU<1_- zEGnSU8PDb#8_==xpnid8?-~`5oDbu3$L=jEpk(jT?T)wy<RQp(2GA+<pmQxj_aK0V zC_Q^^SU}1lX~cyEoBH*TvJ(<(jGz%^r1*C{*1`gcEe6M9E-V}j9{&$`Cij4qdRU&Q zdFa`A1Qe;Dqko^HHa@@^AG4r<cVfWKecg_!0yRNGJmT@f^SBESc+~2pDyXRmJ&7H0 zEG;%&4j^4D5M9#$!6RHgpt}wrV<xXtkVd#XyZ5MAfCk%J|CdPmbmv2EDe&!F0~Ymd zee2WtzVx|AcP#_x=xuq#_=-n&JVdQWXDow9>urzD`=zguY=O1rV0MLq4wtp)j#0^I z{>@RE13KR}0CeDS0l$C)2frrhwi3uWzy{rpEYJgiyXS)<9(3yW?Gi(@{OQqc4IY65 z9a}8Gui>Jiz%R(6@;{ivqdQu_qxE*_J@A417SW)*5AIZYbo(+u8$5^>5I8o#-h+%< z>;$!L4G%!;9msLu+d%C-NdL)#12iwuqEY}F`V?qUi2%`>Eh?ayv~CXmlbt;(1}qE= zo&BJap!H;(PUlIF-YF_3EDWI2^I4G6SGNH_=%S0}L!kRvSUmopEPd<IJs%Pkw@VCt zdbfZLg}1*wx|w%2g9ZY?5&79;sYmB=B;P&&ALR>j9%w9#UmmGE5Af`~0zQoWpJ(qn z(9(L3PRN<;(AK19^KsB^6F!~)d^%tGbVBkIEP3{NNO*Sgd9Z@EY<PCIfwVgw2UjML zat>0+L&~`}P>yiq7i<IN8xRdG<lI0<SG$3VxHf1B*9I-%+(6}<8>o0|gO+Y>(8A3P zRJOT+incar$<_uf*xW$nnj5HCYlD_*ZO}rk4O*tPL5s9DXo=PaEzsJa<yjlFIBSEJ zW^K^ItPNV0wLy!rHfTxK1}(_iK#2w9FHkXt9zdY8Oke@TFW3f3xSq}X0zgxP{4Hx3 z7#KWz=Ya$rySIUgFxT!j(C%I6421`%Mf?$DJh&hO4fwzsC%raoj@{d!#TXl+7(=LD z1}?@RaRM&I!1b-;u@*K^Jb=nCHfZ_P2TGNo;_H!T<1tWVfr_v1<P=~1Fz@3oh}b}v zgm@lz;e(Vz`b3ppY~Zr{xC<LZ6R61Z?0n<V$)W;j8G(c7brGykfy%v3gfcw4_d#;d z{}KtL!fYK#5L%YK02Lgq|4WoH$`feW=h3O{(fZb-^L^<XBs*a>x<|K-3fK`aC!n15 z?b-Rwv-7`aH=8Hu8VWyH1;_5$y&vQRa1jb^&%?`4&rVpb2Nj_&JiGUUk_kwu3i91R z$m$^qz(wv0&*o#Gd#QXnzkw%1z_ky!yb5;=L%tgWoRRrGSRv`O9h8xgTqQXH*?fpw zq2`n59*=HtbI_ytn1FBZc91o&n!u;?JHm+`ormFr{m^N1ScpQ}i=Yb)m@8f&{1X-& z;L-UT8us@gi54<Of#sGn@Lg#j^`NmH=7<;Y!>2n5>4e26#{6~b{}O(WZg#_O{{s|2 zrh@MMVLa^7c^`5xHRPOeP@xDrB@29mC8#<9A5RB5c^kCG2lqMK*BTlam_gT3fX|Qt znFMBlOaL92#NfinzyLacn+Y`F@s=5~eCrozi3#X@J&@U;%PtrNkPoQ=t*ii@Esii7 zJoExG9K-;beFn6+3$z0Zw2KmaV#j$Vh}n0T7#J8$p%#JGdN6_xPy**nkO45W;pd}+ zwlaYv!23F77#J9yf{X@jECkte62w`?$iM(vefJK;xd62XbbK143o`=)XjxSP$V1`a z1DwESK~^w<`~W(~9kf^jbYcjogk%8SDg<}UBIx>^O$-bSjG&9Q;4(0G&S7Ad0_|u8 z&HREdHw7)918su>+w*@mNFKD>3FKJNpcDgWNehzvB2fHDf!qihcLRBg5wwn_9IPE= zE12<rHgW3E&q@cGiH!L{5ehaDLXgS_jkgDTbY6xONgl1YOSBOe?s;@ZaQJi@cy{-L zi;_+c0ng5M5YzAgIE!MLVFcxBM0W{%(Z=h`uq=yN8-R|xKqv?2+Sj1N>>-|EU|;~< z{pHcU17s<vtkd>j1u>D@mzLoirK}#7<|XDH-Jr&kfCuDWpVFt8wppOuQwMfj<YA9) ze*uq94zS&zX;iq?U<Q%l11<_7;R9mQJ$yixLc<5dq-FRZt+rBd&PdElPlX;U4qkwz z5L}X2l3I)+<d~A1nTITb@APwsDULa*MI{WLd1Z+?nJEh3W3v-MLJGwo<6%dDgVkDD zf!2uU=I5s7l_VBbYG^7XfyIjzGE)>(Q$Xivrx&FrmZTOblw>64DU@WSD&&>sCZ!gE z&b5cC1)bWCYN|pq_$2%CqRbNbdGJ;WCHck0-~-^1LIL7{lKk}aoK*a_r{cBUxwNPV zvWl(PN`b*AvA6`mL$MBW?s$AMIPi->hu1?Cf_<B(z{$y(2@5z-Xn~KUNAn!$Ty=2J zBDOuDsYp)D%gZlOfcPIA>cy~Q@v#R(d{Am`eo3koG~i(8x+_4OsQ}quP=sO&E-g^& z@M?japP!yuf^>qpB8ur&Fsq>lt}7HIR_5d<rYNLB4(|uA0E7`5>G>rJswp}OsTBpO z$t9^N3aUA!DVk6NofC6%K-U<=`(zfEAe~tcbs;DUz?UmP`NZq;$8x&@nq`Q44Pe_! zz{lbjmnLVR1uA4Cjg<m~Rscm`PGV7dszPdBerY=7)LBqV3tX@ba^k>G@R4@^VKlXz zYXItLQOht2%((#dAB-l~C~El!<_;K5s(UOzjS^Bd(Lnu)uaI;Dqp5AhQ1d6X+zSg& z7)@@t4wmu<R<6KkT>hb!dtvs#Xk7LY5{GWLg;e;UwGS3ZO@ny1%$$<cB4jh5TPh*y zq4h1YJOhb$a)A14ApOMLu>m?C8q^6z+(Q7lCjd0T3NZtGO9$3_JwW{?*jfLeE*f+z z5BQ8!kY11&?A#krClMwFJ68r-40Hw-NFG@XvbqGZ?*OzE^bSZ7=-d|AejNB62M~9I z>;&C%4pIg>=LqCJkk|!~0BoO>BcA|B><Ls1bUq)53ED#h8V>}qKY|Fzof__Z4IItP zeN0UGd>tH4d=of4_!_|5##A8PQHD!c)CM4_1$Aixplb6$G@7}UNNSmuBXJlQ7(jY^ zKzbM$AZO8|>5W5D&NLZ`1Jw%}7X>-*If#ISl@p(W6Q717=t7DG9EeLxm=^M_;BeyG zz~RBSfCGH4G7B^^x}ka<`6S?B;f7=tDBKL7YC+?+ptOXn))`4H=p6AFs9NyZHQ4Un zSb%!>#tI~dfzmeYOw;WMcY*Ezf!})qJ4*$$4+*3Mw6_g3KmlTd*7kwY1mxZoC-5B? zj(ir5d=4mAzJTx2V1aIy0*_E&x)VcB2`J2=dXhmjrXF`bRKGDRGeSKFl3{8?=C~ts z+L1Y4NF0!z3=9k#K=v^(Fi3&Y3jTOL2h|OZXHa~=&U#@4>BZ*e1E}$_f$s!|BlHRp zP@XRU7a$A_0nE@nMwn(`gcT?rQ=t05`4w_^4Cu}t@LfG1`4*@=XgMl8O<fQG<wfvt z+6$<B28s6Gf$9S-p9YzWe1{CEjBx-BD}ja~K<5g95)C9gL1_$phYG0dP=Kld4LpIA zfb>;B#Xx((z*a!=Do7tVZGzOyfvN%JYiw#j<!%jB4Jh4$(kkd~8IYY*pyJT%1K#7g z0*lxlEMgbX#6WHVElLEreF`3bf~FZjYQPniBcA|BA857%B!){L$PchO8Kw`U9+bR5 zO?%MD9f%ETj)G`V7=mcfh#iOq`4vQi_ThoX=s;}H>KD);9*7OvlO_orr2~!rfzk>{ z95lcOAGicrh=z~wfYK-C-7=@Zd-Fg8fDjEJJ3%Z*KG2AzEO;yv#D|FsLdDZTmNGCf zfZPp|f5;0_UkVk6oguanDh`^v0;vPJ6GVfyxG*xvGTefyhmAHzL)G&_BN`@d1r>Kd z6BmJs7emEC=QM)Mf6oJP&pb47X{h@_`}9ESK;aCc*FnX>!@CR&3@~|fsQ7!RIiLYS zka~8gIB0Jqh!5RL$Z#F%o)~DE1Uk<aB;N=Xp9&R+ng1Fp4$2cCb)aQ$AbK}c9CVH< zh!1n;RH!)UTu6{OXcQSlr$WVHXRE=^mve!N-v%jSU|@iSj~rB-4I2KiJ<LC$;Rd@~ z1{S}QzzoosGSna_)c_U;=Vqt~gi;4@VPavJ1L4BS*--Vcwgyb%3sijq)IBiqc~EiC z$UaOAMCU=p51^@6ftnAxs{o`9hL1qib3o$}Ce8#E2aV>##6UFY>{uoSCI-+XCx{Pj zPk|U@-9-b+?NH4~6f=D1JCY#Se6S}_1;OH=(g8!5ftdl8I#A`989*fmsu+mJ4Bn{> zVxeMY22hEDDwe{>z@W$k%e9bw=pYrKTc@$P2DHBmbVq~$)XT6l;jTdM82JDyAVK99 zG~Pfvxj^b+XB>mulMD<D-=OMY`oZmO1_lOa=$#%Hpal}R&Szj?*ay8M<pQWch20Cs zz`*bqdWVSuv_S-J13~XN0om&SRS$0GF)%QIW@bR*0njJ_x3d@+7*e5km<T}4fl>^q zY>+!oKw$#HpgskNz68CC29^$C$qqCb1u`F&Zeil*p#Fm0Q3pB$6l4x)${kxcPh`N{ zrw>xkiQ{ex&{^`>%!y{gZq7Cwckkpu!+8RzGGkz1fb}0*q2U8NGZ5U?XJBAZhN?dR zRS)i4Fff4c>ji~F0@P99HX{QA!xX6c1aQ7&U;ww185kHYK;sd17A?44%D}(?n&ASO z69AoO0=M-+ci?bA;-vv<FI1WVbT<e{J!l;;D7-)`UO@CrW(Ec&r2Ghrm&HsVacE+O zp8W?>{{d=#0H`u%U|;~Z;}{qiK%<x-^97&<Gr0Z6z`$^j8)Ob5pMu&CAahE1K;ocU z9mHc`fQe^<)g$sRxGllJz#tA*kI1JmanKz|AbVk#zJS|LpnL&Mp9i4s0ks!FHuXWp z89)sS&^#8jUgCz{5i|jG=?&7}eo<(8J|G9u&A_k=LNPEx?}{;iii6vg3=9mQOW~nW z3sniB#M!Z@H_%Q{Z0cokq)*Tt6xh^*vMo08H1J(0ats%s<qoXR4LT!VkU@?CG$jmj zA?%D+Yp8nAVpxzkOnoaW=uQ<mh6ZSr2UFh#RS!Em6sG<$R6VTS0*mRb$kW>(3!qpT zsy+c~K1_WaC&b<b(6%g0{32LAsAUQ<0OWrViwi0a3kz6Eas`{C0Pf>~)WO8}gVoD1 zz{($(i65c<g5B*1OIM)%v7m5+jV-{$*Fw#K9pV8CpBqqfBA^)yCN2zi4>a+B@;S&+ z3=9mWIPTs7-8BJ9=g4QFg0$?1rbAf#Lakvi#BrAnXkkArY(V;9I3HXNAY@?XfOdu} z!CSkCahd0^d;!fbuy))>sCycq;?Qb_0pwGJ=`dRv7~bJ1w>vo*7_i-m^bp5gaG!CA z<GRZ(n-6<_<i>F~R5=cDP`1M6FVL=PY~nUJ?#g4vVg5xN`Q<APbD+%w(1soGN)6cA z*syjwD0_icionEWK^}ni1wnlmn7AsEIOr^Dn7A%f9F#ulkna2e?HmEcDo7lJVd`Q1 zB9IuUsD+77K{5xFMquJwq2eHSBD+TzWB}Bipf)Q^J?u_dka}c)f$k6kxd$W;I_nyy zJ{#l+Xnh6>E0{Q_9t5cewLiR({Iw9O9^IVnP;rp@E+qBGk;IYBLB10P**y=T>OtNE zRjDxdtb>+!AoDws%-;bO2dM|usxbA(q2eHSg2qr`;$M)&k;C&JR2*auay%m6ZGx;` z1lpbenU9<vWT4{c=FEqRqq~14R2-xp)Fg(va|cu$WInR{y+8v8&@<+d!yyDJ4l)N+ zmBY+QhKi$`13H@l6u%(#pt2vPz7k12XdDwJz6ePiG<FRW*M@cl(fwr#6$hD*>>d}W zIJ$d$q2eI*$nJ@Pii6Z6yQdjR9N9g#AcsKHGxA+ezEE*=bIOp!k<EdfRSl9x4(DGW z0jT-N{^Eo-4MFB3$JZpNILKef?pXvC2dPK)*J&hiWcL_C8?GShk=<hr6$hD*>>kh^ zwxIY0nUCxq(4Ds+addMUaF{a#DvoZ>8c-pHB^_>qile*dC{!HX97|~X9^F08P;qo~ zf}rB)=JY_t(ao6*6-PH`HB=nkoG56+38Ws>wt}VeM5s7OeH&8w(}yGuy8jZUekBg^ z4N!5A`5?1k>bFD1L1M_}-$N2dHlG>V@dT+y77vGtqlZHrR2*b4=nOuXy=72wkU7Zd z<U3Rx-JE|=addOUpp`qiIWwT*=;q9aii6An6}>R`tb&T8tKR|@2dM`YjWG3BpyKHE zzJQ8@)FbDMw@`6(^=zO(!IH1Jq2lQ3i$Rqo7WJ^R_|VmNLe+!BLHizH?&km%`dIQ2 zKU5su{Sr`d^zc!Fii6Z6hmRvv9AqzY{D$KYR|OTmSlpun6$hCQ3KE$6U7+IV=3jz} zqr3ACR2*aus7isE^BO9SZjK}<^02gX9FfG4+c}Ftg)G$lpgT-p=C6i|gUm;6Z(N3o zgWQRH2ik3@IJ$Z(P@w>I4`_@PX1*g-9Apl1`Rol92l*FNw8PX#LB&DlBgacJR2<!$ zT&Ot698lE<Gp7bBj&9COs5rVgi=pBmb3k%1b2dT6(apJrB#zwvc>om$nS<P3`Uw>W znFG4_17^M|s4)i(H)L@eBynW(U690)+gCnNaddmnLB&CSLJt3%P;roYP*nzV&kLwH z$eqaH{~0O{QV*&kVCos6<0c^W$ocm^k~s3+WzV4EAot`W)fc~^;vjR7+wDxyp&XEU z<U2Dpq2eI*$mv`eG~okH=b*74m^(9(#F5i~2~-?p4s!aR1r-O`i=6%!LB-M4|3nf; zPX7$hsUwg%$l=cg6$gbUa{8Bqii6BY4u2)6IJ!AHP;rns$m!o2DvoYWI8+?noJ6QN z$Q+OyEZkscIHH>~9jYEAj+{OhLd8MmAgBLhP;roY<aGWOhd4KAAOM;#kj)oH5=XxK zP6kOFIbWzi#nIi93Kd6p&r}@ZJCMYY-E$f$4hl2m^!61hj&8mxbi4yy+!`tlG6y+d z_(8=%>XGe@MiNI3hcq1Gc}U{O;Zp_`M-QJ4s5r=8&>R~qJ<Px%z8py$Ies_c5Z{F) zj_jUGNaD!$K132nHvbI{@h?c?$mZ)n2kt=r0^KDA^B2hfp!PpV9CXYDOdM1f!^A=N zSHZ-g#UXh7q!y_ha|9`dmOse(9n{AMNrCJEHC<umfbPEniG%D#&hMam>R{r??tzV) zg3<}H`Bfmr&~_K7DGD<mqy{8~Zhjv~5SqV0_fEmo+d;+A%|~9V1!^k7)Q3aWqni)9 zcMc>45=V}&(Qt#TZzVO{Kw%CFPtdRzENy`J&}IdAI2n{*Kw=;aP3B;6*u7*RanO1! z5DhX1`OY-h_%uiyRG)&>fG}*l79<W!8z6B|9Sx#E;;=OcAU-UefW$$2)<I$*45~vx zG)Np~7l;pY8%P{B_6QOO<uwou5(n)`0<l3D`7S%q`XZ1R2*dIPNImE@C6E{hgXSwi zG)Nq_)&Rr@rFjqy5{Io>0P#U%4j>vN4!RQ<#0FvHyYFCY0YKuQJ;)#$q#k(=9JG-d zCXRdu9cWK7OdL5LLHjjf;?*Dq6od9EgP0)mVR;<Hhs`U1#6k5AEFFOMG=t<p;-K~t zO#A^z5Hzn0nyZDLMGg`IZ<|6AhlTqGkR((bWDd+fuyqL_^Fj8)+${hSfT~Y}>IG4t zz2P7lBn?_m24aIS?5;VGxHU)sia|TaK}?W%BZvXT1|R{b`6%fVNgO48B8j7<Pb6`a z^ob;nl0K2dQPL-pI7<3N5=Tj&Na85z6G<E;eIkh?r%%uxcu<glq>;lJw*CVoUJ6nG z#h|_MASOs0v<4Bx24UDd7DybFcVOuRwhjp-4!UaqCJvjAhl#_|32Y51NE~DiES<pS z^+DpucPfJR+Jo!|iG%LE1+hUGHeUr2ht;7VanPQ85DgMXP7kp8X^=Q_dVsB80f{50 z2LVvU3r#=B=4c>^BfAr}W))-(eCsD@JtdO*GLXZd7&d<iQeTX;_P_&4J*-XyX$e3Q zN47TuNgP(zfz-necL$jd-aHHv1g*zFQjdHGX#<itvVS{}#F4{o0+Kj#xXnNkN6tqJ zki=p4uY#NeyTcIVPFIis6mLLM?*$bDQQ(taq45H%J3!(Gkko_jItGb>@ChVw<a`8M z!wa$(IUn6XQtt^e0E#~#i6e*e4<zwQs9G=uoqqwD535r^;;?yNka!_dxeB_I1SAg< z2i-jj%SQ@G=78?tg^6pRiNo@j0g^b#99aH>-Q@@}A7n2~9JJ0BW-oI25P@V4aybmz zhYeGYTn@w5L4eFhPCo@m<{+n^3M6sl^wWSOj+}lvki?P8;R#6M$mQ@1Byr?&cma|) zayh&LNgTNxhOLDL`3pJy>_AeFoPJ<;rh?QXm%}%Z)FX%U10-?eau{^<B`lng%VBT_ z0-FAj%K^~2RxtI*<s@j^KTI6CoCKW-024=!FWCAWko%G2O9Rv}huVuAU!Y@cu$kk5 zq#oIwu)9e><|CJr5lHHh%SqU}4Ul@|axw!+J#6hJ$Q`it;~@3O;XDCJJ+k-=Byr?) zz5q!aIi0US5=RcV4M^h1;kE-w968($Ac-TV^Akwo$m#q7k~nfY2dx7E`5WY4<a7?Y zBLpUnoX%nE+(GJ*)A<J^^O4i}4<vEqbPl`g7i11{I+p-VLO|0AayY}*xP#Oqr*p`G z`=GVO3=GKW9JX#Aq#il_cp#aNoX!J~#F5i^1d=#%d?g@>Bga<;k~ngF!R{&sxd+*t z4kY!+?wo)mj-1YCAc-TVbJ#j0kom~z9JVGOBo4X@9TcY^47(#4B#s=;AUO~Qi8p~5 zPz;?m0XKs{dkUb!;JrB@HmDjyzJnK*20-GVHGv>CAPj2TgJ_UANIh&lDX7nmEDmcg z!umll^{{r~5|Co(_yfos*g7Lve+Q->)-F7QrXJS*gY{Ej>cJjlU|;|r5Cb(I<bGKH zlLZtoP;rpGu=U8Weh17P*g8iYH1)7`nlOLE)Wg<e!tU;Zi$e#5VC`_2IBZ=f=v-2e z*I?qXb-u9nCrli+9@7UTfaHGIdfN&#aoD=uC1~QXb)euAU69Oyt<Qz+QvzuNg%50f zF06e56Njz;^?}x3Fmc#=Qdm6>6Njx!{eh+)w(b~o6dH0kz}7XFK+7MPIk5GWwMgQi z_=T;DUxOqLazAW6=@~R}*m}}8XyUMSonMi}LFU8yu`1B~3v&-_ou&(#IBZ>~FOoRO z9N2n%SUCeT2ez&awqFM(4qG=0S|<q$ACNh){u`{^fT=$K9miaWW-lz?9YGQYg%50f z>m4L<*j@^deIJm-)j<MK%mSJmg{B|a7!gPcbOtAg2DwKQ#DHSZnZO_>NE~$LA&3pa zp!LHb8YB+#7c9SnPe_BB58Gn_QkQ~cFKn$eNIVxw9AplxU)O;o4nFP=q!@(LQ%g!R zb5rxvQW7f};-i8~EK5?0ax?Q1OH#`i;-gY>0zi}>>V8_tep^Fx&<P}oIXUt0Q%GDP ziVcxA=MtyN6nsrBR6F>(*m(FAl_sD&!Ldu>y0;u<yRe}#^yCo8`5I7@P~2z&JGLXf zq_QBj7^(!z9%Dljs9BKXJzy%)4J*hmDuEqT0x=Bx^{|Gf$vK&+c_s0=iJ5sh`S}G9 z#i*eTIbg&BO$k~c!EYi*b_z@oyX7!hY_`GVu<NAg`f@$cm9cv9QHcA&v4k`D?s1q( ztf>#I0@)N4j~hY*5{n=Xdm*6=H5JW96gh-`^e6z`P!77!6`MHBF9_Y(d<`-IrV`B! zkUZxCQi0Rg5J^9j)Q_P9#a^h-U>b4BA>F&Kmz<vqI&%ngZL~9L(t$Y9ARc<FGdu%B zlp;q3E;U%}$F7vnb?KnXcd<DR<dhIx62Z76Jh4g?l$IoCBo;A1?^}n25%NXr@lheT zLI^o9KyE@)2Z<Jgc$Am~sSCpp3BeEv#t`vD6#<vd>G>r{w;qEoXGV`UoR`0Y(l|;? zK_VWndSnmdRfu9RBpgUqZ|EA}os8wy`uM24^4x*BiXPej@O#GdT?3LcGr?hx;%!KH z8XAD=SI7Zdu25yj#$b`hUR)blz^k{!(vtj?)ST3k)D+mUO0Jm!ZkYjPSZ?fg4K|3! z?K)$S>ku_RL?Md%u&Ti6QSd=$#h^>=qp%izh9)2jLCp<VkbnaY#YQYj;*%>9<C9X; zGxOq;6HAgapwXY2mjdM%gPR^{3~5jrv*>`NLQwWYD>@JoXhjD?0<GwPN~D3$7h`}F z8IbxAbTxQhdVDh2gRmwTLwsmnd1hWpd{Am}X>KZ1Luy8RT2Ug1o1UB;pIVWeT2K;S zl9-eOzT6&LS!HMjz1kkq1d1;Kr98~w!>S7XmU+FRd{80B5Fh1ZXaQ@!6sN<I6V{Xj zwhATYApv0oyZIgJF6fbEIPYG^o-iyk67y1WQsWCU^U`5=(GzO~nmZuPI)a9v-vMtB zA76~+3V7uBMNiaFi%pTvIfGgb@lBCyKv{rWSum*niwBq3PN5+o{(jC*uFzxvNjEsm zHHK$-YMP4dT4<DExYiQcwZS2dA+97lnKYw`xa}T%GNPU{>}Gf5d+ptwol&xo1zZuF zWx;^1$OwMry&;@s4!;^cxwyp83~mgZWrkslu_;WI5u9ZRXPIKEH-V`)gtJUARGApV zR2jiphH#cKhI(ToxOzCt5Y95fP;X)gR}W_y!aZMHQe>zH;-=;#>VXOhJ(qC3qSQ3K z`1tgSiui)mqT>9##GK5M%J?z^46_Xw^n9EHJT2lerHnyxpu$Mc2zlfe)QKe>D|0b0 zK!;#ZG;=^F8+U*f8zIR+hri$=I^gpy7#N`4YPdLTe9Zv1kOV3NTZaPWGN{AOT7n5c zX$#O|HPAdLXi+o+19)5#G$sIAqX<$0oA=ts2^lK}$$`XSxBzM|Y#tUS4jsmUaT!44 zG*BzxVj#u|=pZ?Cdj;5j(0W9eei+>hwVw^m0Slm8`ax@BLFU0Qy8r7qLFa}*2R2}e zK<D>E7k$8D7&N8=3S)Ht`-0Dz0PV#_(hNGY2WmgMeK0<Z#^wJjQ2)d11KAInH-`Be zM$ZKu{>;F@fbRbTQ2Wt>1$?dyvP*H<e+P^Gp!sQ-y)b$*=p1M)_FtgT{wG-M2hHcg z?1j;wb5THf0^R=)D760#7W+Z-#xQ$fbS4h}f1uF*FHrlD(?4iE6U<&1y_*}7|Iqyp zKHQrDvELpR=dg4K<8R}}p8hMK=^wTp36%ao`w(I25tjdPr5^_9BowmyLF=wy?uOCH zINZMgde{$WjS|eQAR68MaX8!`09_mhn}-LvAG8&NSoiZ_aX)B%7|h);IuCrF3}*gQ z01xI84*yK>xkZ@e&jzUbk;5Mp=ES;R0*m`WQ3`W6j26V<{sU0=6AFJG9PaOc9?*jv z{-7oQ=<fFdpEJb3fIPPfif1FxpfLjj!)~<75tP?K@-P}S&j@0pDP#Bmif{%72G~AY zkRA|5Pe0zQ(DV<IM8Yqi?*9SWECH?mKuf~W-EYhV$$#kO>;~wh9`YI*kn!mD<H|oO zSmF<4BrM)wbR0DNn9&^Y1Ed&w);`Ey7>2nY#*gHK`X5dI1L(veD9wS?f`SuNq`~yV z#Eqcs4_G}3QVYhQMcYW{Yk<X|^UxqRD9%7MJ3A!&Kx|~J2i1=(24chXf!H9t1ycXR zmREs<z}Nt)e+H=128%!lnEN3-28Q*p`X43$rGG&EF94ly0r?*^4+GN=^S?G1;;aOy zRxo7%jXw@(`T@Bc6eZ~T_00`oM__|#LsMg810!<_0}}-WBV$t&Qz&U@U|?ouqM%@C zVqt7z0#cg5RqyKK#sogt4{Rj^BZD1yy)cA_Aa{UnbcAvt?Lr3zbp}R;9UxB}Mx0fD z96UF=1C;amL3f#Z9Cu*{pQ8z4yaBCy1~EW48!~_x;3ec9%?A`bY*lI*7)mc3M!Ty8 ze0D$h%2Bq~19kSEy>T3_hW`=vL9ck>2d`oEfb6Ju>}K;g?#uzQ%=7<okK_{`&4&d% zEzj3nay$->O31|rVE575{BCxzkKlI`f-fv+{Z_$mX<ozak$lYK-~*O!7j}`u(7R$F zchQ9eJ9eIT?7ZgD`PH-Yk7MJ%3+xOGwKbl}_dE_hX7TKHk>T(FU4FM8l)}JX_w4nN z;qd5W?DkFQ^hn?ra1G!WbO_)VaCP7pba3DoaAn{Z@D<<}2vy)0h&A9Bj4<FA3{c<~ z^bp_|WN_^)kr8n1tdS9MwKP$w=Wy(GV+398>eBfEbgy2VV?5|)EmlzUdvsekc8jP$ zZ*qs;LhHB>6xOdV;JzaQw2TGqjtHox+29C=hY!O4*E~DFdvyNxNmll4eNw04(R^6M z@a+VT?&>d~OA>f|I{$$^-g=-!z~lc>P!#)EKCQWLc;Gd=OQ&(#4n_vJ+mY_#0^jv= z+!?&2oj?2lzo4@Mzo4@KzaVqkac2Vt29M5S2anER4}L-Cfc>D23Sdh-I*)sFR%^g- zqY!}le<!HOGCTme76!NPLHpVezK5uW#&_^;P|$fa|C20Ih8pkF&Cq<vfPdd9s3nHC zLHA=G0z0JhMl@=Aa)jJ9?ActWz))fcyJyF<yG{YDzV$$9wC8a*a7W6s+YTIZU<pr1 zPVnrmvj7Ro!tTOBx*I6Y0(RG%XE!MPk8prgazsO~3kF?226eFq;%X?+{4K((ubV>= zSNU`v_2{mKJ4@B$xHH&U&>YMIb`~@TgYR?W0N>{ZO?4cw>)cQ+fZW=)1yLS=!o#Cm z9&`zc9{eVt-U>#r>7Jd(d_aln9+>x902X6lt}Ez<tPjx3h7QBR18iRBZ>S^PJesQ& z7)sNjF$31;(dn!J%8a=nHISR-;Nq@^-#l6m@VD${U|?|Rgd2_-Y@lg)M6f}###u~t zplS1$k3fA(*zJH89^JxF=Rk8KJe1)f+zYw@hykh!?l_R6!=b^7O)di}_u3Qg4kXK5 z4ZlI{GyD%R5)?H2t)l<`|9{;J3t2QLfE7Y~2M$U8mS_L||A!loBa&SWzrEb|@Be?$ zU00CuA=EJhbjP5EXXhW!<{A~yWx$XtjeS%UJX%lkw-kbIM|+#**j%Gxz`)-E+EL)! zTcRS-`j)>Hbd{WMca4gKZ|i^lmMTUD2A|Fn6%OCt92Ehd-Vzl7<h!^WyV*NkR0JHm z-B~(aR74!R-8nizcX)QY3v{}u$T)VpOLV%ZC>(cD0abYnp4~nw3j06}t6iX)29_T^ zIuCg?|6(h(1gYmg;n`iU;E{X-q8L=Gdq6KCG<@q}d85>*^=)aiZ+E=`$bqe(yXRl~ zz{AL5C#V@=cmO%ZUMs+*Irf2C!Qi9>jXrRg`*zndfb&Z0+mfX|-6bj<o{)PU`CCCJ z(!AUPI)?l$nDXqdQPJ23a@8(S-4537(Rs-5tw-}O3I0~l<x6Rf$6Ztm7#Uze+OqcF z|NpOz5srXby${rY0=orl3Rt=4aTgVkxe(`gHXjl2?R*M#Oo_n+5Ac1T@fsej2TFKg zsR$;`3O2^G6MhTjMQAYwE-y4d<$bIpT5Salr=1`>p$Qfo5HHRD|Noyh!K2rm<1kYF z5b({NgRztabcs+F<Np#B39ywO%|`?x4`Zai4A0K<o}E`6JHL2z{!MG%qXN2hkioU{ zoJ;575@$#{cWpfYF5)XBJ-S^zTr3&Dyc%xL<P#nTAF_1EaEQ3Jo~#h{=yr8*vE-=X z@k~Aml5puR;Sh1@^ieT!>2y&saBV$MQQ^^<qhjIFoonII`nHtsbuzy^gGYC+fJf`w zl5mf1R|b#nT8_>b6$h8j5)~Jp&KwmFpUxVU0GG}bl?adS9u?36agR<Pl?2djoCzS7 z0>6NZiUYrZk4gZ)ppS|G_+rfqtp`e$8y<MM5M0jWs95X=RhQs^@a#O+?V@4;x&)oA z+eO6$#BgJA>3qR|!n4zj!=>{Fm?7ZPnH%8KSsUTf`2eg$0#*sRwmzv-@=U%1E1Nw# z-4sBzYxfqY>mav4dvv=Bcy_vJcpi5HRj~}9<iO(7SzzGPSt?+7z@xcVf}xbfr?XVT zqxnb%a>REY2RjrqErMF!h_ndHnXffqiHwjAu(9Cg+v{#beFI7_OwjbgKq$RLxOSd* z?L6YydDf%za_3i{?s5ym1HP@_O0wX0e}XO)?5^VgMVWz1XN`)9M`w(R1t=~ZK=BER zMbPp~P~3s<R1E;Jz_DlmibV&MSS;oB?Jg7WZT(id!tlUrR`9+akLDv0NZ|!8Pr+p= zxVib+v-3ZwS)}QrBH(e{MFmnr!*1>CEl54)qQcMM(OaV;;L#hR0%>;d19eJZ5$e%- z6qFuCJ-R_^I$wEc-ty>#R=ARIMZF>t5JR9+9^El20&rQz!_Zu7c)+9czDwsPaM**4 z<%Jsi4kCi0tMjO5w>_wd0%=NkLb@Uzy|u8)pB<FYI`4UOz5?s^>}Eg4qQPKz8)9bb z{}L{b&Kea+j_<tT(R@S$+);=<3`-*5tP9rr`t)lCkIuu`bi#ZAx!VxhzxW1f$#z0+ zQ1$FQ4r(g2{x5+z6x!zT?5&45)T5Kxqw}~==Qp3uUtr5Tx|yAhu~;y`ZzO}Jaj+yL zMLvVKS0HymLL1N6?Wsex=bsNOfWh_{;I#+T9`fu2dB>x>S_2f?kU|-`t?aA;N<xAT zocw|e;5r229k6pjdG`pY4G9la%zOtLwn5}nur`P<kEBh2h9}g2h->bAIxT!U3phNw zy)8UCJp?>Doh{IViv){~!Ska>w|js`cX$M>e+KdYKWInN@pxOuO31L0=kc})YM_cA zbp7kT2`iZy3~w8L+tpylzyS7vXKx#59i+$ch6(@v{|9xYjyKGJvOJHs+!KKA4)HkN z0P49y6bSr>C<Q5yfGcnSZ(Kd@0N$qxl2SlOf!DMi2kB-2$!Nf2nh&#hu!0@X_#4!j z<Zmtd|Np<?ZO`sK_dt$C#3V=?NCaet$N$3~5cQ?kU@c?R{u(qqpuRIaiOYZI2>I_E zZvUOb>A!Ob{~d(;?<ZCL2gy(W9J@i|4-TNQ2T%aO`>USW=PNwBYxoL40VtL>!J|7K zQh-4FPVXJN*&u@upaF=Bp56OEsRXPTJpO>89v+gA@?+?RC%Ei9j6VL+`mI9H(!5Rp zH1v^upu(fqg`MND;Q<f=hX=SmatsLucmDtSB&Ra?wmyNhr0R@4nvZfA-bM+3pU(dt zosim~^*{+9D8V)#t?;pYT=Vobvt#Ey<RJ`D`>nejlwl9U^LOjF3K7fgAh9}rkej+& zj)M|E$UTM!4yR2(ch6FgQiPKXA<jXx2RypB+yxl`y9u}TKna(}|HB{$J;CB222lR- z==|-GEbP(v3zTqc?R>I7Re1H*7<24`kM1}fb1}|l@JMF%$UafwaomL)w9S^`xC=LE zI*FmzgRzqvmObI6oCUlN1(!dN67(jt{Dh3GYzBG86FRyS?$y2LGsx*4t^Z3!5hF_; zoyWa8Au_u_yA@#rFCNLwAnhLAEr&t6jyWVVbc01e&glk8K~ew~2f=D|h?{P}s#my5 zcs~%ds}yTZumrija|Cq<Jv+a9cK-8CRs)R|nL@@1-=<9frw>T;1C%~I!6QW#zLrmG zp1x*tZ2tSd)YY-^4>;gGJ+tprc=p!FK>{A;Psd{}a@h>N$$FmIM=Ly!yRd=7-to8# z8#wSCdtDhFJK0=1U%*>ch$~eQap2PV2pkQL;LgYE3n=an2@ZhV-RhgX929UMFPIzN z2BlZe?k)F0!3%4zqNFF`=HLHI_`ppS4v_6}j`4?mI{*80euJcj7*J;jylV!Y-eKw4 zrSmYj^Ku0=!uYTCZAG=CrCwb%$Uwo?+x#7%{ZNjU^FXettMF}o!ruZqNpC->JqY%P zPp5)UX9Y)Rgn&o#S&!_K70rMDd-jI#6?pdcflD}k*Ha+(dvu=i=;rchJ?YWwDN*{- zqm#+wxC5v!25x159T<DK`S1UdR*cwxt%)JD5445pwHT&2YDW{2t`^`<SD-!xwsiF} z6Vxe0?*9k0eyfnPH0SRF9hL$rAi#xI4SNCT((2X&rTVV}oB#bUE%s<U4)%68J7`!% z^0hT|e9xoX-lO@rgh#i71gH<A;$bOJ`r5<NgQN7Ri=~4=>3xrG4+)P>ewbT99ZyW} zfp+yF+za*|=+ayCu`zJyTt_J%zuyBnx^v2LQ2h%p&p;W*qwx)>0pSbok91yk?ELQ9 z`k%i8bP*Lejk;Lc^Y?)+q6T$BbwDj+1E22gAWwoi6e2HYf=)1>;M-j$;oJI+zXddm z;MnaZ(EQ_n35(^8(r56VOpQuHXN*b;s1K9j)0v`D(Cwq5)9Is90qV?v&W`Zt>`?(V zX+V51-RYwO?$RWHx-<nSU7C_U%+LXytAhxgm!STUXYz3mP)v3Es2F&3=P(w4Iu8{t z-6bkIpx{B2*WIpg7YD$)(4c;oMQ4nP4amt3ASZi(dei|R_d(q21L{wM2$)MPKrZz_ zacQZ%M|Z9SsHZ;L@NMS{kH#aQ;09$=^f3x}aR*v2gYXDA7G57kb+1SBn+V6wPlg9v zTQ61SI5z$=`0@XLU4~2NHBd}{^XT649Td|Zt=~%gK)sU;k8T&01eeYb6@$(YP;b%) z)SGkxjS={$czATWs04si1b|rJFh}o3Uh6z)c%b!UsTQc?h`nUH1TGQ4sS;HY++(OQ zgix6_0o3(0@JJ3(aWK5?(R!)U3F;#!kAshxJv6U-boWF2bFxI;qt`{n!J|7s!J{(- zlt38x1whjm&|wRY&hP&(wjL-|0+)vd(b(Jyb|~^_8El{m)q&uC-s|n4@(WyFdNjWg z@B}q9p2I2yczNpC?JfYy*y<kLGeB)^SiKJ#faV0<9p8EXe*gze^z{YLZg+4&K&*O? z&gWo9!%P5;L_z9R&(347d0#Vlb{<1l1FI`wWeRe61`2P1E^xuoa-h^5>VL2mtp`fX zp?vW0A6U?%8+q*5qZhRP0n(v?Dut+mjC;cz0yjSpSyAhO5=ST>VLrI02zCy%xdOKk zhfUD%@aTnTYCa+meHhdehm3JUTmw@B8@GV=mob#x2P+3<FnD_&6yK1+WeLyD>z<uo zJUjn^Mk+XbI=_Kc?+5L61hYIk5Bqd321UAW>;DqjT_Bc6=Y3cbIo1q1_nyJC`Ix|K z_G8Q-hJ<G~n@49e=)MHcPC2l#5R;mZNPr3kQ2h;dWQ_{sE_2ve0z4)sIEH~@Py*To z@2yecfQ_zrbXN<2`W5OPz0Lyg^yy={9ptVO8IR5%9;_gnJ-R_NKBdn*x~nBXO+BgC z;U3-nU>WEQ>QI>ydynSB5}?pQ8Xtw3Cjx4;HXa6R>$V1&^Yk^pM|V3|ppzNmEs*md zEU*XT4ukqfRv^Vvu>Q11=P!@OLttIqAeoY99uOCU?tX`w#sq7^xG*q);s@M0=#Ccv z&#v4qm3Xa#D9=5*XM+uEy<H-P6dA1tN}u|4Zw3X04`@;o6w=`S253GIEj2m|L?ikK zkoFR^zPtgRD>&-edCs%*s%Pi-&KeaKP{m^H(F~frX7^~W<zOf=1<$r>x~M4l^e#~W z9gYK<S%PKb=dkXIN3V~H!fSrR1BRCjPrhac(H@;ILBn|*9<6Wrr?{vvg9>E<P+<p} zswj<mxs-{40WCg2g|`4`I9I|$+eO8|BlCcR6F-B8wvUR12jfAH&J!NHZkueo-gHme z+2i{okAts-K;|iUWF7*m(>w^WP{X(Nts}pHdjY>@iwbC$H;9t};()fKf;a&n&ICpV z1`x*q#A$$V*d6%=`~@8O1;P~^`32$)_%-LK6fiO{@M}&{0qu+B*X&UNH7P(^K>Mrt zTW&FcO>qTV20GHokzc?SY#Hc0C=ds18R#%65C?1-Xh{Ny1G3&1WLqf6wpg%jpi`<q zwt;qygKWFN0J6PB1zc12#;7=en<t?2I34)~+`zViF4h2Xz_x-0#X%gft)R98hy%72 z)E05%7hrSb7w`jF8V0g7&VXMtMx}sXGejkUUlTNLuIZxU@Y)R8-ZMO~6SO?XqjwM3 z0e?PwtoDF8qO}?{<N{UDc^@R#4N5`1TU0<n<Iy_>tjDACrcbvEv;=VMJmT8=gugS2 z2|A9{&CvXVg@5WnE*}-<5<w8V#qQt#|1Ux7GeGkJ;FQP>PKo?2D*yifH~a>2fB~W? zx$gm*<O1i*mIM4PyZ-+F|ME8|%E0S2x<Mnq-99Q5r6;6N0Qn5$Q{UFN{4MteB<?}y zAA%y4R&j5IR6Zj49Fzb-J_iLqI1#p%lN<k)ap34eiF;9S+)o0{yg4A1e<<-^LPY#? z{rmqPRDq@QYrrzUpnCy`1Ihe??g=0cB=ZZp2Y@(`%rEHf0OEjRm|p{$%{8FeUIS7L zIPwd|8#wX{f=UNLP&pyU?%VpdBm<-mlJ^B&!FECNzMw1EE=b-NbOqZ5$@_w?V7owJ z3bG5F$u*{^fHS?u92HO@;K(l+3$hDTHVA@B2|-r|(Bw)q$TCQl7jy$#2Fdb*ZeYtG zSzgc$Y#AiW3%WV*Yk=m(G(h=V1C-M>VpIwo`32)Z7J$kDK~RYx$mY`dz@za9s9pfo z-_V9Va(fF>e}KlbKttA@e+_Rt?g7oM!utOn$+tawP2_z#KY3{0>U<B5X2!$KKmM0O zh7k=<He0apPdNx~GduFT9AP}&dZ3QOBl)zC<;S9fpxzco>w!{E!`rV}!Ohmr8z7f} zCqY5&S4{gsK@tUX1Ot8Sht{7JjGzTJXFWPgR2)DZN(oS1B;e6{iN8genSlXRm3l&| zQa*42=F$1WqmxCY#0p-cg7Q*^;Wy;M3_AJ;sw+J}<^_Pd2@0>7KyybdDjwY>DiWO^ z4*rlo_(F>DL+7E!N1!y+`BC$t<6clicwT;b@CRG3A7iJF3XezYTaV-$kmUp5$yUR+ zKD{X_5s3Wd+4&xx#Y<EwJUYLFvbYat&YcRFc;{V@-Z?6ufp`x{A@9Sv<_(Bzc&WQa zg$G=`v#5Y$y7|X{{uUi31_qy2h!T&^*Zi&0ObiSj-7a@3d|F?W%7H3(3y)??hEicD zvl6u4L4=8c0bJhOs4)0+{w)dg?0o0b`PQ@ZuHiS|&gZcH0%-iJHwM(xgA9VT9N=#~ z1daxHLlqQq;4YPhPv>i}y`G(KeLBDTw7w`w0JSe1JbFzuJi0?v1UxiffjX6tqzPJB z$9T5+=l@b0uxC(`D!3cV?{dh4@oeh>{yuAvmDV{b0{l(8K(&=NtiCZk(0ZW$=}T$w zdJWL(iwK|I8Wj(C`xO?bz1RcWr?&+h(mtKXA@Q*04kDy|IuH7EBZu@M25?A&mGHNM z);xGL+o&*<n1X`rix0Hh-~$Rh$l@|kXiW!c0u8D?1N#ywv|4lSRFuRK6+%{Ey|_cD zPSyhwIy|7|GXjY81`eOcux!p}c;Gb;xF~qd>eKlZJgNZ7RG=&mEqq)$f4qK)&=1c4 z!5)ooI2aiiI!`-x{`2U3z7I68?9+M3rSs#9)eH;_tp`fuq1`W6!~Y(=IVuGnosU2n z=zZr+u**H5MU%(D2MQkGd+k7Z$Aj^Z$H89;h9_M>tEwQQ@E#zy8oPA<@Mt^&vJ>1{ zMOr=x9}@trDFCMuum!Jqpj|^S&jmVF>bM`YI_~vGEdBwh^XR<V`583o3mSm>30ket z`nE&|=GM+z9+nsQ+d<;sRbLSI{Xgw^j75&Y@a;=hMh1rFpZ`njj=QMvKpJf&kZEn6 z&hsGS8CnnUx4vg!VCW7}5#c}8d4Yf1ImgZuF8te09egEm@Pz>XwiB;?K;1ZjeV`D9 z>$wba3TTcTECOBu23mvPTp_~3-})9L+3g_V(apfWO@M!!2crxBHU}mb{%s!2&`1E4 zI(xuFVxX0OkmXgd3~hO%T+5?(3s@G`(SL1=IVc92M8!5zin<H}JjMi0Mj)r+j4P0) z*C#P80WC*+y%8=B8}0@z4G@4Xws}1VE)9=*&?xdtP-7?!)SnIT===>{LI83Cg9qr= zV+IDFZbOe=4@M8on;xwPc7bDu-}NH6M+fPLw;m`}fQW;-+z>J7P?auZ^g9mQ2oR{E zg{EmpKDrEd9?bQiF#qHMQv^!quh+rLBXE8K&rkiq<z^qvhaRm5_CnqK5?q{ogDpDf zJluL4YNJoLMSUPx_8&~P^+1Ka;oH{RrSV{|fh8ecYduin4b=zgz(dAcz%KRad<YIW zaBcQl4XdJGKAj(ZJ0C#QfwB~2wgTKr0Cy<i;~y~X%?AWLI@yoAbNv1PAG{(&&|Sde zxH~B382AO-!R;@>c2HI7(YYPe3iIfk4l*9nRY&AkP=DPKJiqa8KSwRJ598T+#PK+b z3TTEIyiy#g{p@+%g$2A`9K-;x7Y8xG>%~C~jP>Haoy$OOL745)dH6VZMjmYP1drn` z%wY3C46u112G~3h1H(Me&Uv7$x*xRX1mqtE&(7nX$K64N6$5|x0Y`p8cLfk3;K(n? zp5}Pm-GG6?w=><rvoqcUB#ydh*t4@9=b~Y->As!&Kw*fm&ZG0NBfmf!$WI>dWy&Y{ z1-%vc1-%9M1-T*1l=%gn9ry*kQEkJwL>X+GXXiZ7S<;Z~0iJuovkC)s(K1;7>wTV` zM?5<3zqWu4NWqc|VgWD~Z7;?C|NrmVc?4F3y=De;AR{7}CV)yVM8)8E+zp%tksJ+9 zW6=IKD1Cv(aA3xO(=GFHXRsdd;G(ktY!NEIU^6IO`30LnVeZkn8Io=%gZu`<45)_i zL(Vbe7i<PKDLjrhgQ_!7nmyhO>Y#vFX~&yEOG_CTJdQVmPL%^?t^EwY;K}@$Pv>R} zMh1rc2Uy`^$9+0?gSt!}J3tCS5+0q+9-#J7Z!>tr1hgu>88l|%(b;Uk$jIQ)+nn(m z)NpRL0P&7DJ1~L@B?bn=Z@WN7z-j@*Z@WOI!9p3s`7j59L!}vXI3BpXKMWp0h75(m zjDkgP+61^M?T|odM=_-xWD00OI=uV<#RoLMBZa1CC!25gK2YF;dYXZb-R!Lg>YO}# z<2hUnpMVM=xPIu0CCI`u=*lR^Zg#|ejw7IECwM={nVL&5zxsCX1Lazf;VuxvO`(R9 zXP#&GJa7_ey<LJ>mDULfBhPL~Cc-XP2O3i?fvkxFt-=Q-ThOR152%S2=NJ!8yHNIF zet8CdZjkqp%F8hDf_bE{^XO#m-VF-;=KudoB*E$QI5<Uu65DZbLIEYk?%kl6K~@9e zL)3&o(hEcPZcv{aqy`ec$D2WXkecq@e;61TkYzx8hz#g>MPwNeA0*?^y&IIaLB10J zJImvEGe`jB8jo&B8gKny0+$0NdZ-*IC!y#A34rA~?}I`Nw#NWZ(uC!INO(c)C#X4X zg5iPY{osJ%pLzfk{@_MH>$eIqkM4d@60$Tz+Lps8au``2lz!3WyW2ro7cpMk-R{H4 zz<|Ve=V<=%mw*1j<{y9frySro!N2VQ@_J)fd%~mf4X987FMIjj9n1l4nDsibfChQm zS(zCae0n#75`jlAcr%zsGE1We<B9(d4BvWmJ~xE45j?tCR6IHldT4ipvZY7!Po^3! zk4|t-ci769*1Q{BR`Iuh`j-wZZ~0q57mXfw=J@v?v<81OC=R+OgIodYUW3}d+n5;` zpqr^+(^&?fEe-QP9d_6z1bE91v||lXcE79yD`EyW+y4Czuy_eNQre|^G1w>FAo2eJ z8lbUK&>#%7s|V`Gf!owb{BCf9?>uzym;Aw3QjCW>uQfgcWzf!pnjgWV_a2v@9sI@S zk$lR7bITc!VIG_%X9T(@gVJ~Num2_Ho!1WjlRx-Qit$?K_r~X7y%#lq?gwQIkIT;w z{$uk<KIg%?2dcN`jDY1K7k>Xoj{lE<8rxtKdwo;{3@^EKKKJeX0Zwn=-uoNSICwW( z=fQ(N<qy7;Vmx^8C!0s|Nsn%yGXfs`ix2WQWiv7`ba#VY^7DU5VCN~QFHXUH0e1N% zkM5c)0toMT@Gm~k-=q(!7h1Pm0Xd*V3^DKlw)zMzt9u~c0NLLB4b-!S514@TwSw*i zhZQi0iW_wE)ywUmK2bHtU;Y+QutG`&(5e8?ehU8Z1E5K;TWkyr%|96VTlRxW4A1}u z=zLUgdg=oCbT_Dc0Edr9_ik{S+6+!p-IGD}){Ecl3=EykAT{0HprJjVZg71DouUJ~ z&l%)t^rZDt99b06RtMVzt?yrQBddWYO3)dRh(rlfd!GS&!afS_pFw695upQ0*x)4( zKHcD5^`6~)&<^W9(0&Yr@xI+=U?;hBTex&Wx^AF6iD<BYcj<&I>xDYxbtGn7fEEJ0 z*25GB_qW6_#Zi~PKn;ejIsgSew8Du!3|-F#9ghPQ6QKFc)^8=O`~qyRnL$khO%@fy z+n`Y|31|icWdP6>C(yAjsHjipb5Kro?A`}T*_}V2BWyq5BWyo4FM>nG<MN|}KiE8G zcyLZR0yc&-<cP%o<A#@fIv;vM`y`!5oB#gjZ`lc&9>8TF#E|ZiBNClRMtkrtKF8k# zUYyekF~7vew|gC^rL^k=D+7b!NgwC{p=alD*Vg|fdXAvFtO7Rv>Y04qr}H~Z4QTA5 z)+70ZC*#@whaEMKmp<_9ZUc=icRO&j9w-rNeOr=jd6>WH5opvs5;VRF+E8=_#PfzG z2XN%Sw!n-d(8<%-I^>{}!odLr)(IWM^=Lc-iX2e9LC1BV^&O<XK#D)mJS=+rfwr>s z?ok1SHaH?ZJD<Y*3y;13pxA@+z;Ov_W{?+^|9m<h`gXnm`vDr8-Jp>ZaHWMg{tAuE znj;dRkyx<zJuW{2m3c+^9<Yd%_5c;&j0`(Deu0|5kmgtGfzn*Z|HnMKn-TFM)%vz1 z&e8H1f0Ha|_$(NyKM9H-(0c0Ec9<~&+9`!CMnGqxgPjES4P@~tX!jnLIAI8dOvo#M z=7S-t;=#onxMDH<_F`>0sI&uBcdZBbJGL<}Fr*!KQ4wHbfVH$io610={c11)@MsaJ zsRXJ6MZl}Wx(z*&14O`%NjrFyBds$>MF<jC;F&z|PytxB^*}`}XfO+0tM!5xZh*zX zW`Z_uL3DK&2!JM^dBA>j1fOOPRt743TjnB)MetgEg=oh(Y{Pe;zyliq)(UPWy}kes zV++ub8EC-l9m;4K|8^G@p|pbsIQX|8=ww0cB6ftP9BgGCsOyce2z8tg;vcXJpoJdT zAunA(EgIwifYm05dIPrU0ir<|G|B;*{{;76pxFyFP2}16&9U<jcvQ4RMFE;$pe3P8 z=Yxabc?B272e4w#rSqZY#ogctxcvCw4>q6V7haq(ZxlXx@ar4^jU5Yo^5EAx@rgg? z;3xh_a4iFul5p&;QDOAybpf?A3{Qf+1uBtpyjo-4DDby{hH4GJftw&;Imb>mkaRST zC@%?c?6&JJ5O4%1MqDvo8i7)9*`V;uP<V);40zRwTJbn`+d&)#9=3&y0fPb&UW|e2 zAMgSeh0d=Yoxk^k4vaAT_M*Lnfx)r!7|0)>Q8REY<f0+~%_^|gC_Jmc1i;C98K}DM ztx>_9RS=m3Hmuxwpi~QH8CVuHV9A3ds{+dI%|~#heb9a<Yy}5uXu!;a6d<qH!1#zv z0vql<0Nelh`Z75ELB`9VJ!VS!vyPBGP`=&UKz$p?9tLa3+UWn#{RQB~J0+0*AiTd# z;QRzg7Y#Ci1n#~f`md1s33Pq|Xui{<dp)Sr1YO1tUcfH`UNMi<->=2CpZ~B&^HBlN zqIuAMeomLpQidI%JOxTfkU>jWeTHEl$fGp0&!c-k$OdpX9#sE(bngfG5YC6V2V8(O zzwvPGJnq?f+OzYDW9J7@McusyJZ|sNy&E(R_syMysl?u+Q%B{viwgKq4;Rn|^+!IP zH(ff9x_16>?L6z-37NO^?fmT8`O>lTg$L9OP~Yq$XxHw6=4uWG{?==t+O|anw8nG= zV`)+|csSsHNu)>jW=L%^8PqZL=<Nm#2KaQQsA%|f#;6!{H^+dc;sjh&G(dYlL3^1& z6Q2^GMZch-57*A0;4ID94AR$npf2Y>SjX#>X7Hc{#0F5e-=lZ32dMeo+YK7K0@+{z zvcaLdIRa{f1pymC`dSavas3DD0L|bw|6r6n;L&`<0~GPlh7dgazzZQz%L-9LfD823 zr!d<~&2KbZJCA{T*neF*KQupJciaOCbw|x3hW{Y~F5NBQ2=eL9QK@k04gt-B`KU;A zGlKRfCiry6sARbCyF7Pg{NmK>qX3@1R<P#cZwK8<@7U`n!GF@RlZU<6gQfEp|0%~# z5&m8e4i^NQ$EEWUOkBXF^AwCN;?j8t!UiplFz9uV=sfPj_}``T6KMJxyzQ66weze` z=Us4Icy_*a?R@Fcouk45acJj*<^vM^t?NKVVP}jA2PoVHTslvK7c_Ui{~w^ydZ2{e z@W9I+kcw^>6^U*Rr(PFD3DBgjf;AKPf{t#;jFV&Mk8aTXA9(v_cZdo{d6Z+Xn*{#} z$4(ahUPl(NJK1|3Irz^zcG|G_I`Z(Jb?nq(?{yU5Kke8l!`|yC;>dr(wUY(B(nGA* zQKIvJC*yIK&QIX236NPh$L1pvptTd=J(e+!(5U5?hqR{}-+=nN9-Y6TX^g)G)EEX= z3oI%=;C?t{6_rot`9GgMRzsQrL^WJPjtKle?%DYORFC>}Lh4vhRsv<<Zt!4Q>w!8e z!?&>V1!6R4k3%<jB-exSoaPCS<O@jEvpeHah)&BF^%oGsaLOLZlR<gLqxDjqI5Za` zbn&-9`k9b1kO0F2uXQjJHtMM<$SoX?#v`C0!qGNEZNNhH!A5TaUhnnj26c%UJi2`u zpcVW+R4qQ;rI1Cw-5Rio-_C>Z+RCT%J9G=}%M4IM3)Z-TWyqJ#;MNpqEe!*>JOs@@ zgO<%YLN|_ro5<bWpk^^>wqIZ$WL@U}7jlpO|8G4|>WMt2#q80Yp#U4`?JZ#R03AQm z?W4lsxC1md<<WWHwew>Zqht90tDwcv9*svpR)L4MV-G{U2hKK-g5f^6!h+X7;QAI? zTq}5X{`c&Tm+<Y*R{(9_gDx@Vce&x)`qqcv<%MT+y#ND$3wSXDY%~~DV!sEQ@7tTg z#synM02;Xj%>YA(=D;URfHrlrI5z)b=5ONym6T8;Kv|2;v)7FU)I8*H>~&H3)9IqZ z()@#&zl{mJ;uK;&NSzyt59k<?0~~O*KR{~XEh5m0TTqLJ#iR39=RvTunrl>882DT6 zLbE={F$M;Y|1K&V|9w<gd|<H)*XPsu3RT}JbbZ|}DlGp`fNb^bmUq-V0xClwD^Oj# z{RJF%fTq-ZI{&+LKFeZs4ErCf0E!jRQfbKU=hsYzx4|p)72st$VxAV3g7%@#0b%A0 zRQZ>Gu%04<ridR~T1B%7<hhqBAcfEYDR2;iJLNCk{{R1vJbu#r#>2DotY_zS&=#sc zhPNF-LuMH3bCYj-^p?md>=FTmBT-AdjxnBY{w-Y2(t4o&;Qs^7KbZKNZi9y9ev9z8 zUIM2FP{H4sqGI9FouZ=9?V_UM$bW_(6eSYfpn4p{66tnP(E*)M;?kX?VgPsC1P_RN z9Cm@WDigQl4D23e6!#>9-NVA)8pX)K;M)1nrSn1a1NNPu+SEhypsV3G$L1&O;9A9l z-}RtZZw$u^59=5e4*qsWP{MD$&EEoAl<Cvyqrw4F4P6rF!oc90{LQ=9#N4CvmXGEq zXzFxiJO=6_L*_nE*3f_!#5ppa1FeYjOg`sfdAfW*s7IvQdcX%%LX@hz8h-OkKIUP0 zxI_iHD0uk^G|~h<wF;~dqNel?C_p7ZyM#o#b5vyb&pPs-^=v-)0#y53cy#Xu4I6{b z2Px5V={)Dt`N*g9qig32urC}tUxLaYaB=||2|AZTp!Gm$4yf2|e!~Gi$KYM(EATMM z2gmUL0TG~l@%@J6f!Dd1=^J#-<7+oeanR9gxH`$$dL*FvdbFkyT5}3q9HO`1p#`FZ z2WWZCkLF+E{B5AMQ{Bw`CtP|xUbu9gY<|eT4;0;+=UhRJClKF--}Rp(<8epJ>-_C& zKnEUmXS29;Cv$XX^SE>u3xGBgID&%o42U@A*}VfEoW|hb1ci+c=&&8v&JUpGCl5GG zgTX=S((R)n<J0Y;0xnHj50s{Pb~AW1zv1xdJnqu@4HT{~eLEinLxUCEZv1}1h4Y68 zc;^AUg@GBOpm7XrAqv`ZM`Vb;o`ncMP*n%I&k=Oq1GN6=1udNG^-<vgEvWkL(|HW+ zqfW?@&gP#?rGnidDm<W48`R(iOL{aO0T~i~cmm}7EW@|3*&EQVGVp-8N9T9Y`EZ9` ztorc(e<yhM8I<%n!AId>KROF^haMs^K$`{NiKf>lVeK7oeGT4F>(Tti0(AIX_a5*H zJJ6`9EZA|5$6LT6pgBMg8`NwE&D}Y6?@<9wt)Z#}iNI8XnnN&^piyIxN<p}pAQ6yC z-|j6cpgt9(yK3jzo5um#3)=$H2|D720eR*SayBOT#6MTiINyKJ4sg(ke@6v8EKk>5 zfF9HUG85EqgP3UrGt+@w^E|s*RD3$0{|^WN4burgYkAM^IVzxzod>8(R+0m1p$mWx zTarK=ptJM;|Np-|IypLD@}KnR1oaL+f*ArHo!J3Coy8H*-LW3W9YA@P!K2$-z@yVc z!{fLEXwxc#N9)NF7LQIx1CLH;0gvWt&@nh3oz4=T-7VlHrQk6U(1pYQIefd<fY(Pu z)4Wf&g>P~xXhn3LrDtz0I7}TFK<h)H1LUCn(V)-+@1Or%^Yk@q^Y8zqUeMDA`Fk0e z7#KXW?}4^R%W{DCro*;6IUaM7&1UdSj%D!3J`CC;%?jHi%?jQl-RsQg*y+ju>Ju7( zVgkJG0@7*(yJ{I|n=xq9vx(tbwDQQad&@h>{^$STgaX<Bd=zxl-;>v@p#9st;PHFN zdd<$Gpx_qp0iEvU0bOC_3Yr3V-+2#IMtp=#-T8E<s2IS)tl5Hrzf}ZWv(~66fSPI= z7-47NnVbt+pj>C;+gl3`J4kv&vK$(Ip3TQAJS<<s!q2nuFKBl;fA4cp10ee@O7KDE zZHWv%jF40CP2L9yx&L)qpe~CG0|O$wAj@mu;q|u$CA=VuSv!wnh7xFzu?D!P1qZlC z^AQVpOATot7%`Fx+szMYC5a<9#Sn_19R`RRBcuiv=6o7xu_2<E0y_d}wheUA975Ko z^C>*jL7UU?<L_Dzlv=`;{y>(2cy_+wZ@Kj6KO`wZN4sFD0F-lDkNx@o|0O4Axe{W2 z5B0>s*K0s26yAUEINlB`|G?*iLC$jkElTz5-UpiS1Qk}$<siq~Kmwp*4758`3(;tY zA5REY06nFs8GK9*s9(we8E=cjvseo>B8dnU)HPFaU^9@%LqL_(4@L$C(A;0=Q}8)8 zUqS6MSbMA6O#r$K)1zCk`G5icz7z1yA8d84WA{2x{|z#@jHv&>?Mo9G$gw{}HFuAL zn!DoQ=H(%9bGJyV`L{%=D##O{>cF#`&G0Q~2i^Do0T$q;svxJs`gf301nB@uD+UGz z%#eW8atA^CjUfvyK%;T!(`KNFPEfBJb(Ej7@rEhje!2%|2yEQp5^U4~R9nYDI>DVM zAoB=}Ct%YE(D|{FBLaw7RM1psQ50x)4CKfXaZt;$^Zx$;2N**jt@S`jl1Jka@RTo> zUKQwk07Te88vuCJgC@NZ>M<2scyvz&&G5q$2RO6B)q%!Gk=hfDZ$KALdv^W-59ENF za-dTLLD|8v8?s-*@GYzlg~(sYZ#{ZTbQGWo>J>DTGad!?2q60q(0c^O7|%BUg(N6g z|LHO_14Hv)3I5hopam(tIVuX^#k;Vy3{UKmkTu6IQP&*5_ka$<f(D9af=#GVfh|6U z49|jO7P5kh-#L&yd_*0N1#0s_eFp7rdhqXaQ85A^7kTJ{${!m8{?>d}28M5k7)y9T z1r?~t?9uGO!T9YE6GQ~k-tgdHa)b>c!-gQh(|LZZ3=C<G&3jZJYkyj|f;v9UdqAf* zGW_Rn1<js-rdilPPM@LzDxW}(Vgt|2ym%i4nwMz-D+ZeeIw{?Se|w1vn`bvfwPSY= zxH0I_o1@|Y9>)O%YS;zPI1YcS1uFyius9BQ0|~SvCqe<F1{Cq&;hYc^4p5yV02$Bm z>3j|z&k6m18Pq`nTl<%VfdN+gId+4O+yZSX0R;wVsX~nk2Yh|DPx1>N%h$CMuyd_m zgHH2Anh%B@R@!;g<NtxqgZw8ueN-GkI>bD?w}4N=dd-Ktf6MTjNAd+w8_xxtwn60( zr1k){0DDVWL8Biq=YvWspU&rwoj0=>LE+&M`ab~NU-9^V80LJ>WU%u+ED!Vd1pNR1 zAKW12?^_8P$-nKmAJnBntzTyN_v+YrSRVH2d|$(a<oaG$Mws(GlleexU1nFqw=l>0 zK-+Yn&7ZK%<RBL}A4PF7Xyunr=kv~Y1l-I9Y1AC%@5uqzjnKxg1~_(@p*g|<9?3{e z(In7F0jPZy$%u$Uc#BlSGg;1~^){%<B~e!iYL!C|*n;POpU(HN4b!a$N?bhuANOcJ zTH$GVzvk&{l)1{6Kft@Dz%#0d74o22PX$oF3v#UF%gam*44?%dr5=!D&G>ttg0yAd z1~tp%V69r{7&Y|ZA3M+N<Df<@#=$@Cpo4!r(OcOXKFM1lt+H=*Cg8~~<n)9%9||(4 z2Wg)j_Obj7ZlC@BU&`yz`5qR1pc4i`>9gBK#RJsabu~N*+JB|s()q9RRu*K47L-e1 zsS6RXzR7mJt^XkbYXzF|gSHRB;R!3VK<8zFPR_3IvHS~eum1gC>fzY<AJSk2pQxLC zA7{vTChK`%JrW6WB9d?S9@OrKhHo<Xpe^6lZ*|&+w;}V7i1Uqbh6mEL0cLpohXqOJ zJCqOs6_%hJ3u@K1ykTHq_|Ne2DX0YwYcRl?rsyfe>KAA+Bw8|p?qzv71=$4nU?u39 zjn_rcutzjSUPr-&V3rvkfGz$4H%MOIKyEC<%>%FgQbHcDf*S-^1G?WHQ8k0he$Z$* zWWy9><{ebq;%~V_PaTG6dTI3c|9{xRZ%hkO2U9^o%ka|g=l}np(h8}31&^nL4`;3b zjUD~-?Oq1z?X}*n5O=hkqXNnpb-W(QhdsOZ90B#~Uc<^X&(7nmw>^8^VWpY?sL&Nb z)pgpld&?Q9E>O7)c7+Fg{i|m;n`3V|D|~{$2Q>2H2p;zL>HH2Z;v9oOMKa<j9?&@u zARoZX8{F;}akP|CspIoVJ`6fp$g{VGg@cge;aX0EPRR1?E#U!aA>QSX;u*Kg`Q;fv zr-1}?eg;iVCbZtJNb~4!2aR)BO7Qo9R?~STfA%=|jHSE8K&15>e+Q_#_vxMviV<*6 zto0H&bSk8w)7X~cU_NLG^dZ>I1U{WIDn6apJ0S<qgNEK-CpG>CA3K!d(cKO*tMeZ8 z@S&Cuki&Wol-PI1sAzPCsOW&smoNYg>sf%t^c+A_lOCYz-UB27K5<9`bas*j>e)$Z z&`E*-tjG93(=FkHd@z$SXb=UFZ@_`@dMZ--4Gj)(={(T<fPFWpD%Ly<%CX0rpR@D3 z+;Cw$+*>0lVR^kguRBM@!KXV!#iF}L#lWXGMn%D~*Fl2+MCYka7O`GO7RPR3{!^VI zY`u;gj@`i=P&N<$`A!?QUPl2({*x}9JZ!y=BK&7Nb=Z7cFO`TjAC%}k;lX&!rSp&n zXhGsNaN=%0ECHS@0S)MZ&nrP{PdC5G0CnJ!r>KBN+C7?orSdoL18r9AT?0N#*|R%V z!K1gB#iRMqAK1w}pb=b;8OK;y7(Bb@fuhbMS=*!aZJo78^I_1%8lIit?HGvuoKNR- zMC-SN4_yBquJE*c4>>>Y|Nl}2&+dJorFfu@E+6Prw9aS$0}LEHkH2Pv6fBP2p)8(| z4H_Pu&s?Aj3P5}HK)Wvu(GPHj70~da4t09}wKP0ZVWlc~uPQjWz^V83TBP^{=V#Dx zwrA&c@M!iwP~Y3vw|gC^^$6>Ndv+dyoiWY}HpufhWMI(~v?2>4(&@?o>6!aLkMi^E zc4crn#-hLg+IHgM3E39n16}hAn*Zwtor{Bh$S<M8ci|;AytfY*0r%r!B{bMkzODaD z+g_hR@-JjB6nLfrtO7dB+<LNv36zz<>rTKDpqU5I_%b|zJg}vwJ>c}T1e%^=RPZDy z-|lsw1m&5$7F5WC5|x?ZZO_i<pyCygo;<Oij|mzu1C3Ap{$DDGl%9BD=}DvWF!X!_ z$L<gnP;vr|5PNh!gKpC#J~cU^j1Lf(nvlX5DgQyv&jZ(Tp51O5p51;19-0R|4*p~= zk??FjrUBa8G{LLc<^e+~pXdK0o|b2dKDruyb2WU@db=}5g@wPv95m<xsZT)jxe~9% zCxFh@6GXDl)$oa{;WyBk4XWS+_53)XcKBF6bOf!yXDE~K>$Z9DS_smfay9%9KCST+ zxVgO^6eEt7v7qAwR3tomb67dRdOZ03|AJG2N9SRWUS~#+<O|^WL(pU*i=(A01E@q{ z@Zk4*0jh;nU@dUe-UNH|VJw}A|DE@`V^mncwJoR<qyg&$fx5_HAXl|MDdhy8$)f=3 zOZ-2A>Mu{rGyKhLpko-p<sCTu_*<X;`~M#rhHqcK0JWNWb5uC+hL<U-x$y9E+zaY? zmT7=O&A0RKYk5!th1dU(@Pnw~ZvjnX!TVgOAq5Ew@R&OTXkP}T`Rdt?JyhOz-UCfx zv4A>;F)A9tpjJrp5rNhNrEb3P@NmEx9%|^}!3tGsd8X*?OVGRrq^N~7{6K5K;Dtsk zXnP(a|6!zGN6-;xe?7ZhH9Wh0;R#sWv-zlotKm0L`uzY-zsEc+&w<kKTTl{ieZt={ z12lk`d<1kr2k4wc4&T<drPi<GL7|C~e!saIzJ)80dTj?*01t1_f~VUcLJd@$dUpFF z()UNuttkv;vR>UXA6|<?$1e?U`?h`q#~^=;BIw|Z?%kj??$Y_dwHthPs$=I-N6RCi z6*nv@p51%Er}@6-hK~=xWAmu1<r~+|Hy((7v_hSbM>mg(XZM!#;5H^3X#C3X8)%6Y z2ee-ek8aS?4oC*-W`>ReK-NHj+x3t(CwOJbLyQ>bZ_Nbff^VQ)0NR8FPTI%NyblU( zdGM_#sNv=L9~2S%%}f6M|L@go^MRq{?aLkDyHOzX5un&Hd<zOtQ#2EOEI)$74HByA zUfnt$JUU;$mP0ikr1u+G34hB$(4Yi#w4?JlsBI1}C(u$qQgFC3I5r;#mkZbe#HI6} zYbR!yltzNeJx=f$QC8rjjXgZ%K=}aVV0ik0g$K)jczA$JY5fH{W#s+8|Np@w#uzyQ zt{<EqK*#U?^XPU_3FzkN&S2p`>Cs!j0Xn57fd8zk;s4f?p8PJ~Ti<#l-}LAWk>K>? zcexIZ{MOrb{GQ$59o%5PW9RYKw_qXAs2ofPR0<k^2OTUyW7?o@TDL393dRy1&+a~O zE2P<zgK-5Dh~Ea%2pZsH0%c{$6adQYTkuv9>WP(L154Mx-U;>(Z2nflweze?=TXnj z6W}GNA3-bXs(JpFiXrzc!EL6OpaWSvx}7sDHR^&}-&XLsw!W<hcd=Xns>|#AKyBRs zk8WoTk8W>x8KLab9itNAYWNL#d;^>&OD!PL0xB>5zXV;10=3ZaK<7L73Vu-28Zy!X zaRNx4tKoki&=LSpUx5R34l57HR<CZG4<6m@;8g;Td^!(0cD?{Dh7E@F=9-TPH2+|9 zmHhAc{kjWxjS7z^XnP2XTRkn$6-R^Sv;;t<FbCK>VAn&-x2Z7qf`-x|t2H{`xqxO2 zA36s8p8#6J4jN{`xvT)q=+`^o<qfEL1?r;-KpLN(pw241jo4cj0AqtMeF)|NZ@CZv zPi`Cr*MA<(Z@@QYz(!C(sgwgW=qLbM*>HG5>$eICk8bx2%MIX|;s<SG>~1*$D!^c8 zn4{#E)^DJzX52F@4M1nGp9A$vJ$hX@IG~D=);9%sc7m30dv>B%4*V^k)oY+Bc^3u- zk7k=245hrFd1K4dMIT>+j!W_B1q~K3ye<ZvPxSw=hvjMh=Ifx56Oh`Hx38mNZCH3q zo&&KA3pRQU&OI+d$MzAe`n6u#1W-lh(amzhqk9D?Yhk${!WVi$gsTOTT2QvbtJdTH zVUTj9IuhiqCQa~(Zjkvo_#zYJ`~c36;PM5%jVJ;NL1_5#z{1b)?dvqdx34AO=?5ZF z90(5Ql8+!mAl?J7o&g7vW9M;4&i6<%AkTnhI*+<={sp@nrFrUMdAevlbe)JJWH~*& zJOmwjkKulBc@p5+`OmZ0&BL>^Ou)CZOagRsk7sXP0CdzBRJ4H_R-VV*GC=hH8EPz$ z0ZPx#qmIz-l;iPMP%;I{dme8Eoh1!s_U;9xSLE9=d^%r1uB+I|S_?Y!67D`6_aV5P z1$!9B<ryw#K^;^EkK+#DHL38MGhEJsrZ7R`U>bI9hRa!ys~8{-@Mu2B;?el?Y6}BH zY13|_Qjlwq+BcrvHFv=aQebnuE_WfC!8d0xfsO^e<J*~+0Zr;Y-4>q7b3tL?(R#a1 z)$pxn_m;OH&%??A$awHk56ipY@!-GzOZk03<H3;i4Zht-CMozP*Mj<<byl9eu^jO6 zU6lSh<Yq+V@m(+Y_^uInJqLJv7rveYvMd0$Ai<RZbl-sIaTi|LdJbO5dJYHhdJYuV zSolKjYN)e;xdt58;PoX~#+yOs?}L|bctMZf=kEm_O9nlHAMPHAw+F^OL7)aM<Vt`+ z;U3Vne-wp}XSZ7hY^t-f19aaCstD+s6;u(67tGMb2k^oTnvfAwETC!}vZ49qYtRTX zZ2Sf`Is=l2+<ove8q{&aBY&EJyfxCg5y#_hJfNl&YS{}OB0(;{K=m*5JQ82X2_%DX zKNYyvhu`3UQeOvnG#}Rhmu;Y%0n#P}G}JpVlyIVoB9%wr`UX~BpY`m#;t4vM?Kdpe zAjji?Cg24T=i+$uW^2G^WRE+0fXc7q&Y%O37>+roFnAny1{dhZoxz2G;Q`RCgi{X~ zo&=3EOg-4k;?e0`;&I#=Tr#8`Zw6<32Jn#&kk*}V>l0AR5|Q!@UNAG1$byck_UH!P z>;~EaRU!>Kb=vUT{|la-M_&tq>}Xxfz`*cQ1+>B#bjk&MQVi6-2OmD***O<fu0!o) zWbp0Y3aa{GEeH?Lg<zOho+4cc#s<Ea>KW|xEzfQ?(1l<g-8w2B$<8I7-FrdCd33r% z4&w$b*vJAo415fftAOWmSMU-&$K$RXphfQ`HLyb519su4N2hZI*p7c#k|``sx?wqG z*L5KV2Iy4NYs6+txb$O$G}0X5ac3;~;P7iBShEQ#4^Bg`Z^A@Do&*cM6a;4~9Tn(> zW;T#ME^K5JrXK71PzfK<2DRg!o##LYZ*q8oH+90i1xad9+c8pHwFc+_P{`RZm}w58 zyog`WIm4s#K5Y02kzz{tL8--~yI28~UXHwGb~Stgniv)E>4el^ptRZY0#tx^LJo&T zB$C!|C7g~8b`1Pe4}i9q@oxhs<^LsIjt%w<{8JBlFrM__Jm}l{&9f79vp~y3&=4r} zJVJQHdV($i1;^|+a43S3MaxOBN=SzpMJ4ElL)cnLaO&L%T7}V2%fP_j0-BNm%^`zY ztFY}D;KAcsaI*q39PI&ZKY8}ThmXOd(LSIvKcTndK}Mqu7(Bc8K$f5!cL%M_fwaLu zt7YtAF@s2OF2W29FF{Rn_^q5EkF<iW#srCglQ+o0t^S}y(hRw26|{r|+zn~4VBl|A z&H!3EvIes5wHv<Hp!1jq<bu%>{5}9}aN~gO#RlzHb2`QX@dG&T9e3woVt^i<1@eOp zrXK=@85ocjYQuAjpfEf$K@%aU$AmO4220xD2z=dx!hN|7R24xN<v_JV)a`<)LlIp9 z%{?_LkR*+sec<hRP<;gL526*yVB?`HsbJGJ9?;ttTK|_ActDnugK7t)^4`O8K4|k) zi9D9`{lNzSfKJ<&eI1N(#6L{3!~$k8q`wI@PZ+~I(DDAL*95@MOYJSzfSq38(_Nhb znhueG6@@SwR*Q58C$wIw7lNq=^{OGgU5to@6@*tnxuN;61}sS7TA{H64iI?%0R23z z|LzH(0Z_Pnw|he8!T%>a{S!)5S`XA?*>o2Sn;-zUB^v5e7)sbYy4n9Ha2y8jPYibq z1J|$Mo;hgi&p+Spv<%N=$mBMtS#RtLYK%k1<Gj1KyaBcEVf8Dheee1Is3*96&jq@G zioX?7Zon@Fa0Jy`Y(AaeT{_?Wp8#6x2kP5-BBmGkTR>;hg1V0m(EcN$|6L2}XLo{b zG6vmg{F)!!e>_~A>Dg>^hoR)7Z+Du8XE)0okM0$q2^1e_55mZ!`KSnJBxiz0H)KCH zA1Gr&(lTgWGiXSq`KW-e<-eM{uUT9=a~VLFnnCUnb~EtNeBg2L2eXIe;iBm-;EpBu zIt%EoPEZ8F!ynN;frsCJ-|q4Z=*3+wprtCVhHv5d#RIhd2ho2(xxWh<e4x<?cqf7% zROUk(?a<{su-b#Td%Qfm*}<FF-u<5dIzGj-+g-!6+aEUO#ScCn!|*m@JRRIGM;iY? z3jZ1v4lLoH4hw(KG`$aWK|VD6LH7~k3V+bLCjno}?<nD41G>lAoj~|w$yunkk-cR9 z54v0%+;H>guFn7`eCT*PsH{o=4KRTYL@xjxy$({wujvB1SE)w@lsZ8Z`2nD-5F9}F z_!vO$@qyh;<OsRP=YmIf2V`l$$r3eC<q-gy@KOL7YQV4Iqk_1%7WEpR1kj`<_Qg1a zXa6Cy``huPKVQ&(@GIb<ImjrNrK<sdiwtNhK(_^`Dr^BQr3K9xdx4fx33zrxjy&zw z0G(B?4e~h$EN3It_>f!XA+2A~S_ckL1Ld1fr!jbUf^X}S5(m%jc5nsPEdeqeX3~9V zB>-Iz4!TPhk^UhjF&Vz~?9@>K?E}&D?5+nNHyG*Bc^X|OvuAg?1gx$C%^!M#Zyj&_ zUt)=>)U%V#v%4JBL_w_|!KuLGIOx~~(58{n1FzYkw{4@UgU?gL(;0k>8g;RS<8fDT zOBJgr5Zj<dI<Y1}SMY=V1Da86mHhwz|I1iVTLo$oSjzD2%L7Q&IamyIr+nhS|NlXi z1A2cEbia&e=fC|PjEs=hlSk)a&+al%QxtwBFX)(k(BdJ`Wxmig$)ICRkHhObST`4E zU_iRBV8<BVe!UKw-_Y}404VQ)@1Qf_?*m=I=aKx)Bl{cZ;!J}AP$#_gf2sCsFVG!y zIUcN_5jCiw*lSbJ{1vE&)qFt01DaA4JuJmR_s{u*@1JuA-#_Os;n4}{;efiBm|<@M zs}R9%1&`I^zI+Z+zJu;N`0ml2p8-9I19AjP9jKUtT;K_>55VI?kemXlXF$~zc>fWu z`#VAVD?kI0XcO*vhS2qdkn-3AWDaON`gJHM_anELK;yU=qoIPYbz$KT9<MHz1DgXI zZ?(ArY5)X)*4LNrGd%E`%kY3>a~;oL{`sK8DZsZG!}>=a-ToRL-Qflvnx{Mt{$ei4 zH9P=v0o=bH%{B)aO1V7#AMmieQ1tP&FG#~{3q*bQ{{WJ9kQ&j~nkeoEX)G24n^W@9 zqg&))a}@_e>G8B3j0~Vbe2{HO>LKv~S^(qG{6+)3U-_CR_`Z73B||Nsqd`FXS0#Kv zCx5tf)u<%w1MM+|7iz5sJbEJ-J@{Sjy0-i;H2^08*zp0aZ$ZsY<kj&lphNXMy4OOk zV0v5n5Za#I1uDW}4LHy}V?Ld4LEJno1_qDhA0CYN_ks3pKuib8d;C9O_-z*#xG@8{ z&>b`^ptc`0=?qro3A!Qszendi$TnQC*lSP6z1sW?4EsSfH&_IeJE0j7G^+%vcqBj- z4+n^)0GYZ583LK=@$LNJ+4&Nz(eapj3ZvtH_XM9#&=yh+q;7*x_g+wo8?^N1-b)!! zSp&5Jaaf=xN{(?g{Qr8#Yo^z{;0wbb-NV<+pp_TUf&(+lfsSX`1uA*LjsX*|cYxdH z;PpMNw@VB`!Kbf@J@}+CgD)C#l4<ne9iR}3J`78*i1Y!S?*VU&xy|2V0$Q5_b)aYG z5pah(3nT_P$q=%C94Zew4^$0FjuRYjkjkv}KuNq~1L&58eAvJYXhHzg`7IRy%~Ny0 zdcELv0?%JWX)rK&%mA%BV?2(UDxxsG<<WWcwflb1^e#A%kOK8}Dk2$x0v>X#{63KH zT|o=N@B4IuPDKZ6du^GvSDPP2J^%KvJ`gS7kt~o>*ztBKj)wW^m~#r_f9HhPKA4fI zjglIW26o_8Lotd9n30CJJ)mp<9O0v{ui0J;LXy%^PyzrA)q#@IQFwmENQ<avQbD}C z6w!VK^+&<o8PHNfNYsMWfb$pR#0HPf!@kMyeR`7_eKcSD@Vh>SIS`b)ntwBTNFMOv zeBs$!!p7*?8=~?bRs}jAb5Z}#;M4g7o_X*z6;L<Xft>)#HwQuP3-;{%_rh5Xl-6(f zFn)%XDKP(o4ruSKhg@mz2|A7AJGfMU3`sj5W3gj^-}nY=4q?U->KUF;>%YA|iZmbU z(fB5V1+*UqbSt1o=Wj@z)?CfQ$lnUOy~w9GTLYGqLHCA04$klv@Mt~B-*Od{BS07K zfrhLudUPHIufvDbd*Ff?v~be{Z9LNl5+6RjIVu96qyFFfbbj;cd<0uT37=Dk?G^xC zAO>okgO;@Oz%+pU()@#|R0Oii9CC96EWI?>a{MphKkf=XE*;{d*I}SZaPX+x{|TT` zDOba9ubnW140Jd1YX#7T7|7BmOckIdl!#IcbfjA25l|4q(?jfG==~3%{gMz{{|6Yf z9w_C243{F^-~i7n?kIW1vm4Y=_UOF#e*&mE?buM~z)*4swE7No<p*T_1h{DlEAPPN zXE!rMc|)}WLkX`3WN;xGtS%bTAcWV~pskYN+N|@pNB0&L1s2drl+VF;J%U5_Sc?ky znn(Eld{vL$78TIu{q6!556GFfpwS$bjmW$7^}wyD=4y_=B~l)}ps~<ryQaa$xsEl1 z*XbA@@Mt^&vKpxi1P=wQTlwLJmacvcyI&EMf1vsMk8f{@iiRiXh!D?i9~DHO_84fL z4@&z9F`lprG^W`Ns*f0aAO|YG&OvT3LmFEA%}t;L4xQik_U!g$*yjR^C|G#_+J6MH zSi_^c0TfxD-60@HfZItPmbc2-Ji1M8zGecYsOSGLycPr3cc2?HyP@qbjn)IDOTg3F zE+Bs(ya1kxuLJF-YN%0hU?|~$jS(3hfTuOkk=!l}450Ym4?02{d{_%O3Q;E~G+r<> zpx^%pN(2?0ko~f#n?^yG<@Ih+0UczFx@*+2dmpG)BI-=4DMvv1{~t#^`4Lp9_JZ~; zf{s{T%*4QO+(m^2bUY%|XwW`A1CSO4&<<6WU7*=(==oBhJ9zk8<}fiZ9BWbe4yq)& zLsV2CH`ss=<n(~wUjr*ld*`SWfR4*O;L&;C6M7maw15GxUjkK`_h1txu+jtG<ptHd zkirVIUev&&^C3t*WX~1o0Gn2ACI*H^8<qde3=I5zpsNZ!`1gSpp7XbWR(OD;!Kd58 zq2aGy39lpnc9#6+2OOZ?tnh0KcY<0&p!Fn{2a7{J`1gr$d;CA>(fmuV<gFwBc9HPr zM;vLbmr5UCmO^NoSfNc8@NFre!(opyGcdeV1#JR@%6RtX!Dquj<@hqth*Gy7q#QpA z=F~}ec9$vqzX<X+QvV!utj#*m*g@xJ@Vu1c@itI#%*f#Q&8>v7#KyC`tO9f~v$11$ zSi%28j-6oz9*{$2zySbdd!UWm^S5|2gNE3*LB?7jtt!~5?T|nR-4|4&VgNqH5>)O( z+L#`_d%$rDF}xFeeFZ$ar>KDL@B`Hp90(n-YJvl_6B;ZJ3ll^!3#t*IDe#3pGXn!C z3>%pk7+!+rNiaj-7gh>@T>+c4ed!MhaE!JJXuRMhxFo@lvIflsnu2=q7*e1UTwY2c zOTp#<KmlR^9Y=;o_!UM5hS%nZCA*kz2AzbCsJGx6XM>Mh-v>TJ4|D+&=v2e-120ak z1n+fisR8YD1m#spa7!3Gz7F;@dV&%Jry*#90*y6!cH>D<tk@D1^xhFhP?=x=Dic75 zLV~T`0*-R9$DzCV4NtZnDB<ty290Ea6Jn{{>tO!vEh<Hzt-%LDXYrmuk}WaENS&Z` z3-$@l6bd?j+p`-bg?6q6t*Jq(pFs%+X-gcuDwAhmV8C`>Ht5`6Q2PR2*kD9FYCL%~ z9s!ln;MoMEb1LBWfK<OML|&l)mkPm}NTCs5y6hzzC~-kYlrWPE>Pk#l5(ftu)Cm68 z`2YX^zuf=#|9?b(%cJp)g$4ry_8J0mKcna6CkH`C2!8<0m2&jvGlJ$tHC<E$e0ukQ zw`6#LwjP0c{P6Y)v=;K|L_XgedJmx==aMg=rHp=@DPI%}FM*d8fo>xN9XJejE@<s^ z^WXm^W`3<HUldB+{aPU!O5}D4sDsW@2hFj93kOhx7pw&|DQ@oC`nI&~bpU42D1+h_ z%Q^O-<~Gut9XukGP$I&k@dzk{;8l3+VaR=9kjt+jN$Y=rNAqq_P5Zw@5ZaLQ>4eP5 zzUBa}NdxVngS95n=WjGTJHLB&{!Mdi-U}+I8A`-KYo>iV-~XQgT8x_Jc)S%X&fwTw z%fnbI0G0LW{P%wXXorMnud4=lI00>GAb-n0(5(x%LG=}=O@uT*@D#lE`#*mR=<HU| z;p_s2Z$YEN9MJJ6M}7fz(CE4VqT%BM+E69o+06%PA2ru;{4F&DIRx5@a`<+Xv4qp` z+iMwUdnt?qI`-sYc?+}!kimoB?IXxf7d%>T^G`Y8(DDN0b_TFqsWZ4e#pl_Lr0sIC zrbp)u$bJ&=I1|!%6+g&6pU#gZTo8G~1BNF(T2DIgPdVz*dH}o<;4puy8E9Cf^(2g| z4ody685kH`4WEDyd<5Ox4LZIwZ2~MsgQk8xAPqfG@CHbL52x%lxe4~L0g{Iuza3*N z;V}FLY9NBnZwf{7uP49T7bLH`w0uDFDtJ&3bmV0>l9tQGx*)&8^ACo9LDqS6zC`n{ zBmb0R9<2vFI?sA^BK!;Eg8b{)Q0u@@!UfJT;G6<p<bynr1dcCI`y4dKqTmZUD)?Vo zXNd}*2k2n0Q?PSFV7aRKfB<Ny{&*WWwSyMPA8!LS2|&#|(3GnhteuV0Dg#}P2U$et z**OoS9If$-y50-a_yx5q`M~EtfCjtYNPxP$U^^iapmrEY;xa@6R2za%0RWvF@7N4( z^#12>=?5)vIPS&+QVnitLrc%r1Et}x*2BkNu!DFYtr$?#5i;YrA9R8zIM94LH-HA) zKxbCMMq@faeIk!e(1;@VYzc@KY{M$3!*H;I*#mN}w`2TaQ1cDGbK$iUd~^WnR#?Cz z#`P>wiYJ(XV28e50UBh2Efaw@n_wnlACGN(!@<nJ&>5n_;o14!r+bZx2k0P$?iLjX zFug`407Qch8a(9FdD64<fM@4RkIuhf>tJpJFS2oE@HpNIOBEi+TS3tbNfmEP)L=sr z7^wm}_|Q2Qq#W8VgeM`;wlMHLComDu&SPjP$D`X7X*D4@<#fAhcz|cn=5c~<a8v*f z8cyN_-DbNLWD9KI$OBq#DtL6>@ZtQx-wG-f5jM4`fEKQRckXZDWMBZD<k)%=JaWhH z`O&d+iwd|YbKFG*dUMfKklCQHp1<(_f5*-i70~T6;6%y5#lYaxS)(EWI*b5hD69_! zHVt$I$^REwU`<CsQ}LjauPr<}V^jqATZFklN0*eSXn@*MEH2Q-6lfFMdM*Zr?idvv z{?nbe4!)A;yaBlhlz-cM7yfOhp&<#XnH@l#p!=}94PfI{od-Oce>n0t8-gv^qXN2_ z8kDshpb?v+VgWjDQoyr!j|%7#E>CFx5;VF4Qu|^jFX#fE|NJdmL0!_`Ju0BXkzuQ_ zyL-T$QOE8*;85`CZUHANu-V`sk>g@uIPS^=susbg27npe2&+J?wom*5;OzC{-Ms(* zn}0BtD1g@9n86YqB13=<<9Z1?V;*c2==>8<Cm(z;9_W&&Rvu9JgAQYZC2!x>ZzcIy zV|qF}_?}e`$IdC>_)P;HEeJZahLHhmILMt)cZ0@;p{FQ<y;Q=^fKY?#fNkucYo%}V zw}2wexAPy&YEZ2$02?I$aU_sA9Q#1Sk%*$(qxC?EG^D;e#-IR^gcTC42TEUqN-hmh z9J2UyzIq|a1G-U{zg2)8x^M|}=O=$lAu9tz^Y8!sEp6-!44_k4H9);AP>jNY8<fau z=7K|<zeNwE9Mqi<1LdFI5)}vVr3$-1B`P>JEpPC*xP#@kfYT7NDP}NJUa&yZ$^{Nc za>ix~BMwtO%z?UP5zLe>Jf?s)%wzM>DwruTFjHLcm{JOs!}L)K%oH)0DgQuGiz8h0 zahM_pGvxwoU}Xm$Q(l7QFx_%vHZ)wiV5Ss-Rbr2$#b7y1QzpSoae<kl16GOMlvuDF zrYSx!Q~ohQWBM5z?wA(GVG0|}lpQcr7T_`EB3KU7EeB>n!=(sjN)%Wnb{}<v<uFaD zf|&xk7ag3xMZhYto8k(V!!*SNX38^IxBMLVEGq1#{0GZnn(}TY)JF?orgVT+VmD<c zSPs*a6);mkrzL}Z<OEiU-IQXm9HuErFjGJ$Rf0|V0~(CRkppybm?8r+<s9txwrzM! zc@CDtbj!6F&~O2@I>2rz0IS6AqlI8OOj9O6Oet{#o1h0)h24aBupFideh?G*Ti-A< zFo23rP_w6d4!Asg8O{PKXKO$gUAzL#p*ZXVUDEB-`5rWZvZWb3YSU^98e8jp11?cP z<#e4g_y|&Xf1ua(fAbHfB6eu~|Np4vYfyQQ7~KK&0(wP3_ImKUUg*wIVS%>*AnpM7 zKtQXQyM0syd_b2kfX;{J2z3kvTMAkM37%qn3g$Nds4w9Jg-0u-H7E-<xtkk07P}9% zO$!wT>jWKf32R7C0fzu|<jVzgc|F8*a1{bo4X)u4rxk%~HAL+KU90o*EvOBOG4cYM zgn4}lvpoPhVDKgAjB-pV&^2eT=VOY4YFdP~;3Zox=VBcl1R0J{3GOh0hA^H%=W=Qt z82DT4z|O5vQ2=}LC1`*W(@GoASR#1YJBG(l2Oz+%>8??MY`}QQ26h&BE(E-|84}ut zw?PA_km*Knrxh|yvJW(viE!?57Zs3C8D1XyigdmdeBc9hmKNOL0c~ypwShowKv2u- zWfItW^k_rX>C*Wgbn37L*!$pS<jXBYSP08HFWa#y1~u~#UV*#r<pt1?BSsjiqx6zs zmmt1844NUrP)tmuW`eDOM=G=wEj7f9S=6IrVZM6p4cqmPy|8TU1Y3X}vZz@NW*9h4 zICeq~tOPX?1waSiKz9FuxZnkO2rh>Q=oGfkB@hwNL5!dVHUs1+CU8iC;ug8l>f8Ap za+M1t4k3vQG?ou)DuTrj-D6M>wsSS8hYT74PykO$f(sK!m;YEZcy1E9!231VF=hrR z8<g)myCFSk2^7OU8jpawrAUKr@L+}wtAn~VkhvYO2S5q+^$EBtc$x-{%Og?^_WU~a zHz+s2qqgn$|NlOaHSeC?{Ls>EAL;@$&u)8Y3A+ol<p^HLL1v-%f!3aMLMBPTQ3Z|q zm!9A;+`}k-eH{$yHG)f6SaTjDfui>Lp~WIN8eU%f_y7NER?p5iuUS1h55Hyuj{rP{ zk5@xo0kZ<qe}G&UC;=J5g!M+j7ql6Edr=R%8<n~BK!qLJm`P~2HK=>R0q%=}EpI(g z8UeaZk1Gv4f`7oVlMOt;BoXb1ZPpxA_8{T{JW>4mB4(7~8ka>aWV)@vPJo!w4H|yN zx}N0!i+&ac2A|{?-n};Z&?p0I^z1z1-Rq*t;M-fm&Ipx2biWRJwB9Zi_U}zmWkmGW z4*O_6_UNsKt?~dZv-AO7CId}|$5`ZvU1)+@M1b7`UT6Xve+4b?hupvR0@O+HN&ey8 zYhwp>C0IEqni+q4_S(oHi-MM+Fy2S@#{a`Un!jPae$Wys#(y5Y!T)_apTkC|9gn%l zfL6#nfDBMWE>wf17woZvh(xekTn(SR-j6&V4_Y4yTEYcQ$KdfHX0Xz3@Gv>($bCpz z)V&)#cK823v~2R|-VGi{LB6sZBmmAHz15I95Y&!AT2%qsngLDb2%kgN>%qd4#QV8n z<Dmkco&TW=us~Ne8J={7W^`DvfQLib9gn;7fE)<+Av8Kb%Pl}+D8-~t=Wb9j2~`3s zD8brbr6e@SI-4QIBBbR7-QxmkrGaOb4uie?9IWv*H!QBe>y99^uIS+a&K^klgT(Ma z-;WOtAJ5Kzpn;SGsBd6af|4L?B^0=3xDQ@11ZkQ$9b>U(c&!g}F)SDnV>zI_kCwW? zE6^a`hOM6g+Yd@$pvms3peh|wLG5A(v7u?9^+1UN)NLp$KRtTASz8Zy@Vnf6&EnB~ zm>rQhj(fr!4h~9;C0wr!a624y*aVuxK^Ne5et@_f90Bn5JmfwNnBzc|1vo1Af>@vx z7odeH$g(geg5*G_LBZsZy}K900Vx38c#BOz>w%JDm^d3!IPC>-S`U<j!6aFbBwG)Z zSi;0X>JTm|QG<yit2cbxdH^&HbMPtCYu3FW8SqXV(8+;F<IkY@gY1X?=GplN>~~O7 zfkYyFeAe<tsWfP14>Uf(ivj<`_Ex^;hN**y!wi8XLyz7XW+s>*xHSTqkArz2?Klgw z17w3Rq?rP0yKo@N`WwWRhNuPkYg60_1XU%9ZD3~_-hSN)OW)x6S<r-xgh%I9kIv7X zKfqHVhL@lNj*gwj9Gn0B=WhWmw>j>jA_AIy2Tx+LsH7cdQDI^L?dR}H>t+U3%xRr2 zDomiQBCfDj0qEW=&|s<!OaMI0oeOG!_SUGdpx^iVTEy@G%#hOEp!Nc&Wb^2J2EOzc zcB3fhZeh?BgdUyGKrI9jB=J`8itN_gB|M<k0u#hh%%HV+;EQp<r+;{KL&`ctFB7!! z6OpAnx~0M4g!M8wkIwthyB(m*2Nz>D;Lwa~y<H;W*=^6iT^O2<p+&oAw>&ZSAhirZ zQ}5X3kx`f2!h!?hz?c93{r?XWf)|6xZQEC1S3p&R8hN1OgJ&;lXkcKL0$sEKT9yu4 zqQ__f>gj+Y1cX5YvkVOXq3S>lF3>WwXa)ubMo=3v0Hg+lQPoK>Fff2l8U^(#8A0I$ zDuzMIKuf~F_U>U|1~q^gzJf&=7{CmW(V%`dBk0Oakbckr6(i^-3eX+XV3ja?u7TX` z2b#>`XJB9e-Cf5}#lXM-GQkq0<|zXM1E}kx%E-XL_zF}2fweO*Fc>jHWWdTmXBC2` z^TCoJeF(pT!USXjXc+|~sGkqA42wEYJ_M=r0fh-Dig2g{g$XE(y+G<fJ@Oc^VIUru z0SjY31_sas4+F?bMvx|dur!7`P>_PW3p%}-5oG6N?CL-Vje_h29T&|AItJl3y1K^= z49wA>1_w6-1H&wkEU1?+$H2g_5X1qUnE>L<2XR0v2S70cRt6d;lL3i>@Dc_F22im9 zI$V=+3zP$rfX6u`&Oj?;1Q{3@KqCMQAdBGst7l+f0Lg%s6*GVuX`rA7oA3mhp1y!W z0pt--ZyYQGi!)DV(Be@BMX(?P1DF8{okoxVC@RB13=jtGU<HK-Xk{uRXo(NV(I5%9 zJ8PLsK_LNJN+8C>z`zJv)BrN;Iw&oHb_9SpV3~MENRk7m(;P+y26&vFfTptZAU$Up z85ltQMzAgap)#Bxqgj|37(fSYgJsbCG6^imz`y`vfIQ|5Qm~nUfdL-VZj6w820DR~ z(T@=l0bp$)rJ%G7%4eVq2nq*2kRT{Z!AD+zlz|p)fnrk;<Vw&AFO0C5!@w*BY6yT* zxHL!$D4l>(FNh5<7eK`TD99v0egYK^pyg;_6(B1??pWWzzzmKwkW;}jAO<KNGFccH z7!w#77!EUo#Tnr704bY5*M)*?2d#8s1PyY57+{qcX0t*>7#KhdklE|m85kHrn`bY9 z+8Q8D5EcJtgWUsK%nLI5A}Cpb0u{so9TUh1+G_(^<Ok9McMn((NaQ?-0AUaVWDiI$ z<8NrjO$C_-vj^e_P*Dj=G!sF71uZep1GQv8CcxA!Z3Go)bHH3swgSm9fEb`)H3OX% z09s2AY82XlIG|Jra;yR<z(E5&APyIZ^PG`^0i=fmqzrUkDmc_Z#z`_k3O=xDa!im? z1|-3t!NkA-YAS+_wuf>8K&FB2+`>o`&l(#TnD2s}S_sz9z`y`vfUK1OMItEgiZd`U zNP##^(Dcs4%)r11x;G8v)Hfi*o1ikcKpYpS>rR6>o=gl3T`;3Tw;O=;fK9uB?CwWU zJz$yVObiU5>nOq6ek02;Fhj}}u#6xxBox4UWSJqM02)zcRA<JKf20@~7(n;h8iTwH zYI%TCIM^^NX#Vp8<sT<(`OlNtF%DXI{RSxlt-u21I8Zb(g3dky`D`voh8G$d!61$h zBLl-fuoa-h1ZF_fEGUpcNeMJo&j>1fK?0y+lo1rsL13jwdLU&kNE9?R0-_l}43G(3 zAd5hi0jSLF0C7OYD@bN0h{MRpzyMlh+yml(>Pb*V12zB@44^#yfq@x(hRzYNC<6ln zhyl{S6{H1}sX#v64B~*S0m*CxaX<|bP}^)hh{FvnLXUtrpgDg~DYG5K0R=Z`col3q z%uYyt0yP~#{>}sW6m)4oB3KcK2WG(PQqW*0$PJ*Z%m^Bk^#e;Ise|WfP!R~01TjE* zIN2B&7&RFg7}P;g1d@Wep}UcR8I*Pz7{WoqAPi!FG))FM98_L6GcYim0%;Isgd{Q0 zLRtpU<rARt0xVMxmFWiQ0p(%PW<ii)42Pjf0jvyEd4P-tWjMyG*wWY*Cg#<k+|B^n zrVlm%!~p4;&d<QW_?Ll!0W?Q+9n?~4XJlXi-E(>Y#9?7(U`S_RU;xY1fRaBO1H&bd z%nnWl22ino2gDKOVqnN*fXeuCGcbTE6tJFc+>p!!))UXezyOL1u+blRAT<+MMu``q z2P~7r%fJ9?9)M-E`4|`^VJ>jtgVd(AAWNq}IbeJK@-Z+}!(7n74^h?+@?0-J0|TgZ z1$+A#Kg2m;J&*VyF8Bme_KF`%-iD;5cxd(nZ9`@Rg$70*f~bSlaiEpljGz)A5^N_@ zS_0LzpgA*83lEes89+u0!Bl}tNKl-BYGTGpZ0#dLbuGA^1~Lv*C4y)M5Cc@^ft$ym zZUZQffogaL&{8#!ZD1Kt(+tD`U8T+lYSw@_pz}ExL5JaDl<$Px0SOOKvl(O#Xk#rS zsND<7WMEf;l0B$=fT#mCi9qT=US<TPLySBK3O7(s0hFUb(*fWf2&hN{n+7UkK>BZi zLK@U^0TrQO8Hha~W&o&2f$VAraUu6}JA(EH2YA9x$oK8m^X*O(@acTuqxr(a@<y>A zXv?FVZ)YBSuO>hE3@kR!<8I(E0Uf{8dYiukwBFeRbR02gQp4WU@(6!Bs154N_{7ul zjt{@n<CmaY5PiGTID9&v`e?rOu)OQhdCP;}>8eNTr4k-T{%z*)^=g)P`I{Gm4;OOd z@a!#-{qLdq+DG#lNPY7o<`Q|2@3;8n865ey@po`|cDr$S{6FB?38GGW{6AFs+@tv) zGk=pTBieb5Na}k%7(F}vIKUzvj9?>(6M|aQeE3i4hL@m5kSDX8XJ;J8%k?1V?g9Dz z|NsB>h*1(Z4$n?DkIsWWj1N6K{RBLEi~qyCq2clU7RvZ7KK~R2P5`?W;$Pw%i$xW( z`(a}((6d@#V>sZn0V2TTA>i}@I<LhOv@-QGXlS<ctB2-Y-)?>1?sRxUIa&rwDEVj! zh28VGJ0hXH<?jHc3bcd*DpkM<<&6)&(^K#^5YKLR4j;`IKD{c;9+pRaIzM{yyPxss zJmsNzt3(yNgYuq7=Vj3HEdlUR9N@GK3R%#SL62_G<}AyjWg0$~A4~E<W<k;mk4gsz z=q&kecSxFX=kT?BR{HF<k0;|*-_CrF*Up|;;?SMLvy<JE@rZ9{x`2=6=Mp){d=CFM z?hX#{8fv&{o|gAYU!a|l0UO<7fF_Rrps)q8K{PT3iGeUk3`T?4_^_dISy4e=ylY-c zL4Ial35rrfGZeXaPf+2Eq{7e?EbpA3mzSDcl9>-KjgjRo(B#ofFfu`x_sP#MNJ>o3 zMi|o2q6hABGBA7q)p`sJ3=*KC5Ud~#bZh~b1tHM+h6fIVEU;22OD)n<Ffi9MHf2B- zFwrwGU<eBe@QX)yA>KW|B;GBvsJH}45UV1D9t>%hqWpq_)D(Osz?AqTV%ntOoS#=x zl%E53Y<x&jVqS4hA}D-A5|eULt*jDLQi4)*^Gi})^Gb>;trQeO^79pP6Z0w+Qu9iR zGE<8cGV>HlKx!2<R8utdxQI5$zqCXlKTRPwH8;Pg5~j~5Kix_}0jHEzenD!Um4bp# ze!4<hW=^U?Mq;r-UcN$JVs0w35g6(+ixm=cic%9(DiuIR=y5R=K^zLQ5JR<+YOxYr zeQHH!aY?Zr7ejdxrWWV?(wvk$^%AhD3OO)mfef%xP+-t6$t}<aC4>0X+|;7<)V$=% z_?-N7G;=^gRtgHPFeOOl;4lD->%g`k`v%o%aQlfc9OUxwqRf)aymW<<d<7hCP{_<H zE=f&HK?(Qdoc!WcD+L8G4T@fPkfbGM=A@=5LemG>p~Z=1sXqDX!TD~9MaYqw35rul zkm6Gh_h5NZW=X0-Zen_7vO;oxes*Rm$k}k4HPZ7-6jW1m6jCb+Qj<$kQxuRADmI6p z8H~@MoKi%ZC&4I`Fw4nL_f0J>PD}>{97@tx<YLfOO+iX6#i=FEU=QNWB#9|0ZkahH zsh~hbF%M>KNM%8)OJ;FFVo7pFY7sb-gM^TBw<0(<Ln8|$ho(F@H7^BhKCC!^Xux9u zT!(WaD8D4;<m4wOf}#za{}s~mixl!w%N2@Jlk<yGa9iw=n3s|Rw%IRVp|~_TL!qRy zAe9vL#bBosr6bhGM<D}ZAu;Mv!WxH$qSV~{vQ)S)i0}js9r)dqlJA_DlLM;Wirw-- z>A){PuPU`DU!k-(wMZd7H7~U&Ga2SLg`(7w(xN<Ek%!+bs5=On5nNeZlA4R=D$ksp z)bzw0a2zVA!iy601ecPJRX5B}#bBdx_@*?aAigNIur#%}Bt9oUDZU^vIXkt)O2M_L zD8EP{Ei*3#RLp@AV~#>besPIs02hO5u>vgH;nEIDMH-q4kWvk#K|wW{Avq&8IXfO) z5<|)%D+Pt5#1vSeq*0!j2P%HlRg2Yi6hNgCh{c7eO+(X40n}Dd@XIerwNl8<%*!tV zH7trV^Yaw)N^_G^ixg7wQ;R_vDHoK9trRp0ic-^3ixfa6BFxs*Q&0%W$ShWX7O8pp zMY)MNIh6{D3I#>^Nja&xdMMU|>eP6APPelKS)h=Zm!e<;W+LpuWe~_S5PyWF7SYBB z;1Gv3E3K?D^D;}&3rJW+f>4#4n3<Q8pI>05P@I~Rnp^^nOFb?I1!&>`HE6696jVW# zKbjQ?&8`*6sRf`0lR|!;LUBGQaY3^_HmejuT>>Bp6_n~AsYgd41=NNE2_(atw-7U| z6hfSdQ?H;=0*_}<94nM(q~<9kDj-Y*r2()-sVSNe)8Q>~D=UP5AjNZWYKcN=0k}j) zn1B(63J7gZi75&>nZ+fkxB>x5EyRj~{G1$cv7eX>3PE%yVW=nBNf2vt@{_=U4lM)F zt%3U-luQ*u^Rn~u%kvb9OA<>;i;?R<L}Y>rkoa79g$-{kfSL*Ur6uY4pooOZ>tO_$ z6{z5dFGvL!JMl%S1^GoK#UQ)=^1*S92yG0P;?fCCzwpvXkBb3PxZz2^*vtY||IPsl zASpy%Kuh-^Np#m+DJXzL7$gVN2x+sR1sbR<O-U_IF3JRF7%PQja8n>XwFF%9f?M$n z=sF?wOMFRk0W8pqtrVbMhT2A)7Gg3g)H0Amp)pvDRy=5Ef^D->KnobGI?1!rN&(ag zDnpJ>G|Qlg1RN+O`Jm=DI3Phi8+Z|vo>~H`&XOuYeItcbP;F-gb~;k7$1n%13|=XM z^eZG)g5yO&L$w&Q*g!V`oEa4I@=IXl4yYlXo0y!DnU@Nx-&Irez(@g<>=jf~xEMm5 z0|>b)J+-8uD8D2h;uR8tr8u<&R3PUUl)yFNvI`XB;E)9S093Dn12ez0Bq_f%F9n>w zb29U?^)PZJs7Q^6hC^n4o|OWu*h$AwTAW(q=joi7l2Vjf3`)c(?L|zJi&INV3*z%q z%TbJnnh)voK&om?t)Q|sJ}tipT9<>$7xYRFElFX~K}_mJ(`E&0>VUHYs33$?aa;-t z3JT>JpdLFcs33hyP)8XfoYFG$GK(|Nd>#)D4p{Jly7ExF(4!QuZUy)J5{1mXvc#Os z6mU;CH$MfGGD&j-G!8&DfdZ&`UXltjD;?xtP^Y-46g)zOrP+YrZII#+obW)+1W?*d zEg{Wiki-Xe7|4j+V$4*C*9{Q;;F27d{`Axm|Gd-?=Kw^f6`~6qCmE@UDXB#iwnm7u zLR%p*Co?@SH#H9$Mi^x>rZG?_E0pBtE9B(oK?8>fjYvLB%1^0efEN>>T0b){IX@Q^ z`OrE8ORW!aN~jAW(2z`ogc*7|#?%5$cHnR>NUY4sPlS#QAnMr^Xs_N%K>@9I1nJ{J zQWJ)U!Pzx69@LeF)v}=0KxIKHr0_=%FE{XD4ybTXOi6)d0g!G5)nfcsfRa{f5zG<| zO)JQ_014JWOn_U2H1KI<1@%WxemcwsD+L9}_$91H0(GIFZNXG<5dg}zuo4t8&T3@^ z%0viLK;1a72SJT0h!;_8##9Y;Cl2-C;upy})f5E<c%n)!N(Bv#q(TSE!L4LaLIZWr zusId4Vc_xv-Y~^u49E#st0W|6S`oGio*VF3MT9Ys9yu}YwyHyS6lhQzI!&NZo>;7q zlA4nW>UcwHAXQL`O-n6G%}Y)#RwypX%*g>I;lxb%2ne!=LFIc{Y7nS%4botx;Fp@7 zSdv+mssQeAgTxe)^GoweU|sFv4A_`(Mq)uhYMve>V<VfHo(dX^NRJ0K&A^R+lwgOZ zE|4NvWtpEBpHvA}4ywxiK;u#%y<7~S6aj74;Z~1gI@CFkBo<$sT2z(_Y9_#@RnW`_ zb&x@$NLCEF1({Hb@M-l8@Kh)+EdV#~AkDzs0?@dxLS~+xf<ka=33yy1J~Y@h9;7rg z57Lfy&d*EBOfM};)yn{nEr3P=!5U$y9iN>j-h&1nBDCW@1FWo|;TT_%AD^6)nVMH( zg*1-=8s7(%-cUuE`FZe~o3Jq`mV<@>K!cdDj7zj*5cViQ%O+44AT_frHN^^BNeA{6 zw6H@s8x(iYIs$KJ8DSgP98f`prBCOalV1!97Dx+D0p=%Ij9?f7Nl4%kFi^`ARtz9D zUcpHnwd)2o4K^H?p9k`HSz1wku9X64NCDwFg~XDQ)ZBs+E(X<{QavOL&R$l?SspzI z6+q@Gs21Z6N?0}^=z5gs=3*dPpKoGLT7FS(DyZlIk42K87ZeVl3`L?AQ11;=NPvn* z0twz)K_N3eFTV&B;jrL?h8p%nOq9>9!0mpNFe5ID5NA44jR~&gkSZKiE$|R7WE=!C zzy$JIeja#`1=6yHr#;vlh5~r152Ox}?25633{)dh{SVDYL}URgbVtMT38)7Fp3}r( zIw%rRZ3Ja^l(5y~LTZ;n#^RtJhK$UCd<OS=g>G3<afTH`Npb<STu05(3gC%pc(w<P z9_E$i<iG~B&=f;jv!Ib2P<;uS)`52VK`9Wg9%xAgaTlmX2^+8jwWv}{it%cOR0~)K z9<e$QW;Qg5V@=x75){<41vk7PsRy4@s24ybKO*7abvKTH0^0|Q5TwQ`UUQ)S2MrP< zY{s5|6rlbB=M-2g9W_CL(k6Hy373c9OC}t^g>HOuenBO;36Ytc3T~a?8g)le2x{4Z z2F$T21~+H)^^r^miQqEY3Rxj^lnIwweFhyQQ;Ui-;tPuM(~A;wtx#7Rz=9j>Vvw@L zqV!TwAF~*T!s65tv>-sqlQ8qrQ%iCyJp-&1z>PQX`j^xqg@VN5;?xv{%sgoFLa0j2 z1x;c@da0mXQ3Rf%LsyoZm<MWQfszw61A+3J9v6dZsU8eLybU)QQY2!|dx12f8&BMD zAlzt={NfUYoYcJZk__+|pb6AGP*wtuMnSR?Y(y1pP!2;CL^UB*1V#rjOvO1U2+ct8 zprJreb!!C~G{rp{3d?7h8X*HYNtt;m3Z*Fp&>>m8%CW~HD6hstA{I7S4iZ8bsGy*$ z3!SV|O#u(l>TxlEl)!Z%jj^j1Lx$Nw3wJ89D+4<jIzY()ngaz}paAL_>gs}K!a$Q_ z8sHg4(EMRyQck5pZfas)u|i2kVu?axUVceNYLP->K|xMtGI$vgc!f?$Mk-{)7vwb9 z!W!skvK4sg4BWjqQ*>HRX>kTPa$o_1+LF}J)MLP+2FoC(9v3!+MXAXsL++sN6sV-i zfjSLZut4319_OGe3Z5ra(17GrP+e=F2Zjp8`3mK!uu3XFPa!cU2OJ#5pyg8d?ZJ|> zp+o3;swoUO^!gDhJmM4ML!1Mk9s|v$fTt}LQZnI7nP7<(WCN;VNK*oyD{(7?h7_g` zz%7~LlEflN!3kQ-;fyH9Am&4pIJ5vkRSY#aEx#yR0~CT-%tI~Yaw`=;v-+SJ_4uG* z4+j0x;v#);-0CM~=IIv~XMiT~L6iQ)3aZ5lx{xj+hzVN-fa(CqdINY6C@6vebkdE% z5z<Xb1<m^B=7J{5%M**O!1MB0ed7q8{Zs&zQ_$%wtjZuQV$iI8a%yogsHIwx3R@<F z<~nef9%>dST|(0;c%fcqZYn4XgNEagu|`RLezrnxeo-nYBj<rKd~s@WeqIV_&Ii;| zEXcFc*Jl8+iZfuWf;>p;QC}ZCH~_1*lS<RlKyeD8!4*MHVo`dkLTX-qX?g}|vjk)b z<tRBC0;3@?LPG#tXe0V)=)>)h{v@aisF0MJoLE{6DwtA{x<#P=Xi`yrb}DosILJK6 zY8hy8hcwO)8dCy~rGa)0!@@f`CowM_zNpGn&p^*mL8Bxwy;wiU)yLH_*frkNz)(Le zGcPd*wC4=8CkLdJu_}mxu|j}RnuncZ0(9#ZXwM!<4z?o|w1WV)*#)|woB^Z;v^f=| z4z$&X!HG}6iBH0jPobHmkGY=-BoEq3gG(M{CTO2CNFKBY6GVf=K-*eDY|xe~5DhX1 zL^D<e_<&u?J{!c9hPfBC-(LkJ!oa}riGcxh0T2U&BiJoYd<sr{8jgGh&1^laeJuUV zZA=Udpgrl}eccSuZOwSpg0{AUc9VmQ??f`Y8M=?t1-iWlv=1I+CrBLR-WaGj=*)jm zxHv+>g}IN30UU1NjdlzS3~3;P9r*-c@*wwtHm-dEi9-(r0Pn(eLa2e6aR6!uXzwGs z9iX^+0G0OxZM#GEqZ6NjBcFu}UqUl`4_hxhTtHzj0#XY-l>p=fkY7L>Z((eZAAR^F zT=*0``9SJHdmKUg%0cp=Gy1@8#b(z6Mik3H<~Bg>0<qD}1-X9#R303L*vy=OY9=UN zK?j$D+yXkN4%ID=d>Sr%0nJd~g3Jf)xCN;d2ib#Zz9XLlijx^YdQ6}R)gKhLn0i1q zpoA$XE)RgrXJBB+fTbU_d;(JQ1gZvfi~-o)Sk!>dh6A~`4#^x?x&fsLkU2U~_kp$u zVlxL6XP^__LFRxqQ-f$w`161jGcbVmL8GT7kh~65{t`$7mbB;tl?PpF3DS>T4uI^; zfyzUj2R?(L0V)RCOA9g<6n|5oVxawapfuscCxJB&gUmbtRSVhz3epb}y8;yh9R&dr z1DOdrh#ABNZ^=iFGqiF6<WCXkHd@dYK9E1q!?y=&KIp6>FcU4FK=wsI%>bW13Xw<g zLoc{=WMBZ5SuIetp!fpW2l1~Xq|9RN0jmU+Z!A!C%8Z1|H&8g-fvN``!~hCMkk|*P z80hQ{P<VjSGYhnU--JCqyYn4D&0`>QETDQoTeKNm_!2;6qz_bV4#;3fJ^>d#2T)N6 z_TvGly`YWPsA1;9X8@@xz-8hKs5)UJKf3TKfXxAgD+kn$c}VFW9$p{|q2UFJ$2(B9 zpz{bo;pzw~vkaQS<uAw&f1vWP-OM08phLq!&IfH#1?fRf!=Sp-0GiN1hX#Pc6yz{a z7<xd(O+aQMr!Po3>&`cU1*ISX`K1P`rv_vpvL3WF2~xX)NVOohT!E@B17$R1b75}T zz>MJ*4i1nb7#Kiz(SiI04^wx(4NR~ClL1n1nn2Z_LrE`=d>Zb26Oh${!ZQJ?b~(s+ zv@!$auLh_*xJ*HID_R(U;%g05E$CiDkZ~aW5>T;7CTO03=QY&)11c9m=bnS~#lg}R zL@m6n0<uE@S|Eb*B}grZR)LD?g8U27<HV<cYCcG>4^$nr7zb}Y-vM<WXnQ^^-J_Q$ zcc5xO%{XjoKxVIinhn}E4RRMqY!6fn<Tseu1uSAupkmNu0WNocU=ah|7638_v@;w; zgUTEQXumce<S?}Oapyb0gxsbArM&>CdhmU5$m(Hf?*bD_+5_onf$Hf6g)b3$K>pnU z)pHu5$B|C~Q~<E_ff{%qx8H%P0iAsV&CBpI*q!eJBgpNrau{SL4`^FA0|Nu-awTXU zKrs`P77U<jHi7~OM_K@-%Lu4CaG8$mC$w}8QrkkLT2P#CfT{%@ZUb@xNbCrj7${6{ zK*d0(H9-9W@jE0QT=*JL%XE+)9;l&f5n+m|2d%9L3Nr_&o|6bYj(iI4d>a@+g?bwk zsBM@6RRcP00^t^Ld9i>4R<<z3@U7r*;@iOC#<zfjfdN$aeu4TyA0ux=+Vh}>7F!Q1 zBnq?j7`*iue8FUb9z%v6L$V%&haN)#m}K(O6Y%4UaN<jF=L>MsV@T6uNYG<Q1*3Sd z3eY{9pra0;8SEk`6C=kP_Hbk7XX5K%bmE)9=*QQ<=*`!`7{E7y(VY);c^?C)Uz7kf z&kPYhs9_p_oE?~&`63+o5`y^xy!j&h!Hxy()@5K|SOGN$d<2yvpMX2x1P)N$11e*W zK;=MfOHla2$`?>S0u=r>P<drmXc>vkUj@kSfE+;~18pQgqYqr3bwJIUiB$i>>;ttw zLFqXJst<fD4BReAe6zsf8|tqHs9MmGR3Nvz^DSTk`3rPe%onI#57}|L+nw(L2eQNK z^%(s07)tdR^7R;k^%%1C7+m!jBJ>!T!t@yG^%%<Z7^3tTLi89yLCN6-ha=wy4mZ9B z985ua48?j3UV04C5D7QF4;&z~nY{HFlEBF-R!<;+?*#`;B3_TdUyp$)QjZ}PqzPm) zQx=#Nt|#Ea_kzQp?*oS?-vf>;J%$QB2BrjLxj?8~5;*<Ef?XI4X8Y+egy}Ibxqwv% zfjJBepg3FsI%$M~fdSl>LoRn*_!clWLmNFzQ}|XeI`M5_^x^~c$3XfXK=rK!6&5)4 z^`YnkwdEv01q<lLFlf33breBa0+ilNpmN|II9k6IRE~r|<v}Off#MX>mT=<JfaM{y zejuo<hPe}T8Xl;sK`*b7%W6<NYzNd1(8<UkJ3wg$WcLNAIH-*b5+`Ig=qx-I(6K_G zumyP#o?hYZMQ{Hy%P{htV07cVzzC9IW=G~RfXoYln#YQ({e{||W==vj0nI#6owEdL z-UUz`!rcdJe?UewKxNGts5;QeIavLUTGrf$m4{3Ld=b8U30`~wki&08peMnA?)-$t z1GpZ9wbMaCYynjRIwOz4g--z_<^vUj9l8b*OMr@j)iFTQGR&QzaT9P{!~FygbBumB zC>+*6&02;h96)wnfvN)qKS(JkA2>k8wy@wVOR(ChAPh1AOTGiu<IrpeveN^q4qTi$ z@(F;%VxVH6^a_d(kULI5-4Ow+(}?gpNFM{#EOTa@?gv$eDB}*GFtdQ_3&LpgBKln* zw{n0T$-n^00w5oQ#AKji;5Y)+jSLJ722e53p<W<$pgiXS6$2fE1@b3Go<m7@4B#=8 z3aB2?0ba!D0l8-lR1dW2$^a^-4nW1g$8UlAoCTnw09<C8K;;B*hc!l+f$R~1Hh@7z zAIOiOc1{D-EYR6N;P8Nyr6_#|AE-W<`#@$TK*d0(1%dntsvk?BVuZ#wKxOR$s9NxN zC|dssWc~rDJm{<@kXu1%MF%PdY8!*yikZeh#W_k^0eO!{3}gZW1L){YkXu0k2{Nw+ zYTh?k8p1RWBkzF9^es?*ps_o!J0M{OY5#!o54`aPDR-Vg)q_sgL{bkAV^CV#0Cgj{ zO^@jgcfJLj$n62}n8FjN9&q~zEet{aW&wBR85qFjmLs14$lsu}B?A=)okIl*4|l!> zaGMJhhZaydE>I%D<1di;DNwbbWA8xbfXoMl&lRY<0@%>=G^DL0jMP>F`F#!49MIWp zAal_2nLFPH)Qkp7KM$aK!1)!;?;tb5nTUabp&OL(F~buhoq)=e9;lh1TLV$!3EKba zXJP=2J8yxi`^As$KX^Is&Ub(fIlkic7?>RO7<|A@@*q712x4*qH?!*X81leP_YysZ zNN_VQM~@*+k0Bh~uuBB96Z9CE9P}6x!J+}+mYXkFa}c=c7pupRrN<CMFER~mS0dQC z$zWIcf?O$(&Ub>%iSGiNC*J`!a7QH!+?)&p_g+Hu7;?Z(!e}s=1$KBC*o<gBhImlp z73AeyJ%%c912GXyhJynq4D9bHut*%3^wMK+2M1ahSg$`gOcV7O0>Mq=5U{c3dJLIh zH4u%FV8LK;90Y<L<_~5EfdeuI%=XZO%waf4LCOs9_zfg|fhrd87#k>!?|@F=fbtMh zTESWdfb!J~sCv-3d#LJR?H$N?D5y*pf!Yn9lY!U|DlfqHgVb0+)!-Ui0j1{{s2b2Y zkVtl-w0S^gwLsP3G7D552S5k1VQmkPzCBQVpzBgl%?I_7`<Xy$9zfM>Lh4r`k3E9& z@*1ew;FGA)+TEbAQ-R8Z&Zb1N2kThX52#w`a4UFBhzDc|(!3AIKMGJWn14XwWdaow zMJY4Db1M$8A`4V3f`&ptV@@D8s7?e8$AH+N{v@bt2V#SoCm<SB^n++nkpZGXVFEfy z7?Qd$$vK*!GUX%q94}<qt7f26c_kP?b3Y()P`H5TS5WacAPb?VE`!8FOd;xdK?OAf z1Nba!khrf2MBD)?4m!3PB>vb4B3=p=2OZT362D>y5nl!sw+9I_FfhzDfQUbZii5%r zBvqgf5$6PXoPmMC86*h0ty>o&4r@z*&g=$BP1k{l7eUp7`WYZ`d#L*%r+hLnfbtwj z{1nu``=IJUX%-}I0#*M8Dh{p#7#J8Nq5hSD)=97<5)VWDn+X*M-8=>|XA9K7u=*J0 zuUe>oVRai!y#v(0(x3=tU|@ime;VrF45&DGeuja8AsOo5qfl|!0oxMVkZ_O$RnQC! z46yK5fx3SkDDf~L+Oeyk;ot>T54uVV<bDxoIFvxeL1`5v{?iy@eic+47H(6Z{#^kT zhlO)2%)d}^P#OoBBLwyDJ*YS=pRI=a_c2r)c3PYP)W6}-@(&g-=b+)g0qQT9co)=P z?NIfwaDE64hjUPI&=Jlc_Z)@#3sz==+jtBN4AoHcVPzmpJQ3>OCD3vSHs-Dc_3ull zIP8eb(|V9_Gl!Nduy{#<`ZohA4k}YX?)d|a#|o%8xF65Jz;Ip*V$O1?I4qs-hq?#U zt^nzWl}Dw}aQF;W4?1=mB!31P4*Jlt3OqN@z`(E+8V*TNanQM>AoVfOaF_`dhaHgT z1GV=iR2+0fGDy8BG#t!9#{<LG5HK(>EP{qZ4^$jf{(;o{L&IS*R2)>kfy9?X{ks_| z4m%;X18V+bw0KW|`u7b~J<L7Zq5k!f1DVRe0GrdQh5EMzDh^Bk?oj`(gNj3^AQ+UP z{@n%@hoxIkr;U+8f?+pQ9CQjQ$fioDe_uewLHz}gxEj>IGSH4cxcvzVA85QsLd9X} zxgHu0oltSmF|8nTyrKC>7*y9l#|%N@7SM3mf~I~EG#u_j#bJlpXF$V25E}5XbZ!I< zhe)V6Og$eo9J-<6u=4FX)IIB=;;?j;0u6^pP;pRw2Xdz%G#p+-#i8C{=!J&ETc|i_ zEe=S17&IKjpp_pioUcL6(S{lj3{uR%z`zd;2WO~ySUmPZ!@(OW4y#A(q2W*n6^G>` zPG~rkK*eG1xdcszbD`o;>ltQ4!(l#}xHU8!7DC0reI5n|h8NKC?F3XDW_|@U96mzD zVd|xz;UEF-lrb>C+@A+Erw-~6@OU@_1H)x#d2R<)4>P9%8V;#w;$qNn=z)rZ+9aSL z{Q`~m8BlRpIlmVg4o9Hku<~jGG#oxd#i8C{P=khp2<Y%(288=BL)~wMCY}rphXklN zEMKrf!(jqc9F~8Tq3X{<!vU5~_Cdp87gRm0JV}Oz!)K^C%>AJILO}Ui37WuR_TGnv zLl9IP=C2jda43d~Lz@u{)zEP0fQrMyUl1A&>!IQ>b3oUfg6zEj6$iIh85kJ+p#Hi7 z6^9O&F?`U3)C<p`;;?#QD>VK8LJNocP;n#BMFb3pc9ADEeBz+uP~#Z%pyAU56^EtI z8_;~Q8Y&JAK8BOf@Hqz+ht(sKpy9&`O|Y<fFclg;W>9fhI6r{q>oll1EFD%r(@7Cj z9Hw3u8a|7l;;?v^hx!Y2H2^3b!_@DGhQoQNdYHd7q3VA?#bN6Cpy8kajX;?BJD}kZ z3KfTi!%Ap4R6xaH?d>9HI4ppQ!^%TbXgI8dibI>@3<sd$um>s*ZC)@$K*Ql0R2-K6 ze?s#Gcp)DH0|Tu6#sYPJIJ97c9eq9@8V+nw2STe)22N-=C_}}e)-c?HmJeP~ahSam zpy5yg6^Hc;I-%jP5-JYMUqR4txB(T1wGTf-^Ti`H@g8V6yn%|t%5y<zIDCPM!`c;3 zpyBWvO?)=gog1Lx0A9}mx-JRoFD7V0fJQ&Ve5m_>L)F9TwG62HLAOJL(iJRxWTEjG z3eC7sieVen{gF@snEBRF_t&F|zlXYiDO4O5Zd0N01zXDntC!zE<ChKEFoCsuFF^g} z3l)c@=Qe0K)I!B!=Hx*AyB;bIQ*R3O?|rB^EdO4E#+Lvzp~1|_hx*qEDh^8z>`?!f zL&ag`)h(!h4@1R4^ERMxZGifh9U8HqyO2QQ*P;G(g^I(>*#PzLM5s8doKJ`P_Y_nd zY7Ij;)V~*?;;{CW0@T01q2f@AVJ+0ZOwa@fE8n7^{<VaPgT`t>?z{&rmtgB%JVAmC z3=Er~{$+#~0HE=6kW@C*zg19iSUNcb_3r|xI5e3ubU^)k5-JYuPBR2S{d*TG4(qS! zLH)}O&2X@A=7##$A1V%OKes^ryA~=A^RFS)zfYjzu=c=OsDA~ZYZPGVrwi&|2dFsA z9A~J1%c0^h^=qO2T@Dq8rMF_Je_`u5VB-n4Q2&ZUD+*XUUlQuyKs513(0tkr6^GTQ z`B4APg^Gi&QUk?{4Aj3@(Zpv!{mTm)xM4utWRVE<uNzbx+FfDz1~mt~_6~F`Kge*< zMLW=NaEGdgl`}J-;ZOw?hxyA38V*~a;;{aO2s9jCK*eF<a~B%F>fnhu$b2Kn>SfSy zh=z*8>~({NLmyNe)}Hwc&A*GG;;{AZ&Cqao0u>Jg8P34Kpb8BKQ|Np<v^Zl}1T}{p z8ZfYMz6Y&$ETQUQ`L`Jw4n<ILm^&4r;jk1c?gX{>KQ!K-L&ahF`UEr_grFU6Sh;El z^{*pT96ZO%z`$@1>dqRdIIMijgZg(JR2-I`1)%<Y3KfT44Q2sVZx8h^v|G+_66#+o z=o~eye9MFSw*o2-8?WGj`gb2x9Cj(%E2w{AbJVbWy&3A?2xtO__21i|@je4hTm~8r zH=yFl(C|D74F_vz!vq%Zkx+ltK*eG4^&8qQ-3k?lh0kViMIZ>iTM%kAn2G==U_tPB zD_8(Z%m=H7CMu{Hh?)u&hjtS|LSVcSEDjAEun2^B#S3aDLp$RP3=FV(zYv^X<QQPr z55VeiOR#%b7>>XaEW{XwW^h5r!teu4oCTb~SQvDm^&?a{!&7iVWnoA_6aNP;kXaZy z(8Q;M8<s2#;PtXFLl_tsWT5scz$zlB+){9YWP!UMD$KAQYJLKm`WH}lu0a#G02i<< z3=h!6`=I97K<hP_`PNW(Za@=11vUQ$n)n-VMq`28QU)`Gfq@|#+<;_ZFoD)nFew$# z#Z?R}3`fw!L!jaL2U_pI)XPD`K?Pc0z{G!nD-;$6A2jj9Q1|qpi3dRay9Q1CFEso` zpyfZzd?%Ru(Zqj)(;*8(44Sw$)cq}J;;vBhL31H6vqAJXXgUP1mj?+zaTzqeM4;sf zRG7gY>R%f)@dr?UrJ#vdLgNv<PX=ZP0|UbzsK2(Lsh<RO{~a{(?a+7!U5AKd48s(t zIXTdNC``^58owvd#Q#Ix15*d1pF{m60&R!G#5X|WaSEEaKGfa^XyPxR@uGm1e@}xO zR4lM=6U=yqchGd@fTn&mG`=#>#P34QnS&<IDF7;eq~YZoEPMFzLBwJ8A55G@7Bp7R z#ION0@ddqH733&?8Ho4=&_o~u0|R)j2{isE3K1^=`<sCQyat_tfuT_ZB5p7pq?-YJ ze;J6iLmDD}0b1dJ*9|Z*Ficg3h#NpF3h<g=Q2$5{Dh^&S$G`xd*JNN|09`M}$N;O& zAnPMR=F39;1s%=@uaN|agD^9EH4TV|z|4@{X$S!*iy3^iA(VqeF*BfLBB&fQ1GLhI z@?jJ+Y_Skb07^46z*;v@0Vu`H0G(uk@?jJ+Y;gcg07^3>g#%QGq0*FrK@mKY2@!$C zuZA=ttRONF(oht;c&HL~@iH9ZpzJ7w6wa{zPO}^X14!HfoPHS?!21sv7#LgxA>t39 zRV1wb`6d7ncYx+2aP|kScfw&WXq+8n{s-_va0Uiw@?~h1ftXVOnv{m_-2?epToxiO zunxpyU;xdBgIE?&dlx{*k-&RF7#J9~D?`+805AAtU;xeOg4EA}`s)MKU$FG40~Jr` z0jXkOfc48#q2dKlcf!iu^-y~i(Ckfvy8i;yozU#Z@CYh?0CdMX0|NtSO%KQ>B}Irk z7l5vhVqjnZtvLdT=Rn=R09;N$_mzOI&x48|fQAofO%X`FC^TLapdCT*-W3K0hIdL( z^P!taLF+?7>VJqr#2cUuVemS81_p+YA`tNpP;pq!c_<7KUjS_|g4eh+Ffdd>%@KgA zhnaH%Y7T5-7G};0s5uvsK(1h50Iz{%U|`@@gP30cZAgOGzJm74utLNSKqnkPYuQ0M zdsLy~pgUL@7#P6oRYCJ#5)knVpiO`b3=Gg>h`|{uE&vsWCJTlfW{CO#XhRhm%?$e( zA>s<)`jCMEv_A%9?@MWjcmwnvN>^z8<_9%r0@OX=>V|=Vp-mj3{sOqZVqk#H1BP)! z#2ug+1y;S~aYDoe!1W0O19;C20|NtSd;yeS(8UE<vFG<?&^^c?HzQ*kDeUU?xUh?B zN<!SzkPk5hI!w=C$_^1<0NO|iTXO;GpF-n(LM}u-cr7jH-fn2R-2l2&5wsQ(>ftON zh&c)65cRMYJgYoJ`~%c{@Y+bwwck*CH$cT<^J1X!HBk5{fG%HTU|;~Rab;j&0No-B z5<dXlBn^!&1~F)QxBwN0jjNbI%b5$%1%a?;<yJ9>djeV^?u3c2V}ghmK-~`;SMi00 z+XiU3L8sFg&cM=b4#XVrnq&qBhFqxm2~hLF>m3;w7*;{k{{^VOpv5Z#lM2M%3sCbx zYk@%~zGQ%iKY+R)ysi_JexUyS0NyOkz_1w_{%fJ(YyjP$4PH+Qy5$$Dego(_P|%td zsKstj_b(^|*#=$L%fP@e8&>{6-2>|vvuZ-!19d-W{V+)9Vm63)0#rRLe0nt?;uE0Z z30mh1Qhy98{s9_Mpmn?;@my#=ngC4?P;W6jg61Ow&;_Xs3=E+4yCC)c91!!-#X<X+ zLFoi`M>njz@`a{n0q6n~@O~grdj?uB2tYgTp#2;m^P8dJDFB^VgHjA<q2(k4G{M5k z`9)Ci1gJvr8cR@n3>NQDanRlqkom8KAnxA)?a+hweK0UEghA`051=ba85kHYLIa{1 zDt-aFU<AC62BaQpP60Hcz<b9)d$*wC8=xI@@IExq{qWHApa3n0!F!Py7#KizM}xvG z06Oph-p9nizz_^|{|0FIfcLU6FfiO^fw*5G0^}P82GHIV5bFlCynO)fuR!+og2aoU z>B<4z9%o<x@1tX2V0a2GR~x|XeFg^5o<xv((3(k*d(g#KK+{PBxSzzp04>%Tnz$hD z34oTvpnZlQb9O<~3A*@mXn9otUQo;ci%teFXgofEwjW^aWJO+x`3|7_=b`)8LFRix z>$?X~aael>G%pKs{{qmpuApnip#|1LsJ$DY>S5*ZHE8%e0Nun5iVtW5?khArH$cT< z;}!d0@e6f7c-<-k1A{3ve;LdLxsHJWwB{7V>QjfhA6ij^)~tfW??T1V)!ReG9njPt zf`-2Wv|xjU{~T!ePXOIL%D}(?ZPqYcfrdZ2xDzzqH$a=>uzLTX0>qsUpyN@nbx?Pq z`4P7M9M(Vn4J~gUK-Xo#+5=h8@_z%gNe|xB&A`B*4>iXDYA>vvV+}3e7C_a*>Mzhm zyr6i5t?vZy>1JSH0J#e!UI1NR1m6D*YDYoy1+3!-YnO6B{pA219|P^{1BHJK)IA%Z z;-J0sAaT$-36S{#&~N~+kq6a-&~W|$bs+eR0tN<#572N%7hei3KOaEHC&6bDfa(^g zdUSD7W$f(-M`$>M$_bGBpv3{h3~0F;08QVZGe<!3v!UT|0K{QnU;v+q!oa{_4oyE$ z=P*E<YYhHSccP2CLH!GD?!nEO4Rt@d_(Ev=`~q~H5@>%s$O&HjkaSf5o$!Q>$3KVW zUjt}A2sYjx1#6!`ySku#_#kt1q48J%RSz3i{0epF0jM}M88Pre{e>=m2r3R+?+Q8( z0A#*C)L-c0QcR$A`7l!%K-C;bIYSS$97upRc%juhgD5nd1EBd7w5AuNK^JN-x_BE@ zy#dr5Sib%ZRgYfJW<cGEF8&-xyEGL?yEKdidwMhF!7jd91-m$CuRkp9fcy!=p#9O< z#9KMBo3jgA&V%w3$PCaqE+85-PYKG851{!D)^5B6EoT&<<A<>R;67;jFMyWg;B#jf z7#QTB`RD*tJ#2mMBB(hRpaTZb<je2}D$W2^4-;pCw!0oc$DLr~d3{iE*mxJTnaFS- zDn0?K9$Nh~e1nP~fZ7Wio(_kma|P(U60ALQ9@-9>02PPjKTl{owg4JFuyVBkYR(6! zdT8^G;V`s6y8+t1fz=nF^+up@Mi-Zb=C1~50*8fj7c?EBi@%1p+Ydn739xyCBT(@N zXyRJXdbXeq6x$38&}x+dwC)Y$9s#I0tQ>BHmJb5Z{ywys&d>-oM*-T-fmSmNDbR3c zfQrM0-L0VF0%+pbVC^obJE6hHpa$)qZh+PcFmuYG{yG2^hZaK&3!v&1pyJTrW0((B zZvYjC7IO?oVd|mfIZVBP6r}t#fQmz_J%$iQP`L!Hyg>a6NboVNWCw}Ee9yoDOIKoS z*z?_cX6)i}G9Ytcxs8DVd_EBa14D%(NF3I>XJ7!ILBzlSu1~P#_gG#A20;cH2H3b3 zOiedGL_7oPQJDA>6^M8MR2(+0sjCVRhov`|c&9K#92DN5Ab^Q0@_@wo8DRZMnE57P zd->t>IM8Tdm;$z!AGFLAWDI-+Qv_@;KlnTVkOVAbv%vQ9GeDb%@DWK~u)VO-0&<Q3 zNS_?oUKxf5APxfq1FU|o1=}kFHy_qM`3)5Z?V|>1f$8%G+bhEWJGTmE&OtTo@i+sA zIH;Kl3los}FbwJzVH1BTfZhCK{Mf~}N-;1ffeK5g!O&uq;kGn(^`LooZ1#rWsMpeP zh`;2<ZoUW(doSZKM@AUCIqe{Gpk*i2YhY?2j&Nu&#cmE8j(T<($b7JgsKi+u?wrMo z-TWpT;%9J}vlEB=&2WT69S(CA;}Gw~Ar4yqh%MgTaD+oL4)J^(;vqQ1t8s{fT6);r z!_J32oEve73kYIYzX?Y;gX{!h)L3U=n2jUcdT_)q0}l7p<1l9f4s)*I2p`aT6Kw80 zgTr5oaG1Xuhxxy8<X?Rp>2NX*^UHAfw+)9lsGWq(Un_B#&xa$NC*cqWRo~dm-;6{3 zcO3Ta#}UpmahL;YUShLX6o>l9IP86oqx`>$!#&+<p!!!5UY~;80ZQ9Fnh<dqA4WGq z#X)L77$(jJt~Vv&^O`X6t9%f1pvz9->s&rT#bNCLnEKsNaadTu#M^QBcLR>}3EGbY zGXvyK7>2c@LCt(lCI*H-{~-W0o(xihF5Uu45YTadZY1?@pyHsGmpzjBFQ_=E>e<VH zFrN`505wMuNxdMFIOzNVn0q9k;^^ipLB&B7Xe<P#-Vh`JH6Nq~CT@l#4zdd-UW+8| zgyfz_NaD!;{QwmQxyK(#J#0NaNE$R21T&u<+Aaizr!A6tek5^Z|B6AyLFOZervg+Q zWIkxD2xh)MR2*bJvVTpH#F72$4;2TQkL><<s5r=cWcO!7#X;sHyMGdr_$5X}{LV%a zmqYUJ79?@x^mY|VoC`_)HzaXn^^72gFhG_IA%_n)R2<}f&{PX7e59b_APPBr)IkE! zbb{=DBP4NT_j@CWBfBRFDh>)yWcR?%?nHM_HB>!_LUzvrkO0&@Zb;#<5=k669d1Vw zcScfw5J?<4T^&ObM@|nvq2eHSg4z<WaQg=p2T}4!<_khQXdv~VwFEHrVo-5(^%hWZ z^zd<lii6AnVVF6AP;rns$l(K9Cx>oM7F0dR3{Wo*W==I!99=zZT^&e0sIL!G-w#y} zvKP5rnt>#aoF0}##X;tPmc+o!S%)N!9G;t@;vn;p!}Bmy9NnB#NaD!hd>$%}ZVqhy zJ;)qTp9tn2*!iI7;qVn|4oE#{NCBq)KU5rKK5{s)LC2>+;zmg6K^jRMIefIB;vn-u zW1led^`YYE=D0(}(cKvc6$hCEnu3R!lK>S5nS-28l%NA0=;B^D#IvE|==Q?S8U@+g zi&TGs#&clxBXan3;V@?&R2*auXo?5s{>4ynbay_&A<hqN0HC{55-JWdA2fvuGhYKL zj&6P;k~nfXmX9QkTn^8Iilf`R1S$@)7c|8Wvlq7R6J#%P_&kED2Z^6YsxMxH42G6_ zJV@!v2D*+Dq#n843q}$Ltqp<MI|WG`x!ju#6$e>^Ts|*_ii6w_8WVw;vjr*+vKKjB z?LiVp4xeL4;>h-%g^HuwdmSo{ZtpXwIJ&*Bk;IY9Z6W9Y1xP(|c)maqN3KU;OX5K4 zL34#L|ANMUVCmTtDf~4+g();%JdnhVki?PAcSaHitx<xRAAlr|tUd}V4hn~fNck%r zDh_fda(kl^N!$U+J#9$h$mUN&5=Tzw%aFv8)75q)ab*8qK@vxf_m@cG$npLeNgO%8 z_@D!`Ab%m7BZefdfs`-wk;IYxWsf9|>@R;Lab$nN&eH_hi|nroB=yMduSF6^cK>oD zab$b9BZ(v1djd%u+1>|8;>h+sMG{B0mjyac0CGRFy`cUqEZrj8tAnH-*<L#&ab$a4 zq2lQI)E_DiN}r&$53uwc2Nego2f2JmMiNJMe+!a0a{0C#NgUZd>!9N3?%4qq2f1f5 zQhqrO6-Rf^86<IJ_ozabz=G6+`bsc=okJ2w4rkat7La;manSlhSokBSXIJPJ3y^wb z@qb9-$mX;|2ed)zk^5hu@l2Tc$l^)RDFl#u<oKNe6-N)Zc~EgsxJ^L{x1~^VkU7Zp z)IB6|<aG57NgUZ;Rp@{{y1n{Page=Jk?ggEilf`>fh3Nc9{i!==;lX4#X;szLoz=D zDh@IqIeq3Li6f_n<w)Yl;d~EC9NE7T&<O=}_b5TdLGD2gXV}?#Aon1La}HEJNF3ST z#Yo~Sk;=m_NaD!($QQbv1KmC0P;roZKug?V={x}{j;=lnDh^T)n$v@+uYii9t8ape zgVcl8g2B{Jgo=awg&h71ki?PWcR5rX-TaMEagh15kmC0MR2<#>qe$Y&@#_QXgh1<Y z<op;86-T!>5h@O{7qo^2=C1;%IJ&)cP;qo~I-uepb3jXjVCIxU2fEPJ*F(iY>Opfo zF!g;<addm_pc9Me=6FEGLFRzgbimAkofCv^&L^mPbaVbd#X;uGM+$#7=tg^xImqc* z94d}(jv`bXWDaO98s;7Ys5r<R<a9C*DvoZ>3aB{99Ax*bhl+#DL3Ym$s5rVghoIsh zbCBJ05h@Nc2iZNJk;IQ9<wwx`6s&v>MH1J7P7s640nPcs{Of`wj;uZkNgP>y3X=E< zB=d8S#KV!qJCMYY)lWbYM^--rNgTP|wE!v(3LjpicII{@aWzH;SaX`;5DxL<P;pQ= zfX?E9g~KJNILLgEIWX}%P;rp@FeHCHhKhsY5!wB(pyKG}d_)o#LvsH&s5r=cekAd~ zP;r<!(B>-x_#!H3xdFQ02<A>s=u|OGJxp8>Dh@IqIh}|@#bN59%M=)taEPlz#X;sE zhno>p9A*x*dSbAFii6Z6hnpKz9Ht&LZwE@RzG&hwb3&lvpm5%g6#mgragaI4;h6vx z2ic1pp6O6=ka|%3!u*>96$hzD4$l%KapZJc4Hbu(19N9LnmEk-2~cs6`9etXI|E4^ z+581a;>hWL1ymelFLL_dgd`5~7c8A@hl-=yyB|p$+5ERi;>hXbJCZnZ{VoPwhX*nr zxgFw&B#!K_C>-KRNaD!u0j>W8r3-ZbwjrrUcIO2oapd|`0=kd}<W6L9B_wfVccvkU zBdcGGB#zuJI)x;ToX)kO3+X}jY9YnD8L~K1dX9k}C<Ib(fuuecNgT9x29~eaB8elL zzY9qmwAKfvJ_dTw4Z8W6Na85wBZ;G!k0g$4egJg;70CQBB=^T4i6fhT0ZH5xN&Oup zab)#X(EU^(^O4=tiY$&4o>tI>)*$tINaAyl#F5QegCvgZul-2k+DPVnM-oSNKRa|H z5o9m2`<EbzBfIB3k~p$^ZXt;yyXP&EII?>rq5IQ7_9DAS6G<G|J!hcep!~H6sU7tg zDh@ISd7S4pk~s3X2QPI0DoDL0Qaoxy#X;pZ^7x)9R2*dQLL_@#pyD8NklQ)FP;rp@ z#YpOdpyD9)$m8BoNaE5+?wO7xj_m%mNaD!l*i9sHO(b)8L4*F#`d1A}TpmeW6-hi0 zDh_f#=nN-VeoTdmgWQiC&bdh9$nI=J5=Wj_>Vk@+hw~JuILKbmT5p)Wi=g7@>eoQU zLF&Vi!g)7T9OO>qc)1Q0M>ppoR2*auXln_~-uF;(boD=>;vn@=NcMux9RijA=;}e| zM}fpa>OpJLVdl$1_mP6!iQL{+gNmb@13IS^W)5ggD9jvRsCtk&$m6adP;rns$n&$M zP;roYccggl#38-_Dh@ISIbW=Tii7;M6e%3GL&ZVnBm3(pR2<!$^H6b+IiS6FFn`^F zildvu2;C0}5=Ztg2UHwnKC*vxpyD9)$o@5lii6aH)=I<d^@56{s|TH@3JQO8anLzb zAaRg6$l(Jy_W-n~oq=HmQuwqXnU5SkQ=sDL=FEeNgTe>2mm22Ibx?7Tdyvh!3>62N z!-N#Spz{Dh?gXj#MXDD-=hDE$k=skX&;|J*^~mCPafpjUH?D%zBae5fLd8MuL5>%F zs5r=9$m;~Gq2eHOkjoh#BynW-v?7Tk+dCO5j&AQ<s5rX4E1}}(_8vhJM;>oE4HXBO zj~wq;q2eI(k=Iu|fr^97M=qCMB8el9xBNyDN4A#<x^E5LULL48y1mj+addk@=a0eS z9ob$3B=yMcNn0dwWcRp0#nIj42NegoXC+el2c6ptvllrWN}=jO?nHJ^H&h&CK5}|K z2^9yaM^4WdpyD9)ptC|?`Q;u|9ORz+NbZq<?i&P|gPeYJaEP}fi6f7DPs1TT7b=c! z?<uG_$lhS2{CEjT9JzmS3n~sW2f07>7)czoRvPAC$ayu8^)1NZ775)S4zd?{{JaTC z968=sB8elbzl0=?to|92_(LRrLC!e=ogL4>fUKSgx_=Vn9%S`gNaD!qC6L6C-D8MD zJPIm~o*oLJ;vjpG+g(#}i0{N9ei?`OTO8sX(2h39US#)!&QXWu3uJKz9O|Qx#F5ia zDh}~nByr?)RSFeHPgfmKagaMfdwgN(YC4iQa=d`fe}=gqS$q|edSrWxL5oG8=fx`` zrIQY*ILKb){>4os@oFUX4B&HqAn6>r9Oi<GgZu^BA_{ZABvc$^K63f<14$gYzf%l7 zSPY~dbk;x2oYhF;pglM+@!e2yP<lgl&rzs2$UUGVK49u4pa=7S%tua#-bmuMNdAq6 zildvK3Ka*L589IoGrtfjj;_8MDh^T)I%@=`z6mN0au0I5Vk%S|-JJPQagaG{kjm9{ zP;rns$l-hwDvoZ>W2iXD9MG9AF!y|cileLl2NegYUxj2ZFLeJoy1k-E;>i6<1tf7- zr1p{)R2*dfY9#Z`q2eI(k;BIwDvs{XK&Uv#9MG8}Fn`5E#nIJgLd8MqL0c(d>dT?x z=;|Ax;vn^)t&}kJ6QJTCcOr+s6LiBVNE|txFGCUst#O5!a|%fubh#!>oEN(PA7n3R zFAhvx2r3RTAGx0^4HZXszbaH5WX?gPa5jdDqpP=tii6Z2LQ?Mo6$jai>|X&JP^ko| zcaZ&?izHr;l)u(O#nJ8E4iyL43);&I^Y2lpIJ)}tP;rp@{YdV-2Ng$mrw#Oc2avc9 zQabcS5=ZW*XCsLtuV3m!5|=?TXAV>x<euY5?pX*G2idEEr2YhwxD}H4E2ucSf4@M* zLFR+b4uORaGxYo~kom~*A_x^nH^%`g4l)OHCpOF+FQ_=k9OQf#3>8N=Cl)FWGUp_c ze{-PXAaju2QwkLasXv9Jz6vT1QjeUTTam<(%k8;PagaHnJ=QSyFM^7L%mLjc025yc z6-RgfW~eyGoTEtY*$Wj1nS&e-_Rxb^LFykOsgHq*gVZCZ{|Y2=Nu>Dghl+#DK~5)A zpyD8NkkiR7Byr?)attaCG6%G07v|s7P;rns$l-YfDh^T)I_m(Y{w7o$UHv1dI7mI{ zEMb`X=TLEU^&g<(=;8beDh@Iy9x2>7L5p#r<7UX|L=Z_FIo{Ke#F6uF1(G;&{+)&- zj+}otB8emC-}6Y~$m4s@pyKHM`T!LN`3rP37A$=JLB-M4b3hM90I3HZ`2|xi4iyK5 zCvrH*BZ(u2gFX&%GpIPay$(=ukiDRzy<qlwLB&D#BB%38Byr?+@<|-xzR>f<K;|IN zgY3m2{sT#TBT~J<0X@eDWDc@;3X(YT`pG9q;?79sxIxcB1DS&?UJ4aQ51)FdI4FF! zBBjqhs5r<R<ajB79ux)=M^0D9&~tXs#Sb8fBbN`qk;IY5$qk_gzk|#{7WadSqq{!> zDh_f#=&Tx8{H8<2LFOR4zYQvmZq5X#ILMrBNZ~LaDvoZ>4yZV~IftR*Aak}OnR5v$ zj&9CvByr?+;}axt<aXmbs5r=c(3vqX|NerCgUm-x&uq|x5zyT!02K$BvkS?cF;H=k zImrE^Y$S2yari}0agaH?k<3{R6$hDvTn^uZii6beK~nz*Dh^VQY(6{mz<G3W5hQWs zaTR4Gab)+~BZ(uMpN>Pk3y1hTByrH0OtA1jgd~n^{xu|VWc9kx^RPhvLM~@KpyKH9 z6$BLrg&XLoC78X5P;rns$mu)-DvoYW5mX%AoJOcPx;ed2addO0L&ed}Sq2qHH)j)6 z9NnBfP;qo~PD91f&AEdljyz8I5J?<)e9suPsRLTiBF_WbBZ(vDyTeH0$m-7{i6g5| zfL`1HawoF-TqJR1^=qNxAphP$O8=Xn;vjR7^NRrVd^C_aa{2E86-N)xAgDOV{F_MT zCqTu~)n`G)LF#WIsjq;FqpNR%ii6bOMp8ckDvqvx7E~Oh9<)^smTp%<#X<f;PPfU> zi|0V%$o|~~6-PIJ4^$jvK1dJD{8LbIboE!D;vn^)EkrQ&kD%h{>fb=cLF$p+{~Ia} zvJ=_;a?o?}K<bg_kxilEAoX@g?cpFKapZBQxlnO*_bi8sgUmmT6#m<w;vn;p-SZwv z9Jw7O2|X|#q#jw^8Hackk~ngCbqa?#Cul=EG~XeY!#YUf$nz}ApyD9^g3jcE#mjN1 zILMvI?JLG0M86w(p4tW~4l>6VDV%el;^^jdA&Dce<K2uTz6hy(^$02sGCvT>e0J!? zZRqAZAc-TpvkWQ@G6&h6bD-kr=IlZeM|S63BynVSeuj#J%tsz4{0kKar61(=&+O2P zI6?Lzw;v>+;^^imLB-L{(T0knn`4V4j$CfLK*iC`_k)Uq%tzk$6blsxnU9>#laR!b z%l{mxILMqcNcp82DvoYWACfroe%t9t;>i04w<C!o=Zkw#age>p`+VO*#nJ6m2Q5l~ z<`-mh?2*Kg+Z7&2;>hivL?m(KbrFR~;>h7&0To9N|0bw7$o*%L!fhf{9Nqm(k;IY1 z{{oUY@_g29s5r=8<ayiIP;rpG$n&;eq2eHWk>_odK$}RR;fB1<N)JgKx&Cc}ii7M$ z&KEsUage>BvkzhA&upkT$X?|1W(Ham0<{;pUo#IXj&A-6s5r>{^GM;j9V(7){yC^P zx;ZzX;vjQCXY|6{`5Y>aZq9e8IJ!9;pv5TA`4P}rdN6bNq2eHOkjsH$Byr?+PCb%1 zayTDE5=UM~aRMq1au0I6zl4f|>_uKj!3<g?1Py0oaYZC?<ou$IB#xXfyphC_%i-zB z;z;GZ7HIJe)L!KJ%L+*xIX`a3A^sXk9J#;z6-gY~{6f$o9;m&@=FdhFM>c0Uk~p$C z{GdfVP;-#QEui9{@DE0+ztW-NpzueoXB(j6p!9YbDc!b0#X;(k+p80y;vn;p^Ve*s zILI92^*pPf;vjR7)7y0<apd^o0S(?k&s9LKH*KKeAaju2AB7~2TyNGPi6hsW6QSZD z_Xi<`&vvLdy7?cG#F5>p3K}%T;!Yo^IJ!AmNaD!uoPZ>b?9R<lagaNa!+9@M92CyT z>z&R(#X<HWhw}}nIJ!BHpyD8Nt{}zxOQ<-yIbWgT=;r)~ii6C#iewHiXfPBSKFIDD zhl+#L-#}8Y02N0!UkfS@Qjgr8F@cJsyVDgaj&6=WR2*c^H6(juk;IY5H<F;@AoG#a ze<oBM-TY#xILQ3#Nai;|#X;sE*Dq_K;^^jVhl+#DLH6$fs5r<R<oLaeB#vC~--3#x zoBsqV4l*BkKj~+vILLftcm6;UN3Qo>L4)$p@&~ybt3wh;F2_2M#F5J@CeUFDSj@3N z5=S=22}vB;oHt0~$oVK0G$@QE9p*#DLE(VBkEsGG4hje4aBhT(qlafVR2*au@;;_n zP;rns$l<vVDvoZ>YN$BK9MF*xu=;uzR2<!$XwaZMG~AHGXEl;Ia(VR}NgTQSGzAUT zL(M@Rmkxo7qq{Q>Dh_fd=!giIJ9DAp=<Y0oildv;02K$B13HocW=<DW9Apl1_#Z+N zM^0~-k;IYP2~Uy4k=qI1k;IY1M+AC*2FPAy^Hq?<k<B+j5=S=Q6-gY~{CFgB<b0Zo zB#xZFN|D5o)mI^jBdec-Bz_I4owF5(_#Y&3WOv#?58wrb19CcPMiNI(CySus=<&M- zDh`TYkQ^+2cSFTN<|F5eBT#XWTIBlT98?@+4(JF9m^n9~;vjR7)5&h=LB1ey<am6E zB#xY4z9NYumnTo52MD8^!w9{X0wj)X4mXlGvN@Zx5aSrg?)iWuj%>~!BynVO9%o}W z=RcA-vN_zKPAN2BBb)ORNgQ;xIxIXnq4%bM{Dqu;WN?UQLB-MIs{|?ziZ9R+ATaZr zq2eI(k>h<QR2-!K5mLRm4=N5)Z-UfL)5?Q{14upSs0Nt%=1Ah8BL`sOj!<!sImSrl zSU~Up0Er`qj|-AG@_v&XBynW*;?RR<LGD3555W>D4l*A(|2ja$(ZekiDh^VQ96nJ< z;>h_u9Z4M7{5+^Qy7|peadh)Lki?PAUy3A-JdSq}hj=~oo)wV!$m1$Aafq`PLE;gl z9yvVak;IYh4Mq}29%tY#Mwo+KK5Ik8LE(VhkMMztgX~2v-?EUzk=y5`P;rns$o;A5 zP;qo~E+UB|m#fSr5O;#iLGE{`L&ed}NkkGyHfJ(a9ApmiIO=w&IJ!9>k;IYBQ7%Qe z2YH;+9V(7)P9u^yvN@Zf;vn~UBGo%bk;L7R#IGZX=OKxIK@vwU|NlY7LHP^0J<I{U z2MFX&<nmtxDh_fFvN>{4addMupyKG}m_WtR&9Q@uqnqOa6-PHG1S*bhP8?Jm-JA@l zIJ!BdNaD!(eFBm=a{fJuB#xXfBteIBLF)x%@iZjyQ%LbrgCu?iNqiMl9ON%%q;mBP zR2<~~vq<XYp%>VJ#0!wbb)n)QbJCE+^P%D(^`JY8VCDIAByr^WbUBhZvcI+?i6ghu zP9TXRr|0KL;>h)&AoTtxkb98rl|m9nHs2gc9C@794k`}vFLL_yfQp0C1Lz1Gn14f{ z;vjpG(|IgZ9NnCBs5r<R(0QvcbBdwj=;qWRi6h7RJS1`C^tK8~967yhK@vw+zZXdy zS^X6xanN0$Fn8WT5=UO|{RAow@)z>{1<@)*Ifk4L9iZYM|01Wu3?y;nbT}DF967zc zLJ~)g_s>Y;$nnlx4RH_1UgUTeK@vwcM;1vO*&JOYab$A>k;IYBNkS4wPXEP7;>hN= zB8elX|HVk+$mxGQR2)6M?SzVh;stbs5-c8tp%-F;!U5TxDoEnU?leUbM|P(tk~p$E z(~-oH-B}D3M|Wo}R2<|^&=E>7cXmU?(bZ3dii6aHj*Nn-UkDWk`3pHe?ne?wPX9-c z#F5kgIV5pp^_P*vk<~vy5=U1521y)Q{Wm0WWc5tYd+9*#M^-P4B#xXPrIEyu^P@6U z927pt`OzLK4hm1?{OAo82idy|shkgjii6Ano#y~MUm^-B4pNVN?m;3{9Ht(2o<=SX z@wsT?&~2d%o1x+$^O5(P?1GBJ%!jEzhC}>2R2<!$|48D<=PhtUFO&hP2i;i*OII>T z;_HyYM+He7*`3x%;>hvk0~H5_KXUyN1{DYS3lzpMdt;&EAon1r=R72FWb@0A#F5iO z9aJ1-K5}|E3>8Or&snHANImFCEtq@mK*d4sLGB0XKrhAxi6gh${gK3x+wJ#}#F5pf zL+_hJH)k1=IC41?54|V{Lp@X+-CrA^;vjz^w^w&T#X;sEhx1h=ag=dO&|#+7#x0@Z zAoG#OEz6+d=;qf$#nIi_2^9yKgFJ3I11b(O2RZ!Nni2IHa(T{=B#vBe%OZ&**Ixlh z;>hMiB8elLla3^gY)%)FII=mDk;IYBS%f5xY|d6Bab$D$A&DcKa~nw<*&KH0eXgKz zLoRRmpyKG^F98(?g+J)XG+6pqhl+#DK@NXUByr?&I}k}6+1?1KIJ&(_P;qp73!&oZ z_O>F4BilP0NgUbU1xVt^>enNQBdgznB#x~9A(A-qIKXEl@h+rtk{x<~Ey(@I<)jFb zII_LcP;vC|QH6@5hmQ$V9ArLnyf`9>BfCEoNqioXJ5M5sBfIkoR2<zs_n_h+_aL8x z_ZBLS?w;RJaddN7q4$A-%t1Z}&mAfbG6%VwybZl43?z;`zyASA9JwC<4iyKP530vu z^)h=0qTE0>UkNG>QV%-f4wnA)q2eHWk=FzGA&DcqClyKD8>t^!f+UWdemaoE*CWNt zEF^Jc^-G}QpzusYQhymL4ss{x?qZnx*`OC%fYc+`zXDKkkbgl(3BuINL&ZVnAg3#1 zByr?);(#QMoSxmG;^_7ULd8M$f{xIG*_!|rN4GZ>NgO#n_accShyM~JapdrSh$L=} z6mDOj;vn~cj<ABchp`KhPLShW04fer4?3C)rd}2*4st)TdIKbJb0mA+k;IYv9VtlS z$o{HE5=Zt|7m_$~I+=<jei+H#g-GJa>Q_U>LGgv0t`0)QLH?SBWX?q-ab$DuLB-L{ zc@GswH|GzMIC40!bR)taSzH7v4l*A(J<CDGLGc1Qx(^mFx=?YDy~yd=3@VOpjssL2 zWDe+PF_=02P;qo~!jZ(0-C2huj+|e*k;IYn%Ot2cx_jn8#X;@?9bE=<&uXYRx_dSt zi6iHi^H6b+IiRf%FmtXz#X;t{AeC45k;IYPAwQ7Bk=r5S(EFZ2<{-CMjgZ8V{c8yo zNB6HYR2<|^&=Px?JA<I&AoG#qF&s%8*}r8_agaHnrPDBT>Y(BvbCCVpg(Qybuh~fA z$o|@hB#!K_9Z+#}e;tB~gWLmJA`NrTMW{H)J;?sLh9r*cFCoyS3()b>&q(>v9!VT| zyeJ+j4zd?{eRw%k9Aq!@`o=n_I7mI{s5zKBJD}nq^~m#9i;%>T*O~7|5=UNV{u(Nd z9zI{8;vjoLN9e)qWdm(Kf%+HOU%XIpbaTX^;vjQCcZ0*sQG<$u+>ad2Nl<Zgb8?{K zAag)%2bek4P;qo~mLQ2Ek4vAyA^rzR964S2gD%5>`WIO|11gU0&LXHd$eqaR^BbY! z=<a+D6-PJc9aJ1-4(JF#n19tli=m<JK@PWBNaD!;-H#-0jZ~hTf{KIeorsif!$6lD zK+Q*9*E$hN+#JcA!%%UMJ3&YB!Q6QRDh~25a(ccG6$hyY9iazP{}Cz<QjeUTe<Fz^ zmwQa0#Ys?iB9{+5P;rp?$oWeSDh@IqIbXOTiSr@(D+Ng$+1|-eaZtD+*LQQF;vjoL zM_9r9wFW8<vKKkNwjhZk*Hh<kh~GjIM=odBL6geRa6rzF?nvU7k>WQRNgQQd6iK`i zNqr+!9ON(1(K|4IO^1qu{DmBzOOV8o+jX0u;vjR7<K-k&9NnBpNaD!ll^|%)1k1RG zG*ld9KIjNcm^-zg;vn;p!`}`njvkL5P;rnspd&3|=0rlp(bXqI#X;&pV}UUBB~Wp6 z^>t8jkb2NjYB2TvP;qqiGoj)j^`IlWVCt7b#X<f;9xvL5B#xXOjzY!J%|8zn2bm8# z!U|^oJ*YUyeB^MG0$maST{r%i0db$2JX9Q{9(g^6Hj+4Ux{W{*M|S5tByn}5{P+?{ z963GzMG{9&&!V8q2B7%@IXxRg#nHpT7Ag)32hh<<uyF8(ileI!g^GjJgN`7AsZWE7 zgTevXU%60mbaTp~;vjR7!@mtG4l)Nh{AWYO(al*36$hCEI%){!o^4QZboB?I;vn^) zBfenj&qKx0?R|?Rj@-Wb0u@I${~uHwWIpKVP?-6=pi2&*@q+9xDI{^^_SH!wapd~w z50W_Yc{2Q<OA)Y?50X%Ekb6K&eqioVhl-=S-w-MeQV&|%15<Ag6-QU^2^9ya2Q7ht zsgHn)qlf2oByr?<RW;Dy3p9L?>+v`w@gk)1ITb1nat|v~e(8sbgX~4Fzh)qbBiEbD zki?P4E%zXaBex%pL&ZV%BDWv3L4#0G_v<0K#{o$kd0faHDh>)a(6|t2?g7-(41|h< z+>boJ6OAN}+|SK{io?tSmBk=)s&I(6K*d4kBhSC|Ld8M;LayJZL&ZVngN}xR#qTnx zILI92^n4Ua9NGNyP;rns$nzlAq2eHOkn`6)s5rWNUO>e`=75g=g1P5AR2*auvU^xS zmsLRH1v!5SB8itFr7KA!apZX%MW{H)US#(dL&ZV%79*Kc1r-OmA31$4g^GjJBd5=G zNaD!pa}Sa@a{4?46$iNobR-ol94<k{LFRiQrNcW=agch@(Ni$>PoU!H>c1h0Bd32x z(4`&Fat1m58$!iF<{;NQen{fT<4&)U#F5Wk5dlr!K<io15-pfJ)u7@a^O4)tdPw5P z;pu}UjvQ{?NaD!r>sBC%BcBU*6Dkf0x4TI7{(Go6D1MRi%TK5{NImH26qx%hK$A(( zbch@d)kxyV?Y+%N;>hX`Ac-3zrMI(4;#NrF50S(jk<!B-9O4R~!?>aDR6tVi0Tl=N z>mE`#ltINo@e+!pz7Hynu6_?x99{hts5rWMCQzdp>K<hCrJ&;I>OG+1=;kLt#nILG zLB-M4FN2DstG@yjM_2y_DvqvR3UpXG7WW%L#nII#K*iC`uYii9t6v5cM_0cODvqxH z4OARmJqu{lDKy_9$FC7o99_K^R2<#>3aB```Uy~RboKk7;^^wHLB-M4vw$|yVF^ze zs5rWMFQ_=W`AJZ5boCRU;^^vEK*iD3UxSLHtA7U-M^`Tc+MI^P{U%UxboFsiadh*` zpyKH2`=R0>^~mQNoIny+M#`tJk;IYJ|A2~v%m*#mfR$r^q2eI(RglbK2OXjfO+TQe z3NZCzNaCQS2QYD4s5r<R<nr7HN!$m?{6wfYdU=}-6$iN!v{V6Reic+4WIl3xpb;t# zQV&{U08`%v6$hzD-q$t(Dh^T)n&O73pAQuWsYmXIu0j$=4$mz};<8Bo+6@&)_t#OV zILKbm5sWZ<uRz5?_9FZ1IaD0ooR3g(kU5~EvtZ`@hl-=C=L8+94vk09QCKkbQc!Vp z^(s(tkolk^7-8y-pyKH2ZJ^>H^`NDKF!kP0addyhK*iC`NrQ@m%mE!O1~aD=DvoZ> zOeAsS{>4(LIJ)`kq2eI(K}Rsc%s&7XM^}FeDh^T)TKWf5e-kQ>?w;pJ;>hXbGgKVi z{C`k!kolmk12FTsK!<=s%M;{uC<+w^sRwNlfT>r3ile*70xFJfuM<=pWDe+vM3^~& zP;qo~ilE}?=F~vNLFRy#uEWgfhKi$`GXqH+Ieb<^#nH{*3>62N587$~Gyf1&9Nqj= zNaD!mUxSLHoBseR4l*Bfv?0v=_fT<k^I1TL=R(`b$n8Tus5r<R&{9O0IkHf3baPaZ z#F5=;2o*<nr!`a@WIl4f@Pdk?o1cdyj+`&*q2lP~cS6NM=7W};z}!CrDvoac0wi%{ z_pd|}M=lTdB8eln_s&4Y(cN<mDh_fFXo&~RJx`(H=<a!oB#!JJPS9b*(0qhEE-isW zTnmSI43ao<e?J*24ss`Qf4=}K4ss`Qf4>Sz9J#+g6G<F-US>H|9A-Xft_U;^uo+Dp zHa>6`Dh{$2xu5<FDvln`AE4qO^Fc=;!ov9%R2*aua{0ppI<y)~`WJ(WgUkUPg$Of8 z6)Fxg2f1GJL=s0%pP^83ba%!>#X;tSmhiyL&x4Ain_mGH2dM`w)q$yRfr^9FBm1id zNgO%-%s>*?MXKMIAc=<{iSI-bM-KnPP;roZkjEKLL&ZVvK^`Z$1QkaQhdWSlkU7ZX zB(I_3Aajtz`8$$0@;HeY=x}XlzCa!)kwX$k9w$+Qii7M$c7Hrn9Aq!@_*e;&IPy5a z45&D|zZOBoLFR+D^1$M2BUBt@KC-{|L&ed}ISCa9nFHF|0yF12R2*IXL#Q}NJ!s1X zO#KI_IJ&*xk;IYHi8knvdT9F!bc7hp90RC0$Q<PL04`8*kiDQI!C>lrpyKH26OqJ` z$3qH`#F59B8j-}2%ahqi;>hW35mX#KeAYn4LGA<{6$W$XZm2lOoyhTW07)D<y}g2p zgUmq=pZ8F4kU7ZV!vMO302-di;lm0QM^`V5B#s<DDoEnU;bVy;jvPK=NaD!h6AKkb z51(|XILKe1qsU<4Qw9|Wxf3~js*%Kz!)F#$9ArN7xZ*OXILMqyNaH`-ki?PG;V~TI z*OA1L>%rGZ;>hdse<6t@mk+F<L-w(h8@x#3$mND8R2&pO$mNCxR2<~5xk&ypM-oR~ z*W`pl+zUw@+1_}lI4C@k*PG=+#X<HWkL#8|#X;)XkjnE8s5nSHa=qUV6$kkXx!#`+ z6$hzDuJ;!ri6htho1o$#b3jMl!qU%vs5r<R<n(zKDh^T)vKQ7KxQ#>nF;pC64sw0; z1BW;h=u!k|zC(^LUZ^<89OU#MiX@I4{<2VUkUNphv4D!Bo8yiojvVhnIK-on#F6c7 zfQp0cMP7&20Tl<?i(Jl3K@vwUAC@ACBZvPMByr^OVK-D9lzx!=1xKOcAoqZd&V|MA z6{tAKJ;>$5O(b#T@__|($p<uEKu4>>%n^i&gUmr*7b*i42ic3f-dGbVj;`JjNgTQS z^hFX!4xczAapdsHMG{92pAx7zdic~q#X;@_9ia;IS1(i?<WA)9nS>;c96mdt;vjQC zOO;{f9EOU6%s~#H>rio!de9PGnEEGBadh>cq2eI*pe3a+^$eiPW1!_BviTxVagciC zc^pNkIJ)^dP;roY&=N?P`Ib;|boHK4agciCd7m(-IJ){os5nSHXz3r!{5+^Qy823} zI7mJ6y5%;gIJ)}%NaD!p=Ok1dWDatEya*KsnS-1kA0mk(r?>Y=;>hzpKas?d*XOW+ zF6n{B3$lCoafnMIi6h&qjwFt3uRfAEviS~3;tojlh%b^ja{ZfvB#xY4vZ3PW`K1&p z4hm1u(VMV%Y=Me{!V@{a^dX5On?DsQj&A;Zs5rX$>!9N3=I=%lNA}kNByr??`UXkd z1}S`WK!^21;|uvd2wNm^<oh6^k;IYDfoVh%mqIdsCXzUEf8;n+96cN^Ld8Mh06IDd z7S0c#;^^V<0!bYC+{lke;>hRT|AvZ#%m*Fq12dl;bXY$$9FY5`Vo-5(cPc=|LFRyt z@PV154;4purz2Dxq#ksH4@|uWR2-xp+1>yoab$l*B8emWD;X*dG9Prb56t|0s5rX$ zl~8ezdeG56F!k+FadiJqgo=aIgO1FBsb2sU2bqtY{#PK0Be#=x;}Aat6-T%C3{)Is zFX#v*n7!Aa;vjpG!wsYkG)@B&N6vSkGsIxx-;vtApfy@Bapd+7bU7FU$Q<NzVB#4; zsv-9@A-5-mp%#PGe?c-IG=>k-0TM?xAKLu_n{R-WUzl;2?~NpmY(B_r5C&N<%gDem z8&v5*(=oF6LZ~?C3^ZhM*gbZz`|V-o=z$i0F)%QI&UQdn?+g_OiGeW4S*joc#9?4y zfSC^x0*Qn6w1cEz=D@^3Yq&w;pgl?;8YT{Ei-Y(IAcBE`0VWR0s~{oJ+F%e369=^+ zKzz`eHxLaIhc@R>-17q@2~vdQFOU%EUP7oa1G0MpL6T4jWcP@I0tqUP>>gxsWcMJ8 zgVy|jw1SLA7KdJU1NJYnIH>N%rXJLn$0iOv{uaX==&^_x;-In%W{w}oQ6LTj0|RIb z2gC#k{Q?mn4g&)NXigBs1POueTLiH|7}WLy(ID||5CP&aFfc%uhlA~XjwB9UwgwjO zKoW;8qX3InAc;e#Yrx_yNaE1$6j;0!NgQ;i3CIZ`p*j!&;xI5UfbM_;F+oCYAOgf; zU|=`_r9ncqAOgw<osA4)f`rOJ1c<}HzyLZ^6vPAxA&1)wkRUYO{sc)v`5&M(NC?!A zgK`;uKp7zM5)c99gFOT_=LwQH2b2w>o`DFcdI2aKL?Ndi36KEPoLDFuq(uSB22nX6 z0wl=5zyRvgftVnnWDo)3FfcF}K-nNF9YjFIEud@=6$K)o;-E9%KunMjvU@y00#Ntl zL)jp80Z=xGDg+TAK?Vkf2q+sw!Pp?F1dssKoKz?qB%T3fgQ!dp0TN_jU;v%L0%C%M zU}ZRn4@+YpahP6^IOq;R5DgN~1rZ<)0|Nsrt%8KIK?GEM0+bD+l0XDhd<K*aqF`<Y zNv!}0K;8cv$_9yVfU-dpXnY1F2Esc)0#Nm{p=^-&0Vo?pA*U12m;*>2B#xX;E`S7} z=1haKLF#Tm*&qrzojd>uK-D9slNU(h$m!$*k~nfYft9@=Y2<Xm04+;F;-GOhkXt~Q z14$e?oq+0ekUU5|aypSfQjeTYKx?jG>XFk4=x#WeIC44x)x|Jz<aA<zWIl2_0rfRt z>XFk4sBaDvM@}c8v(#YX$mt{k$$aE=l7J-M5ArlfGXn!d29o#`B=G_yaafuJX{kUG z??Y1Gfh7J1Nqhp5IC6P414;Y{lKKTm;vbR3S0IUhLK5GABz_P{d<T*^aymSKB#xX8 zPaugSr^5?K;>hXn29h{(I(&d64$D)ZaC?Cyj+_oZAc-TV!yicE$mx&)bm<E;A0ekh z4kU5pbSQu%j+_o9ki?PGp#qXPayryN5=Tyl21w$_>Cgg696232Ac?axA=-r=NaBBy z;xPb89F&(~?Y{^l@&8Eb6OhDVWd$hwGmylQ?JYnO|A%Bw1Clthy&Xv6urdc^{sbg( z<obF6k~p$CE0Dw)p>Yi|X9JQrvN<3*5C%CBRz`vNu=XU#2vEBnBnHBuJs=<&CJqZX zSUV6V4r|ZB+HWv%So;Rn9)pR)>U-$2Zg3EQ?1k0qpfkx~_Ns#%3*s;^Fu>YBFmqt_ zH0Vw!kP?u%9Flriy9Fc;G9Omn=|I)M#9{g06iFOp4y-*5YbU_e!_prtO~S-s@eQl5 zVd4s)4i^Ih!vZApLGGCV6$hQ+gY14-dm2`z!OVF8RS&CMVd4d#!?PI}7+`S<6F&g$ z0D;C*VCIADy#N<-(VU{{R&St<8XmgTevU{%!#o3>|+4nZp1&?3RInVF{YJ0#qDU zzJa7c>JLE0AA$s+=77wHwU1e#=@uj{4-G4jJ7DDiNF0`SK;k(_>Otl!fDXrHU|=Xk z5(k+t0yPVkzd+`I)K7q_pNXd42C9Awk~m2H2dMhJNa7&#Q=sZ^Ac=$27l01sWnf@< zh$IeD-vd?u2T2^H{sC0I05qOq?)(51H$W4Ib%+Dd#2-L2Y5|(K0_d<h1_p)}G;sr{ z_zX1h0I2v8H1Q2k@f&F32cY6_(8M1=#U((OlR@Jh<X;ESp>zxk3>IkO8=&HjNaCPy z+X4-@7$k9!IStSaHXUf<4xmG}7#J8fpowpQitj`c2bq5dYW@Qxagg~BK!+7EFfe>U z6JH<>N`(vz9MJp+i?0n(aT_%80?;H30|P?<nz#e#kP-$4h8#5U2T<`+Byo^CSwI#s zFfdF(5(l|+1L#l+1_p+?Na7&%IZ*Xmki<diFMtjgVPIg`izE(G4{OIfKoSS3F91yf zfV>PHzycWy5;p)HV!^<`Ac7`d02Mbu6F&eI_dyeX02OaQ6ITFj7H42!Sc4|M04jb1 zO<V!AS(br;fd^Wi!Q8n3v^g7;-q6GgK%4m(7#LE}#2ugus#?&*KS0Gdpow1qZGL57 zU^s#%t^nFR&A`BL7D*fw&LYtK4=Z<J?reY#*!)COKLx5@1T-*-l#d>OHamj)%V^>P zpv}#o^oAzx03B#dK@$&visvGUgWUN5YHtUUI4Is5pbdnHNa7&%u=;Kdk~m2H2B`W2 zXyON;;#bhbA3()lpoue>f)XJE!yhzp0jRhD=+Jzm@KJz@tDuQHK*dAQ#5X|4Cp*x@ z3qXst85kJ$pouep77;TrFg!pLzW`cP3mV^p)_bt{HGmGVnV^XWfHoB|FfhcRi3@-h zdxHA=XyOe}@hxcLAE4qV(8L))i^Lfi81A5n3qZvMpaZWkcP;=e5@%pwa6uCf04?qV z_50Ao6`&2n1!&?2pyDf$#6juA0a{OpK<ibQy&ph_vVig<n)n6K<S?ilKob`L9d-g5 zH$xLofQr9B6Tbiz|A-_Ga!&@-JqpnJ7UmuX=sj&FXyO7;aa$yDkU4Xp=0qTggVR4$ zeG9rc^ggx)XyOXc0o0X9;vn;3_3;|ep~*<;Tmae-e}X1{0V*y7Z5P1&)d0Oe#sW?J z0`&fs2sH5m=zS_ZXyOZ?_lrzL5(l~S2Q(b^Ac=#*VFG9}je&vT3Yz!<s5l37pdRMV z56}Vk2sH5xpvfx+28I=A;s>DjJzPK&p8%RH0=1K&?Gc#y3ZTu<3=9l5XyOS_aacPD zroI6xo`R-+15~^MP5c5>yb(zp6h1o8_5`dw1v6g(v<Uz-u8X7|6mA!w;&0HzA3(*w zB8h{{Pk@@Q0&P#h%wGUnT*<(|;DaWf06oV%0ZqIBDqeynJ^?CTizE)R7uF72gCq`e z{|C_GN(Kgotw`b^^(N4E#uFrQka`2q<|GCNhPO!KAoU8+`kn{c?t}Sj0%&s*0|SEs zn)m{!xCxs02B^3Pn)nB(cnzAk0d&G)1Df~+&}Ji0y^kjT04n|fO?(6NywR6P;vjz| zK>Z~FZJ)yYbpW&&pMilv2Tl9}RNNFv9AplxofLp14hqiz&?0(Jxr!#902Qx56Bht2 zvIh0<(8LR%;z!WL1wf0eLFpDvd;wJaA(A-Aoe!Y?6@a#{Vg4<EPNZp|i64N98zPB= z%&~#ClM;}`LH<1eT13OZz>tX~4pI+mw@pA22dPg0Es9}aV3>&{4pM&uYW@}^agh24 zQ1vg+#2ujLE^$En0Wg1UfQl=ii9djf+n|XrfS#9>fhN8II+4|YCjI~_-iag*az6vK zodoNbz}#a1J#XR(l6sK83ZN5WEYJx^nEDM+aSJqY2k5y8j!5DldrhGBCLoD}%r}7U zKhH!G2dO^-Rqq1r_rUBmfUdVrK@%5%PF&|AiG$4f18s**K@tbqdjYC`E|NG%y$ZBF zbO1>lq<#W){p(32agcf+sQM>J;vn@3&<Vh|Na7&%Jy7)=(Eb_BUjb0{f=J>Z^=qK& z4Uoh^<{LmKk}Z+MLFz@I?WzzYagh21sQL^v@dBuLA(A-A922NHJxJmpb3Q=TPel?3 zsgHrGhxI#Q{@MUtCwBo!J;<C5&~;ijk;Fmfv_Q@IgCwp5?Tdq2`U22?D#(0gBykla zaTO$S3nX!ny%(VCjTnkcijoT|K~x@y&P~k)QR%5AC7HRY`DrPMl?>^rC8>F34DnHh zW@SYMdGX2l`PrGN@x_@{sUXqd63dd*qTI~9#FEr9hN9GDkYGwq0EqH4v;=DjsVqo! z$t*5NEJ@BtEiy7l$q%k9E=kRGPRz+kN=(i!cFQkv&CE0hSz4BulNI2d4A!5L2&PCf z#?TyWrH7-Ri;rtifMbxOFVqlIu!M7dUS4W)NoIZ?4tL-*z}pbr1Ve+A{LH-c`26g| zO4l+5y^_?56215+KW`%wG`r$`^79KoUPaRaQVb1O*SwU1{LH+Pc+UV#MTQUqgHv-8 z3o`PHQVq*oApvX*wg{%zBr`9w1S$iGEtpKaX8^LK1y~y*ERdw(zQFAXBZK19yp;HY z)Vvgs_lr^s@{3A}aoLMkH5P~9RgVz`=E?cF1&PTe@u|@8gSi7krD<tFN@7VWEJR@H zFv7{uC^;uJvB;@3EiJVOs>&N{N;WjeE6oi~%}ar+GenIKi~NGrJfHk@s3~Z&MwVcU z;`2)~Qj6k2L7G}r9G{q%5?@kTkP6j<-DZot(p*rkf+;dG1V?B{QDR<kP9i9Eha@KD zq=FsjnpaYk2{$gd#5g|Q(8wS@zAQDlB)=#=DX};;J~=-(H$TtQC&|#&6(m=ZQIuaE zpOc!GUXl@?T2z!@1dUzHP%Ta@OO4OTPmeFok55a4sskriLvvVIJLl(>BxdHN7MX&5 z3^fZ|;ef0Fho_L0K$4G7e!8I%$Q?fU>B0GKFh^i!EF<%@%)HFvjQG6N^7v$UNf2M0 zT2fj7brsm@@raxT6Gx3%BZGp(<ZQ6NQ&NkQi!uv9fetkSBT0dhbV+Fenzgu88=9sR z<rg5i52_F&>@Cw%OXA%!b5i3GIT@nX8`JNG=J};1N%^IDDe<K#1@WMi2~i6VLlcCU zH#iiqM4(ApX-*DAA2vHo!A6&sB$cLtYY03lOOgxXK`ug333rQWa!!76DnvU*xoZLP zH>k3J$ip=m8s;Pxm-ytThh*kL^}^-M(^E_Q5;28y^3#3uQ=qCbY%(-0O3lqLOASg* zOD#&xOU9|rC^01kO_7liI8P#?#y2r9F+H`&A~UbJBoS^FX0>7oO_`}FL{=&&8sek; za7CU4tgM8D8(MMXVgwb&mM>wFxI6`u#|S}~1n$}drUD*SFaaF-A0~~N#Njd!qYxn< z?->A>!{$3@sMm4%4lWN4S)|+suh-!!uouKIY4jjBgakR*SS-2C1uBoV_JK*_ax_dH zGfJSQ;)xQd3P?Em<fp^U0=pDZI>N+pMHSQ>ur5Orc%kZEnpl(q(~Bh@q1p@~_M^rl zR1RV!W)0&EmB$)nFiBiN2A2n$jy0a4#^dlX%mDOwHh{!4W>i2W@I(bv1(r~P$zTg5 zkepsoYEB}!ImZwmpIng`pAHK4_{60Aq7sJU)RN--<m~){5{AU&<kW%^hWMzEFf@0A z#DX!!a27D;DXGOJMfsJk0a!F)c;3)7B{e6tBo*Ft!>$dB_l(TZYDjRa30k@lZ3<>R zi`Cg!>^C&eNX$#g0kxZ8y$Ni#hIpa}gC3}%m6}%qjgZ8W)QZd!hVsPB5{BH=+~U*{ z22iA=mM}o80EXh!oYdqJPzNnJv4o+Zw4|6pFR8egAwJ3v;x16z#{g7`r4|<_rl-2X zdr_I00p7{QAf3e}MGSgAAhNh5CAFvsBnEENF%&?k3<w443}%33i;^>n7~-R%{BUIy zq&m#iJQq^0F~mo?hmoiyGcUCyJ~1Vwh(RyCD8IA-<h0~mFqH?QAxStTu_O`1(ksdb zD=03=V*uB!>G>t`X_-aEB}k1Whzuxw6r`ragBk=Fk|1r+0M5*Z8U@pUBo59H=#4H& zmcSy4Gpr2FAjuq2jJXD2<OPtio>)Xdjqkkt_?-M?aI2mnC$qRDHIE?;)Kmk7MNVoS zLwr<Tc`mr?omP~e%TNsNTN539#>J_*Bt#ulIkf!C1NT^ya`Kb2<BL)gQ!)dRL5BHZ zmR5#l>8U0Dd8r}J0lu)LN>FjA3tTZoEi^qMTU%a~S&|A$>tKuFnZmpn+TIKB20JM) zF&7kGCHXm^p$v1du6S@Ff(&Q`B<JQZWM}4pq>UhL1Y}!4o{I-HIrB?PK%NYM4OW0n z1DgX;4#}{Y0cL3_pl(I5L42@5JhEymVPlb-n3<Q8pI_jLst`Su8JU4x5MP{`myBHW zK-%)CS|Q<pNOJL>0mkOVsYPX}Me)fQsma;#Y57I*nR&_ixu7mQBGnhW26!X+4U20H zEi)j6AE>RL3yDh-bb;FaICSBz1(8As)pc0>iBl~`x6IJAAU`Ju91@U3fZ}&>m03_) zlp0@_SyWP*n8Q$<nVy%J!;qF=l+B=*mtT^q=k6D(TU?TuoDIsqVYuB7k`Bf%?TJ^~ z53MFKG|NpaD$YpE$%%&srfWcQR#p})>cFLc7O0v)*JxZ)R2h=*3)Sr!kQ|g5Y#5JC zBYN^PGy?Z|VfJCuf*Hhw^!ON>rR9_sXMj7UkjgI;<ZNgGgE69E0`6$#=7R=uN{T97 z1Cler>e0PvnwMH0lnPP@8KA+b&={@|G@t@g=3@xyy``s?<W_nH1SEq7B|#P$LK^r< z;L)LgfaCyB(F2n3!`50gG>7J__>%ni<ebdZyb{*{?_`L2)DZ<klf2Y&pZw&+9GHV) z>M#S<1ZFBI3zp;~jKrf9l<$z0qS<Z)vmFu&P`e@73)IFiElw?Q&d)6X4IqH~(J*h| ziYSA`loYUcJY5j(!$?vVrFliE>7YujC>~O*6uD*wxMc>EVHt;Y4K|2}1RaJsX5^Rx zDds^QMvP7y8bf;g9^f*LD92zm2IPGb%s`C|XCv1DtR0vDi1#s~nRE??_-()p;KUqo zBLqHv>KYIn4|NWz<Bg2L#ROzLGah+#4B~inqY0_U@GNxf4V3mVO-FN!A=oXT@l;}5 zLXv7jL#P+?K*LJd{bpzmEiJ)Ay735=*oSou!2|25Mc@nuHW9lz3y_D96`}gt&=eF^ zInW{H_{<bns99*rj3LTEh9MN;%Fjl*i3K6~upA9G5Pep{*$`wAxZX@kP0!4WPX^8S zK>IqN83PEvxS%LAuOy8j4N4amCnx5mfhL+#N<gF5ps6KLcL+4_#*hYXsWE_>|B$|{ zUVMCVPGVkqd@`u=gU>xNq=82ap_V~<x<#ousfop@py~wNp+_Hqa5i)eLiYoT0g1_l zrI|&k4Dq3P<(YXY@j<D@rMan4$E0S&rxhjUrh*)vkzZVrR0)b+5U-#pza$^Q1xdoC zQd5gyY*1|nX2-{;6z4;WKL)+@<mC9&3Q(6k9vmDDNtt;m44||I?kE;yrZB`u`4}01 z8=de545SmE8IYO60BWm(yaA5aBv9W06ar`!q(usJLJno(Eg9-J*i05=w!jQBRp6QI z7aVU1EeG<8Jd<5rUCk1UL9HU!+#v5{kh2U8K|Parkk?X6G6PBiz`{n5gqNIOP#IrT zoDrW`lwO*fnpaW`m4^5QG^z`lNs7-a%}q)zg2>_SRv9Ozq#zo&So%~D1B@W$2iR^< z12{7oG+hDdPC-=o7#d`xCZ?nofhIg4LeNYA)&z2JK~a8sQDQDc(hsAbW@wg@4^EGu zDZXM*gAyfF!C`=X7SqrqB_Gc;C@A6(b+AQFe!3^L$qws8<)XCsP}LiOTl#L9IVGt@ z#b_e~s477w`<IragQhcKCZmodFvLeeJ73^H$xTeo$jnOxmuQesf!0@G*)-6c1Sn}k zq>wejq5vUlXbyHJN@ollVnz`6LnOdPLR#q%Lw%re1WGlD@gdFu&_oxI85|E$fvxXi z4C)qoI)jEBQj0;o7Er3i5}~H>_5>*7r51sjFrXlV`Vy_pU;<N(Xu9E4Y?+vnf~E|T zLSd6-pb21j0}s(^0~?4@cN)TMhIIqL6%BsZ8o~5{e1TV~d16WmvLa|iB66KCWatMp z5#>|~u8^QX4^Onn{cw;M;1ZVL1|?`M0n7=QGa*K1DAi|XaXifFsVOjB*ki;nJ+%Z9 z%AVlnC&+57DnU*Mc@e5iuehYBBr%CWuedT7M8`)NK^7E%k{Ptsotd8(pHvA;`j8$z zoJ@k2phfwhQ7b41iAie7>KWjj?CJ_CcvJI0m1BHnnrB2}VsVj?VSIchxU4BpEJ}&b zEJ-a&EXgnO42gGjH7!fbDNQXdGBnF92916dmlTyImt-d8q=L(ELsOXQ_>!W;%#vcy zV2gNH%OdzB7t93LGFKB&E#ew%5g%+34;t%$Hg+>}Q_B)_+>25ZOHzx1;C=F7L$D%9 zG6l`Tl_ll`m*!$9fTVb+0+-CRG;|e+(M?d(7Mj)3JA)A0kdzv_2H;nURtbWdaG?1@ zP|5`t22c~Bl`GoRs<R;|%>^6ALsel`1ID0Kl9QhfP8-Fp0RhPn)esHPlmu$G7Nr)J zrWTjP=j12FgIcJdy3#v2Gc(u#6n?Ox4VvD-U1Lzi2<mb{R6u=MoLUl(R-i)VA<>i! zjvufR(6|qL!aKk_8IoYZ*#Z(<h)iv03Cm^R`Rz1t{o#tQQwA~yk+Bm~QXq8>Aw3~s znB#;D@lhecScP%UI#@uPY4NTBST%-tViyj>)?<g*5Ah5lNa8&MKoXufbYNB>My8P7 zY<x;)F)SLPWtl71zAY#S(Nd?8A=C^=6$C5c@#x2hNeie6Ir-^CXos}YVD%7uoDWn2 z5TP4Om>I(C4|NG3U;?-`>+J6r66Ej002+DsGc*9rT2&+_WtM^0s}yH~8vez_;2JJI zGcPUQ6;q+1Ik<a(t_pW6l9<8yfB?VXctg|dy!`S!M4ABEj&;z-*~k^t?uBIi05>d& z5_9}NAQQK7hSW9A2vmxJ#{3`-gpgEmCb)b87mpA_gAL<JG#5Pqg9?9dP$7!l9MA{^ zB;0Ungt&xM?U1!{gmgg)Sy1Z%Y5d5nIJE?_ypizm4`i;&*U{b68Nzh)^l^=c@bxqD zb5r#*@=eSQ3@r@x!TBRSvjofl6G+q3dd>{)&dw;kMoUZ)O9nk3Q2R#D&=Sr>unaBW zf(VwOIb6^j(?l~&Awx5`1|%jng{BCF2&O5fi6#hj2&M_9I%9-71QWqBGJ?w^u?#WI zF*JlLL}tPTjSS#SO9nkiGfywMxWobxx^Si?oMmVMXChdJ=5Rp-%g_uih+r9-!Uat& zFk;pOQ^?Q+t^u2@F<jOV!9=i(jIfw!gwTUvVp9lLXJiOx8X_^_f<^{dtTBK~8zPvP z>MYF>;SFaZ30lAf5iCP<xS+W?MkpGZ!DW${NP?ztc~dO9P2jSI2quDMXbhJ(#?);D zmozfMlr=<1BQX(zMuu?hhDc1fppgNbX^3EA+GB<YQaIBR&N8%sGZ8F9bGV?n8I~Z0 z%Nm-&nFyAlDO}JLi*6IRtRaGFf<>V*LLq`_jH%EFuFl8^Q`Qh6jl={AB67JQ!UP1< z5Q%99FB6JOiVXD-GDZe)t%gWUOH){&BUpwOa6v<JIMdt|BYe#;g$&K$8jzUS6q+Iw zBA5u4p$S|b!7?<43mRkEZ3LGzLNE;xOeB^eT&W=v6E0|E0B0H^F)dBtfdyw7TELkI zmZ3RZ(A)$w*f50*&EOi4m`H-AaCuWKx=rA+h6pBtWoQhSH^$U$1eY{IFbxq*B$gpu zsUZ>*E@)%`XBr|gEsf#924@*sz?le^p*dX8+!!O+49(!ONK7O_Q@A{WWoQBy1ha}u ziu8<(;bMjeCW2*T1eZ6$;tYhOA)IN5#DohP8Niu_2ABp}8o`3a5Wz&S3@zaD7DkwX zVGfryL@>><C^SPTL@*I7LsPiCDW+}{xTGP1iC`HSBjgcG1k1<>(?~-jgdPMFiDih8 zM`FSSjSR4uX#kft1T&ojJPpkZ;tdfY3};%xS%wyHCW2*X4i`kQ49(zz2$rEKToA!B zG=U2uScb-ML1ROVs5F908X=g52qrQMuGG*Fi3#(ikpV&w#DvxxkeUE#EKtuST(2lK zO)ow^y`mz%AhoDCKQA#Sv!pV<%z#19$2q{$%q$+pGKH}$3}Gx#(1N6)t$8@p63#NT zfHN%&Fnnx|DP(94*MP*trqB$b5WzIVG|?2H4#7mQ3{Bwj2$rESToA!BGJ*>lBA7@l zLxemM6E0|E0B0H+Ku;0@?V=+e3n?<dj*LSw<Ny<BM;-&iS1jl7A}f5%4LLg(y3HFd z1w96X;VJa|WS9i>SO6H8;T|{SjAOU}l;HtAi1-EcfMn3IFCZ5|x9h^s&z&L-u^%J{ z)e5FGwu32#BhdYa5FVyo-FyrT(4z!kO2G6DA;_jfn0Ao;pnEQ$#~y&sQwAwqF9oq5 zbf*Z255pf0Ls-!5o)8WL;ygQ;z$z)Io6tO9@DO4@ERsR?gTffy|G3=$1dIE>GD7V_ zI=5Lu2D|$ijzC-pIujhif{^I(CoBUs6V3ezQ1?TRr(giNAG8ISSoeRx;{I<~++U=K z-Tey3Anx^t1S5olCH!+0vAh2O7WaeF0=oOv^&$2{k7t0}Q*a!@gyjPW4-x;caEyYw zA1(M8HbC{ShG~S-Fnv%iLnzGsFaap7@Cf2@*!gat@aIQ5HygS=o54{VyZaNM2NlEA zL5+o<a}5gzT<Px*H2z@fK=y;q>qO5#pfim@E=A8j4N&``$6UayhaHOs=i{=UMHpl% z;+$}h{h)I}(d}Q%4)H&_{Szp(p9hQm2e71H5hm>RFM!$)J)Q~fU-bBoH-+ej9tQ<i zw-~Bl19~nNOac-r5IrEVbZGiRx97q~kSqfO>>P0j4-uX)eiDxKHv^jfVCQLr!XI=* z8Z14)($!X8h?(g2b9{o>fS!L~`XRCm49oZ+enHnS0M)+(O#(gq7V<&!Kg>WV?eG{9 zQVr1a20-oyZ9RwC4|9JgH2<TA|Ans*gP_N#KsZR{55#l^23+Y^1e$(8We!L)$bQgy znds@a7#jb~Xa$JJH;^t!*g{wk66SsgkAWf26zYF8{RiGcTnO_g$bQgSqA>k1@j_lm z_`~Wcn7IK^`=Q69!GvMQcEV|EVTgXX0w|*nsvpXQQxI3dxePXt`X6>2F<hbnsy_l0 zX>d`@@GzH#`X5ORh<O9*{}<46TtNN@-Nl9Oe<?)<@Y$pwJ;+!A8h;wl3<PpFDE`p( zg9pQ1G81$3ob~ec6%-6jjg1YA%q<Lz6cmh%O-)Rpq@jU<nVE@#f{}@ZshI)@ByiQc z`nWMMf=q_k%*bE|4_Al?gp`1uO$FjX@{<FD0Rtn0W4L2juxICYkIvt|z2zJ}o!`Kx z%6oRRdvr2;cKb_sbUVE8=;UGc=)4b>Io`|xO@I912lxe>L5EpJJH|Q2ANK4#?$LQ4 zW`a-Wf3SLw&f{R3UmkqAPOwMkZ;x(fu&LcO%mN;*|4Sr1y4gK?!H2c|4>0I#2Awb0 z{NsNKi{XLj!yetNAUAt-b9nTE&tcoA%)r0^x~7c*Y%a{O<1WnLd=1i*mZrxq4>>$1 z)G;i$^K|D`&(3enf7#2Fz<NG8@(Z#xKmF7Em!rgy|FmOg9LEk&CX05Ai#_bo4L%0Z zqnjIMA?O%FWDDUEpmO!KJ_#B?C(a^F+VTJY|NpPM($bLJ3yKfNP{)v9kH$A2m>C#6 zJO6ohvw?!kv$=*%fPuf|6axc;V|N=U7FrMR_kj-6HN5TF`P`=)d_18~FUYwJuhl%e zeHr$_E%fPp4)*%%Vvu!+@cHD(FW_>IBaL4V9L%Lm)k&V+Y`b1CGcfpce)sA8*Lm}Q zfPrT>pGSA$3(xKvGXbA&anJ5)plJ8(?vr3)U~uhj1I3tYw~v`Z=dmnC$8g90K^`8> zM+90A@VA!!|Nr0fxXV3oqKCTM<Nslg<P#p2r)wHK8jpay8SNP37z<8CVCNy+haMiV z<m2(eqq&9~6ds_%NSb$pf`fs-Zz(8n_JFd3XXi6`h=9}0Yc76y2L_LBX3zgeJ~{CV zusn9`^-=i`_9`UZ{tqw!#d>$)3y<y^V~|HZx+jA?>e1Z|@~BHUIBB|c`xrw!8iw#_ zshHPsmdD_fnhee%o|Z>yCcTzGj|E7kczp@O-_ZOK3i5EUNAnwrPyB*DDgvMQ1zl7) zTsx0>bbj^d{O!|QE8x@l4;+;q-L4!Soy;EHz6zl9K`4`Ybh|P@lxx70f8rN#QQ`Q+ zFW9WX!oUFLfh=qW9YpKWxfv9u9?eH2z}Y+Yut(=na5zD2?|ct&1#12VyC0H((fr`p zdET@0iYL??n=M$tDGXu;B<XrI9~JQEyzkNZ&ZqO0Pv=9Z95`Wm^m<5mbaHz%AE@x? zYzAqD6-bC;2v$^JC<Xfrr$51I2jWj?B8-KWWgeaHz;1ZW4J*YwJCFNxeg_Mp7jS9( z@-7UJ^3<dGjQ}j6R=n_Fgp`~fozD#+rK?Z3iHc8mjS2^9`hsLQu;FPQ{CNk`_>;hX zPveK2h?~Y=aKbN*KjOqEegSYCec~4YAG!63Kkh;rzuu{$44=-;pakpFxf_&VJs?TZ zqxC?Y>nDDJZb&T0o%qBr=*`jmgRw+^Cn&2Rmp>q*p~|3E2)dl+@c4hw!}4IwBT!-6 zdH;Wa1t@oelf_|d`86asz_ataXXhW^-f{t0h2Yuk&f(d~qT<=@4^FS1ojfeCQpxdn ziwY>Uf$|T3_yI?L!4?&eKRmnHp<2Lc7No`Vc#8_ifgq)x-7G2|-4!o9n`>+Y7)qjj z7@s?KZ&3l2MlRj%3Lf3y(1E3-)&r%{FpEHSk!Np>3WwphU7&tEIM6*CkAN&S{N~g7 z+@tvj2dGerbBuopvI>^A5Y-U8Xa(ziy%bXgsCqz@_7KN9yzo5k!UC?TUgm>}#?IrO z-Fv`30#${Q9^LT*U;{ln=Rieodvx9}eeTow92SzV#ZZzXTpT?`g33F`Fi>IQ;o14m zqkE1D$lIVipTV!`qN4DLUw|2G7r2nI=yvAdKhf!;V&K_54-~>4t+z{*Ji4v<HC$8_ z_%(b~48SE4zaWds|6mS}?q~sz*4w4`3=eoTAMuEGj5`dn50U=^V7dLTPw!Sxi2~0! z-Qe=rv-!AyN9TK=&VRUayDtMIySIXLdqB&Z<E=;ug<r506l1WU2WNa=1`k%yiS!<w z5Pip6L7oA}Ve?+_k)$Ot-CH4Pq!o0uHawYp_vm~H4i8XDf!G5IFpu6^lw{)3cobx* z;Wv-Y_poFFuDfEXlv2PYHK^Hj+=Uf6r5y3--V5>zD51zh>kD{#@#vfjkpm}}7m$zz z`{uQ@XXg=QK2m9R1Rg2S_5mzq!P-yY>d3S6n`h^L&u%u)PIk|3KUiL5_w3#evGack zhI>3a=R@Qm?(u9sCg9Wg->35%xYz)P6eztw&Hs-Sg`S=KkQnsrYzM_Wk}Z-G;QmE3 z-=iDce)MQQCg9t<9i$DG8+<yyBdql3JPh+Otp0%c7*T#Zg3B*ZyUVA$;)Q>&iXD>c zygPa9AkOpdY_S7b<lVi;4&v4SCAjmifA1EsY9xokN<W{@@33?PFK+O-6I9~D+qa<b zgSht(k|RAkc~l^d^z3X=0XY)6kWoQuZz6>!YI)<^y9cZht9v1>7%au4XXmlk+@77s z5P=VAb|M1(I5<tF!O|C~>Cas80-he={R5<W6Ro?z1Jcv&pkVkd`u~II!wd}nXYXNP z2A?GjDse$ModLuEwK%;&JU<2o@Kpw&<8T=xkvibeo)SVo^gw3@1`q?JAAIuRJg9!q zF?ozDvFX3o(7?b9vIcf^H3OId>UZ7;xd3!aBFH%KfF7s;4;m7_4!WY{5p+BbG*rR( z3Y*!F8yJ|QL59G)(I5uMv^-Gd4LYL|G^hu@Tm$6XeIT_U9LWgrb{ZoC10(3(7?7o) z`^*??7!iYz@Gz)lE(PfV^{zlP1Be0gz*>+kpil!@ITgeK9rFho>jd9vbCiLB0XohN zxv>gl3uu&!5p*3Dh_e)AKj^M0kO5#B&;?WAf(>L5$V6Bif)0|FVqjp%2T6cVDTb>m zf`$|5XjR54Y~ch-1E3fN9VQDtkhFw>fdP7QCj&zlRR1hcpid&Ce+tNckbaPp!KZYB zj?x5i)`RrV2OTmDQUb!r?gt%s3UV^ICk8ro6Es``Qp8{mwI6inAfr7l`(gS)su@71 z<%8OP;9(_41_lNY2XvG)Bj|i?*x(C1{y_c*9V89%KUlva=%`$<<)BUx)c!z_`$3mf zgPaMLM0P(+Kgc!)Py+{Kr42|KC?kP5ps{>L&;=$K_AdhE0V$B}py4vmQO}H^jx>Dm z3t~?IIQxSMkg+JZp+(P;fx*C;fx*BPMFK1a5;1V)2c;+w6N*XYJB9@ZfScy<>H_Q* zkH*8$J_V#Cjsq7+o}I@K5@2=c<ro7l^LlrK%meEIb!ot@Nw}e}`9UV5Dgi6SFdkt( zvj=m;3#7srUVV}4a!3He-H+3JRA-_E4+%bj+6NkM^60z_X;OfinA-b6NeS$IkIo1V zpH2hM?tXB6+UX(S+1U<a8Xf>w;aCQPK+%Y3V?#z%F2kyHSdEBiw1Z|c5z4`qz6O=Y z5XUhvFa&sX{_yDD0kRa-%+mH?1u+rh5gwM|9Hp!tmgXhq9^Ih!seng!J!llG^eLuo zpm9HhZD7Ym9`@+=7x3uh0NZVNAo4JL^iKhDq9bJKEND2;O2IiXPrXC|wtqnZv~*p; z)1{aTNsU!%UUGg)YJ5pPOgUsTzd}lCPDvthDl-#vkQFK<gRKQ`RaJm4^S4qc$uBO> z%u7d77!Ns-zzV7!?o7xk{UU5CAs$LkEm44OBgo9pQ-msnZ5)jE$t*6hvVs{0-AP)c zp=qVy7wY4qfNDGuy8KH^6!Oy)a#M5jiz=~OhPiLwO2IE*p|~_T1I<22=vpa2XobA| z5`~<^qV!aS)V%!C^bAnh2Tx3(yGWperO0B`WS{sA8btj6A4XHtY>-)?wj+q97rp@X z4~(X^y`bDoZ8MS0y8(4Sj7F9thfOW_!rTL+$#Dxv52#iH(X_&_bPS^j*+VV&!0dz3 zgzUv7PwV^w%NH;jmpfqM)N&8ZJ{S!%pHv#M$plopL3Bco2?7bkyH+IT7UZPH2ZIlG zg2+Snx`E{()eS@(PJ&NQP$)|+D$dN$Q!v#t&@)ufC`n8&)(>*^adixKjW;zg)KAOI zOUwav3PC*@kY2{B0G}WR#tH#;P@joGTAGKQ19XQesKE}J;{&MyT|WXYzMc34ocJUh z`4pO2`k4Efpwod2j8$M07-4!r;xO|;?Oz5*K7nQ?1_qEAxO>XLz_1u(up_d0ZA_qM zLI_A4)HVk-lOgsw@hLd*X*lv3xbrRGXlCnS?FHM;w3%-OhZElh4iCNs9N@Wm=(PY0 z;5I9My*<c!K@EJ^UCujU>wzF{bK+BQ<kN8Bb7*GmW9esZV*<G!c5mJ<47E;t8cuu$ zj(ip_d;!huJ#4*DT?`DM@C0{F85kJA%LyRvbL3NS;WK~)C%B^l>MVkS0CaaAQkX;B z;mBvu%-RF?Jt!<;_b-C4fpOv!aO9J4;Y(;{?qgzL0J#%(e<J8!Vz60oKf&GU$mf9S zPLR1bKw%HMp9$m;xH}<^1o^`TIzJBTOM=ZsQv(W5*d4lyU||GNgW(U5+8(HRpk-=E z=3%G>b=69sYC+SKAm@S78tgt@NCy#;)<9|(K-EGi@OqgoP!5y=i^1-JLl(OO<v=NL z{Fy-4Pk^pfg1OTXk{`ff4hkFCU8`|O{zg|*12qRUn1IV1*j=cgyGC)TIRZ5Y)Jun{ zLC&9`FjxXr0~$8~<wH=^g4WJ~de|T~s2d5QL03e9XwVP}hz6|#1ks>=EGUdYY|tPA zs51{@gVwKrMkqjRP?`aCaY1Z(XlEP5R$^cPkDh?opfU$~{TwLTFz|6s(AtBK|IsBt zcQrCHz)B*-`b2l|T1yr9dPSIuRZwxzI1k7y=oM!S5>W9~AjdE;fY;!G<dvY}p#Bqx z4|C&ZF3?&G6^3|_AOiz<APvMk0u}E7agfCGq2i#iF_09@9Al{XZIB?6dI_jF3)DTJ z4jD)Z6I9#^Dh?jOU|?Wa2#P59iZhT(2%Z5J2dyTA@L{AjR2-BBU}7K|a%Tt!hDmK; z_25(lQU=E+P;nQidteffJK$ItV0X8|#5aN){wxfzyBlHR-B58CScZa1utLp;-MI=C zW;hE~e*{haJg7MA4po@?3aGdXG`+*b{h;D4XyP_damX4Fm}&+FMW{Gv!UG}7!0-Va z#4HSVkOiS^W~{4TKx>IH!xN;189WLLVxeMY22d_U6$9~@89=!b#6rc)@YIhk4$8Ht zVjvzfVi*v_g=1z0P;Q2E;S6SQjSc6*8O#izTn^{L8O#iz91rJ$8Cl#642n#k+z;l$ z)7>m~q@h=c6qtO0Lp+NEyZT8u#KVz?7QrS%2+$xNdY%BuShHd`|3A{b+aPr?3|ha5 z%^c8u=-9-!axgFmF)%T}?t%i>*$fN}4V(-NN=V@eD$7B3=zzr$;R!Ck85kIx7$N3N zfL4IuI*);YVK*y8JODH}3%Vl^nqPZi;-EsGfq?<kt^k>TnHi!Uc2_Z|?gfb-WrB#q z*7||!c#!x^sJ#l{{K3Ew0}^ClVAzi%oZsLOpTmYdoHrv6#Y4>oQPnuaC86#K01d{% z+Efe-42IBf22E&!^n==HAo>S8#9y$xkwNV|ka##VDEvV+8;Hli0IIh^EKeqoI3gc` z>U@xRJp;s?0uYCRfdSmUWnf?c4TXc^7u0qJNx_z)ffgZw#9?g_aNCrDf#DR?Jr6*N zVeMfC28MKKd_jd7Ky7ajdp_8mi1GneEKUTw6I_Ubl)+0P&<HlRbQr|~szX&78lXiJ z%pbaJ5OL5VB#=R{`VBP6EXbhB0J|$5rk)9^{sPn?F!h#D^Bth#F!jwW*yBBl9cnMs zJ)kjAkp0Z85b+DpavLUI3$=Fx)O?t@GuRw;2H4t5Sj;^EyGI?|&I6eXy?Tiu4{VM) zNC=E!A*cg3N0k9~=Q+&0qhNDX8DM=3n0P$c990GdsCz(dK#+l=P;+2+!$YqWV^{_? z2c!msVc`b4D;X5du=E2H|AC`?yN{z>x`-pcY=q|b257kfr5F}N^Sb~v06^_^kh_$? z=?&Df1MwIbK<!Wv3$#XC38}sSwP8Wx^<ed&RwIbV08fX7;Pi>8zo5Ycp47pXK40P} zhnv|M7?ePX4q`mK2K|hqJYmIAkG#iWejzvZ^jV0*98mF!&Haox()oNG;;?iIO8%hh zjsHM~G5>>S&Y*n=P+EhD!<Mgt)PwqXF!5MuxPZj985kH~;;`}w6z-sFL1E(1D+9st z1d@Y^FM*l^YVLsML1E(1E9JoIL0J+ez89(<WG|?Wf{BCsxKQ_lu91d`i-H1<fdPC~ zAF}!KP;ro3Kt(!Cy&hB?-FyqEI7mIHYJ;hFgNmcOKL9EYQjctYJX9Rr{7k4gNIj^p z1T((^DvqxHEL0rb-YZaXkU5~L8D`EKs5rVg+#rR}yKX_HJxo0)zk`Ar-TY@r>XFSa z0!0!u{E_2jJCZnZdb@-qj-1|1K@NnPgPh)Mk;IYHn=4ct<SgX$)(8~`QJ`5>n7=we z0?_mTO2aVmxlnNsh3w8HAOWcQV5D@u4=N6#kllYCBmh+pnzMzOuLw#6Sp2086-Rf! z8B`o(9O&9<m^pSx;>h9P1{Fs)2UNd<;t^yHX!;vwP9ao1NW2)yUz3r<LF*l0>K8!8 zLFR+%dYJeMBymuw3ll$xBn~RKVB%?@%mWPv<Zy065=Rct`%rOEIt2BZVdgxCii6w_ z>QlkQIY5~QYCdQo0Zd#4NgUa~+E8(j`N-viDO4QfUr-YiW{wL~9AqzYI`@T&qni^B z6$hCEl7pF(1{Fs)XDX6-Hd4H7KoUpJ7rUV1AoG#a{|Tr#$b4k=7m&n})6Wg4IJ!BE zpiB-8Pf#5JbALXPICB0fgNlRv3Tm^%)OSP0LGD40cTj%{ls-Y~L2D#n>enKvM@|nX zpyD9)ps^B|dNz;%G~Xeo6G5mr$X?`hqK_nwoKF0Z#F5iUC{!FoA*YjgkN~v&L{2Ap zP;rpG$mygUDh{HM&1nP)K+OR$Vg8x`;y}Y6*_@+D;>hXbK9V?cyuZgG{u3&W9`7t5 z&p_=(E`NBC#F5jF2vi*1oKUDZC>)U82^l{Djln_2j$!_VjN3r!YvlOdio=}KP;rnq zkki{es5r=8<ZyV6B#!K_Z#cyNA&DdVmkru}Mfa~JR2<|UWcP<c#X;^t4u=w`I7mIR z`x~I*Aoa-ZpNu4q?EZN;#Frt7BfEbcR2<#?=b+*s_aM8U721FYxd++(Do}BddSv$- zK*d4ok=<{BB#!KUZzOSK^P`c(k<}+7i6g7eMiNK%Z!uIH-M<}BagaN$k;>coNaCPH ziLmqu(hn-HK<e|5)I*C;a61{)cZaEmCLeJ76S=*C+zv+$AK1th$b4k~g4_nP7g^jH zBnZu?$o>Vb8v{v!+>2Z<km?@T$Q!zQKy3q%`5<xR@CUgKCJti5!odq92z4j2`XD56 zWcNow#nIgl>+ylo8*+Gp<^w=lK<+^fPh*fE)Lvxwz!tiJ)FX@gBB@7q53C<Vse5q6 zFK8|jWHrb=$l>Dy62#(u*t{jWdQct&X#t5NyFUda2(4d`(*tZI7Nj0DMhJ^9P@N9a z0t#p3dI~vRfr<*4dRTmc%t5ZFVB<+3ape308>c}xAGE|2WG^V3L0J%HKJ<!uaQ;Fz zA9}?*SRAx^6{a4PXF=wmn-5y)3K9pI4{{SsJ!t$EBn}coHXpQt7$%M!FQ7IpNF3Cy zg6ReEVdFy}anPDmkQfNV#%Vy}pk<^WF%SmLM}laOI4m!N_@Fiqhz5zn*dRVEoq)vk zK>|<=YTJOAAaR%<L3|h+Bo2!^kT_^5DToG%gO;U&*dQDMB0%%u3=9mgJPQ(n#TQ6D zvVUP`9Du}OV>Tf5u=xy-csfV`ieckfAaPLt2o_$j@hXrwsGkKBUjWqy5(kwPFmc%4 zc9=NGERa&@)$icdxgc|3?%M&9g!&7l7AAfHNgTAs7s_S00cC*92aVxFxeT!JQ;;~U zOa{q;mlZ<Ihs6;{`~!%9iX+G44<vEqcmz8fsvZ`1Af+523!&o3@d#T-0Fp+IM+uMs zR6TM$Dj<o&<^VzFYaofk<^VzB4oKq2;p2fMo(56~#jtS?kTh&82qXm?-vo(++7+;P z%m4{M-3e;{!^8`a#6f8lCJq}90ZD_zL2(H(AGS6DBn~nM7QY=J0jT*Pdtu|83y{QN zX&z+G3M6sx#sZKa0|NtS9X*H%l7`h0AU<eGJ%|R0!}17-4_a>zqCw)w@eW!W0TV}# z_X{9}P<JB7J8W$PNE$ibAAkg)>XGC91(G;&yn_eQpz4wR%K<6~q2jQz4&*)oBym_7 z4iblrJA<qNt@?+>iw2T<P~8L*H$W4I#g_$=ILI7Wd<7th!|Gg+y%9*_usR(i4qNvD zat~~73M8I^q#ik5V22fe)Fa1B1(JH?cxgZqM>b~$k~p$EVe>8^^I>%^$UQ5N)F*=k zpcpo<08)><@nQ#(dhjk3sQLp);>h+sKoUoe-xo;Y$m#h5k~ngD{(&Tp>|fYHRUmgF zhZ_fU91kRp9Bu+g;>hV)0!bV>Ju4uIBd2E#Byr^Q?0_VW>|YNgapd$IfFzEbo(qt~ zk;AhBNgO%7H6V#2r?(CyapZ7=&HsVI2RYnkAgM<VH`qEHka}cuU}vd-#F5>30LdKW z^mYPC967zg=C?rRAg8w*Na|s2IZ%>&fFzC_&fo?YwA?@z2hHDs^nuJrPH&){n=o<Y z^ak244HHN9FKC}AOdL7fVC!;0<|Bt2Y`rB&967zg)~SNTk<%M^Ln_q$$mz`k)BuEv zBd50nBynW_W*~_pr?&zmapd$i0ZAM=9zpAlVE#o;ZwrvrBd50&NaD!hwgE{TIox(2 zi6e*G0VHu`b8aAsBfIkfk~ngDdx0d5oZdbli6f`CA4uY`IX#g7!JDn1;g1~7U^%FG zA&kSozyRw<gNiNK8Yqx7tX&Nf2W{vAiGeU^>=8tR#9@6~5Fh3jkT^&^EG%k3lF)t= zNF3Jwn}a3}n@5GU8)4?a>H`r_0z@(gRxZdQiG$n&YsbUdT`+TC>kB;5)Wh1@uyzq# zJ#_qi4w8D1`$6-*Ag6;i2ZCsjdXT-abw;rE2}m5I9=3i2)~<kw!`6L()}<hu16#KR zYbU_e!`5-Y=ILSLuyr4x^$*DAz}9)CfD|Hy8*JV<7fBrCe%Si22}t4~_runk%tR6g zsfVo#+k+$yQV*N2hOILINrS{;>tA5?DM%dFrvthB4@dy&PS6HGkQfNV>Oqh+Vs#Az zg9@}<1&M=pe1g=1umzGhY>gpE+!09}<bK%twHPFE(Ap1>S`bb}5(lY=t!snTUm$xy z=PH5Jf^a9Adf0k5*m_Qodc^7l28Ok0>S62PVD%12JuDA`%)f}H9=1O24U#x)Yy_kp zbO9ddn&SMll*CGg_^99#OZX*yWeo9ADLDZk$`7%w-K;1Tbi0i!SQvUApHpISs&h_a zaWUj32CPzsh)X|<Q}a?%i;5veAWSxdU(5x*Gz6<W$m;myjKsY3RH(cW<T^UI6GHPc z3rkZCO(FNU#=|db20IFuV$iibsYU3D!PgMRgV*MxuH8pmS`0Q7a}htf0*Fa)H@X-> z{Epo@Fj-7vVKUhDIYUehDKm)AGct+yLysI6Lx`<d#gVUUjDj11d;0>|FceLGgcL(B z(}Ek0h<S)%P<f=Z1{RM;I0s9J!2ATcqY4~XkbM*wdeP&+07qzm#8Es3cQ76gVraq_ z8eqjx-@*+?3Jqj=<j??#;|~pp3fNV8$e{s}LHLS6FF8LKbf+We=FZ~O642E=&bYm2 z5RaZ_z#0%v#-RW+zOXCw#4sLm_X$IBNlI!_5y&#wb=_b;q2@-AbO>(8gQQ`%dE?Lx zyUiP$v|f5qerW;nanMDnIeJC;;47fe(iG$Z9L)QIKxz?zg-;b`h>@roeCruj7vz=a zg6<iuNQ^H)z9v0BDg<xLBis!NNM}q38pNY22}9+EpmKvzxt>T|J&a4*{je8wMi%hR zvx%i8`6;P6sU@i?u#L0?Z=@!8<t^w!D@=caydQ#H7<L63IQ>A1ACPL;O=if#MBk8$ z{}x-!duQXLkctXR_^xU273rWmXbmCtWJXDTUJ8hhr+~th<T43r#F6?S8lf)8E6LAD zNnrq;h7P*35q5VY^l~21&7}~R!tNU^ElMoO%+E6iHB&$r6oT&D!&1V*?_Yzo4hURe z28v>$?kq!;nR@Y2*sL{0+FK2^8oGnqHJ~iOtt{9e-q0u>vJ2kR(Z|`z6<U@+D*$X} z8pG2!ktPzpehQQZv0gj{DQWev-;RWNlMnoE8f+KRpkHf+>oyk5+gyw=?<X<D6f(lR zjstPA2BsX|>nK2%O*jX5TEt`CkAS#c!4Q5?0*C=tj(H;i(%k}R*U3O*8g!v3-b)0~ z!wqx-KG-rS!vuVl04T@k86uB1fLrin5mg+ZeJq$-6QF}MTR@YJNYc>mEnMUiGiV<b z0|Rt<7+f6IuRa8tRD_FSuEBlF3|W(cqy)^|0Uca$fZ7ilLjm=1pv#fqXX5XGo@ot| z18am5ETF}e3=9lwp#2@FFl-nN#$`|fuS17(;S3E>Cys%E0p@&={h)bV=r9W0oLZ>; z=x1tgfKFIKoewt`Dh%gWutWWi=7AreMO6$8@b&H>`$1uh?tgCZelpOW1-Ox5#sR2B zPzo#tB4GMqbRrJ@7oZxE``jS?P+|CbdtBjX0u4WyJs|gk#wXFkuN%ji;2)qCp#=-v zUXWWr7?=GvSnLOlgQD9%6PA9_ErKq5Ko^EO3uHAI<Felci~XSSN_6|Parj?=Li>HN z*bf>PMYq2ahyN8Qv_AxDKXU#7&CjFT?~KF$22lG!YkR-}4JFXS-;N1;{?UL=w!-GW zLFo@Pb_q+5u=z4v@t1(b{h)OO=<W~15q=F&_rvxZL7k70etlr&A6i1&0d+rYe+kI_ zpj}MFx<3bt`$6jk(B036Bm5sg-H$R>jAhRkCywy1fKF;7hd*fT3$gC6z~X+;x(0Oj z%isuq2hhQ742XR#xWZo?NBDC<7Zo6fKWMiMvF>ld;(kz+qPxF}6Iy?w#s3DV`(gV9 zak;+~yssKM5DHTS+8+pYKWuy)lzu=?BG&yAK#I}oKTwpSyI&25`vX9kje&syw6+Jy zSs3YG5r_L1KsR>7=C48S2aV^VyFUQDzng&pd9DUz-yx{|uz7xv7zo4KFEAQ(95{%L z)=Xen06tQefq?@$t`E`+!sz9XCM&f30ZAfbD+s3m+5iB#A2eQ!?*1+gNc^KkKf?yl z=6ePP2IMtLAQRE;$5npK!4iL<CKY=8r9i_E{Z54+Q2Sx-1=$V4==^xtoknOLD1a{b zgO#%&|AWSxVfta>KcM*+qcscN$Ol{Z2(lZ5L2-pl_pm|24<v?+^`QEZ#XxMBeh?dk z*FoBEuw@D$Auu+8>Ib<GEC3~7?uT+2R>InEFaapt0rfv@o)_eQ(0YEDewhE8I1qd3 zpjyGy3TXVn=3hYW2E`w`etk<L&;<!_Oz2JpGc#kT2IB8jfZYoLau}pt@4z6!z{mhT zk=&h=Uy%JUKkQ6!$QiBwJiFz5yVE#)EFYH`!_PqV>9+Q5{a+&F+0E|L`Tu`_2aLht z(R`T0)ACN~UC(Yg&(1gw(0O^{U`FSC$Vq%LphNS)n`@EyhdnwEdv@D_4zT0&?5u;F zHRl1nz#(k{;>=hI+{5PC>BfO<C*q7e$QiEI9^Kv?9+u}lI)9X?cy#_i$a^$fFq8;- zG#}vbusm4$(WCRkOVBbp56ct$Euj6x9=!n^9+s#0TR`V@`t&+}@YFou(s}&gd*=Vg zJ({00m#BGszmIZ;t&vCTw-R=bP6M!^&4)NV{vR)W;o1B{qR1<4f=4&1e0LECiu&#% z0W`h@3cvY~f`{d)(j6Y%5I<@D@HqH`*+cWE$HAY>9-YTLG|!ds!Giagvjju*;bIPt zUY6q?oz5H(KFXQB9^LL79@^|+Lu~&sFfi~>KX4eyKfxf|{XDwm!3r%8mneX=BZZ%( zaS1OdX?R%PDE$Pw@WR9LaEanEcL_$26I=h6uz7T|{}15sI1VnpH!wyY2B`vJ(3#5t z9-SsCAUkBh7FfFrlyHH=&YgoJ;;={OGw>q9h{OM9&tYJe0<GQ!?Wh9RSfJ7yw5$r0 z<Qe|Y)?^0H#laR$GJqH$wQ-<QZ#ihYHz<FC6vNem4sZntFn|~!wcs6%6G3-+fQ1<t z7*Ng-{|deVBaXwjJ59i+^MQxv4N$oGSiazI2Bj6xZZQwd%N_@RGkf*2XnS-X^f>s^ zmcNysiGjgmCv;D#yr<?BpUy`f2Y)ep?E421<oB@r#NYmhfq}vE;2$PW%OgJgP7i!r zpYXSwVq{?Ov^>M#20EH|Kd4>-2Zu-JVdxztu$YFO_t<<u0DP|kxMvDIOdO`hv)A>% zPv=XI=7-EB${ycug3AMFw0L&MK{9w}9Ea!svmXBsmOk}p{=v-O1PT(Q^Z-}y#^KTH z!Qt8I$Ki3@0bJsFb`vXxWLNXiKc%Z*UIzKS^Nd%o%~MdogFWffYjeZ1*Z03q=PQrq zN9-kr9^Y^Ibp8b=Kcw_`98!pTG#`aH{7~r|kLI83#oVv0d^-Pvm_>%5LJ)cfiw9Ia zzo07zzo4rGzo4sz$8lG1OU$GBsDo$o(I2I^{CZU$fQq^9Fb)sRTb`QNJz6i-ar<=s z_vpL_cARggoo8nrhi_*Z=-~MhG5EQvuv;5Yib2SU?1x<qpBNr^sq+8-f7scoprcoz zMIlTG<bNcLlK%esc9$~vcGq(FYJLZK?%-c$k6u?scuE7E+=EDIzTK$;zM5ZPsck<Z zwf!oOMNes<J;b1_=xKST%$?Gd1~v#SIzef++eF2$SLLxsH=9Q%%WIF`oYx$_t^eyl z<&{t8H=oX5;IQ@VjAiib%;oUyOcn5L{Z=A|bS60@Byk1q?bi!@phxp#3E9M)oc!d( zlKdi@5IZX?C@)o`II}7>zC<BUQ$amXT_Lq1IW;w<SRpsDA~Ux%SE0DH05pxAnxX(w zhZHd+p7jPgzX_xp{hT&Xo(A<<KyuJ#DE!11T<5}p))2tfL4el!gWHQZ&h`SSgRR#A zuT{pO4&*-AzH{(ZQPA_^K<?WEavTE#1GKr#08$HEBM#nMfut53gA5GdbJRd*U4izU zz|?}yAppCTh%?YY`e5t3L04}Qs}EGhgT~-MdyhbD&|U}7{vHq;G~5W<rwjECRw@_V z*Tg&n3v^}`BmBez1_l?XZb+>Lb{$j%LTv@tb}ZmC%OD~UaxqjKwuc2G3L!~9!wBS4 zh+brp8N9O!S%iV%Gc)K6AW#TE#K9#t0|P@Tjx#Jk>m9*ora+W4fYS~G149n<%oo_2 zC2;&RFff45Wdo}R)wZzsXJB9eon-+MhppiUr!CMK;81g*#=}Dvl(oU?p%Sn>p$JtE zN{=8ZP`U@vC!uG-po`Z*#bIl%U}+cBWq_##>4)K^IKqJw$5|dX!DniKQWwMoP#OiX z6v5(%cmbt(koYki=4`|v4$5QL+zDEPj!hhNy&*R7-#E+%#XmOnznC${|3U5t<sWS7 z!7VZ9UMx^K2HQIXYA%EHfpP}2IOxoKm^dhIVd{T^EP$E=8iRs~AA+VQkU60K7)%`0 zNQ0RJT8jn~2cMt`9clq-g^7dDx`dh!8l!`WuL2nY-6IW38!&O$-WX5}gSy!;anM;y zAT1zq&^dfCaqw*lQ1e0K@i6f+B!7YS<H5v*L5_o}2aTD)#4VA;k;5$tNgR}xVd_(n z#6jIrm^f@LASm3B!?_ydc&NR|;noTj2N?&#FmrmL;vjR7!woj(1quh`a0BIckQR_Q za=3x6s(^_jha2pyK9Kpy;Rd?O0i+%zjvQ|9L4r{CBZr$9QaB@rn+cLQa=6(ei6e)b zJCZnZxIwK27h}k489{Ca$$`QQk?R>4K<7%p#6k5Bhz-K94hu{@EKh;<ZGz-M;-I<< z#0Fv5T2_!a$b8t|FHk2HBo7k@JB)#W0X7y26Ni<5S3ruP`2u7Pto#O@5eAZisfVr2 zg_#Eu2bC2dH6RQs4?#3Y9OO=z|3TdZm^dizL2M9qgoY<fJ-pt_P0dX%sAPx-FYqYI zD9SHKTEXZYTw)v_Z)ju?A77T5T#{cDpOjdf8V_0rm7nM7lVs@X3X%hBi_b~TOE1ZY zPc16SFM=!+1F!TkG<VHQDag;vD{;=xD@n}EOD!@@&Ph##s`199$Rw>aCkMYd7RmX! z1&PTe@%WX&RsiC%3AzT*FSx|e2-y?R)o^~e^bwMG2CcJ0tc3tAXu@Tbc}i+=Nl|{K zYk;9Kc-aFi%n*ytAZrdlOJu^(9SRck#1Moo!h*ysteG7TYFHP5)`mc%Jgq1-6<II} zwB!llXwU)<NFp$UqyWzV=yD#I3*$Wl{DR{xp%&y9c?KKBySlns#K$KV6r|>*xaKlo zEK&;1E6>bJi4RIGF3nAaPWY#0#HSS{g1G6)$xs)?mn0_Tq=Eu2xWv#fCqF$i8Iryr zt8K8Xhe^#z)PpS&A<NxHhVk(QrNtTXNr}nX@x?j$<?#iHB^jRHU~iQLg@BjR;EG3! z#N@)#%%aqIS1iHAKzPLoEKuQD1<UdiZ0k$V7eg45xu^nER8WNXF=1aLaRXYw@`EZ8 zBpaZ`5?lm)F%bjqH4?D%iD4R`#=^J^iAZ;8!vz@_7#2V$S7CekKvN!|vJh6Lg4#47 z^^>7<d>}axABJIj$zb|n;%MGsxXlPUs}ClNpbemfG1M90y&<6X6-+;jmWJAozD5GJ zHXhcFg_(@*e=!_$j1tf;2dsVo`5#pOp!*+}`)#ne9~5RVcf;t*INT3g^a5+2<8uEw z9PST*b{LV}4{{Q^`)@+$NYLlFyg`*D1ERkOvmciJU^FiOdw?uMn&Sh7AE-S6^EZqJ zt<eFQg+50#0ct<Yy)gUH`JhX7!DgW)zz)!`DAE;EAp1d43eyjY3y_%$K^JQwt%U)J zf$$8d{e<R-K<!wN`$2k;@iC}=WHAsMU2P{M{xRl=U}rwT_EdxPf-ubeAT|ht_Ktx4 z58@!<1yKJZ$3JM=9i|`V|6@$p=ZGSp@rS$z6BK{w`t=Qs3>1(6p*bQWa}y&IuzKR> zh#tT;bTKe6z~+b~86fv=L$1l~JmJ~-4Rp0{Hz<x73{Scm9`NYA=FxcwJg$Q_$_%+C z8#cV$*$len8gwfwTpWCZHfVP_rYPvDI80H{N`zz0;Bx>xjyHq$@q<RlLBqF#&7c-3 zzhE<H6aVq%2ypy2*z*fEgLd8X3pRryh+nW7wC9~)uo<*fo?oyTw8I|i=q`qiX3&N- z4~W;gI6Jy0GBPmm3pRr$3Ou^KH9Rc64ftC&F)}cCbaQ&Np5$*?#>l{M+!<VS9(M%C zSj&MD_G8T;jf@`M%-x$oo^$Dj`W)21U;vE-gYK!e0Lz2CiBBHnVI1-hUxUsdfDH|M z^mc<i)XC`4dVs$r8{|@0SVOKd^yq8`C3LWK3P`#ebXWTS37``oS`YAdfE?bi8x#x- zCDQOYKTte$-v2)V)aPwIQ1an553-0yH#juGW*UOb>;wn0M`ttW907g-2M&J0W{_4W z6Vx+-xcvkJ14G*JX2|jee!*tYKEbr(&5+|Cpz+XP$-v(N3MHT3)gVKBdKZHX@Z1lI z`2YX^*YnFWG+QuK2JW(V;s*sT;>Kx+Gg=Rn-hb@}jbx;o*+Bzzi2JU(z;WMlfWOu5 z-~azF9sd3Q4|1*}=mJ?N!<7NbU{Qf2cF+~__k21(fqAbJFs%UX6?<(C7q{@}o(zs3 zNSqiRfM`^JD}dh`51MF3xb3(z&)@(5|ATJ$1rKi@23=ff`kLuA185MtdpGEK3efba zk_YG>;no8sB8WT1;F7Fh%V2pCo?@UEVuL45;P-Tb=M+F!@mhdypKAeM#oMjHf7YjW zGbkJR^wy|ofNma!T&?NRyBU<nVAp7Rbh@Z;cyxxS2z=%j0B6L{{80xyKo=N8-Qc1k z0g_kn=q*u^KsW`QMLjwvgSK&kF8<YkX5P-#pxg|;y4M1HwOTCXB4@aJL36~Ad0b}= zk8TU_e4<CgZct)oC=u}J1}8+1-fmFde{Jc}y&IGVAZ|fQ|Jc$rG%5FXgOajGCnMA> zP(t7rYz8GnNJ<9zA5q4D@+34;8!Q+~ygj;MNwLJ<r*}6<o98~X^ecx*zmR*k5t>Tx zzvckh=*Ta~4!c|q6k%}xgQ5y@hqsH0!)N|FhBW^C6KVWK59QPNlMbfw*R!a2^n$aX zNAGTMrfc2}&U7C9E<a#XsNizx7$j7hj|fB`M$DnX@7;rY!<t0*bA#Lu4Kc_(d>oSb z0Uq$s0EYtD5#Mh}9*9J&NeK4rgx|Z{d_cgnlO3$e19ZnZ<dS#jLWBt*4|;a*2j{fb z|0R%w?|Hl(Bmk<oJ-hdVN`Fv}v4-5E3(hy)@fsej2TJ&1c?U@u)QHac5PjfFf=_#P z@5i0-kR&0ReLDYxlP+lZ8kB936kujsBuTh#ux}B01yY<t?^TAz4_FB(8c{EBM9=eS z6F_<86MrOlRTNxP=doz8<M`zvbK0OpB>~F+oh8uhj3*8CmZ-oMZh&)zN9SZvmEzI6 z8kFZex_5)A*8e5a9?i!&e0n#7@&N3L@RkGoEl(IgwJMhE%LC1F9-S|#l69eWBc(?o za<C`(mh097B@T#s2Wie5RR195Ur2Jqnt$0mx@#H0LC^`w<&OJ74V9JyCGxKgkm_4h zMJ)$Pg<+)=X#B4AK*=3f!~ZUwKRlX`NPyE7s7QpD2czX-^BZt^2wFPQ8KS}gPq~{x zg+m&m^!wleze@bRM<+_@hZMiZ-4z%Z8tlOd#a#fjR0>r5qLhyw&2KayO=FMVVgW=x zMXCy&74X)Buxtuip3xc1;m9w*#xLkB;L&_U19V?~8j^b)!$6tS;xoUXiwX;<HQrkS zsgJ)yax-;Y0Ih<ZLDjg63d?7HL1zVz<|Cjg7_I&V2Mjyd!R`Ww(<Xr150DN+^BZs* z0#x}MLQ=d(?`m-U*t{D=F_iLoH17sqy2alDx(C9icQ>So0d7-(TMe*s0@Se305u#8 z&>I#S5Px@~H7uablTP%81*ky^s<AyFbup~P=-GM1v-7G?X9}oMlB1&F(Y+Z`Y<(-S z^=LlE0dkB4*e1i1EeA@<K>-9>BLZ4O2dbOFd`EskHjmExKAq2eI$wbmzYc=sT~PbA z^+1KC;mOtmr4}CDn?VOqcyxkoc|8}bonO!uWE`w5A>g6{bFATk*PP%*Lf>yn9)QFH zY%K{SIuPj*lsZt;Kf))XV4px!J^wb4NdnP_kzLq%u=QkxnBjrelckT)+;|v#EvyHm zd4RAF9N!>IQR@q6Q44D2almo}sH_JyJv_Rxl=ZY~s)6DJoJP_5f}jM5)J}6o6xk)_ zNCo`_63TbOxBT)99^IfSvpYmZ0G6p+50vu$Kicig@&AP7i{ksQ`I>()mU4q*9OO7~ z+ZJAsPXGlaDE`puXciSv;ztx_BsAqv%PW}qpk+7|7zwX$!13=G0x~whv-6KfXNigf z$XpN4ZWk2|SHo|fmM$s=CConE2A<t>R6v<(FR0q{XuZwf0$SGQ(_75}N+u4lJ_M*E z_88P8=&eyPfEFB{-TOe5pGR`BghzLXih)PBkBWs$H?vE(H;YHNvw}w_v}4wKfWLJs zXbAzo0J|f<V2cW<vC(bZ`mG`ymJC}DR8)9&v#9uV?*L7hbsNJZI*)c2v%ol@MWH_3 z&H^so-Vz?&!3rLoA}T(e&pY3B9&-GDeJ`j5-+G|b?zL|7zrQ6K5I4A}DDVp~^9y(j z@C*8=2!Q&JKAq2DMOf>BQdh9OozMSI0Qsi#Xy*%$<|6^1&Rv{id@Pn*qftA9U|V0G zf+ky}{w!#b`RnW8HG81;9VkhGTU`vL0?4_$^*{*|D8DyD${uiw9<<gHxqboZN6HH( z9^D=q9-ZLsli>l6){~_Q&@qBiab%-A4}yz_){`Zi(TBlj{9&_*U!DP!P(bM$RuPxj zr#0^e_xelRJ$iS8h5<Yp4}+>|*m62h+=5aR2duvS#2*K4zCy|(ST=(hQ@Rr-@_Iek zzRurpyA)xHN;EO-g0z5PdSMDnufs%MpM{4n%)C+#n50K{GuX-9lR@j5ko!-d@Pr$N ztRC#s?#ZBP0$DvIKZQba6sZ0L6<(U)lm+%Qzov_d07w%9s5o5=8grp-af;~eA^O13 zjx6yFX=rBv)FU>Bwx>%KU+eJ8Gk`mN;7SwPL_qYHd7CX5D(-_U0oAZRoi!>PK9B|k zXb?idr#D4KU;?;N-TJ>Iq}iUK!XDDRhBd-V8CnjMaPkYdaezWi0aW|>Kx;pbZeOUR zBUn<vqxB?cxBxOF2FjhS2TB&hqPOKhiMMC38>5G%i;6;tD8B|MK2XN27#VylOH>3P zasvE<;N$=u-(qAytFkdOFldG!G3bM}f)w`Xg^Xo%LkA>Yy|y84IHMcfb%o?%m?52q ze7b8ueLF6XZrIosJAe2AM}9$91rQ+sA{d}9ZLnbAZ!!P>|3575R9|ZT|NkF%-0`<? z{{R0U6o0p2@%QrkzyJT!CP4eE&_V<h<lth+qZ2%M`&tV&bmIW^8>}pX$b%EUM<;mn zmtO$f-Q<Ui{z68E88<M(h8R$#p{610_vmg0b>e*>?IYjTZ~QGwLDf#{fl`J2pf$fR z#UNFnTqx+E;c?snyr{vEU%*X+U(i9rv74`x!?D|srPG52B*?)p=)i$$vSYWOM5l*@ zM|Xt+XxxDZY%J7P&tx|VkLDl$JdPg+)hHhP{y)Id9^Ks_TRl1*6+FAk6g-o|Bw%9` zFNHwy(0ZUm31*@oR14TUpm7Wim|BnHU@_3h$IILQ{{M%IcZ16kq#6Wtq&Fe~zJ{9s z304NM4Tc9^&IiRIs6l~Q|9Adw*bN?>FVTTTt`@%lY-Ao(4SRHh<Jbc-ux9x7r7j}_ zgW-Xf+KdbguxPiyrv(~`9^IQkqyL7Nz^>{%`VzD*92(}}k!W!1A=v?I$a;1jL$?Av zB#3S(EZwypD3wG>4WJebEEzzfiC@4GoEW+VI|aG}Svmt)_yrtMQ^I1fw&VZ_$IcKH z3E%D-6$RhU5>P**Kmpd|0PU^ehqZ!yy1`m}Iv0Z~YoE@=piJEQmVe3tcyj@qCL!bR z$HAEh6wj!hdwKHT|NpNUVDSzPFvA0{_aNHu$JiM>j=M{MQXkkncMg6*cZI|7@d!}; z<<VWO0ZO_G;K8!i10{km17R|3klHi)@C1);@L=0ve(0KdP=1GWj`_EPNBh%S50vu5 z3Rb8Xv@_<>+YRa_dGtcM>a7Pn_+37N-R#-P=Ghs>0czMB;Q)7uVdi^u{s47>5a}`4 zqwx)B=EbA)H(0AjcQ<Ir*Q4_}IDNx=`mF~_vcU?Dv9K_}nik*|R_lQZWpEK}>1<G< z>e0;r%2To)-8(?l0&K|C@NMS{kH#Y)o1(F`+(2h)f-MBw@%j?9Bt^<{pw)H=6=0iR zuLkdV0=1D8JUjm(r@O<R-F;AhfTy1hF)%QI?^N0anlT4k0#5s985kJ4SycE>bTW6l zsIc&#=yYc32K6LQfHwJbyQuK+gIEIHE-C^bNePeR&fp@g^+27rPx22~`t#^?R)AW$ z58Pe{4Yoqo;Ddsr(6M13WQ;w}<G3?u(K&->cN-|FdUQG)fK;$}bVg`+cFqHd86NO# z-Umv+4E(L2MQfg&^FX}U<<RE6M>mU#r*#`>vaK{1mNvi*%GV)qF31(HT|K+^flLG? zM{I+qa7oDEDb#+bec%M{tN~6%3gDr$!=8=DK(=DW4r<GrUw}mg)LDBO4=Q}26DOFO zKok70<q(+zy_5wVriqAhaHN5K`7-<e|NoHjXh?p86iM(AY>(sMsXI{qMsKeNcyznN zCq4oU4@4ejVE8|~mKk&h0fRY62MB{0pi{oVr)Yw%U<37hrh=B6gVqFqrlCRSC@_dJ zK`xR3%fMDWPX{RzWQH6a3YIy=%mBV8_7-Se1L$Hh_<|2m9D(fL!@z6;S`i9bZ3$`- zgSYpd2e|}<L3eM0W=sV^>jFTF1~K%5_H%(I_dx*&T0sgv#sjpZ6QrHt|LpY*49x1w z7#J8p)8(}wV?b-bL8_O7IBJXx46p-7K~uvFAUA>atY&~X9dw*0BWU0mWB{lY&G-(q z=^AW2^wd<i9?%>wXv+IA$Y@aV1-Tup2bBAZAby7JVhsStDwu#7#=zjv51mp+qe0D$ z?siDsI2|--ewYyyHVBO)mjzmIsNj~Fld1q(c2<<1lapG+01}J`3l^uA#22L&<Rn(c z7bTXYBFPk`f{wvMs06Di$&Uw}I)zXc@0_2PmzoS(b7*A+SBxa8p=qVy7wY4qP?cJg zpIVZkkP2Ne%7xt!1qJ`o5{3LUh1}HK{Gv)lE{38cTq>ROOLI~b^72a*@(WV)6w*Mx zR8lQg(!*u8b7G!)i9%6oVv0gqW>Im8LT+ktabkKZ7X#QRkYrANx`I+>UUGhJW?s4y zOo2j5X;Efgx&kDq6mghu1q!45ywv!T{CJRK@)C1XtrQge^7BBRS17J5E=kQ*C`v6U zEy}~?MyoW?;>qIDg4Cj%#FEUi)cDfk)FN=G7lU1snxarzpiq*LssP?;m6@NXkeLVO zgRE32E-6Y)%+=#!KnX?#@WNdy1qEzTWMx%cl3$b>578Q*l%JoSn^=^M%afqsi%-ta z&(4H+P65K!Q&8|sQ>e@@RWC|aC@w8ZRVc~GELO-YR!CIH$xjD4PDi1rG*2NhB?WT& z7et=|$O9z`iFqjsB}J7AiRp=%xB~~nZdht6jy8w|xgf73wJ0w!M<FdSGpDpD6=x`e z4NA=`DXO$WO>ji%$je8hIK06GwE@El1_n?=5w!FIwBiC(IzbQi17%92+yjz<ViNbl zfocqpPF(xjKzEgb_N{@`JOb~>0$sYzC*Z^<;l!ul#HZoNXVA>n!`jQz$K21v0N#%V zQj5N~4rB(*F7Unt_`WkoJ`ESXgl5)0mVV|oCXgD?auJXjpFsp<kDMc)LNnL~&>An; z(kbvhC`Ud47e0k%&{8>&UQm4j(gv1u;uCP>lK|;u?t|_r0#(Eyd2lV~$R_}5i?Kkf z6wn>o;B{wcc7oJ^#;-y8Kx^k<YLLwa?GXYEuY%No_DF#C+kqSf@;B^k?X4htQ2p(I z>~9;8JOcv*E`P^B<-y^D<Zn=Q4r-)<?1mnL0^YaS162<WFGyIp@HsSt!vYjmYoPL= z9oGyn`2dJK$jmcPdFZlB@Y!0hdp!z4a&W&m@o6~m894G;xbPJ;v-hy|LSvHweC`<N zj%1MA!1t{nxf>KVu=_XsP|O3T33%9m;v9Cr2B=j93R_s5gXBs;kq=wfiDW(~?ZVF6 z?nW^ml5So28W=%o7n1TIX%}{Xg$c;P(7lwPxV-_j12l33vL6(;AiH7rROCX{!`ubZ z!vku`F)%QI&-F(#3wE|PXw4GLERcE|sCr~^&^aF=Q1N>pHxLo#p!5nmN8=D|Ei@#4 z;ducRHh-YzZiA^oHXE9+VPOMG4|kyIL3@Tk-UYcCc0W3({SNaBNG<H11yI`!q!yIk zWWX7RfdPC!6PkNKdTgNbPzs!e1E3u6UN1**es<?uz}U>(#>4<hKd}1&e!=_z&%2<c z4lXjlWfJWE0+1eLcf#%?0OuP=J^_%QjzH~%E;j`^AKa=1_547sWKdE9wPQgvNFQh& zE?5y3B1({ffrSBc59>_uIV`Z8h1k#AAOvdJ^1=7_g7$5JjAayth=+qLg{5@{28J@I z`q@x%*!fujP;uB^KG2i}$Q)a!xD6;RF)%Q|_9JUS#bNilK#wzI5QmC0LgOCP<pP<* z0u?ugii6TANc^!N#GT1daoAlEQBd{Zbb@p)mOE4&wnqz=woIVn;BuUSfdO)|00V;} zR2;Uq5PZ%A0|NseR2<Y#2e|`kJ;Ph5dtiImVD3Kw75@%WjI>s|7b>m}4NsWAo`52n zfdkwRgK7a&x1i#n^a~b%5*MN3P%fMTtxIKOK%^{~zWreJ(1Zt9&A{*uDh`^yKoVw1 zhKj@L7MR>t(1K_N76#CqJ4_5jUxbRo>PL_m2rq_;gT`7wd}K`e9%xXmKsJGaVX+Ws zuQS-OU<p`xP{4zIZ|g-q?Bbtrh=bAxEDXUGK#3DL%s+tR{`%!O)UUx|?*m@!?);5I z+>#r+`nR0e#U*jrs|RhzK)ng4K=*}V3x{=F*v+rP;m!;k>SJ-ZA9Qa9HhUBJvD@2) zl=tC|XJBC9#$moQj&Qh*!=2{@u-p5L1-rNu3+OCRCWZoVqm2Pvr-0lQ$qW%c08P5! zI-G%l;WTtFdjYrs$-n@rcR=c$pyt5NAp_S}3=9mQ`Vq8;-T+#V!_xmPeu(+7`*Xl; zJ_ZJcWt<T451@*Mfq?<sW&|At#0wFJ-H#1*F2f=Yi1-H3hzSD&1GtR^I!gd*&IM>u z18y@iFfcsjfv7Klii6uzpb;1*h&ZU;0Qm>po&gQsK+V|z&Dt<?E<^2AfL3AP_8S8O zgBcsdoClzdO$-bSu=2c#6}$LFs5k>Od|>s1EDrH+P<JYT8ea?y44}3P$h}9Q;tQbW zz)I2t0f@b@`{6<51xURu)L#nF#0zd8GB7ZJ?vnw<mjY<RF#`hwxb4iqz@P>5FKBcM zRNsIMVPIhR%MCGq0#rS?Ee+b+3k?U@VG7V>#NY?>7gRk=JR6#R7(k5-1_t;U4|&kD z78XDw9Hw3knmz+S!+s1544`%%$Vn1V|ANvTh!5^-LHiUSe|-R#_Y4f+b}YyqXt)VL z8!_OvCj$dRFI3zCO}v2};$H`7ID^}AprJgdI}4!d!EIFr28KqcJ2yb>1-Gji7#Mt@ z>NkJ}L!s^ixpyH{eF8KbpxKP!G&2K(5_tF#q>6z7ntT~bpz#8`&l%h=VPIgeg61!X zY6b>S-xb6b!6BXwjjsjJd<W|1fz)q?##aN>J)k}!Nc=xEzR<-jag?hE*szyBb8(bQ zp!^I?njq`oxEM!y2)ZvDoBDPf<tnH@i%mVK?TbwuboVYcaYh{VsV_Td4<rx#K2m6Q zWiSGZBTRyo58_~PXyyXtL#U6J;waCXanvKA_AJ75s38mt3?(?+nTJC>h=+kei3u9% zp!x}F)MXsu`4orvDk1Fgo{6Kqk%7ZKUvZd!ABQ>DakML{aG39a!yHh3g)KZm&0}oh z3vigT07v@g6$GUdZgBq!6vQBNL9{7U9K;4;nD}yjh<a%E1+EX&t_G<C6(^u+AJ~~0 zpff~4;-LBfbRRBE9Mt~>iG$RG_VdETK?m7^#6jkRFiadYVGj}qnFA^tVB(-Ve?j6P zwV*x+OdND}Fiaejs$t@wvv6SIpeh?C{tzU{0GSQ~ou>m62QSrvii6JofQiHISp&Hr zbpIwyJQEsFAaRhJVd9-g;-ESoCcXqJ4)Pc1yiAxlcoGs+k3sVpOdND}4#=q>^`JZm z6NlYT3bMDKfq?-gz7Z5K&@)0nVFeQh?a>6815yv#at0GezSj)Yw1A1<M=}RA4FnSx z0tGtMd{CPOCJwu=6XZ_hd$Bd4>e20m^<zQSfa(^QIk0=p(A5V)%>k(gRc$c!pmrn3 zUm$xydoW?*Nl^9Z=Hx)dLFRz!c9{BVs5r<RWdB0WvI31MFff4bB8RCzhNK=e(+v|p zha?WVCmJSx4M`j{(FYU12Nego2b5M};?f|8K*Jey*EvjF3rQR_wgMCPLJ|i}SHr{; zk;Fmw%E831A&GY*r5|(9BqKEaBd4oEs5nR)a=LnmB#vzU8zgbiy_qn34WUImx;ce7 z#Ji#5pm;<sH>N|yLFOQ*!$nBqpgI(0?|vk4<aqpuL!1fPE&-X39KU)<;>hOMBZ(uc z_dyazP7gUq;>hNJ?rVUhXJm6)k<=rb(~BgIoUW!q#nIE%3aB{9U!e2;Vd1kKNgUbU zLpa1wA&Dc~djl#CvKQ1;hM9jCDh{$2)aHeWzeExTjhVs3)j<^@H2ou|t7s%~(0R=; z^%IfAk<;@}s5mJ7Ag5<TkO0(t<n$blB#vx;4G!^VNaD!$x<mVKAZcWK8=>N$a6q>A zK9V?czJ7%yjvPLw(Ebd_9Ax!DNaD!lKqitna(J#r5=Sm)wj+rnn|}pK9NGNWNaD!m zdx9!sXgDLA-;5-VZ2n>-ab)v%A&DcK{}_ijFQ~GI+KU{IR!HK=<<eCoab)%Gph^*o zIgLo-$nkz3DvloSf}lzcY7TO|+u;zefr^9j5onAYmd+cY;-Gj(&PQvI#F4{iJCZoE zfBz$iBdh0vHZnoxBdgCt5=Rc7CM0p>_+5=8o`+PwfX0hp<s0ZuU6{X~BdJFg|AHhA zy5|?B-VM|UfQBb%^$$!uA1V$Cf8=&fB~%;~o}ex>OnnDb9OPf*dVd;J9NnA+P;rns zAU!a1>OhSNsC$spb3c+eXzU!OemYbfWDck;4HI7q6$hCOx?2Dyz8#17Yb0@Gdp{$I zBb&nt@;ua?$l^*k#Dj2%_dvx#?g#ZLVeXs;6$iN=bdDxW`~s3Va(;0FC2lP3jU1>r z$Q<PSvJFWbIUQccA<hU2T&RCRceTLW6Al$ekKaV7ILKe1CJan{0aP619^`bg6iFP} zUyPv24~xGvpyD8Nkp0z<B;JmcU(VwY|AQo6i=;jn6d6$eBDX7wki<cKc9_3<k;Fk` z#W3-uNaD!m>_ierZYNws60b*c&kd+JdN@CVii5%#)C7as`w=P*3LoTf{*5G#Y(6`5 zpaY~HG}i(%XD*U>8<Km@Ac-S~!zUzhWc6IoaaEA{$l;uhB#s<zB}n4P;dT;99NGQn zki?PQF9jX%1KEpgjwX^ga`;Cfi6iIhCM0p>@?kHMIH=DK3%4ss;-GUeVdD3Y#F5p% zLJ|j^P!Cft0v$*Mxj!E%{57HC=;^^2Dh^5ype7s494Dwa$Q<PK;0+Z=HzyP-4l)PS zw1k<H0u@I$rwK_MIewQTi6e)@7bJ1y^urIDaEInQWc7(i;>h)58Im}1JhtKxUx_4+ zoE~-|i6fiy5-N@!KA)lDpzr}TEn(rq1Rd{24<B(PapZI>2Ng#*Ujr%*G9T0=gqd#+ z6$hD*Y>pjN9Niobs5r<RkQ~gMaHu%Q9OU#6gCvfej~bE0L30H#b3o?8+9Am90i_w3 zcnMOv1*J)lIB58$48(w9X!8U-E(YpPL50EVa6oL3df3<$h!0vT0-{0Uu=9gKd{A2# zM1#bOK@2E{&4+`;VRKC&DbNNU5DgLsjgNuYAPiZE3tAJvz+edyfMU>keGn6*9=1jR z#18-wp!p~U1_o0o8$?Bb2&g#dUKl8s0aUht*dTL|@7{v>5hNZDQUJxEwj78F5{J$0 zfcT)kJctH~!^Q?dd{EqhXplH;?gGRI#WjcqiG%K`0<l3Dbchs)28qMwvOs*$s&^0# z5{LN_#D}d%1Bt`N9zo)uMam!=Bn}H(5FfN^8AOA`VQU#ce9%S?5DgNC#Sw@Po7V@4 z!{P!Y4%$8mqCw)YwHF{hc=b3moMGpQgTz4_$w4$oy)B3V#jte=An{7*SRqIXwjvuO zUJep~V%T^lNF2Oo9x4u_K;n%s4g+KnJctX*AIN9@!qO*59CUUvNDT;s#(qIGNE~#Q zFo+Gpuy_ZFgVe+3$6)aS6Nk;m!om|S4r+WcFfbsW-3u}YHedGzWC?V<6eJFtzk;2c z4>JcgUj$l<57Gh>2e}iL&U8QlfMgDAKFSnH9Hbr=uK`HnAbVl+!=Sw@F!Mp;u=!;0 zd1FZC!{*;MpqT@k?}e=a1i2Gr4s1RXwhj;`4x2A!00|(O51SW-oqY_F2AQJ(?I)Xn z1d!Cj=J7Jn#6k06Apd~Q1_aR{X|Ora{_Pr&0FpVd`EA%)p&)6Hdf0sU6OaIsde}U$ z2-5f`NIh)cQU^^OHjnCpCJviFPe2ogts|&F6Nk;af_I7_xd%4yx&lo-Y<?BC77yeN zkUL@Xz)z9XgVG5sf5I+cg{g<lpL2pLE~vdA^|19s21w!{^I`M(E@<MgdHWbNaoBo? z0yJ^hyzvAyaoD{55;SqxdJ53IByzmN)?b`OQV()JY~9lvByo`YVe30sp!paU4zPK3 z2_$h?od~jz0eUuedTI%1M?-#EN@690o=<#K6zq<5w58Za=6F`-yOy~c=YUVwh8~~{ zS=$~Dy3eGHAwDX&#Ihu{C^s`Nu_P75Pss@YQ;A^8&(IXSE+4U%!pI;cKN!4Sz&SA| z2XtC-v0HwTtD!kqorj~Ji;rtifMbxOFT?=stH%uu5X;;lr)XnWXJnk1QkIyPoEo28 zT2z#pSK^bO?h0BP57Fd};XFfwl>E%R^!WVj#7c-7>;{{HH<92|VPsI8nwJs}I!hX4 zU{NaQBA8-`4oquJOAAsGOHyG6DMQs^x0^tGfzF-AuF=pmJ+%aO;CXRsGSn6<t|?9| zOO4OTPmeFok57Z0d5+ysBZ#5-<*CIbNIN=85_1b6p2eZf4CI!K%=8S>^ch-$^r59- zd=?p6K(?iTwywZ7fZ$VaWQcXo2tF-_1|T;<&S1x<&Nwwc4WGO@beD~583X(@aO|OH z0kRO3yYU%kXarIP+MWX1u7g*lL2^!haVmIg4_<YK;A{se0`Ms`G5~o66y)GNKG4lb zP#s3#td1xWd=v8$(^HEqGV_W{KzS9S3^Q+9CPQ{)rKUhsV5D2viTT*W48JV200Jc} zC+IdI{2Gi5Kx#uWb5r9TlaotxOLIV%L%|N^$L<6ymf+U_JFA~)<M3<1;bzc*|M9qL z2W)P}tHH$plzxj~N7`dt1yEd)l3G;606phl53DdHu_O`1(ksdb7hgD%h@n|ZYEEiN zDkAN;24JKDhWMxuPpqP0*n<(IAsDxmCl0AJ(AGSLc<{{w@lkn+xeRF~sW~}d_Zxtd zI4FT2ZFw>>1LfHG;!JRT1WC)8`FZgmb6f+=L6T*OApOuF2c@mD#2jBxNgd>kB#)~e z$C@GyjT2$X6SRHLl@gP{m0o;e33$^UQ6^dBCT8a4<mVT-1`y!`L!-RZ)D%#$0V+OR z347Vl45SdG0aVO^LXap;S*5uJq-wGR*@UzOl32@(K>9$I5v>8{I#dm5#i^;;n0Hb{ zVK%W0jS4`QK)?#!ELbpRW(IgCXMxfuM(!}QD9tNMP0uVYNiB-cNX$#gNiA~C3~<W~ zD1#<O<d&Ihut9t#c5}?AV+!<I4tRUWH6S=X0K1h&#$exq8e6GF@hPdr$wisqn?hW1 zs5b<wFR3g@B|^2KA=F@S6^h+NLvv_Q$Ab+;sPsm=6~)jLw6QfO9%^J}3dD&R%8Vh( zz@|YIfv>qqN=?tqi%(80NzQ=Yf&yw_LilL~MVWaeX`o2KUR+@>`VCFdwn@9DF{G6j zWtPCMH-TJA5)a;@8K0b(lM@eb?K7l-8x0KcBwmYBlnS~<g&{r)nzEq9TySz?PAZ~s zN<k<97l2SzDGX_#CJ1hS8lvVmkTE!lOG6`+j0RDOtKu<EOi968>jZcwgB*pKv&>TR z!2t*E>cpqz7rAC;!g6F5RF?&~y70+QH?+vfPxplG(e{OG;daf1DF<g@P`Frv)hFi{ zRDzpq@t`CJG0Mm&IU_YW8?p@<R3<|AGecytloh7%3=2t>uDDbh8NyW}CwG{7xECyo zQ%jt|d#J%udc`G0C5cH4dc~EwV7e$DRM|7=fywwNLx^9X(d%B6npl!rgh&R#hM<dU zprHy?6kM8%p}-6rB2Wb`nQ3Y0DsUtM$c;R~hVc-KaH%o``30d0>K;UbFtmgRPELM0 zC{jvNi(K)QpU|EEo<6Se&i;OWuFfHz{(iyn!5;phJ}&XW-kt&RA^!29!LC8^zOKQ+ zj_$6(p!8*gwPj&w1SzxQ!4<SC)<PS%ZX=j(^s<0Na||t^u0W~ra2XO3=4WUCy5*@N zF)6bQd|6j<Ca9n(E{2q&nR#jXt{_)qgf?=d1slc(xM8`q2wY*f;typ<XXjAgP#?z- z0_p;STz&i<T^I;ogam5wAyS2&GXv!MD?LjFJxIFOOD-<Kya@?Y#MlC+6;sX}CS?d` znIoHTXa-jRXTceUrZ7o3!_WjK1ZNl;!-U`rLnD}w5d-?YO~!^WIYR^s?xf<9B11jU z)lQ%;0Vvz+xrFN#rKah{$ER0R#22I%73b$A=46&s#+Mmjm~FtI=i?mUX&Db?7@5LZ z2Jx86jX}ylg^r#f@}vTIV2nJXj}QCZP!~Xpl0ob2q3beWrbCCNVO)kT@V;5xcSCKG zg)0R!VDn*M4g&*2D;s3(EQ}AMD?p2O7#J8}<FugZchDFiY@Q9o2dVAjfy`xr<Uo8F z{sOhP2F=0HVMv%VhUILa_3LmhoN)uRcm(NgA&`Bb^|vtnFxm%dKl<HJ1)#xCQ24=3 zgfP(k@6H4DKbi+DK#Qx8_Q8Ve2d#rZ_djSI63C0t<vb8e7#J8Dp!S3G!39D4$DkaT zIk^1)1nPg7I*>V_`8k-sVf0bZ8AzbJ!O+~l0BS#U85z`8%)J-O_#p8I9VUmXTMyNb zE)Mc5ToD5U!)9puLsxeIsvmqLACd<2@Lz``{bfMIAGZD-<bTi<337OVjO_&Pb7lY^ z@C4$+@DAvp^)xhx!Q2m{zk&BRgZ6O2bVBF=&|(Y*%<zKQ5A(-7X!xN8KSKgkKXh3P z#852e;fnt^(D(=W8KfEHf6#m%EZ$-CT&Vv+=V*b{!EgoCewce<;^_PtLO9aDFGL5( zUJwgJgVH!mKZp+!p8$=2^y07qYCrPaH%L7!++p-xPDuI#$syx)Q2oeaAT~@Nhz-Im zko=Evx7G%zehuh621qRk!`u&IgK#}8|ARP4H~{MZ253No{0myr1=A1WgOpF>!+y8c z4`}=~K-aB;+zpC9bp85<CZ^!4vY-UPyR}R#pm%W*f47zaY|#YL-CA6ryS2iC13WrE zdv^Zw?3D9py<HLjI#L;OLy$-3{r>?Pj-75CXkrGAoo?Ven2^+g#K0##qlt;Y4nu{U zEeAR%5%sL+<~Ir+oxjug>kjar=yXxx0UdKM06&z^+M}BtblkQ8=(ueOmu_bsmu_zk zkKPy+9`MnFS&YH|13WyMj~GNB=9hPXpY80?`5es*5fzXT94?RpwK)vGWie(kK=dkr z^n!M#Fo5-g+ygp9TmW?BvjjeqL|~2)*as>MkR1c+E>QpQFa~fxS)nYos2Fs5m8qVA zo}q$9Nn(1jevqq=t7EWhys3eqep+T;Vh%X<L6=-Ipr1ViT4Dskp!5q~6NByS5s)Nw z-2;dTDo$bRG{E=dg3pyPXlAPAvvA~daOX2%0N*DMT9X4(4_>1IR-@3&lmR{t$DL0B zq6W6c0DPtfSdBq5Qx(D-kbZ0!bkrTTvqL~@1sGuyx(tZ3L$-qs%wu4|I6Gt=R2;S* z1r&WC`@o0tF|fezM@BBYv7P<!6uS2vbQ&y3KiEGE3=E*-|3G_-LGA*HgTo8DM;au4 z0VK%4zyJ;-(4K9mIZ$B+aGWqOFo4#Xg4Cmn`$5&i)^LEz7LXcH84Oa7E)J51`4OZJ zhGAtGsO|z`*xD=DdLNJ&sQQG7!`91y#6iU(OdR>%Xi#wr6Gy&J9keU~CVmg<0FW8T z;-EdaASrZlP}&2DgX{&h!9Z*fMs^QK9OiFi_khG<@c>)X1TzN~53r*eVdAj(WI&nZ z#+<__fgB5nXSNoq0>@krOx6(plm<?VK|NKB?klKIi`I{a+T(19eLe$ySOTgXZLAA6 zOoVNa7`uJghW|j*Fo}AIYmL#yZ;0*#L*0nz1H*fg@Qx&?PY50j0`=EGT|`ilp$I22 zV(+UZfD%0e1H*YxMnkdzjmrSq9{~~rrAZ`Z(EBbK7$QNEND}CI7PMaulsAx+fSC?Z zLD(8O(0WWzT1Ibc8~~Slm~G{mP<vr#L4XZKD*K_*44`#uAU3F+fvEw}??HkL3=D+Y zdSX!fL3)s}EXc9Q0#G*8SSXKy0dy4~BLf3QTMxFD3bsZKrUB-E7(W<xCKgNpO22@H zAFO-;g&(NN1k(>IC$ku_xAkCWp~2Ref!vKvzrLY4wCx6I?7`c5#tI5X#-=8wP}0!A zz|71<LBYb@6ngP0@ol{aNS6si%0~wV4NzMz+%YWJv-7)0=WpNMat_#~AfDaq9-Yjd z-To3D-3~82I(a}B5P;Vzf)6VO-#^L^X+!f1HiH(|dF%jr4-{e^o!~o65z-+4d+gx4 zu56Pp#BAl!3BKn8ax^&T*hY`z;0pvmfqoo(<t2y(Jq8(cpXGg+qY!66!>*chfZhui z;MjTI6Ljb6Z^+F>9^Jdaw<EUxFM(W2fn<kE=U<P5PnkSA--G=Fy%Q9CY2P;w=>148 zox4E`0HMuP@Es_f5IZpsR|c)hMI4@t&;q`>4t%d2sHF@F#qJtr0Z`Kw(i#R`H0um* zMdOeY!J`k{(#D|=+~UR|=YYpd7d&zvc;tNW$bowfINTC~M_&XUxfnch33%jE@W^H0 zk;}m&SAa*Z1dm(=9=RIaa?PM73m$1ue+7?p2l!xTW^k6qOpMK-eRsHZJ4@h^v%w=L zgGWvQkDLk~ISo8=I(Xy^@W`3qkpta~j4RkcOW8rkpM&q=0o^MA={tLLGkbQjd4TU} za(Lm{$;0N^y$@C@L5_j<Xg&<Oh0LS#9<<m1ml-JcSnzX$xQKfZNacU#7ib4<a`?<I z&<{Gl6?EU<Xa1;@pZNu*gVtPs=8wAcnO|T&4<iG^Xa1<$9=+gI>l;`gPMP4*y&cpo z^XQ%qT7eIhH9P>81@)~#{`Ktqb{xE)Yd@$)gqEs@KY^|b1am&|3o?UvZjk#pKk*AX zbAb7fvKhn|@aVh&4THn5bLzo*4R61Gf;=`53c6^p^Rgr8%J099&Hp4yjX&`VxI%6M z0b9f`;EHSyzkn-}HQ>8yLH8nnhoL>XxuHJV2Wq1rmEzsj9*|OcC&){N2V9_6Dua*3 zf4v(KABcOAKy{D@$Yo#LdUf`K+6XS4`ku*0vE8HM*?G*d`7bkn8z@JDl!K}~NB%Re zoobHFfB*2eOa&cX+4+P2gkz^0i*M%_&*mc>uC4$1TR{67Tsr^yK%yya0?3#$xo&2V zN){E*<|8bQ%}4)uG#_U1_<y$a;Y&z?0d9zTbaU(jZ2<#&6JD1>Rc?PBiCMM5RfD6# zxAV(uZirhzmaq^~4{~p7!2kdMeL6ot;ud~6AW9Uw8h(3y2X=1;Bs@cceLIhPcAf!8 z^KZxIf9z#NAU}38bvv_wyvpv<`O%|Sq!kp*9+s#0+d-Mov)e|+qxF9YB>Ek@**lMV z^xCWig)P_v9-Rk0J9$(L54655kpksCetCv&VNh7{pXwC!Xg&xIv$xTXF^<rC&(Ko| zXa@^8_#oyXQVGZ%=&5A8M>j$Jj@|4Yy*v<aKoT61DgXZe|Nk-%@68UNp@LnYh8NgD zU}6X8V(yoqTam!|6VkrB=GpoEI6Fu+%H<uPTnM?e7@Tz+`32k|fd|Ty;5_P%lzBj^ z*}!&yq$NOHq%5rf<|CAAfccQiDM9KDJUVYcT6HL~Z+QFlvoy5)6dd5$dCsHrsw22v z>e&3>qO{@@zW_7LZdZm+`~uE!m%4I*xNw_Y1wdS=#h}|UKwJfgUPpdGH?V5R^_-tT ze6Vr@guDd!A`Z}XF5reAMkIoUK@ef?fk*_P-~~k=<T?^aQLz<Vd?Wi0d{L@^W9PZf ztDpG=V^nxP^9zQkaC`>c&Bv0)U&o^2(fRo}J80w1eh>k6ST{HS$xe=LZx;TOogOUR z-W(vBquZMYMDwKa=dq}y@z)&$@dVQN^ITLwCV{ykU@iwtRsziBfpKN{&vs@gIP#x! z=`2tIUtH%H7mHQ`A9(!?;eJqg-}$-uw?=7-59G$f5)}=P?idw?Zg&0?olM>Cpu1h1 zSi0Rg_)l~?adf-$fM}j>chI#ijNR@cpzO=g?JfbL8N1zOz*oY!EAXG_Wb1ZU0f{of zBjB)4H+XZKXEz`Ag4(m&4pvZu!piVK=Pht}K>~kg+60g0Hxi%u1#?tHKJyEvfbM@s z5Ax5T`w-FVFXRyA00$X7Kv}?Ccz{A=;Q<PY3l|juSolIBLj=YJ4SY+W2QTQtWR!b} zK;bJ<YVQHMsS<Q=r$V<p|LIPt?r;`RIo0jY!GF@RlcU?82Sjsr`wQ@&?BwhA7Xc*^ zd_f1=2Zu<wNI?gw<4}VRdXIM~=+Ylh2!?<|&<E@_7Zsk)%bj13vx7#G_k##<p!1*Y z)Zjne8373)c#uFs2p%Mm5P}B@=r&;q&{ajy4i?xX!vn8hK;{Nu=}o587!)1~-RAt~ zI*srK1=4j)n8^n;wu?0kKm*_C$p>`r_#pAW2(A4OibZVx2VLCl7!vH-dCs--xMSy; z&a0r(2{iP&A4GtotJ_D#p*uvyqPs-Jfd6!-1gKD9apXVa(wV^F$ba6Yvw{aw#0c=8 z>nsrAKh+r^0V=9w5LGQ&>_3CG2Vn89P#Os;Z!CPeV?fue#()YP7ZswC1GvoTWQG<w z%-|x&u@i401KJ&lHI;z8j2=p$5+3QEuK-Ba0JRAAg9va4!LtUqA%t1NzCiacN2xe+ zfy#(4U*mKw$a-w9MXGN>$y)%k9s(DNpoj(~3#1%=x)W4^ASxS3R)?33kgN_b8zEU8 zUJ!t?x<E9R;!glE*9MDkYNdD3m?YMi1bGZSY{2=Q{_%&}_dqI_iHN^Y&{QqBEC!u8 zydOls6I?f_(Ew^KfLje5&{hKvwACQc?G36pJVd&^K{bbmM7K92Q+9jHfHJ2-x3>a_ zR_XRu0nr-W-WniUr`uZxL>qK_8-Qq&Zf_G1ZPD#*0itcXy=_3W1Focwl3!r)?ZV#* zI&KRk%|qG{jx3Nigd+!}4dKWG$<U4h;2hoQC<4yWosJUS;8ujA47eH5>8Q}{uEBqz z(@~|{T?a&Kbh{gXXq|3%6A*3C?QQ|0O}gD}K(s}-y90=}!I#%Sd)u+5Cs4=_lJo@H z_m9<$M5L!+P^Jfs;_e3#kfe0FQvxH`MuV<mbYWnC#UD$l03`141s+a^f$TyLJV^bI zNZ+7YkNqG5;;6Ho8aUE7u5<?<p8>V61WMH*?u9g18PU@kK5yV`M}b_2;SEr7N3@?q zg9Fm|>s(Y=JRsEss2D;jUvc{i-0FlEw4kDt16!*J79S#|`gr{Z&P$G+4EX#BYI<W$ zM<7R|`xD+?41oF!6c~dezHqkrKu$#W2ROPA@kP`8fU|PKogW69dqRWhUtfay*;vyh z5#<{we?T%Ic)sZKaduF{e?N!-mn+~h1*4<w*v$v3(s)2ODuWmTj@^FXE;yuj4bPSm z;IhXt4!w=@`Z;?0PNvizIe(&em>I$OvlCSJiGb=P4scyZAiv@a7m)AJ(>XN127Klh zbWveB&JId)h%z6gwBd+E_fI57f0d~6AGCHDYs6u5Af)^s&hbT3a6sb=p5H)=1;B^n zf|D(%f01_ZFh^Qv1PeF~V(nre)z@sL(vbAWzulcB?cf29v`)Nz4A7i0)~Exy13hga z^)Eo(M{pkloauNxI!}9cLIxv2Chi9jU=KKU^Mi&j9J~F&ja3#$@GwWG2M6w~2hOUX zW-C~S477Qx0Bzo?K%2K3(B`cUw0Ua)ZQhzdo3|F=qz><+*gyxt9OKc`{OhOS@zk*3 z08snE0kgeIbRGt`R~<VYSilWd$4&<haEsNk(}4%vWOeLx5CFGX9XlOFz>QYNP6r8a ztJSg7K?dAxb?kId0JmEm@y8p^_9`gk(c_I@o`I(I3(k%XsPI8|3?%<|vvq>!ue#k> zI@>`LSlw<Mo$a8Rt8O=*&UVnW6=?Y=y#M`~Ul6SRGru5ozDp1~&m{<+;{qv0o=?JU zKFB1P@rd>SWPT#lF$9#TB|5))bp8e{PUV0uEcNNGQQ`3E+zpyD^XX1e5%B3;44yda zX7=eWc;VNbV=Um?`nJR!QPhI6u1Dul&u&)+mu_bpw{9O}1@JOfpU(F_oxglKA7(Lz zLe``Tv>qsx@o0Tp!U12s(0oJ!G>8%lo3Vh+^uUHoL1&jD@~ubf+tMSiPoWIJdw`q< zbuiS0KHXqP8@_#+2D$(mIlM?s9|4Y?9~_&1u#|E^iW|^P(C~>P3)t8#B>r7G4}r@9 z@Zc?|ig96J0F`%N(Q7A<&cn@rS&I4i&vt6VCJsT9dgz`<Enp4bzCMTIbHm%O4+eu; ztDl;Gv6S+I9N7GWrC6(z88n@X%asTxMjwW&;edrVs+Gq<%On}V{s9efxG*q4$D`q+ zso?6D=QulPJ^y|X0X80`Oo9xmz{gJ^LoV>~Qx5R(F{-}~fW^T59eUdr;Mn=mvH2%Y zsU#>kVe<iy?iINC5{U>jc=Ut(4VpMP1@=5RxFVtbOKO`p)Wc)c{iLP;(ewi;e&G2D zT;P!3-lw=c2Q>&CLG@>VXXkg%&cD9B<pQt;exBX#9G;!744&Qo3ZT_Co}E6d3_j3> zdi>!B9Qg%XK{YGC26*?3BfnrT>e55c&ejA*1_mT~)U}76ovok?fE|ywHZVf&jP^X< z3R;r`S|i|iycM+Q55)BBW{0{%1MUux<)B+&K=ceo1_sCDty`cAR~?VH!q(V=s&S9* ziWi>EHMRl_{4Jn+#XNiGf;9LrzIW^{<#6eCSMcZ-1zF?M`4U{>wI1MaUCzM30MYF5 z!n3!AmBF#QRKm5}g%z7(&?*pg#WuJU?*y6LcoY<HhTnWT--G)Hj<B^D;FUa>^%%U} zK$L3q5f)blk8Y0_p2uByK|?GIFV#Vd7`oA`XF|H<h}Pu*vWpdBm*D^Z|2;d8fLl-B zz`^@+4QSmPbcV^Z^N45n-W7}t44|bV5+2?8kc9)DoogY2Z#_ESm%i}q-V3@a5<?9{ z5TXV&_22rxL;<;d1UJv4Q`@5ztnLlgWbN6#7nJZo7C;t*AvxHm^Euezuv#6dKLuX@ z)chvFqw_bvK#K}!{Sd#Vi;6+_8Wm6kH~*F3Zv~x;>(RYN1=R3FSsdk};sD~q7f!gS zc!2nj0QdwN2ng`#o()Q?pj}@Ep#BcXkKHaR0Un($Dhm7>E-D868a^rxpv4LTpo#PU z!5kjl(E=W=w@a^p#}X5wK`RI_Cth*3{h^c3uOL2#TVLAxdOfH=;?ej9<PWHSK})$o z{tfWx-lGEAr_sGd1$0EKM{kHqf=929N(IaqNJQN(2>}o2!TSeb|Fo!pmJ5Nr<N)$g z0LV)T{2C!D1^gOwR6t9nKnpVrK<hFTu=#YC;Q^1vBOqr*qxUDk^W_%ZAu1W5Hf4-Q zuZv0mzkmY=$kCuOO`)5CAGD>-z@vLUD7_iJ1qHQs8f<(B>^>J21CZkcK#o&D3*~#A zFFcx$Sb)ZUVHpbEj)F9!!6C30w6gm3<q4?$70=Eqp5Q)<Pw!?4CI$wd&hKE=KHcC| zf1b_91w1<M`*i;E>3rqW`4B1x8n$Qf?9G+%=+yRXKAPauxf-O|qw_vk0rHA)aJkGc z*o|5&!&ijEq)|&{;#P#i%BWrs36D;04^~JNHiKNkFW3w!nfV2qL237RGpt-b-V7_2 zJ(_oGfOZq`x6A`ws@S_2q_De~!=<~~f{B3vULJq<=)4K`6sSmE2r4$ZnL#yxN3RWY zcd>*^w+l0@JVsUtE?|&V+Tc>T9b{(XVNhN*{N~YlAJkGubl`|6jFGx~I8>t+tKdbg z9xptOyKqCwM_nRHRSZo^#A<Q?*~AR7Nd%;+(?x{?lBU4n`f@iY0H9?tD3No#TnQG* zQ4s)hJ-T;;@&%||L=?^*ovR^&-~#o9NB3?>_Woajq6Q)eQ3G2HsEnTf;pM%K3bcTJ z4O&?u;L*tpOW26r1CXK_$^Eb#;{odEgM9=qq{00yQ1d3(v-6v0=YP*`HqTCW&u%|x z8-j=3vwJ_p8~;n>q2qZT-SLp(*RvB`9(c6g_UOD1s(<!FeDl9V1+{)bsD~(ks|O`% zP_W@t4^aS9@5TXf9jH_SEl&oy4z)(|Y(6I7)A`@0^BZ{G9yqyy#$!Qa9*}iekN{{r z49bL%#0*+C2Uh6WdCUVY0agbOI%w=e!VA3D_%|rQF-N@cfEWuaSr7(5S|M>nnv7Im zVsmfrZjgJyZo+i*YkrW+QI&v|qB|clJ_R?Q*#nFFQH??K1o1W@`3I#uw*bXNZ;gru zbo2?dnOVc5vl~>pfHp`Qcyvw%)lwea#va{nFFcxSm_cpQ#h}JdXNigeXfHE|N2ia9 zKsUIg>~v9)ap~R-D!jW_hcGfQxOA_M0aJ@Xd#t*_`+7QER3s1!6FobRbvJ_+n1dGX zv2{0thUh>{H<s>Z&?p_4&C%Tq8c74Qc^vuAyLQ$I@Sk<;%oB0sKkM3=CjnmioF>!l zq9OxUq|oi60$w2KrULQ@c%wH5D3^j0s|RH7f<9#Dw-2+zKG52~EEdPG|DhhB@mo;g zeU^cN!MF8W321>mIR0F^cY~@Om+r+mj0_Cjt3fA_xOA@u^#{6}OBfj#KqXaoa{+`U zfLO~8TC5FOnhkb23)tlx5SR0GyQpx0oh;Dpq9Oohq3zqz_voGsiI8qkTtN1kgB%TN z_@Fqt)C<MI;A$S;PDc!zz{i^4ZFI2zd|SWqxAOo0|No^BsN97$4sfe3o%VVTtndPx z;A;5or2|MWG=qW#K{*q}10Ypp|Nj4nq<?Cp$9LcgpafI_gs4b>(xU=AJ@OEf9yw^2 z9(lk~3QCWVXa=W81yDwl0HsF(aN_`bdSpaOkEJpcMlH5sThxRFiWksgan$;btoVVn z=s>v|t>idH-I#)O>Dlm?2tzUk;Qfux4~E}54}t3~aD9go9~$7L-=GEHJ}RI^b1o_@ zj-6M*4Rp|?f&@~rE&(mpL6Zs!&`AZKZfnnOcX+W5-o6DY%n|EJJUfqpN-I4`VFejE z15H*R0H<omz%s~U2p_Rr55gA!m%U&s5Gg#yr5jXuftG-PrzY?wat%b&mYDJjBa!=b zTSF5$bV>r0$g@Fn60rW#unXUW!4<y2uAQe`I}diA=)BnZ$)!6+MW8!IMZ%-`4Ts@3 z$Ib)6j=_#Wkb0u|h(h#X)c&T0OXq2q&ZCZ<=N&t*ICg&Z?ED8x*C@>u&(1zb?HHnB z;MqA1R7HArn}M1up3OCEpytXF1_p-C7!@Am<5zrC6cEdgJvt9}w}89t-99Q6-61Lk zj{Ij`I<>(okds-!E0C)>_|JA`^K_S}@bI7OEEeED)fo(0_UJ9af1=Y_29(m#N_Eff z8a4rsZhhBow-ncIA2x-3pvAwS<6K~k4A5NMZO~jCq#sOTeGM8iL7$5Qbs4&+fx^SH zyAKo;hPPi9fRa0L<%tAx=>eOP1l3g>NTmmCN)n~?D2eju<WWJaS4Jy1Ji0|x(8_@f zNIC^AxglH*NYJVrm|*w~T(-i;Pf*HN3wTkAlH{O)0g7`REo5+#%fU!;-K#-OV;5N4 z7~Cj!>D~=$BBPYK-7YHNT8j--_~x-dN?#60BNx{G1=)_4;*i?4Igro=m9kj_)s6ty zS011O)&pLHF+j&36+Any!2=g|G81UHN&qwn18OBeM?=6}j*<vaw&&@5=L6kF3F=}& z6+mkiP{xE7^&Z`@hH?Qo6i@>|480+x03L9JjSh9=Y44tTeF1-Zp}~B9#UP*0N69bn z^22hq2onQCEoZMQV`npn35q`&7bp(k$lf==1qy0-fRi}hz@T`+hs&T$An^JIH9S0# zTBoEXheB}u0vZ<tw-(^_OSdZnxGl=!*zF45+3UvP*zF4GYw=*Ic6=bI1Z2<vRy#P> z18G1Oxgm!ViEa31P|=B_4Uadd;44P(G~ELrVF#*I2!|c*n(m+u>Yz<uA&@W{oau`O z^;5*4EPin0FL?b#hw8`!k`M;CIzsJFA<7pIaLoh?1`-PxP~QSH!X|)N@(vopg_Oc< zurinhRs@3zV@Ltb123Qj-~}{f^*d<oETq(t05xg_&^ih=kbnd&@gBfZ2R2@STAzW- zYZmAzI;=v&Q>A-!XT0#~&d~<1;S58p;q>f01}=c%V=HW+)fq0`;PZN1x_z`UR&+Xs zAuZ`dZ_-lQT|zABggY2%{3H?7p~M;<R7hX5;T0Gt!eMniwCbWo`f3K9c{JcjEaU(G z|KR>ocRQ%L-0Q*E*$-kIMoDiPup=#SWn57HQGid{F#B{TfR+p^gOghdVzvgc?jJli zao)AlF74n^jx@*4JQk1<kogj55(Etkx^?>~E9?U;)%WRq5AIKa&&LI?Cq_?vlvezR z2?MzEp*=d#;9WW>@gdD;f#yrW%fURF-w1#*BK(YApKco!q?Obh@Ig;)&u&-fpl3-q z%8-Qzc<CtUghJ0wP!4<n?os=6i@S6?mq5}8q&$bLs&))>{2v6JFe;Ts4+jDGm<3To zmq%ZpMwv|U>DKn?hAyjK3>wM-`5u%^K+PXS{YIhxgHZer_WmIDI=?(<zo<v^8x2rQ z_tvNo9y!SB-V9o*=g~bGG&kMd4O*cG$~`==q6M7X9N;mHZ5*K)v{VEf{h*|e6z8Jo zajp>!+Pg)>)Y<9R7a{XspyR0U`v>WuL&UlQ$ecgYsf33A!5)I1Mu<2E5#~L}ILhD+ z4OrU89EU+Y9}(=!mujF=09;-McYgHf{B7C2fsuislqvdfCz#dzld*)i^<=5JN9X-$ z@BkltNkH#p8PN1~Z#U>v;LrR5%|2l6X3*ih2-UDCge{FSJkWUxVh}j{A>}{taXc9w zoxhK}sDP%C89a`=sDMU#8IHTCfTn1{0-*i?187=I6SSU7(?!MMxQhz-PIXXXG=NUj zfCj(}unvHwft2xh^nxbcdqY$NKugse_`?r?g9B|e%%@u%TPk)IAu0)HkdTBy`7zuv z478c0@eKzv1A|BB?{4twspcQd{4JoiV)G9s{ua=I+08!~`CA`@)O0t4j{5ZIYz75+ zcQfep*v@7NP%Ip82E`3%W$W=~70{_v44^~h1eyhy7#Py{!@=u6Kl2MVgQCvkcr)w{ z@8iuTaK(bn77&wcphCx+U7#$GPSCZ*FM}bjcmYxfbHxYHv^{QDeBu{q{=vw=@QFY2 zKpMY5H|YB9H2%nwpZFsV@(Y2e6a3)^KJf=0Oyk!(P|cafuW=9@H);Igmp<_yx&S(H z3cPwPjX&g68h_}8H2$!QX>d~ox;dCYrpKM)7rT_kA9v_8zrbXWxB0`tD}6unN8L)} z*SPqJKk_oa*zGj_$Qx<=8jsTWMINW|YrNnWdz;1|`5=uy@^u=2)Y~-vs3&RsB5%_8 zH6Ew&AA7|3i9hlpzt~BBp#y3Bkw?<_BTuLCN1aULk2;XXFLIDS{NyM8s8ebDf~!Fx zo5l|b#Fxt8m2J&Oki!XdPdT300)^8Bq;R^y2#Pu4!s+BE{zE4~;RN<^8h^;eH2%;N zY5ZZQK;Z;36%+!{@JRzNhy+;&x*`1&f80Uv`cnf~`OyhlO#wY%R+B}=r+1GEXk|Af z2X#Jz9bf0uyG5k|vXIfI^B*|Ie0rCtI52|NHa<rP?NI^6ICwGBGq5U9$pMZZ$Wn6t z@PnX}5kK(@wy1!vj0a_P!4~k+QjpLMNJ56j=tchUlb`vcPJQAR>`?)k#;@6;@_~VY z0Yrl`1&9XCo`Yxu(0X*u78M1MlX{n^fNQhfEnr)GI-kQv#6jhQ19;)(Ban%pV1%sJ z^-&2(;}>&LN%+JsFa<oxmBud?qT-RpA9V?u01kcP7YI?wNaGiq0$vcD#xLfhQUFaM zm(ut}E`H({=mD>J{RB=nkQ|uCFE|;L**^0Nc7yWOad1(}z;MFJqwxr+GypY#;vC~a zOI+dOHK6k(Atmm1kWW2&r-QP*M{hqU<$+6TZ~+TfAMDZjyK^&WK_=K+&AUMbJwu5a zDEuMjKuT_uVjW(NM;`|1?`G=+7dfCkfX#bAi+9{OI>F@*d1fN7r-PXf$|PX(Pr%Fv z<rM0e&mYCcFW3yq0H65<+&G{Ktr?W?$+Z9_d_my@Dh$Eye*<$rs6-^!ctrgO3Ll93 zLB%JE`#~ihxfY<fA5^e|@*=s0A;%}UJq_NR30hp?qQc?XdCs%*x@YGXqMMw_puEWA z)A<a%`|{&wegPL1$dY-|Dry##{)Hr#wkG(TNuqie$6ud?v^PQV0c#V2r_Ngcm+*UZ zvm1W<9{@j0m+>$>2Z8&a;JvDjo#z}ouX}WU_UQZz@*!-v1Jq&U@aUWhs_j8@#R49k zy`cVzM>l8}2e@U;DgatnDhuvN`LHUubpCVg{E)>MjMS8t04-w&E%XIPB4kxF^bk#O zweNwLm_yx?44MW%@%kL7(E!3{&-mEq3pHCA8ynltnmN->e0!j!`1XqyL7sC#v?ZnT zpewkL@&DO-7??pWVgO%_0&)U~0qQ1#R*Ex#)_`*}FfeQZ^(sNjyumF&kTOWC<p1nN z4Gj#;QkKv=yfQ%Q92poG;y`LZ7*!pp4FSTzAazm<3=GiwtYEht!OR1l=>>9x8EA_U z$Z&p$Iq2%bq4tV`)WtI}FuVoX3BnNdF!KZ%7#KkIP662~2faiDqzqI~F)%Q|)PdIe zb1^V5ECs0pZDs{+Cc&c)Y#vA*=n?}g>XaB57(nJ_g3JS*oC&(5gaUQaQ1jA3=7G+q z1qCD)^FV$D*$Y}D$q2fz1$4<07ImQOpg`)1LFR$>s6>Gkfp}mBEL?~+4|Hz{$UM-# zFGf)J0W=^6HVHL8h&2y%=K#n&Nsx;`cm9F=g2g<Ty;dM~AbUaGE-dOmlRqHy{6XqK z>A(rB2*d+3VE!f6JYwBPtU6-D1$5^Y$RFTz0P3zqfSr%w4_cY01+obg7oY?Lwi-2l zK|u?0A85M+BdA{qT2g{V9kJo!0ZsQuLG}hQFn|jt3d{qQX`rwHrvp%W0a<{>JkTgE z$RD6`hEa`yfx#852;>Sd1D0Nfi#kx4fc%TQ+_(lR@4=-Q=o~O`Ab=R4!a5DK#fXiO zfdN$7HG(*qObiU5psr+MU|^JDhH!L2cQdLoBV8g0OFNGn7?`6$MuI{bL^FUGps<|_ zG7TgJvIo@T0pBK-#=yX^93;~UwPz~G9#>`t22fFv1hOZB8R-&3m_4964|Ed=XyZMo zx&tc*<sz`1prQk0jWZ~gt&uM$MAi=~AwaiCf>bkr4!VZx2kj*T=?7hv#|TO<7<DGH z{b2o|nh?}Z0F}TDApIZ?D48>Y$|q3z1iK8I{UFs0pj-&j0y+YT!JUDD0mO*`xgT`N z7FPXj&>ArX6l9Yb7#OaBtzcka$Yg}nmHr@^GDZdl5s1C$buY{W(0&3&kO}``CP37~ z@&;)55tOd{Ky~z71_p-f*wulmZ_r(eiXe5M`V{UWRP%^c2g<XcNHGMN2fC!^K6ZOS z_mhFz2RA|C1*-o*l|NW1s=c6la6tY54ec<tGB7ZJ3L`A)Kt%~C4}qi^L6Hb*L}5_} zvI=DHE0Dd}&_)Lqb&=4r4-_1X$+*itm_I;WaYm5gd%%W)Ob0Vy@d0WwfWjHHCxtPU zfq?<ER|KpA)xX4=N34Hg<`D{K&^=`!_bGwm4V1+nfgOk84^Ywu#Rq6~f)Nx*>#(bX znWqXf4|G8tSShN1y%`u7Kvfz@nlXuifngI^5r(~>qk};9o&m{#GC7X)0#kP!rViAt z02_&FFDU##r4eYq5F@BUdJR?t(gkL~;tf=$fzlNy${0Z<4k%57RiK(jEp;HH1Hk<m zFahF1@dtY-g8|gv1f3xR+42YK1Zg974taD&aQJi@cy{-Lx88Mn2zYk3gP7oJC_qO{ z!N#fKs}@nuTm(<(yuOTka2@qR0<be*pMtp!L<e|u{_yDD0kRa-htu|81u+r*dk@QS zj#5?+OY;(Qk8TE!<^uvA-SwdEUg=ZVP#mJ?1}a^5fx;SW5!i8{<6Qg&JUSsAWYFn8 zAX^cb$nXJgWrTzeh)MVG0a*$S9}siUg%5b!C?tG9OuB~;$WmzdfS9xlAJ8SK@oxD= z$*C@>WtqvTR#wHSCC;VACHc9oX=$m+B^sJm3jU=f3i)XYxv9DNMU`9(=z0{u`f&)y zyJe>4q+m)0<Rs>$;t)2%6i-Y^@lVQ1O)kMB<ysM(oQloR-2AfCko<teqSQPr`ioOb zAVvq|7iX4a=I3Er0axN*l$n}Wl1M;RaB^Y}7QYpxf*b;|3#%PrsYNBJ6<DSG@{4j4 zbFfN<6lEsnrQ@~`w|r?qN@7WBNKs~PYH@~hMq*xiYB8o2B}IvO#cBCPxlo0eDvDD} zpmHIV1z0?uoRgYZ1XY1mw?|?@NoKNtQD%B3_RxnYz!9#+sU_fu$E80#wZt#A91`xH zE?6A^l`Ia)FHO!!Ou`nJ!Oj7gTEQtl-nFPGzX($@IX|zsq$n{nuOvP-54)jAN^<j4 zumv5$jDq}3Y{?hNh@8y4)B-Fi98F0|CVs~j<Pb2VASW-sC>O7Xy@LyiGV{_g)j-M? z1xVq-Pyi|gtQ1t!bdWF?LkK8EmL%pDSgGcufG}pEW2KM=Dzy}HQ;Ule(^C}+5-W4^ z6H^pYL2<#w0J+-{N@}F%mnf*F=qRLC6r?7Xq^2mS=9H#rVly-uT=XfVg3CTK4Nojl z$Vp8sF2QMwRZ41deoAUQ#IksZWkeLTRtm+*1!Ou(6}x}I5rE4`^n%_>p}4dtEipM2 z8a~As8W|wL4-Iz+MMCJ8feSzkQz3?8q$Mi_P%=!+Azpn6w5TLr2c*naz@?D^n%*Ej zg_0zA7*Ya*j0Y9L=+468;}S?=tx!@~kV=YjSQ(D4M*)i+i76=x`QXZy7}Zdf1<=Zq z1TFc9%9I3M#h}WS81>MogSrpBoWSC5a5be6Qk3bNTAV?Q4WQ~A7E&eo3I*T>1~D3o zQ%f?yRbD>0%EQotGr_|(Vh;s;`ienqBQorRc`&nBp#)Yt67OJ0A)N+l0}`(Z><wJX z12PixO7e596p|D3^72a*%8N2f;90>+p(MY!I5RIDTiLDvsf85~)gcZ$p!pa=k&v4e zLi4io^2_rS@{1HQb8=GC6LU~3%TGzw!|E_(7v-m*S7s1*KuJ=ZQ=D3YY=1GhN~X4- zA$6GoxOGCb*~OVvsYKPt@j<D%`6a1V3V!(@ujHjBgWBGhfe2HVoS3IxqEM8Yo>^Ry zTBMMXn3s~1T7+A@6(mhK!<$)F3JRXks4Gj%DNO}+d?0ERG*nYGvBn?1^h$Jm!F*s< zoSK(nrJ&#p_DMlvayBefVRkzw=Hw(LCTGX{WEPiLS;0IT5A`glA>kM5<AdgTB6MNv z=b>pU%|o{i95uzI$r)(&C6%V7r50H!KxhR}R?SH)N>5ct&C4%M&j1ZAF@R16LX2L} zkM#m{Yvcd_|6w$>YzB??P{XVY&}EeW|Nn>4<eE9y+(WJShQ%9<#uYyFwhxy(@QWkH zHx13uo7|{6jf~Odp``|@G6sg^oW#6zg|gJ5;>`R!1yel(JwpYJlEn04{UBE#SI1!2 zcvAyI{j|)y#2nC!6ll&1WCUYXfKLzuV}$@acp_a|nunbOv<4hBuK}9$0jU8E^Mj5) zWN_jWaN?72<Wp#7>0|C^0!_Pu#+E^9<})xbfYmsH)j07fIPz&Y@)<O<_ObLcw=sd{ z#X;&AtH8D~!t4Qw!`$*3begv#pFlGc0|Q75yljMlfdMp62C~}`VmEUi6J%-+H0};E z6Er~wqCwMOp!FdjHnLa^NPvL>v_cWg0;vPd8G$&+>R?mIb|4Apv>fO_Ob{339uN%* z7ueF-6qui#_ymyM22u-}BLS%g&0#S>!UP&_ZA>74ftD$P<UtDqQNzuNPs54Nz>&|w zk<X!-y@#zA8iEWApyeH)rNJP5ptXG%`at2$)&o}$aw}-v8c0283IVJhEe=6(JO?!7 z%)r2K5u^~}R*d)qsWX8F);5^GA!;4@6kPZWKuMyF2^?>rC2}C6z|$pYVFQZq8mKv- z!z00Na^X_|g_#Oeyc47uO&`cFTcGk)NcKDONq{V8ZiA+o45*q~9A^B0%HuO*4O9&_ zGeB`*14^e13=E+8I<Wg8;o!ul-~>tYNO1u2*B_{Pi*dNA2WlQ@_#b8-EIq;e<p5Qa zh{X($9T%YT9Y|s0!lwYrO5iwYfXZX@6DVv2z!ozw;B&(fs2SMY05T&4YQ|<HH=z52 z1FGgO7Jq=um;sf?=MEpJ8f@+WO-0{<%7fOBfSE{TN(WegfdMpqiC(6F?3VydY%?%0 zfadDJN*xh-8x|L5z!D4$pebZ*X2d|v0PSA@E5%}l08~vSj&N82mB;6f5U3h#?f`|u z6R144aF_s<!xj!8y$YbsYzzzx*z}&kqZbs0F;Knu;!psp23s70%vb=GhvzZ0@&J_P zL!fG~l^39L<_T0D*&QH#Jy3CMeh1kt1DY&F&fi$<z5q1?o82HY5};;)mUrMv10qm0 zp!rtxbOb7Imq6t~^T1#;;AJ<c$OBiw;Jh6JRfjE4f#UKFR32Mg&Vb5c3ky&^xdSQ> zat|n}g2c{1#b8VRKw=M|V#**z3=9kb3=9k@phYU6mHkNNffJtuq@0A*aV~rT$aS2n z9z&@fL!6#K0AGY7UxGVdfTtcqq8>x69)pJ-1IRBspk|``1>^>peV{N0)w!T}cmY+9 zD=&i5$sDK}&=LudK2V_v5?28&9%Eo&0EvUc--S;BByNL69Ay6!s5#&zr;dCAAh924 zVj%rBIP}BpgXssUU4cVw08|`V?G>mPvU@>pfZ2zv7QAQ_&2J#JF#C|z>VSK0sC5HK zEzCYxc!SzC5m2?J%;@bw-0d1rJSjl+ftS}p>QivLqJa_8umHuq3senwxr-y8fIHs? zMo?UV@^k`J4s^*WC=S8xf`Ddly8z^_4^a6m-0nh4i;y<x4ye8dpmYt-e;_yYGlAUg z0a|^ATwkD-6(BV^P&J{je1JvG1gIKNJ_M&VENZqu)!=G(7BDa{+<>a-V!|2zE_?;Z zdCpmnfvHrFfvI0lz@4wciLZgtov*-GkD*+TfhiGL43ZV|V7bv3oF_qTa39bzHwFfV zNsJWP2{9j%)fqtME`gd0Iy@E}CXjT2T7F>orCyJLDIL?@P;)`)wg+l1G^oIK34j*d zFfcH<<MTrTa=1n5G1TZWFeU2=c=2U8@fEo9C7}2K(ntA$#jY9}*aa$|Q=sO84k!oZ zfo7&iJ_$E)tJI0lz>^Q;cTl+gfvO9`=U0?)4bo#^^3r2qDg=kCBP5NW_!eaL6R5ec za0S%?8K7m1p!M&tw2v(gQR)B>aMCLR1#5&8MjZgM#|LUAw8{a;-vy|c7twxl)ni~v z)ni}^1^Wq_?lJtd18OeRYv4ZE8K~HPP?-Sn54fyy02K>uOia0a9!`7#?tGy2Ss?fR zfvShO7ZffHprxHutQ$dQUV)kk+Bk+Yzo3M5B;K$FnW+Kt04VP8g)54gVR-9sQ2MKZ znkh!KnUFNW<cT9uFff4Az!j*uM)=G{$-{n-JRAiw7keHCxmO3Yh?0SUftv0Gg>4Je z+|Qu!MWiLv@(m?y@wbmaX5N6B30f*kTpECcEw20q_CIK`B<S1`qQli660Z5U!xiM# z7O1)G_{>G|zb80t<$&9Vm}LXVtv8@%dgC(_B@IB`3Jw75X#kY04nWNXu|ZJ<a=!~` zAtVE2`7+M1MzPC7kD*?Vp$tc`fYzJNfSUOUmL?!=4oI4C<TG&Lb7*GkVeJLC{+;z0 z3iKHA^#pvuC5{K5gQp%t0<3~&0Gam!Y96Rv1$HB0^RjT62dZOEK+OX$f`qhDKu%)r zV`8d=IRZ2$m;h?LGB7Y$!Quf$t+O6Oo*qMh9zzuf2{^%Ydg?Jmft??u#}Ecys}3^8 z21GDG``ggIJZS7O1S<X)6d^G48yK5Gj#<Ok!RW*{fzgAn0lYn=0jgF76bSGzaOBf) z=i9*6%-RDEPw1H68mL;(-YSsMAnpMW!N9-(D$^l#D+2>a=mv;@mOseiA8?3sfH!Y5 zFo4>E$m$iK;-EB)EN%f6M^_&J6$dTfhp7i$cbx$hzXftQvOhtsTc|gg8u>sqs|Q~I z#1C_zdO-S-&DsJL2aVH##36k*M?MWuj6+8mnS%H{9Qgt~K$RV+ts4Q_IK;rf0NS?( z3TjZl7J1AVlz(`jYKlN^bmS8N>6-u*!>7*$ss>r#38)w@eV}NlfvSP&16d0i@&wh# zpzaxn4QjK1nra|6sJaGKr64w_I0a>W5F2C`C`dqT&^m4j=n87k<_gfhIgmK0PYg>p zAbZepsxqjJ{1H?<qe!u{gLXfFdNL4UP@e_Fdaex-hw(x7g2Z>}K*X&<mNGCffWi<Y zeiEua8Y&LjCj}BO)q<$6go=aQ3ld+U2@#)yCcZ`kBEB9f4q6TlQh!$+A`aTU4dTP> zJ*Nf{hmHM$_SJyo`Jv)M&@oVW*r-C(!^V_h=1fq5h=)Mc!`xpFbw6l43}i0MJsY6m zPy|&E3V)FN3}`q^hKj??4~Lqw8BM$#8V;Ay#H*p<@EIx&^Vb?^I7mXrL_z5SWbY!V zfAyf^Fn8XA`qvvO4jU(V1odwoR2=61c&K<kR2&v=$Dr<n&2zxg!z5@pY=o+ZnV${~ zhbvHVP#F$#r!O=den7=x_PRmMmjq{C1_qcpvCwd^fr`V-sfLC_0#sZcWH<u@!whIR z)I-H#?pzBEhiOo8Xm!GH1M1(EP;qb{hJk^>2`YXADh><(ZBX~Xw$Fm{BFO3vXgK_X zst0YI1&Mn>!@(3fb_p}z85#~LP;t;!V32xEXgJJ;ii7s;g2aQN_MU=@!@?mB8V>KE z;xP03py4139WMm$#$sS#m;eoj0H`=<UIAqOIjDbYpyJ>%nSp^p6)L_4P5d|1-svFC z3=9mgd|d|(hdWU9pe=MDCA!dX-~$zY3=9k~aaCwII6%c={^fy&LoQStv~L<@jwv)8 z=0U|_{&j@9=PXnlwBG`xz5p5yOrQdnfq?;Bxic^@6hp(o04fd(pCeHJCPT$R8!<rU za6rXpLd9X>a|3EVY)cI+zm!13;UrW&%>4q;aQKBLE)5L_ZRl7UEIqu3`ZonlTpKDr z7b*@KYX-Sf1sV=l(ZtiB?&O7zD}lDMgVcvX!@&<K4hy$kQ2#bV#bM$6S{YJKZi0$~ z+Cw07bfM;70dW`@7+~dR7Bn1gLDhrD-9i0NsDG_N6(9p-j1Qz$5Gq~_6$kBg1BpL{ z`u7x696WZ-z`&pg71sw<q6`cSF!QCL;V=Oz4s)j`)SWw^;;?wMgoeWls5q>=-vA8< zV`xVlv<DI7o^#M}sDg^a!i@`R4yYXsQU@!?5}@I*9;zOeuC77-`xGh;D>uGC)4vR; zQNX~!080<zQ2&NP#bM>rET}s{=LLZ5g^BxsGdQ$R0!cve9MC{E0}BJFT?7>ZQ=wq> z(8L24fe=ff>Ote#5D^IJ1Xj-iZwEj`85kx()x*LUCT;;$4{p!G1Q{3@I-u%7{Tn1< z1~ssHXyJw=aakM0VP#kY%|{>}2yX%{GGJh3xPm7B9JKM5ftBG8nz$r5pja7TW8fe& zKzI?<d{})45(D9_P;no$AW8(gpOv8mO?(Q}J#)~+XMhtVE5i{q@sm(@zCjb;1$Czg zG#`Q70>ZyRXC*MOGT5MrzX4YetPCk=;x$n59yIYe&~V;@Cf)+|?;SMpWT?Mbp!pHx z77$K{`b!5*d<N8CA!y>Kpzg0h6K{l?4_hw*G8=?jq2|NZM}WjYSRWexOVG@*hpIn= zCSC;%&o5}=+o0|QkGq2mhT<1ccY^jZLWRIoCNw-j$3cMwpu~Bo`_a>RAv8Qe_pU*e zf~f$gdf565upk2iLo3uhpxs$8F%Z2S>K@SPLm)m3`#{|TI@Jdz2BJft_9{TzlOQn= zHip{kfhL{-wYLCGd=}K+8EE4AP<s!ciJL?1eSsz}2DMiJ+71M{1%$n!_FABc*Fx=0 zKob{&+S`F9E(NuB1Dg0xXnMGTCawpy7qXZL<Pr!@fZD5pR)l^97woJI0chfXq3N&! zO*|Ny-WH&VJ44MsfhK+fYW@c_@dr@zVe17Tu4G{N2MtdLw4#z7>aPqmaW$yDu=#kH zIlH0u?m$z27;5hWH1SK&@Z^BD_h9CHf%?|~O?(B^eArw#O#KF^`Crh~KZN?r1lq2H zsR!Q-$H2-^f+o%ab<Y+w@rO|Nd_fa8gNmD=)eFMV@QFbap9*z<3z|5{UCi*6ULYO< zGlNepK=5HKX7CXbFdl+tW`I`i2q7?wnE^B^0A`{P%-|6r6d^E&8NBNo%tRrW89*Zk zC_-QkGXty_1?GYYE*%C2MJ8A;je!B??M?~EJQG+E65%e1T|69zI5Q)5^%J3EVn{}V znR@Kl)eEv>7Y}B^F1`f$m=3VX5W+(SbgTvw!vtu32VR@Tz`#%f6@LJ&mqF{=Ksu6S zA?g=^%OS+EPr(8Z@dx1a0-4JPspn#XibL}eY|UQ*4@BGnI$!{rj|HhumxPFKfaVME zx;_R5hAU8U1892{yylI8fng>WL_K(L3%ZU5WX>e0dIzXEpt)R-_<c@@`T}S@2wGzY z5(mxY3o$S;z}DlyMu?iFAnF%@2C5hs7{KegKvyrr#Gy$SCN97aQLg}14_f~QGXF6j zR2-@vCa%p05eFR#2~r1Mo5{eya8(W>z5v=_1+QsiU|?wEfQTzV#X;+KK>8G+;-Etx zL443UQ4nn+4N<=UI&cE(FZe;jApt55>rY*QsyBdU4e(kQ1_lOYVTd^i(2fphtqjQg zMIsRK1<-*3@ER!w28Lj9h<E^09M->>4UP8)po5?opzFgx^On%?Y=CA}m^<yD>I2Z! zAB4vH2B<i=I0f~?p#E}zngjD!7F4|gntFa{I-dZ|=%DqUAb<Hn!xPp|2dy6kiJL(E z`vE%E3G?q<Xt+&)7FjU&gNiCpx^jRfC|Ekb0nJAW(19!P`X&YjhBT--0nh;(m^m-S zAmO<HYA-B2*Fyap0JRt9-%Zf;241*?)Zg491T_ch9$5ORhMFS)wHIcN5HuYYKnFZv z?wkk}p8)O0!Ngxf&Hn%mf0+5*f)INjK=UtntQ&M>2{e8kp#Fk|4+m5{0Xo0{Ui-qp zz>ozEf7m<&EPaC3oq)nw0BQ~_J(xq|-2iG1Ok5V4J`X_s3tCGFieCX}I=lcKNCU4M zWME)er2uh1Y@iNQUVzlsK>b?)RS)Yg#zWOFfZ7WapASuM0chptQfRqRfL4AUgXTK} za6Qk!01JoHY!LT+fTkbV_`oix`zL?~(~-)nYG``+0B#>4#vgp4=4^nP12Z3#o<QNr z05u1+-WBBEyHNK-+KGtr{|?msAE5q%g^xTmoj(A#I}qx{q4fo5yb5G4Oua8OT`hpR z6TCi(fq`K+RJ{RI9HxE})O-ar^FedpAop(ow`&mf(Hve#xEVmJc+i|M$o^xn`~|I# zpx$7JfW|KaR6R6$7!E<x^987Ss5C=AJH&jDnIH^W(+{GjvO>fUK<hzR_ux7UL>#sb z6(;^0eB2ciLjY7gcx^st+yF=WVIw#8dS4VrdteWa_5kP%9#FVB1cF=*nO6j{Kx@K5 z;v1j?hoE&&An`ZQa#Fzt#A9H9jhlgvm;|XWfDUkg=P^O<hqVWw13#cOM<AX0Q1J%v ziDV26u<@k3(E9NMv||Zt&MI?5!wobE3aURqhA=QNm_Xxq0d(LB7QfL@^BtfAQJ^(c zAT6b^a0Z?KgVY97g65YE;A6QU=beGnKZnITw4egd|1mHyxIxV^fS%t6&GrmCq2<g6 zXhH_f!Gp|k6@|FJ!41TNta$*jVxjpRJgE#??*^S0dH{7l1L)8v1_lQ3Tr2|v!$he1 z1)xKjplb&}<`hEn;|0(`iqQ2|AaPr$cmZ^P4YUpmB>oW^ZUWGR2D<+oB+d*KZvdTt z1)CdYU|?W_mTw7A|3agO;VQIzR&W97M)+$pG@S%M(+Oxz6iCHBsQC=g0a{pml|jR2 z0n~i(d@Tb5LpU^_DnKoSRzD2Y(DZNs8eg!9zZPitH$dYHJdX<+XMmP_3D9_l9gU^{ z&F>DN^WH$?_R#PThNi;<&;~3l9r8ot9lS7xfq?-$@6Eu#(4)w}poG*P0nM9&{JRS3 zF9y&#SFrhP1_p*lQ1Jt3;yp0`LfsFZpJrfS&;gqdtz;P(7{GI`3=9kz@{n}306f0M z06$)l6KcKzG~D)s90QuifSR8GwHIc7A~aquK>Z6^?*-B#0X07WI&lGB2g<;}unj7{ z0Xz<YIKI_a2^0>{#tC%38f1=uGDsZS2uBis1@;$c1{kCY;jeXIbD)i9B>(b5>-Pts zGX)tK7+~#+t<d<|02POg%Yu?Os9b6QozI1I%xoYu{V+fi2xx5=$OS6U{C)tMk6<qT z0j-Y`p!o<Uz86~lKY)f0XdNuboG7Sx0kj?mt=k2O2SMwF2ha&3Xf!iSfz}HKP;pp$ z?-n$@1wbcQVB>b6Y7W{Z02vF%{A>&if()_@u>J*T?J7v}J}XolTH(ONcS=CSL8oqm z)WO6p*s#|x29gl<uyHwPbDzNpYR(0y`7m)wuzGp;_&K!s#Q?gZLXbfovhIU{0p4S0 z0;`v00G)&nau2k+WnhDv4?Btt7Qe5d;uk=Q85kH~?tdW;aVJ!m0jBSV0(O6W#8Gb= z;}9=~#^VKOeGT<C!&YcKZa@>)gsOLd)~B%kX*N`S12o=Y`4LoXVvAqUJPbDRA2`Mh zKH(5Al3-v^VuF=wi25#&4}16|;}HLc!+b#<?B*2XFed@WcnheThRwgAVj7!x2@dmj z<4Di@ag3{6#32sqK4Y_Y7Y_BH`Cx47Vfg?w{0Tav`_F#}fEFX*VOmfh1ttzHmcb)% zVGIlmF!5Mu0tcl(&|D%+99AxZ%-@cregjlJNPIn#IBdQFWKJ?8!u-cb>f@2bVeJu+ zIf+Q(LZFC&uCdET5{KQH0#cuXByJ2<4;pqVLK3%yii6w(!Z3fq`s*NbK<Ayp#9`}l zK;o%L=75et1$hBv253kerXJQF1c`%c8JPGwBzr+a2QcwdNaCQr0!;iFk~pX>3=?Mp z84TSU3#v+B;&Mphpe6@Q+zLq?)P#nKhariB$_AJ?Y+VjW8suk~IA{+q%)g)_2qwM? zq!8*J&=46+{1}ors5F3yKSB}*<w2PEKO}KboWaCFX9UCS1r062#LYl~4z(9lXTrpT zki<bl1Tb;fdL588ptc@NybDP^Xs8V)z6?nml+R$|N0G!qtr3{`6C`m^R~IJE3<^Z3 zJ3)C9Ca#1e4r-;q#O;v8L1h9=JPJu1G&BJdFGCUs4IRM5Cn1T0>P(pUIwWyWs}ClA z3P~I^L<19lh9nLe>Vb(fff51KU!X2OOk56095loS6SqPV2Mr0r#4DlVAZw7zfqo=$ z<Z?zBl*pj=g6eRXIZ{w@kU609hhgG|P;pSagZkDmaZo!1l&;X#2Se3^#F5LN1SD}# zSqC#GABT874)N(o;>hLI93*k%a^@tG_(r61^*RpmXE?-vLd8LO3%NXG24zlYc!K(x zFn<X_#X;eKTpq&qT7tq8G=>3FuZ^TW1F4)WLJ~&~&s|V)kU5|}8O)sLP;qp3{(*|4 zyN3@{h%hiPpsSaFildva4i!f?#||ovZjJ|39NnC7s5rVgRY>B<@mr51jvT+&ki?PG zKWrZ)$b95*lLt8vi+?qt;vjc|+VHUOw1A3(%t4MvC#X0`J!r@arallV4pNUCkMU4( z5QUt6GC=~+^n+|~1ymel4zj(yP;qp7r$fa->XGeTi6o93o*SUzAPU(%yFda^_kf1@ zVE#G@6$hD*?4EN-;>hvx9Z4KH{8>Pi5VReFTn-515Ld<_ZiGYJ35R$P4)G)$;uT2Z z$l+FtB#!Lgbx7jK<;-3j;%9J(-^L;S3WxYF9O7J{N*x-`$nH^rii4sDIo|c4;-GW| z>Keo1-4-g29`Ei@agch@R5?t27*rgj9yuK@MiNI(50aop2GpI%;Vg$FjvUU5pyKH6 zUjr2fxd$}20CUf7s5r<y$m#YdR2-xpxg5R>6$hzDcE2#F(F1iSvimEL#F5=!izJTh z{<~0dboW1pii6w(8oGhG{~J^s<Q`=A!=~y%>On(HF!g+(Ml;l%$nN(*5=VA_FOoR2 z`zIlZBfI}0R2<#?uc6`~_kj9JF!%g|ile)q1=LuCmNUrVF9a0_sYh`?k~oU{k;GBl zk0g%beyBKx`=R0>_k-5z!rc!Q2e}71{8>PaT5Rrzii6Z6yWbH>9NGQdNaD!upMWHe z?0$AoqZv#6B?uJ<xgRtJ19QIuR2<|UWcO=9#X;(k!`}ib4pNWo{$wO^WcODii6gte z0ZAO${ac~p=;6N~Dh_fFXh;p_{&P@qkb98b58L+#QV$xUfvJCnq#oJ*TA)q^G+!XQ zzZ^*%+5MpTL|FS4+5H!x>e1bQ8!8TR4`?U}=AKtjadh{8fr^9FBfFmo)X9Om6WRTs zd4HIDklk;Mq#oJ*4oKq2?k|Okqr1NzDh_fFXzvZo{e4hzboayd?Sa%IyMGyydSv%s zK@vxHe;TOs2K6tp`?Hb6k=?Hd>eOLL|JqP-kb6L5aWMB=LB-MC?*bJEsYfn9gP`Id z^~mloMiNJMe>ajivim0>i6guJC{!Fh{Le$hLGA%fjltZ14=N6F4|4i{0Tl<SM|S@= zs5nSHvis#honB}-BfDQ0NgUbzMo8kw?vI0tqq{!?Dh_fFvir-S;vn}RyT1`C4pNWo z{(h)9NIkOqw;+ilyZ;`NII{a6BZ(usUlr8J$C7^Zq2eI-fTl!Y;co{O2e}8?{T@(p zka}eIhe5?b>XF^wg(Qyb{=-P($nHOZB#!KUUeI6!7Wa!o#X;@?tr>y2Ukxe_au2fm z4WQy6^~mnGgNlRHBfCEZNgUbzeMsWS?w^b#j_m%cP;vD1a~~=Wat~-K2j>2FP;roZ zklp_SDh^VQ?0z=T;2<=eBfDQ8NgUbzwn*a0?sq~GM|OW6R2<#?6;N@Idq8V9VD4{+ zile)KB2*lt9@+i#q2eI*$nM{dB#!L<vq<8|?!Sa2j_m$_P;qqkbASf3pzRsZ90$z( z;!tsrdyvCl5h{-EetoDoNIkOqgOS9M-Jgvlj_m#dBynW-FNKPuyMH}Y9ONF*)HBTe z`=H_=_aM9f1XLWP9y$E4LB&Dpk=@S&8q|ZPD`fXaBZ(usKLJS`+5LN=;^^)_4iyKv z2Q;SubN@A{ILJN7?tcIk2dPJHzrBNsgVZCtUl=s_h{gTdNaD!uH$W0cc7GgH9NqmH zP;roZK$jW8++PkA2e}8?{f$s@ka}eI_d~@&>XF^Q2T2?`{JBAcr%-<(yI%lF9NGQ3 zP;qqkmqW!t?g35B!`$Bn6$iNo+5Hos;vn_N?w<!02dPJP|6wF?WcS}g5=VCbV<d58 z_e+8Xg|U?X%208Tdq7J#VD2}9ii6yP?0y@lI7mIR`@NvzAoa-ZZ$T1AcE3DmFd9qv zt00LZyZ<6o96kJRL&ZVv0ZskG-2VzH4ss8&`@cZNLF$p+4?d&{>K<hG%Yz2Hq2kEy z*F_RX4u2ygab)+$LB-MCp8*vIxd*hi0p|X4s5rX&8=>ML^~mn;hl+#LBfH-lH24m6 ze-_gCa2=93vcGmCi6f7TUWAIHyZ<&+9ONF*k|CJ;LF+(Z{SM^t{|QwOawl@Q{X-H* z4mW$y;5gL%$nFHKOM#h>Y)%l8dSr9Tq2lQ7Z-k12+z(pH1#|xds5r=-$l<vWNgUZd z=b+-~=HGydgUkmlX@i;n94ZbnA31zJBZ(vX>j#oJvcF_Oi2zH!R)>m%>;)~cgV}2g z6$jai>@P>CIJ*12q2eHOklh~z6$hDv?EXne;>h818c7`4Ul)+Xk^RL4nv}&7@774- z$mTd8i6fg+1{Fv5R|8ZW<S)?DK3MqlL&ZV<LJpr}P;qo~E<nZ6&AAU1M>j_ZG+2+t zU*1UK$o>jI5=Zt|8&n+KJ)r&apnQSup7~Jq=<d0MB#s<k+@Q$`s5_C}BY-51>>f9$ zIJ$cRpyKH6iHC}#yJr%TII??ABZ(us=K_*AvU}J-lMq<)g#c6>-97S9adh_tA&Dcq zryEHe**z1G#F5=|3@VNuJ{O?k=<c}>6-RduGiZ<<8ZXH1kwy|nc8>y*II?@(q2lQ7 z351G++yh#Y3d<J>P;qqkbRvl(uX|aBB#yl9Wd~FoWIkxE9L)S1NaCO+e=zY%&?Esg z9zkcgz{DZ@Z9!+mFfec<)oaU;)PwG<hpAr&6$iN=S^Z_GI4B%IXE4Fk--e2#t7igD z5<tTrxjyBDii6BSo*xm0ii7+MS_23(-vBBOG9S78G>3|#o8t%-2blvpuL@>P08|{^ zoLs0lx;f=gaddOqpyKG}EQX4so3j=wj&9B#s5rVgkbR(#_(EP+@D{2bWDfE=C05X6 z1~i;OYae0$)x;qlibK2&NgTO7GZ9G~**!Cn#F5uiErg1ryYm@T9OPf*`Lb^~#MwZd zMyS7#)ki_a(Ze|fDh{$2)C7QqLorkwWG{01sfCJz)Pt&4nEGz0I7mHmy><yn9JFQ( zrhXr2G6tIOkkj)Cs5r=c&{BVx`YTXzbn}@&lOj<6g6=tnspo`>gZvwclz-)*;vjR7 z%M(?oI7mI{{%V*x_E2$<dgO8@04ff0C+PldnEHGqanM>jnD|<#ILQ2PB=>NF7J)&- z0lEAUfr^9dMJ`XwpyD8Nkjo!Cs5rX%1gJPjJ#zVz0ToAA-;X4YT>eahii6BSj;{q! zaZorQmp^-<;vn;p)6Ws8IJ!CKpyD8NkjtODP;qo~enQ33&0z*jGC{|Skj)W-ildvO z2Ng#*#{w#j?jCojIJ!AGNaD!(y%H)8G6%W*Sp*danS)&Z9K#|06^FPYXi^HA{*lWc z9VBsN_n07w^CG1~J0x-Ba>)%Uj_&?es5rX&x8e|gibGriG)aTa{Yc`-?ze)9gW?N0 zU)w{)LGA(VMS$hIP$Y3=|EA**&qoqR4u^86IC?ltgo>lPXC_n}-977(#F5=|5Qq3l zBynW-T!f0FyXO^D9Nj(dq2lQ7`Hduw>>e)AWFa(Okkh9ek~p$@H6(Fl^?FF+$nH0T zile(f5Gs!D{z#}ey8Ba+#F5=of+UXYo(?2&Wc3q}#F5p{KoUoG{{pBuy8BN;#X;^w zE<bHRlb6u&L~d6<LlQ^Mzw)5TLM-a1BZ(ucUkeong&T7Dyd5eIawqcm$uX!n$eqaL z^KGa&x;amw;^^jlfr_J>!wi~igSsENzrcYcj@)06KoUn*FN-9OtUeM+966lNAc-S~ za}j9r4C)@_aO;4Iqx*LfR2<#E3!&oZ{@s8ij_m%eNaD!u|A{1y?EW&)BpKA5$nO7w zB#!KUF3_YDwEch_?;=ofboVPm#nIhwgd~paesd&oWcQ~di7O%1BMXqkk^OZGNgUZ< z;h@FtQ2!$PD;Fw`9xvrkaddyRLB-MiH5Ex5*<Z7e#F71V97$Xe$zQOI)gbec{bdE3 zRD-%7*<ag{#F71V7AlVJuj^28bbmdAii7M$&Zl3I#F72=3rQT=U#_6ZGpIY&k^EJG zB#!K_14!b?{&ELRVnNM8_E#)a9Nk~(P;qpBl|jYP{nd&jj_j{4BynVaZATIZos|Kr z_wONzBl}AjG>HXuKeE5#k;IYxRSFeH_g6hs9Nk}iP;qpB%|#MN_SYgLab$lTMiRF~ zim%s5;>iB;15IvW@z*XSab$m8fQqC0>lRcT-Cr-E;^_YRfh3OXufIs*$o|p<O=3aa zX^!MC4<vD9e-$B#gU-%|#qVw;ab$m;hKi&6>nc<n-Cs|j;^_YRj3lms<W6bOBo@^D z$nNw*5=Tx~-ALld?pz2JM|bCHs5rVicR|I`-FXs8969{YA&Dc0zdmRZ3yb?xki?PQ zzX3@c+5N|$;^^+b02N1f|9z-9y8GWDi6guJGm<#6`)xpzSXkVjk0g%l{xwMA$nHM` z6-Rgf8K^kA`)@<V(cS+FNgUbz?~%lj-ERkKgkf=iF_Jj4`>!F1BfI|%R2<#?-=N~? z?q>yU9)sG8T#tw#i6gsT5=k7{{V7P|$mxF`k~p&ag+P;DP<xTxuK^WDcfS!-9Nqnn zP;vC|4?q$}c7G_6II{caA&Dcq|1y#|vir?IlTujR?*kP_cYhdE9Nqn?P;qqkmmrBF zyT1}i9NGQ5k;IYR{|-qU+5Os}$vG_UcZ7<gyWblsj_&>_s5rX&Gm*rR-Jgdfj_m$@ zNaD!u|BNJ#?0$RDBmoxpheE~C-5(DXM|Xc7R2<#?wMgQ~?r%a8M|S^FBynW-|3?x> zc7F$G@(+vq=Rw8M-M<1Vj_&^LP;qqkA43vHcK>N4ab)-Ng9hoK?m>3H6OuTx`}>f@ zk@N2os5rX&*FnY6-M<$qj_&?5NaD!uzlbD`?0!|ypdJ?Y$0La&yZ<$kII{a0q33#_ zyPq2>j_!Ubs5rX&HIc-T-LHovj_m$AByr^M-;E@W?0#<0AUM>&$nIB!ile(<8!C?O zek-Ury8Atm#F5?aha`^d{%J_!$nHOeB#!KUVdyy;AbXMBuK^WDcfS!-9NqnnP;rns z$n{qMk~p&aLy^Q$+>a!V;(jD?WcP#a<^auigX~3izcOgkHI{z2E>s-d{Wef>kU7Zi z_eK&&c7FhpII{bjki?PQzY9tHCenUVcIY`xAbXMBF9sDy4}S%yIJ*1wq2eHOkli1I zB#!K!N+fY)d%Kauk;C}}k~p&aMWN>kf$T*#M+GX5?tVR}IJ*07q2eHOklpWtB#s>Z z!BBB@^JAgnAoD>O)*s1%ildufh$N02k4uom<&pXqYmmf2XDGwWzl0<%g{1x_R2<!% zkD=lqH-d^5m^p8u;vjb-&(nEA&y50!BgbO{lK6R~bae_z964TYLd7xM0~H6k2h>D` zx#ts99AqzYyySv54@2j1Kt~V3)XRVlHGr0fg-GF`3l#^M4>}SGral=-9N8Qf(4iPu z%n5~xqnk4sNqj8>0|RtB9>aVzahSckq2eHa<s!NB9FlkelK4X;@jN8)FG%9Z>X|`@ zcVG#h7N|JL-h3o;rr;3w0|gc|9FWshHj+4UI-G?hj;ww^k~p&ZcSz#M>g7R^0ks!d zy&sY|vib%jab)%Dk;IYJ-$xQhR?i1o6auvuS-k_2II{YDBynW*y-4E7>h~atBdh<4 zB#xZFG(n3|pzcA=U&Tn`$oZ=cDvqANCP2kO=@vPE&4-GE(gSk-x`QOng_KVIA&Dcq zGYB-v4Rt57ds3j{=<dmbii6w(s#;<Bq82KS?jDdjSUrne4nvOz0H1FIx=Rjb4s^Q! zSUd^I{m@|#jB^8^%}MatFrcaiW)3u3z~&%_PbSDQQ2!#k2X<Z*x_@Ek^@98XDq>;g z!_GZL_irDP`N;JGba)TL{m||a*!`d)6J|a%TVuFC3(0)s`K-}!gPfZ*8g7tqpmlnK zZWm?%9eWfABB1FKx=ji!?ujH0U1kmzhn=Ym(gIz+2NrikQV(4g0Tu_X&jG0gVd!)j zSR8g25l9?5tP2)D0TO^>SpEVT4LeH;Bn53&gVo!EBte1<3=Gg}4J>YhBn~^r7bIi{ zBB1JF_oje^3_%1`99EuygiJvMR2+7mE=UMD++g>AfW+fK1XTSDC=C*d1rbm_>>N9g z5NO>IEZkw|eSyS5>z!cYptCPPT0!Ezj11tr-a&lO+AR<b6NmW|cAhv$9Apkm92T}9 zage<*cf-yj1c?WL2#}!+3=A)zG)M^fPLU5t;;^$(K|()31oYm&G>|4J9~>c2apd#> zGZUl~IX%G6aRiCO+zc`bH0BSYLE^~n1l9F0@feUKhyyx58_EVzu(QQLQm}IgLE@k@ zO<~~-OWPoE&>3YgahP2&aaef5?neQMgUo@6gW7~3dqCp;AOgf;U|^_#vOyH=4116i z>^>Ec_*Rer6nB6Gpy7rbo)eJ7k;8Kak~ngBE<h4THfINtII=qrAc;po*&rvKfU-eU zB!~bBGB7Z}&XEKOfx-k<zT5x_K;0h%WrMUlfU-dpvc2Gn6sjH;<{<SPpb8u+4ofp2 zaRDT8<a8*3B#!J~*u63!dy&IU14%t{xEUacBd0^yJv1P5klh)8q#ijPMj(kJr$gAi zH6U}4!=VC6JxV%35=TiVNaD!;oq!~c>|fZuI3RnG{ks53J+e7Fki?PQ3A;xJWDZI? zK~j&BPLRY=(g~6{=*(VF+=4LZ{A3UfG9NjdL1G{b5>E#aAPxfq1N7Jca5943H35=> z)l(pAV0U7G#G%XI!0MNQ1fUo?JP8&DsfU%P&~7VO9HbsrZ^6n@nE9Z#9mptHc@7hY zoeK_2OE7WRIpTLfnxOqhkiD?;M`7hHOg-#8a@cv#Fmc#9rV`LFfr-QJ!-1XO2os0h zn*l2iVdAj+H(+f5kT}S{u=*0z_69i>Bo1~b^t`hcG<#w9F!UmcgUo@2*B&HskU6mX z9F8K1gVe+7IoSQFFneM5oP0%753A2$<pWGT?7kEWkN{FR!|oMvL=p$t3oC09ki<dm zgxzP-fF=&RC!rHb9AplxeuCvYkTl2~*gXue`~?$NfS!YM5F`L~C&(O7o&kmX9VBs( zISZib|DcJ(?lWOUIxi7q4y?XWKoSR=13kaS0ZklsZ;2<8ILI8>eP0Dg;$U;26~F{E zanSt)AotHi5(k+Bt3S3NiG$36-OB;HpB3aikT~pqgS$xTLFT~j6Z?WB4pI-hS3v~S z;e&=JNE~)=hAfge$Q)QbVSywLQV+Y|BLYnvb{|C|k~qj5SUpjLBn~nMb`QoJG;!Fy zE=!TbLFT~fi33RDAah{%!#qF}hux>~5=k6n4lMosK@ta<1G~pV26_%8ESzEYmZ&0$ zgUo@I`>=bwVCrG_t0W+)2bmAMXCo6y9ApmczO@!4agci0JswNY#9{Z+tVI$BnFG6@ z?F5oI$Q;=HHZRb`VfV>=L=p#?1G~?S1zMiL`~|zmMg>hAc8`rNk~qj5*!^#?auj9` z?EW0s`Iazo*u6KIXy(A~i)%p=2l)$j-_8;=aoGJWYmvl3?t$GecLGTqWDe|pm=|c` zu={5|B8h{{f!{|59RPy6AG+UO0Zn`XR9q8D9Apl7V1$8z!39Yi<Q~|)Iw@%4uzOBm z_w0h~1(^f8@2&$)J?ws!6=>qHdyqCFiG$36-H&$xNgU)J*nLVL(8OW)R{ca02blxA zPmc$B&Lqg4Aah{%W$B=aFMxKe9ni#K_mhO6iNo$Q$v_i_-HTF)Bo1;9>>j^8Na7&( z!0y#KiX;wF54+#*29h{PJ?uUo(7hp`@*Cza*gZL4k<^3Cf!zlv02+`(DsN%;@Mxfk z!|u;9L=p#?1G_)a0ZAO>9@u?lo=D;#^|10N0!bXC9(Hd}4w^XZKC}ijaoBx0ok-#! z^I`WB&Oj0enGd^HXAPP->>it~Na7%KVD}lq?p1|_C+t3)8%XLw=ELsWd59zqG6#15 z;Rhsfkb2m?J+SjLVdlf`;ep++3=#*K18X13K+lH+iG$36-REO~CJwug$P!5$WDe|p zMGqu#kU6k>kYdopVfQMeB8h{{f!)VA1xXxa4(y(a9cbdPdo!+}iNo%@_<|-5yXWCA zk~qj-*nN+%dtqVW0K2!r2YN0gOdNL4Lnx9s$Q;=Hkg#?oOg-#=fJ!v=uzMq?Ac=$g z3%g%pE|NINeAs=GJCMXd>S6a197GZasfXP&c?U@xq#kxJ&{HIFkb2ntlL62PHJJNh z_wYm_iG$R`?xkFTBn~qF0dzh6MkH~NdiZ^n(DN!`=ELsg5J3}%-FqX8Bn~nMcE4o~ zk~qj-*u5VOXyUMYbvlv6LFT~jXTE_X4l)OJKN9l!nILi4eK?%Zb~niVAah{%IY%Ig zgVe+BBg#P&huwQqiX;v)2X_DS0VHvdIk0<duAqs-?t8h5Bn~nMc3-p(v|SH!C&(Pw zJv<I*;;?&W3ed!1_c*nniNo&y=|vI;*$caO`Ua9X$X?hzEf0~zLF!@mQR_ha4KR1Y z?lm$+5(lY=-BaCwBn~nkc7IVPk~l~`tem}pBo0y!yD#V=k~l~`>|SdF==qQ^_rUIb zvP2RGsfXQn-GL+yG9PxI)kGw5kb2lX*msb`!Rny{-cOOlLF!@mV;dly0|{0SUEgMj zBo0y!yEnT7NgSjecAwQmByo^>*nQe}ki<diVfR@*MG^<8huyPn0v&LHg--xzQ3L2c zD>QM~eNBN#;vjQi_j1oc5(n7}yH9K>k~l~`tXzJBBo0;&n#^QiVEBq84pI-h$J+*a zJ|xVYu=~wY(8OW)r{yAvgUo^5`@I249BeOWQjvjy;RKpE?7pur=;F}z6AI9C7h&#! z-9Ki6CJwu&%Lh#ycE45%nmFu!sv0zL*ga8G(8OW)R;@u3SAb5y9zhd_-N$tYP5c5> zJ*?je^B3$MCk^QNiZF55y-zVn;>$q|ODIl75(kAp?7s8{Byrf-8c53&B=MCX0Vtk} zBn~nMcE9=#B=J>HwIJ#YlK5(n02E(E5(k+ByN?~#-v#*#bax(9IRis(YHo5tB|~~@ zNl9jIYJOTuVkJXid`W(MQGR)RZemGMW(7lhRB(x9NorAUW?o`RY8gX(R7y?&m`Vgw zen!S+MFn~BZuv#YsV=EynaQc~L8-a<C8-vr#i{NY`Nbu!Amx6BX6Wh+jS7k~^Gf22 zQVa5nV5&^Os+<ywQ=M}Xi;GP%^D?1QI4v?XEG|hbDsfFqOHC%I)}Xi~zW`aOA)1Yb zW<{y#nZ+fkMe)U{c`2zy#W>w>0#{j5S&#}<htrux2Bifli6yBaMVYy&#Tm{SiFxU8 zO$Mmm4$aFfEKM~uP0q<o%`1t|P0Y;8$<Hr<xCEyS7DTEuG)m4%O)P>s1Y#(b=rM#u zPeD#%UMfTpPMZx4ON&!IlJj$NGE)euH3COhaA{FmVlqL+hM@Q&T5W1x3Xy6}K<0uI zty^YlP6`4485t$#=M|R}C1&Q8gya*g&Cmptgh)`Ho?7CUTJE2em6}}Q=>l;SdIEJZ zf`}VoO*3#=T-g$)05ig2GT04vhFBX?W)PoeWD@U(;VeUlvv7#R_2EoIE>HsqDS(@V z#RpI$aLOR`qUCxQ101f0h{N^ab{s?@?&1(?1KcDmZiE_vLq@MCH78N8B(<W1p}4T9 zgrP7#Gp{VQsDwc;IX^cyH4h{LDYWBrOLIyX;-f;GaXQx^9zCAG>M^axuFw;UZY(9d zk$Gxfa(+r`d~s?CG*K6a<d-IABqrsgx&~!t7Bj?0;SMq*1FZToix~>z(~9zQ<4el( z<I7T$!KPq3-N-y86}RmH-pQE(nE}NNdOmu^B}ELyB`K*zMGSiBMfs%#43NN1Ni0bO zvGj`aK@LUtw6l?GfOm3$p((iVcFxbsOHD4x%+CX<#ToMWG-3JypK9Dz7~*tSUU@D< zd{kayE<=2Laz$c%L1|HHd|75uNoisZgI->KNvfW^U#M<zNn&y~$Qzh0GBhntEpaX_ zF3Hb@R->5#X<69S8W}+2KN+k(J{3|$2W4gjc;nJzXbRO+Qk0pPmkvoMnGgW71*fkK z&Ecsf1f~_DEi)6pM#JLN5_Byf9aubX33Xg<epzZren4VTYF-H_A%kteqTURuJ~1T) zk^%52HZp`NhByb*NC>Gc0Ou1N#=~_KrGgy<^L9`s#LHM5WCXPXQmY4L26(4|07N~` zum#s+phN{xhiR^nG1T1DJW$?thS!!L{}KpGh~p8#gF`vY<*7wQ`9(w+i_*pkBIs~L z3{?atr{;l!9pn<6VPa?m4s%!{fLMT2wI#xQ0xFFRkOKrMU4mVMwbD1TfVV^wOH1-o zQgc#EQd8nH67y1WQj1(O1KctL$_&lH#gvDmpNo%cP=I5QqpxeQK|HRcWehDmF(MRF zaDp6znG6gqp}LU008TdnIP5Vrg6e=oD^Z4{#4J7?Mleqx0v{T=2wga1%+L(O>tH|N z)?kF<Yy66h%pko1NV11E#bJE{uvW~_wFI>$UBSs8tOB=7EWkm8Vzw&*EoK;DL_mWH z#J7k93awI-Qqwc@;*%3gk~5$psd*_-ej2z-k%m3-Ah#9}1&DVrNKd+JP$n*INX4c{ zVnIn}a&U4YxZ1#>!4Otffm%<g6`-OdGcApf;=KH#+{7GY#khkXR7FApKP<JVB(=gd z6J`N1di)?Z!S!G!1S41-395?WMQuQSCb%-f=@%nd?S-PvCo?aVpjKm8O^%{90Ms=k zsMio0K?D^V!y*R75|H~`GK(NhD^N1P6;;MidqAyCMEU`{5gMdH1f#*SIJE>8XV7rO z8D$`~P=jISVu>nP6Bv@+(K31vIFfNBJtJ6+R}ASYLz_><kT8I{4%0@Ev*IDuJE&#{ z<u#mM!04a`qy-zq2RItXLjoD6Mx>^>e-UVmA`#T^b<GTb=)>zOoNA0rppA%pa0eLK z;Gj%!O9kW^Otaz5pyJdLaNX@+l$oBH=L&A!1RKQ@4ByleNWnpzK0{cPrh&%1(!j$9 zFsnd87i<Wz5oh3mLLJ4S;7|v<61N^unS$a<geEK@g4FdvWCd7J3a<RX)?v|U2(6Ec zVSxfEO^MP2iMN3K;!JRA0PD#Nz-1GxaxQ@kh=mj-<`t*q7v)0R3%K+dT0mV0u?@+2 zP^)l<A)<!>cOxM^Mxbzql;zO8i*P3)z2JC;=!LkFpau(+k`Gc~Lc#&3r;LnH^nglB z;`AA#=mQs%#A!4`(Fn2-Q9KiHtRbjy!U#tKnv6_PECjn0TJA!0Vy0q{HPA8;mlAlP z0ZB&i1OX{&a1=DK3JN31;?relfl{nNk^({l?wAD)e_-ZbaCX9}37qC2<pjhckn)f) zoa#ZtJ|TEzgYn9G;+9P-FUl-Qg$|{F#;x??<CAj|^U~v!6LWIn;gbps@u7L;nRzMk zL8-;1xiAf>8S!aFi6Cxza&mlXMRICENqh;Ya|v=X-jOYgnFf%KFw9f}5)Q#G9E@Gq z6RWTxq*InrlAo87!Vn(?<>!^;XMp)wM#kXX9&jB3De*vBu_}coABa*=O_Ra^8nP-$ zOk&V0uFM6~Mfsq?D(uM?ZW*Li04|o(f{o(gC?GS~I3BxRBNLR;7P(Fao0A!khEuO0 ztb~U)v>_UTjpD(22y25jxrx*UAMV52(t;QQvlzGCunsIr-yWhl*a$}$8Ja=E2+@Ti zpu-5MmW36EprIaOwV`#r2xv2ewFbZ`2-08yYXKz!P>Tgb<A{C(sMk<O@W8sW0s?Sr zG=ym^PA-5ZZ`|Pr?_4AofE#ToIF%ZiLfwN}C4hTAU`K&mgj+W(c2RVLYA|Tc2O1N` zYl1P{Td5_8q8VHz5o?4YH13I2Zw$*t7>-7&b_qHhImIEjk%<U2*a!{0MF?#s6V_@B z^(yWj8DTSw;MSw{f{?YsOET=K*btU#;A6^Q&6#j*$PADXI4d<HbI71tJb1V&J{dfT z8=sq6T%4Gm>WX!c4ZnG&Q1gnD3#eck%yr<5PPuvDA$3GD_svg9b;VXgSs>K7r{?FT zmK0UGg1n7cTf)0|D2W+ta8RaSaJ(TYMqw)oz(#>%7msNnVSa`Npb3zQ#H7qJLnDLu z_~J}Z+oZTS9yFC7pP84I?~2lL!8c81Qkn-Je}$wANTe3I29yQ3l?5Bb8(PGJ2VdR% zgPdJmgM$2noSld_--xEBTOzq0DHURP!3@a@!Oj7sc)%R)0oqt#Y>4Csl(diG3u7c- zkm3bPxEDw>Uq2&1H&s6)-^AR&(85q3oC?x2OTY{;fxL1?&zZs9*%_s=YiWrgWPvGU zZV8>n)HBDFG=oc;VM?09B~39UP2iFyn3BeDNn=b&Be<jyrlcVjAw#$Z1j~{^57MmF zOD-<4fcp^6GJ~^B;Vct4%NWiwvcL#KLqoVMf`zHf(i}slxjEb+n3862Ni$4IQ@Erl zrlbj6(gah|7%pjyDQSc$WM~A}fK3*Q21B?8LoBiea9K=AOEY+Qm|+B#8C(*<GR0J8 zXaZM<U>U>3jLeV|f*}_DhH$kA7N#;wQw#@MU<#R=!aW3MnPDn3g-e=ZN}9kWO)w>m z;gZIfl17+9hDLA=*krM2FobI`#3E||m&KH{G=X{E0?smrv&`TuQxlA!G&F(BB3Q;) z)EU9m8DWvdB4h~HfM8)NvoywVl7%tMH|B7b8KyE*xTGnjqzPQo1XI!&E@_M@X@n_c zXav`QO%{s=L%0S*EV2f0SxiYIjNq^|f(3^KrldJs62UTqi<x3-Ff@V7B3Q<7F(WKG z4B@f}7D&iBz|+Dq-jG4h2gEXku?%1gLt_vVqiQt7@Sz3B4A9t!o&~0)Ib6~lQ_>7B zX@)6j3YRp+lr(`$nqW#A!zGO|C5<qJ42|F#u*qW4U<lV>h(*=_Aqy`<i%W_O^$ek{ zThOSHo=do1QEHlAe0+LEMSMYOQE`4=VoqjBWqg?dMi3i7W63fe#xjMm3}6gUe1T*k zF#%_p!&zo<mMNTN0%sXx+G=P7mqoA)VJG;&S2UBw*dxin0Nsj>qF(}ZxFQ1s!x88` zWH3qSHhvhFVGAn*_~;nuHdMGc?A(P8=(%Mu3FtNs7?)u^E9CAuxB!f?6T)}^JzpAh z?ILImH*^~#{Cu4?Y7qOO+aDmBK<Ax6?S-8a1e1W-52Ke$K=gymhN%J34xmfO7#J92 zp!=dgVjv9NmJMQpu_!wO19U40m=7avOogyu+ClCI-D3sQ52JIS_OqcmAOU)i8g$zi z#4rX12AI2H0_hUa@I%x8;6FqKER}%l2W^E#55L7K5dWixUjfv9n0kn53=A+njK<~v zCs_OsIv)z=Zy3#`46z^G{|!+4r@$<R(&+wYRmSdr0dT5hV7LL*2l78CEMe}3og0M9 z{U5NnA9Rit%-t}0g%Wo6D?ksDD}ve&qtM;ISP8rPUqIatJFf`je$du2V%`4-i~B+6 zZNc0Pqup`1e*x6}gu>qmhx<JkAteQJ_=EBZvF_)X1_?3b`~x}{4CZba{X`La_&a1n z^b-pI`-<4ZUx5kYe&p~6Z51Nc{UTW04?4dL=583>hQs{_pzbFW{*5@?-vD(#a`=lg zAo4Gv^sj)${h)K!VD5&|YB=1VkV9PfE8=i}1T$v%OJQ;U2W?3FL$70lSjxb_a0zOE zH7L`-MImZIT!`rm42tX!G4whxpc<r#fdO{@1%!uL{>rdJ(+^Aml->b#{{d*l2+F^* zSloX`5@J7E@y*~+2Qdh`Z41J|QvTyAzjUy~ALzU#SiHe$9f<wRXbxBawI7z=VGcm& z|JR24A5DJ+=x|g9#5s5%|AVfQhv|o<KhSv~ptyk5Q!sm0K<$TK{|OU@mWmKJg9HUR z5Nr@1hOa^O!}u^7WEYGLqUS>DU)b?2AR#cm0n-o4G++@30dqfu$G|WHR{z2Tp!5W& z|2sg11_J{F$p4@#y<z%c{y!qg06wb<strzAK;!QO=yF-;xoV*JL)WiwXlbN?1Po1$ zjSY;<Eewnl6pV~bO-!Mrp@D&!nTdjenYoDxM0o;Ny{nHK6SSNLS<J{_2M=EmABH86 z!T{2)b70_QU}OmP==|-`Y3$J%%;9m|8C<h@w0<k$@#y>xK9<m<JD9_x^->9^N9XnE zmmt%k52vN2>G8|AfH(|};f`U!o}K?ayXyr!TK|`L`*eeE#e>OvbjM40cC&l59w?FW z>E`G*cj<O#@#sA6)A`A#^QYtgKnIvkR<M1Zo$&%5t+zco@0T9&?6wCP36<!s=K%4z zq8;NL;~_2qu|Tdtc28JvfM@4F&u%|~-JnxGJz7te<a_kGs3>%Ys3>%osHlL}lp)-2 zEm+EGUC2_x?a}Qi;n8}s^xbO*&+a;~Ri@pM0xsQ-94_6SJU-px-31aJ-2ogP-5vtL z{|gix{|9+^G#?QFtL|nuylwdHe}KYkCd1pEH$0k;a6~)C9Zs7N3JM^{P{)v9kLEWL zE}cFqEIyqsDjXi2J}Ls9o!31(zj${3+YdUS1nhs0&cnXldY;{R9G=~-3_hLjeLA20 z4>0IthI9Y@576jzX7T8DW$@^H@6lbNA^=k0%z-4r0anA)?V`fc=`7&c?Iz&S=`7*d z87JV`ZD;rv6pmsZ-R#}QF5MuL!23*nIzRpou;_f@(R@TA+A+p478JU%hdnxvzUKDm zJnGSTAL_vOU>Z#91qJcz(@5cu@Na-?=Q-cbqn@2-JUg$0QdzgPM>jjjsYgA)OrK7W zR~$Q!dvsTGcyzNveCpVF1Sb9Ne}IN#=TVRDYH-qW@n}9QV5wiK<6>FQQmW=+na)wF z;9{B2Q!3?RSuRj20(O!|w>5J51Y2A$;n93p!lU(n=>fw7khp>S51bqj>A|PlUtkBw zSH7($OEg@%+0f)&tr<%>x~&|oD_Kgoe7ij*d|OYJzB=sK?a0x|=Gg7X)5+x6?I_U6 zXn5c-zq|tjQh4}+!sEDS=M|66&z_xsJ-TyL96Y+2Jv#4ube{VkVBpy4$^hZRLdKQF zvztZ5r}Mc_=QoG~4yb@fCnRuOL2>Ni*y$?ZdE6CT9-(;;l>CByJCAvGo(Ba*r?E#j zn@8t&kIrl0B*Nj-SuNlR3j6<HJ2X0-B|MHhgOVcyC>mP-mq4-~EE2G1KScO}?SqsD z3ZP_$r91%HhbRwRyWKg^%LA}Zh`pYj@d~)g18}Oq?jS_@6c!u+@_4tmg5y3=yn+gZ zSa^Xj!CDZU^#wp#|MP1Xm^Uq4x*b_ux&t|Uy5*7by-T;Zgkumm^9O@7KUjS?yQ|?h zLvZeAb~XIw()j@r38?u$z_IhZXXh2q&aa>h4~i>DdhI;y*=^_9ohJa!0`EW>gc+KZ zAvvPcnZ>2En!~f(O~C_{n>*ta&~mYBw;P8?H+nASATby7%eyc@(ra*lW9K<6xwabO z#(&_n2+FqLh_dl$KCA#M?=AI9Wx)AU%*C>tqf`Lm$8KwwJUA}u1wdIDlpim^@?)H1 zeC%O<c?OSee+6*<1H}`6x1F_R371E=CnSCjcRR9lvVpQ16F7Sz+zT#ij(c=o1)C2^ z;h;R#i3m!NtHD88jHu}##Wcw3|FhROFfgmDF)%QIPA54Cs;)ujLxZk@JO<)`4mpRm z=V7fCs2)(w3ewXKQU+@4fFhy?!~xxd20P3Vy;cS<BvU9$Eh^5;&r>kfGte_s&?rev zFV+uo^>K9!c8xbRFw{@W%uCGCWME)`HbEE|tAZF9D+Cy&dDuBX=hK43p~rtQfUnba z<P&ISVgMg42Iey`Ff@T`Y9~GcCq4;BK80qMKIVQV6$S<d=rIWl;Pcp>_yimw^2~iq zOv!v2&U^+Qd<rnL8LI+(z&5kb2AL)evmay!$SjcHQ|OuT431#CocI)+_%xjO3>^6^ zT=)W-*?ZV}S^HS}ncJ8c7(i{sD<Dk_3=A7VG^QR$J_l4ipw<cOtVr0|p&)Z)pbf$X zBFzE$33kqDB1jKf*ns3=XA9#BJ5bnzwAO(L)UXSHg&intU}t`U&N%?L*NN~aC_Fzv z{ZtDwAFjudPs5SVpcxv9pzwg5!K)2Y$H2e<(yIe)$AgbK!J!vqJg8d(8c%|1#Y&lh z$M!x#N1_l)=CXp=ERZw@VnT5WR2<4hp_s9@l0jpa;E+L4+sMkmpvVMrAw(F~W(LJK z$lnlA1PPMICjO0ufkB9Yi2-(YBRIYo7#Kk31B1k2eLHYiF)%Q&F+$X%i<>b+#3w+V z1Pkv)Ob~I{S&X1~2Dz#XDlPz34~|C$1_nNud!U_FaQb6lV7LY~{{fmf=>B(*I|HCW z1Wu0(3=HKA5PQ+ZH$lz60CEHa10-*Q&g_M{2X<y6IIl1;Fl>PO7hOCO>K@pckFfm4 z1Qmy!y$j0oAgj(m&4-=M49?RG3=E(%IYI6RsR3b7o&eEqP<MjZAPf@+4S9joL;5Jt zvWtO%0dyuXHgQlo#uo3OvwX3MH#0L}jK6~HpNd1ggB81aP#FQz2Z|O@9)jIT0V@Bo ziNnfT&=GQ=<8xr@LG=VoJ!otJCJs9H1||+l+c0t18NDETk;QvJ0Rb(4<ro+kVCrFG zvgr2eLdyt{Imq^!B8kf*nPY_{4r(33%s-1Hj%<z!$Y7{@ki*9uhj<E99OO<AhM5mL zyA>pjZ2ne|0MvZsaDbhy2$Dt?uLYM&kZ}&=@Hqn&2iXb2Fnd2k#X;sE+xr_y965X# zp!po69yxpxk;IYB0mUr{gQ5*IrUGJvFi0<m1_dj~ED#%nVRt&f#9{dZb{7Lo9G369 zL7JdvLPDJY7J=P~08<ak$FTE!K;lp@g4M&u9zo(D_rUTu56IzA^FiXUazX)399FJ` zpozoExe_#SSa~)DO&nH!BcEjrvKLnFBA;aqazCs*`GRH+tUQ(hc?ik<uyP%C7ClHB zWIn7OK%5)ohjCnjp($iJb5LqpYEfz)>`WL;bw-IPDQJp}Am?}>&R%fKFDg$gN=Yq3 zJIy4xq$o8p7gH9ue&|^uMv%q*==wpjpraw6Cvw2g;DDYV5g!FQX+aP3Kn3i^89}xz z1cwB<I{Lc#2ZcKZxwr-exjOp?xqyy<zz7S_B6{!SV3T<8$qQr{YUql2ZUvg5ID^I* z5+u(4etxdbA)fwzB)K@)Bp&W=@~yz@eq<{kZbgee%hJ3wNJ0UvO%FE27mViERN{0v zhRMN(@o@8T>O!*vSr1nC8|Nk#xCUefKw=-Ku~228EuC4=z1aA6XG796o{cx4`F!wh z6X>oJ(BUmu-G?>J26!ifJO<fmf<4JPV~bW)eK<Xf)y`l;@SY9a#ROIx3F<O5fh;T~ zV&ym1@F7w^QHw_*#T}NVqsHVe@u0%Giet>6ehIh=L?JRj6QH1WGpLe5l7Ut;aFJV} z{y(Tc0T+QVVD&Z!s8IwF0+Z-%)vM694OkM1r~r*LFfcGUfGQ~HU5p?msI3E11{zla z(V#Q_L2d%cf%q`&0ks!CECH1O)pbxNm;w#3L%j;-!w3uLS-!A2T@VdwU%>Rk=xXSi z67)H#4N&`G?uD6)&MyP^JE0XcOc4VE!w%?~rZ9iP?1$-xiG%K@0Qn!(UqsT*umfs8 ztep;%1E~eEVe~g>{DH)f@iVA?WHAsMrVqph;Z@AwQ6h{vsTWZFuyzzkEeONh4`PGx zQf5e76~soy7oh%!-9ZHMKPXCI`eFV*$BcbW3U+3+0koe9ayKac(DmyZ8Im+7WoTkx zVgR0$B7RQl2JB)OP<jS?(t$yQfsw%xJZAgZv-6)vH#nPlG#?P~>}2!ojN@=T?j`^k z#=TwQ0-uxUX7=a>Pdj;Z-Um+_xCwwp(vidr96Q}au!u>(hiVaH*hsc|bh3LuC!SbA zS%LvHM#;|&o)mzOF^2{Rbbj^d{C%7ml=}CB2=K5c|JhCru<@W-l;dEb<KSQiGYt>C zev}3ta|Ml)bAx8x*t*&IPjs?DrnC_5L7GGG1dYpHb?p4^+4;w}^(}u3Xgt8T^;=1; zPbXwv#-sD74{YwP*M*hGv6Dr`Bl(2K!3PQ+$B%=9j^Fbq*aaS)M;-akBQzf7KMm8$ zf5N4+mZ3A2rPGzeqqmmFr}G_H3tVw;4J(gN=Qpt6Yc9v*ETDlW2E(@=;0Ywup=XHK zVQL^+u40`t0?m<mc76d3;<n!AZ&}R1z~I~Zgui7L=(O9`ll(0cL5$82==@nXGye&Y z|GKkT_|NvbGI}KcX#V@(^Y}54H$C}%{(<fC>^$nyUCrUhf8Mdz9i+yw`Tu_;*<&8P z#XKI#Z+$x7dvv}6YjHg0qRYVG(e0wb;nS(%(OaU;<C%Ql2Q+VT3#x!c4lFO=(`kS< zWA>WCqZ8p}kW;`0c^n5PaS&So#zvWH1E(+0oDp~q1w2Xg&!^iKq|3AUxPWh`9a;w9 zZ<z!R4(P-jC7A#<pB;AtcSAk8nO(cx1RT4|M4+<^9-a3g(}V~q33RE~Vo3Q1lxv}; zf#+=xgXT9o?Z9)Uh`A;B)FLF<0zhG80Gc9V>o(v&_nHAbZzy1RAo4Iczl1u5fo4+` zzy(B&N`gmki3*QLZ-|P7N3V|xY|0@<MZ%-?Hh6}z#Mq<TM+G#8P@?JC&DLF_!UKuR z{{a$+GNeXD05UZSnRx;yWQAzQxLEZ32#O!a5YRmHe-y8>dqRo|NW%5#W_Rs&7jWz@ zhlQR`=g<EEp!sglY^P&)xdcca8hkK0@N8G9=xbY~{Nd3p?a_L>L<>CG)cU`K4ICaE zKHbR@zO7G69{6-V2PaAx{rVi(A;@vc4k}~hz=e@x3}|8(oY+uZk0g8eHLqvqF}Qim zo}I@~)q*X6M<A@!fTeqI@rWqDAm#aQup2?Mosd}<unRy2Lt`IiNZN#8k8VgX@V%A? z<p-$$g<<}G@6pW;nQnU;4Jwbp<zui%;~UWA0C;*0JXh9wpp^Hu9(YcP0hE}OEi*Vu zKg0adZ2_$^3~w7AfM)yG87LF+o!J~vHJ+W%4G;Kq{)ehF{APH`r}ID5Lq|P2vjz5p zDqgUFXXkOx?lKOa&i}B|#HX`b0_>trX3x$zg|yv_44pST8jpaS3(ggw`r$Clz}L(k zorgU-?}KPaet<if!=o2m9P9(NB6oqRZm^AD!tnO%Rs8bcVO>yodv>1d{Or-~t^o3R zlHp0@IdRJf4iA2p6CT~5U@83wnrU<J=&qD-+zB$$r}LXn=SR=Z3t(eg50tpV?S}{1 z0iVuKoi`x~CJr2tSk!dhLQw#T^~3z~bgti#vjH2_Mc^C_ufIXz1*&ooDm_5+hSlIj zAdtd<h-8aM@6hr|0Ng0>=zMMnsU{H(1JBN5{AV3I^`HwMJi0|xKm`<sOSiL#OSiYc zK2Q@Pi_tOce*k!vx$`hAa~K|Iz0E%bw1z<dTr$CO95}8F54?T`$}iCT(ELUMJnMfM zoFzPZYg9O(E&;JwI^TJ8-ty^$H3bfXiWq%x!Q9Q>U82I`(G99*LFJ}vx0{4(x1T^3 zV=&Y~@In(@fr00485kJ;&tBBfz`!g8TCN9blPZJS(4c$)UH=4b5hJMs-Q^5wckTnJ z1Kqt1nqvi3chI>~==>^Z`5Z{uMUb)z2FUuy^B@i=wZjI`;d=HkFoOsGCWB34U|;|- zK+`qgYyVy|Fff4Hl%P9Q8Brz)KxrT3hif1|_<@?Hpn2EFAX7j~oj?t@PaqEHRy~k& zz%w79t7l6<q96<!69t(q$;iOKD9DI3aR4)W4g<3kr~?2}B@NcXz`y_xo&U2vnH@ow zb%XkNpn+FL(C99F@jl2EAQ{jQFC%E4gqwkZ;V>v1K!du_wbqC*2H6D~=?2*aUReo> z4kWuEaRr;a22E`<g4%E(D?u)Uh9`&_08U+C0>m9L7`)dNKH?hh1UfyN0h^!#_(1S@ z=r~(uUOIMFP<eF8;MAhB)FLY@h#{b%<dRe*v#b;p9CM0N6H_V`@(WV)6!P;FK*!B1 zsHW&~k#3ZKX^BF9nnG@BZhlcEP6HGa{PGo`&P^>M+Fk_(=ls%~lsxqkm}Uj&$pXb7 zOF=u+6_iwql~Da)rJ918q@Y7<=pheRWMqgI36Ky($V1LEM(B6W&nqd)&&f$Gf~x^D zsI&$HG#3cMATvur1j>2<NHG9fM*@-p%>jXE(0C8*er?zo4a^K&Yb`*Ha!?ip>9>N7 z4>=;%ZGhHQfXs#6*#H~A0TqYPtuzeqaV7Y=0QedWjP({EeXzCbpt22AD-pA{1LV## zAV-2QBXk@CZH)!Uov<|+;F8dh4}9Gl?9S6dkY0!z9r+Yo_#8mXR@#^tKzGc-?x$8n zHQR|#0k%G(2fW4w<PO-p6KK2#?0&Sk0j;080V$ptbfI>F*3W=SUDz5APMAFq_dx7% z=i9&pTZjSLW5mF~0K3m}F321-dq8mu8?$T1A`fyaY<Yw$EN;=v0JZv5poyghrUv3B za2Odt!pK#R!Ap-JOHaU^&%%k%!JW^*Nsl2ykHG^J2B7h<6Hqh2X%(U$;wMlrL)Vrt z1@L(|@&&l_IY4R@&=?V@<^ly3s1gFz@gQ$t!#*6KILBNw!ombH3)C`z=n{oc42hf& zaTp)82n!_T3Kh2oaTpjFV0lLqDh{ivKvgD42_IA(G;9FkJAw!X28K`I_2pa)PoRA0 zby*D8q2kgYPcbmSuHj(--Q&l|z{LQ&^BA0N7#JA*Koi6aEDT4W=D;W;s5ory6DIx} z)J$MtVSudxf{Cw$io@pYVd9W`wpbX}K-~iq7l)b;<HP6&P;)?e0wxBcA@>ckFu=+e zkQfM0hpGoPBtU#*Ov>7v7EaLG98fBNm;g4Gfq~%`j<pg&?2s}Lq8dSVV%ZA;k_D}a z0hJFRHZoRXgRFUht&IYeNg(-Ds5tCCdr%n%5<d@JV*+aCf%vfUa3WNE14xj8fdN#O zf|$<GwJjhv2!rznXdeo6jSQ%n1rmp5ABG~RIH(y45{IQvkbR)FD(K?1>=5_E?&SoR zdkhQ=d!XV9(1Zpq`xqD)?m+zoyWbgHt}rk#@Uue9f!*H+DxX01gYpT;Uf5a$aCyeS zz)%G97pM&jQV307_n~Wc;G0LG;-GR5WDe|}Yf!lX(#8k%FYLZcQ27fI2kmJ9sYe%& zWx*cr%h<4sgX#lp@ebM_12P|WKP4<)T%qA`0Ga?nWg^Hui=h5}04lH;7#P6iEhyY@ zh_8qGs{m>asQd+)qYD*BkH@pnwO8okp!mn;ejXOk{!$JGP-g*TE=-LV6GR-A4kbX6 z3=9m*pyHs0K1c{A{*f7^9@Odwi83&N+U_8h9#}m$1Go-B+OGp@4+t`FGl1$1kUCHu z1fs8j&4GHBfq?;3CxFC-z~*qk`LH!7X;5+4oDodD8VB}x{EH*MgW3}?zk}?9VNg27 zCT@Zw{pjHkKg`O&poFw$5EfGPILf7oIK-`RnBUEb-M=ewn6nXwILNOc4D&yXUWh|I zHxqVyLD?0XIqEpv4~lVY>R}~0sG0$dFTvJ8f#L<^Hc+tyN`o+QSp5kq2SFGn4y%Vj zVxXc1CLRwm1Ui)mG7BaS%a`c(!tx17tt10tEgP)f1&O;LiC>4B4-$7r5`Tmw4qD#{ zv)2+7aM1QsAd-3)9OAGxDad?edqL$t$O@1+vN`oQ%$bfP4yv1B?wOAyj%*IB9RM;P zS^Xs>^~nCck0g%lUvE%^K>dsC{!AR=bx7i%tM}mU#36nZNgUZdKaj+c-NOe;91IK$ z=<#j@6$kkjIlb9H#X-h_Fw8vxNa7$SOgsg|!IIueq2eHWL2LVA>Zc)zg9b=o;v12~ zL4zkS@xw^s$mYC(ii6yboNm7$iHjknw?9yEke@(DB*4sf02u&{FVKEjn0O(QxD%2& zO*q8YLB-Midj&}x*}t&+q(SPD{c8dmLV~&n)E0ob#|B9pwABG7?g<qKnS)%Oq(a3( z)+2{c4pbaneGgO|q#oJ)8BlR_^|1TuLF$ps-wIU^5=RdIy-;!V@V@~S2dM`Q9K!td z97!D6J)dxh|3VT+wik9UJ;?o_D>Y%}XMs9d&~yvZ3KK7dii6w(Dq~^djY#64HVaI= z4=N7w7sw8n_*|$s$Q(bU^s^F49Mq<Oso#Ypj%@xJBymt30aO1ANgO$Rc%bbtkiE#| zgD_Ma<VNIhkcEna+z&DmX1)$o9Apk?JvvO>5J?=loPpg}4^j{6&%@MDhN?%mcP>;M zWG|?$gsF$ESpk`Y9RAy(>e0<P2o(pJ17gC=xd`Gw^AWN+Z=vEKbCB~3FUS#4^~mL+ zI8+>DJ_y6i*G3Wt6)iAvdn9p?A7J7EP;rpG_DJcW3P~K<J^fH|kQvDNYaWs~a=b(O zxuCHC1_osDjY#T|^TlN(anKdFFn8WX5=XATApK&9`N-v=KFCARa6?XSCP?DQ=_D3O z9NFG{Bymt*4d$L@NaD!$g5m<!9zeDi8ol6dpBYj(L%jtaX@|9`K>A^AG*ESpyfz$^ z20-#4anRax5F3PH?S7Cr^r~WzFnFvC#6TB^wd+CRFg8dXte*f92bFsuF%SlY6^I6j zgXTm)Y!C*uNkBA69JDVU#0Fv5xC}@fHeLx5hn>R#5{HfPfW%?v`+&qPK>|<=n(F~E zLE^~a0PA;w#En4;ptu7{gT!Hd6p#>T#s)-##PvZ8D2BB&LE<34!@?cb&j*Ra#s)xI zVEr_ZIB0AMrXIE@10)XWgM-w9@Bt73nxA1{U_g#vSicUW9@!kwln+P?NE|j^4B~^< zvVmxjII=k)F%Slcdx02G3`-B7^a$E(0u_e$17YH@aD?qmfr-QXUkud<5{He=frMb; z3=#*K4+|I2;vA4XNE|e-3Sxus8V~`k*Ffq)<0Bv;Sona{gT!IuHzz@oQ1u{lVB=e$ zIXjRPOg(HIh!GS3Na|tf(f~;uWIk-11J?crnFBH(HXa5WD+Y;!)q@H;1_p)<G;?6% zG_dhIn0naw$5bTsAoF4UmK{jqAoF44D+iIpLF!@Sh<A|0LF!@SI>>t(K;p1*pub4! zLFT~59bsd}Fn7YnlUzUo&~O8p0~;?%K@*3Ki{v7SgUpBdzXM4eWDaaRW+IX}NIk4S z1KKNw9FMSZ9fsnPBG7%##U({~AR6UfXTtY5W1kg5yHglrBLYR6H?Ug?-?@Q%9ty4m zvbq{ERRx}8gv;VEAGCJ^v~(Sh`7k9oSDV9ctHtgDn0_2CfZp_KgvSLiCD_de$wHRv zgD%!UTmh?xa+zs-R7e=E*}nLwkYGG=o_OTK@VFavr$#UVc~5-u&<!*Y&w)=TEK1FR zUcidOO;}g{gU%nvV-IdUSOXlla_ljTbz1=;Ct=(C01D4A95cG$D8%YqkS<Rgx{6DR za#Hg^x4@Ek7cA~g6a=@gpk+|RZE~QC+v73j>|Fz(cVuGq9O4cJT)MrJA=gdfNH0dl zIMxb4??}X*EAi?CU#N?3e@!vyCc~062G}i#G`k=NeV-2W7;SL+!y2UUyHlWx7GV2Y zz^CDZwnznJ1_Xe%o8dD8aZL?qOA4A1p!?gBp%-)DPDog@O)zv15B8j9WPsJpnUGyW zVE5vQPePiFEWv9fl8aIkOF-9HgO-}aC&O=g23cYdA8Y{GWQ5&;hDOl6Lf}M)=Z*** z+F@Ibpx(r3KnQV{8i48ql-mys&B50)p<aDJ!p<Ya>JTh@kPI=;RL49*9C7$KrX2iW zZ_MMoO<|`QV;*CT@0@63m^REKlaWs)Mn7#B>6~3MPtpao*(kwWY}ofySwI{33!wdK zm>tmOER4(W6|}An&z`ESX!>FOGnfIO{sOc~4-*2@8$g2@pq2Dc{h&51sObvppTqjy zKcIV>KyqM>P~rzv-xV|mquX^1JdXy|ghX9{PE3RL@_>Xv_JhWQVftY-XuJ|+1#C}0 zNG%9ofKGHlDUc8tqx*jcjy+XBK!d<Y^MD}xLE~=d{=WoXzkwNt51<yKuMkAHA9Pj# z%r9UELJ1AfU^8eB5Hw&x_JiyOVUQA7_-BFFcQ7!3S2Kbnp!ftd;Icu10~G^NFfNRi zVgs!+!Q2<+0A0)iTO$S13&QB`#}$8fu*4szzYOy$jIM*aAAL{U0;v5k|AOoWVRU{a zCuFP(woVA7281)9gD<df0)-!FP7kIZCjJ|me~`yUK>Ale?FWtRgZMBE3pW_;%K`~M zm^_TW2GtMa!)Ta382=q4|6uHiy8+b?n=gW?hq)ide+f&!Faapt0QLV4r1S%d5}1CN z|Ap8v;~r$h3y@+428I*RfjW@8LGg#KU*E_C`<^&s?B_IEn3`FTx+m^~Bgl4;s~Di; zH4Y5M42%rm73)ZQLeTf1^*a3rE%Jx2Y41FLoCUP5n&JOJ%Y$VfJ1>0p;McnFnLqC0 zXa0x_{2GTK2Ex@-s^9Pc*g&{>r1AsygF+izf_QX;5-)>C^Fa@fPL9aKXlvX-n}8e` zNL3F$=Mr@E9kWNbABRV`!w!#59%hf@&LC?U_JaZ)VtJ=C$1w(mXt=GALoX*l^n+$) z7(AK}cz`wt5UUrwX9={&z_arjc$)zmNH-Q&z!v#?^j0v!9Rofa?;CXA0%WTNbaxrD z*aV3A-@xW$b0r046YYM`<^hPikv#y~4CB#x9ND$77)2JtvS-M%6SsdTvWs6Ha_%W+ zdH|h7+4{eP7vc?Q3`ZXZ?MdqV4cp@ajelHf;o$|23}&D1f)_|Sy*gQpy}E0R!JA9? z!1j0@cQFPhLuhz__Q+sKZ&3T-8&V)C6T0Uo*rS`>qub$yN3RS!N(SO#_vo%+2iu0G z6BOd`{7Py5r&K>=&q{zt=VcGjb`{WhvK-*Rap^5!>E?E^{8;1R(fYO|q4_6sS#jq< z{*xZvp$wf|9?h-{EX~Y+JiEg=K*ynW-s?OF*4KJ~zY}!+u17a$Sr&swH#c<i)ax|3 zkTrCBm*D}I&QD-nuOnbl)eYZl1)73KY-&V^gK8bbCM>w2FnjianiI(K)?gbTr%)o! zhy)!z2;QT{?!jDf1DwG@dw9Tm3_-`ndUjp|9~t={bO3C(gh%rM7SB#s2L98I-F(dl z|2TH?S>CLP=yhiFn9=<EKYWX??+>tTo}EV^XUKL!_N}%asPOhkKJ0jmg@pli51(&m zI)|gCT=QX;&KvN9BM(DQ^Y!eug9jDVB+qWU*V>q#j$~k9KzJIqgV3WJ;(73qysziM z^FMmr>;p|lA+*D^fxQCO`!fFj|No%y0VQ|liVKMFf}H!iAJk?8D+g_&gKy|UF0XyT zoAaQj8zUD~kdhXnxtkeWMKHoo@`X7WEdBaEwtb5z`6&S6z!PBgk%z(MvqyJ42Ylxg z%w~{Dt+z|K!5dQVftC9p4iH7L*46Oa>&MXi4l3^<TZBRTwj4plA!v&yJd1-3f>$J- zoo=8*Ry{f)7NqT9WO&VwVmAC7&cl#B>8Rz8fJY}Yt_s?t)0qQNUBYTqNa2Lo6NhOY z<RIGr0U8hkK%s}!zJX=K<^uvqd+@<KUlTYEr$NFKxkv^%5xk!cu|bxIO?&Y24-uZQ zpak0mI_?>CLht_o4R9DjH!-G70OikMaE1Qav-7`Ww^;Kp<}w>_mI5Dg42l&W$7Va` zvN-+|9^KrXj2_L*ERM}=f1qkSx*a4uI`8>(egba+{r>=-mtdvRPEfzW@Bla_saY<8 zmQG;iG4P?QV5fl3Ee81yd~7wi{Q2(L`4{3x{<bX)3=E##?69JUo&U6FcP(f~^Zx(? z%flr#zTK%D&A%B-R9kQJw=QE~U_eSZore+e3d)nOO^C>_7>zT~F%HZTJ3KpMIY9fL zxu9nv{}14Ry2PW~LBXf<A2@8G2R#!CUj=yZ!^>~bk{6ue1T_}kOa#Z$%cTGR|AR6# zbW8JV(8g(a%L}8h1FfyVv;b_<>ltYI0bD<VBP0Nv?f?7q7IVN3VDRW>_5>YN;Vl7b z0(f@vuzMbN2e&9-n~GfxpZIix*6J{LHXjx6fG|Cpk9xq)<wc1HpH6M$NCW3k@6MR# z0-pbmcsBk4%^Me;do2ztKwx<u;__>dRtz+NVh?+E9)T5luUTI+fNLbsVbfsM@CpLj zrcHyn2b})Ed+fh?cK-3~X7lW1QSt2dgZYrf@HQxf;Q80HyXFq~JZM<9{eRe_@i*9| zPduBCarl4_(S|t<c7i-;uQpr~>LA#*Zphwin0wIsTcq-v|J9c<8y+~^`N5;x<+#9M zNO=gVWnOr6*D!+)R)#g(x(z{RKsO7pfKH&mr$U6F3JHQLWC*GN&31!w9H?=L-KC(j z9`UQtAZUvYK@|oBRe;uu<9CMzK{IR!ssOFd#BYlW3j;&*ZczOFFDY%_4T`4!B{|Kz zL9y|_B)NGvDA50xL^baQh3)^6z~<ecApBqA(YzZJ4*yH+n|Fh}`@h7jc{j*c|4Ve6 zfBY}eXx<I-!T%EZ=G~wm{a+&1yc^`=|0TSJ2by<-oc6zjDf%#GVFp^Kgjv==3Vl$2 z16;lY2Xvl=bh<oyK_?hMTGF22ZjxuWp9ZLO0d<=@vw6TFQ1QZ}xyD+6fxpF;k%7U3 z@qYJakgr`p#|}V_BlqaM3C>on2l!jPL2AGas}~-<Hq70dK>_2^?ZT`8Jp%(-aV)xG zP~hQGoR6*;6t1`wH=-*Bg*`6ClhGA}q7IkhrRa)5afD0pc93F7a{|-_z>G1_N->le zgA`t%&Gz6{FRT#n_GN(fZ1#Z`uOVxxWdH|0IIcWicpP`(1~rcvURM75{~wEX(3mqZ z+S9RX2Q5J&MtdlB?Vy!?#AtWMt{t?%kQnWT*tHYuczM#bJAgu-84~hb|3D3d<DQ@c z`$2bl_$k2hl;K;C?wZ%ARoGFF#=r0?OaOfN4&*2aShem6x=005VL_@gY>HsjG)jF5 z$?uT!mj0ns{)iSDs7Z~~4nP@}12x(~w<tJt2S|XLzMh~qSGNYJd+O2Yq9VY5w)xPX z&JfVKJS8dupu>51V6A}G0~Ma0-E2Oc-@!*v{0}eycRnP*jnCM_@Pt{*0PS-kH-tU9 zp^18LBLf4&>+P@ulDh4ois6U3cy`-^Q$HjKi+jQLfkj?7!h!^)<?>SJ|Ns9;H=Vp@ z26G_CYJoL^i_4b*|NsA=5ZoQ2q5<-_0w@#&z`p0;KiT*b<g8-v&U0W5h6j+!Vr=bt zSPvI5Jh2b7N)nNfUrWJD2AF=s1D&V9ro%LYodv#@2hraO1z&q%_!icF@#wq{J;Lk% zQAmiCz5xe2M>P1}1yFzWe}D!2j3o%)0nP`XY0~+-J4D3-<ZES+uR&>7p_>8Rze(fI zI{-R-Ezra8ZRZQ{*(4Za2gvd0*=+~*gJ(A%tn>mcNk@1brof|jx5qyQ2H43Zp!&n( z1^84akLDU~0fv%^KE0DYSQr?(y*c<#c6Ni9;5-FttN3)wdvs3*>G$aF4*18w;L_a; zszF`4eV7$sr>q1y{)b%V(RzTt#R1fUC*-D=Qvd(|2W2Njctg&}00kGM|BT*#b>o0G zU_pWQ!n2bH(tstl{VIU3{R))?hbOFLfTeI){FB;VMOWYW4^$BC01^C7$2#44z{C9r z|3ij5UVv*R(D)4Gh%O0_&eNdeV$sd!(R_@>qq9Usfd2%vWawlD9oz*e8+@Sc|IUMk z2U<^7XhDuti$gSIV2K|&4S951zm`R$vTk8`5daPfSPBAXkJoEa;|o##K~Cv`q%!b5 zE?~{zI@1BvzF`(%D9JtUqQb-Qi-EzXcQ+`3`E=HR3N@sXt@9;VTkC-ef0$NK0`%zC z-v`pCU82H+krF{|J#b3QVss4u9|}I|r}aRo8f0(~Q68cVVD1BT;6VeD=;EL~1&9m; zD;*#Mj;~jt`ac*HEnMAf{3k$H6%koVfkP5><dy>irTQV`Ex)0;8!g;DK;aI`+dkMc zwKzsl!ZWo;Z!;)@pm{q0c1c(3fl_Wru!8U9f|sfA&OU14gBEs2q2oOs&2I!igZh|> zh1;Xs5#(r4VktWAqQU}-bfm-r8u$Aj7ywG}9H7dO#REP}jhbM5y2W7$h6Tfypr$@N z!611}72-9}kx-8Dh&%)LTo|aT6vOm1=u!oo31&4Y!NAL>;KrYzykBhO(#_=9{DZm7 z5p-Z>T;~bUK)hThw?{J@OEc3SkM5e|kOTOjIXM?8X~EqCYG}UBgu4eVZ@Y9J0_UaI zfp8UYouILJWEaCF!f|*Jv=$s$17sW;nvjvk8-qPMFLVolGKDnAV@_%Ob>KM$G0+qP z8%s08AEN7WsNt}76k@^v)$vee(D7VQ{feg~g69bDw1Y=E(mGdz5;?q@^XS&cNGqWJ zBRH+Vas+5{Jc}^^QO<C<bbbI=)R@5x+C_pHYS5D81gLz6g%@L)6ezqL(+(cw@aPsx z0|ysVGs8dZ!3A;zbVw7H$DrXrbZ|jd>r*|vK;3Mz!wa-SW^jiWs67%4K0WrjN9SkQ zn51L3c&`VG<*6D2@OU*S`Nu=%)`US32^z3w{{!xKfCf`L4}zQM;5r_jW~@Pn%Qhcm zL9KhKIbIFA#TYYiA;|`GlqGn)8d9GJICfqqCKm<qpM_*0NB;9Jox6R&gFX(hkvPoE z1R7XDNgSZTRg}!c2PuL<wF~y{JbL#QQV>D2)FIIN0&w}mUZw@gPcEQh)vlA@qnpp8 zx01!9)6NleB(Eb2xST!oqf-ET{sOrRn!jFK!s7^DN}`rPNSzMsH31}y!Ql%^Kj7hK z#P|@nkj5Mw;txN-FW6l1kAZ<-usH)lMf`(~Wg<q5#27)Xsl{L!(7+L-G31VIEC_VJ z7pzeQ9yo%OZP*8nbU@=Opk4xKE*vz<1j*Rg6@zZmMll)Ej=-+i2i;^yb&Oqc47y@S z62h)HhmnB+G3SaIZ5TsAaK+%f2=4>)!@5$ai4E2h2Ky9w9B9?Q|Nk*HqYf3~)I1BT zX3%~%L}taQxeKdi)M6B;<|;}wXMr_?4+}@?d!h#zq;m=mFy!HzaLDkDNB8aqP>OE- zUn1etoeyd7_;juY3Hr8z4w5c?;nBStlm|S})qn(%)D&Pd2PBB329${~%mE1^sY$?Q z4oDED#<SZ-1!RaQ+`+z`Ix0}v*H{LmTn(Rib=N#b9+5(t{sB#@U>j^AaYPEyzVv8* z6976x-9<$QG=$>Oy+sAo;Oq`jsQ{hotOG7>S`Sntbcd+ucr^Y3Nfwuah9MI81spi| zHC<E;IzvD=s=8bj01ZKTcy!MOmoBZhOOz*gbX)UlxTqNLYxt-*@C*8=2=EKCsQeG+ z@aT>PT{v8N4?G$YfUUU-+MA9@)2}7q85GuVg_gJ|EgFyJBLUH%$#h721$1DwLwATu zM)NPmvKWxF13bDt6!^Duf?7^6A1I`C`luLqbk7IH9H>gxg7x1)m$7!cs2G5JCIIq@ z0#^4sAh{prx}8`WT}VYg`k*nSVgeWa9?eG_K;1nT1_lz{4@#YMazCgyjEEidIKbk5 zW~A`%=Hx%w>CXWVe`xT7G9bwL+VJ^EO2Qv$9v|jBr0@rwutM1Vp`Zw`0ChgQOH>L# z2?>-d3}Cs!8=Rux-tg$24Jv0q$C=+QQ3JKt3A-PB-nm6IXaE*{U;%VcFQya0gK)1; zK*qZu?gP22`4@Xx4%j&!-99P>-GbeoEc~bVPj-f=7<Brmm>@ZFKB&NiIMNW*+eGS* zk>g%?f=6lvVF_^5S_Y;7;+s{l{044Mf*U*mkV|_#I)D50ZtnQUzyNDJ!)ngna!~Ky zr}LFh=R<IOz`8QM9ugj%+#al;ea;@8%^<xv8%NE%XZ!;lQPv^{ZWpZvm0aDMA&sKu z6`;Z$GNA@uCWM$%Q$ufN;A<LLpex4LH1a}MjIU{g(b~b+G|EFa8DG<=0i+l_O$J|3 z055*w&03815oD?irUTqaf=??Trpr((efZ1*xYkE*Ce6b>=Y!f#!mYgryLQx;5^n9F z)(#fOqo-o%v<QadGqBrEtoAVM+VKS)a)Zec++aEa&oa=P3P5W@klIilur`zjqz&cK z`qrcKJ!%^YSq-RcLsA1Nt^b!uAgh50!p(tHNN8#xf^apEN*7HHL=d9Jv%8kTqxFA@ zDBL2?&RhnlOJ1X8`{n})&`j@Y_|^+;ZqM`oQBTM;Owkk2<sOheHn{Y7c^({Q$6#UR z*?A021xyAp#t*$`9#lt2cy?Yx?gArEoWRGk3-OO<cfR!P`~Y@L>w$_|aFRlFj$y-- znB&=yxqlyK1=R8E5W@qnbulw7=%ftHN(I*Lz&-j69y~mTX&z{~*6Ve!@;ewh6Q}3W z&E*JMGYlE81a+&~Iyu0-Xr@1Cvkrw=8c*=aw%5gQE8+DFq+)l0PREfnUI{u&5!)C( z=<HJ*p#qxWgSVH79slx$jdb80EQGAY@L^Vf4HklYhBCfk?$Y@ITP%Xk4Z`JK(A6pM zK!X?7c*hoJ!r~7!KhSv^J}4^>8WgeNKkd=Y*C`2(y+eOMV<3=%o``uOGx$6ae7+HN zFa-M&XK*F}r^(k-KrIw__=DUBYK>t|1t6{1YW-hg<<pHhTLD?if(UNIZ&{4UQx#S? z0vmme18P$pH1>pL@E?2o9y;(e4LQ8Y_77ya4e9>Dz5o&&+!zrHPd}iOl`vBrRs925 z5k$IwK!^5VI*ovTK;;>xCT#vm<F9j3VZj+o@Hv8rH2ypn6&A=82F8pyW^#nAX+n4x z%j6lZ6p7vjA}U2<@3Fyr4Czn6<`<aDWI<Wq9O4;|ZqS%0XsQX4{jn6-$P>gQ4S|AY zkTBx`9C^{u_4}PT<||>9Bd+`oSqFv)U}Ez-_DM;wlW^w`(CJ&4{(yxpEWcx{KLw3b z!R}Q8)%eU2FFZQ$LzeM_{2vaQ(eJ$M+4;@0^FO$6jJWd1qceiTr_;c*yC2kT@#ypr z@a${{F%1uZXAI!0z7ca_paD39E5TlReHqrEfwiO%%28YR;8OYZDdani0z5i@cy#Xo zSqf^QX?w7Om`LjrEW<fUSv@SxOUyy{9)Y$Mbk~E%wo0F3+Gc^Wi3RMq$ip7p{sJDI zkWES8bsnho0de62ZcReM2gIa%_<$^hh7X82=)wowB8P+zh)MVG0a*$S9}siUg%7w_ z0|_4xlkVXIvJ@IVAm*S8A8^kQ5<Va%-NOfDDKvaQ%t04EpaC~%`3z#xJ$yixLc<5d zq+j@ey2jw;9nPI0Dl9ID^=KT9{3je6e}JbG+*~>tA&b*kTsjYc*Rmj1?0_pBkLDu+ zgc=>v@IDW$qX^nx3R%+v8*K#FDG<Y;?H$m(03ZK$wzPu>IMQ&f$-**{4>l?Ka4_Zi znajAr>%rVPu+J@n`h?hKIzTf7;5+?1JI{G^ny7$Q5x8~BK^FX(sPLc0y*ZW5qw~2( z=P~$}Qa+F5%g0y*88BKmu#iM<-Jyi#>obVP1N!ha=zL2=TLY#I9G|ZbLD$~|gNChz zy4kwJSolxypXy|E1a&X5MKzYeWoR70?!N;aCIGtS26SdDBj{`t_~E4>8PFYbkh|AF zJYv*=ZgB&t1Kml-2s$eVbVxJ!hzO7g2=hQ4T97)>J}>ZHZaCC|&i??N5dc~*$OvkP zX@L!co>Yo34|HZSNFAuh#R#$-hdPiHNFAuB$p~tx!4Ho`bsxxGAa$S-07lRuE;!VI zIu)Q$z6)}Z7w7^OboY5OgGNu`7q@^JAd^9Brx`&*67XYcLE|hSnS78DxeN>pq96tc zqq<E5daoepd{su!MHwK+f|P+z=S74G$Y79ppsqM0=)e?EAYoA_#K6D+iVIL!gU!PT zJJ9`npo9TBsTq8VE$FCR=t(>v`ylraf{X^m6NqL2F+k?HgAQ`(hS~tS4GVl7;B2rO z&^bPgkUI{oK*~%(^9e8+n4do|FoOaHaVjmy+n^u^-%$(-MbHr(;B#0(hx39w0=fu{ z5p+Q#$N^yUmM}o9*#+W(?)w5I_4}YW16{}f-tPdCf!PVVml4$A2l+P*Bmp{d7aq!> zr~&B*mBWmngMTsfBf<l;rVnHQ_<|!@Mh1p#keL&hAtw_Z1l_#8n3;hAWZX6oXB{&G z11N8R^_+mp+y=?O+~&#b2=XuptAYXzl*vGz22II;Q!4oGNRWQe9XO!)mjEdfW@KQ% zh=1z&6Mm&5hygk@mkZ=iCKiZ4jX|gJh_XQZ3F=`of`(z>{sdiO0tx}}p*=8v!r~oz z;1UA^hygnN${S=d==|Q#3=9l$AdVk10|O{U)Pt-EV`gArgBZfV5Ce5U7f2?Xg@FNd zB|TVKFO;(cBm+?nD-%Iy5`jWA6_h?e1#~$mG(mWHsso)f4N51V``H;m7vHpk{0hP_ z|ANv9=)fV+;Z>kgg#i>qu%nw9KqUew_`&52Xs8?`KOpM|sRk!;kd>fPi2;<;KpfEQ zG9#!!g&l$fFV8^wK?g5^Vh^kz6f1E1LHa@VgUfW#&^lK8VfsO;89?P1$VyP}nE_O1 zfH*Or_y!I5V6`8#%MX;;+CYJlz{mi(f)5l*y^N5Ay#SQYW?<f>3fXS~uERmf!S|qo z8BhW|=LcnjD8mDwn^Hk62!@T{c7y6a=r*~=!=NczET;y*CBXKfPrrZ-#AaUaZjgCk zJ(z~R<_B#QM^yq=iq&{<`wBGj*Ujt!8kvDO8@8j$1MWa*!wKwrkoj;4JVv9sAFKJO z&P20>M4y1IV*sCpjT9x|^@UjWdxQ6!g0{<ecJEOEbs0dt2kEp49^LVfWmle^bD-k4 zJv#4~J_o4-b-h69l#%)u$m${T2=$<@EI#!Rd4zh<&;UO55P5`p&`=9L^$>Z4deG1n zKJ^fJn0jnmizX1*4-efk1c^z+h49c#gpkcf&?E!dUI=SlgHIE6E6qzT$;{7lPt8j$ zN-W7QQb^87%*#v7f!;@pOIo2QwXig`xCEE7#GD+MNraRZC*~I9q$(68mZah`4SZZF zZpr)tTyjv)C={g@<W%BP1U8+JlKcV!DiFTFuP`&OB(<oZD77TDNH-<5IJqdZ02Bd) zLJ7AvJU&Y;D#|YcIVZmeS4_pHL8CYx;uI?@=-Ig?`Bn-F1&Nh8`H3kC5Q8+z6Z1+^ zQxsHF6w>oc6jW0*;nxmB4S^>kl8jA;T{WCknwFMYq>z)EmtK-VBf}xyB*pNQ)a3k> z)cCZb{9Nh=i30X3oC${|UKhbbvosG9o_PEU%^#?do|#u%nwFNCoSB+eq5v^Mp|~J1 zIaMJ&vn(}FK?4%`ItsAlkW-2;C1ACqG%qnJCsm;&A7%k887hFTmd2f|;D(_F0j->j zYD;Nec3ysYo&sfVB`(sftcp_8GmA@7i@*n87h5SnGa*bkGcO$+R>imj3v!vZm4bqE zBIqLT^wbgs#Cg$*uq($gk{e80GFTVPK5%iKo(iV&QgdMCl>+2M=^}DWqk=JsIXSw} zG(oA0VATM)UL)6A#U<d1f-*C}Rf#UBLZsABNVNv3Mp;23HXa(fL6G_$c9go6f&wB7 zLvjf`W#pCSCZ!e;OqK*K$jmEC%*jkaGgm=1g=nK8O^bL?NaArgVdIKZ^HQ84?V=!1 zOTtP)0bI%|<mJOl$lTQ8;>7e+3JohS$}CA$Ajzy?aB>MsEJ?+58#%^-ZZe>fN%;j- zF~}3qWO6~Ym?(|}B8(*?{9Hk8E)=&BX-H6NZhlEB$)z<+8<x@<Qoa`CR1z%Ba2NtB z5-BnQTp&_n0yurcibDzvLM;p_FbL8bhGtS?!`7-ewFFv*prj6H0}E;z?&1R)MYxP1 zEs>#`l9!LvE+FgzXx9&$XGnAfhDqeP#4#ra>KITn2~jeW=NeSg$a7IJs1QYoX7bzu zGlyJP<QGuI5nyA;bOSi|f@&vfxCGfS^4vqcLLZhPp@|r$!6dp9z1dZeQ%P3a1?D{b z=ApN-@HMW`OaxaB;QE~!?gKTPsb?5Golwn4q{@S8W`gSxiUJQhRs(ILTPY}@$7fz? zQf_Jy-ZnEVS~1K57o?z$BeaS_@AoH`DCDFj7MCcf;vWFOX#up(Lmy>Aw-@R=1xUXF z&u9jfEW%?0v}<ey>G8n&Mxc@n(mQ~)+|j*+Hey0-$l<gOoN^S(Gct2h6~Jx*jRwHN zNi~H~XB;-h2h|Y|9v;O^J>(lh)d3_}D4-@#xT6vMP-r@Z`U;v}aJOfOHWy+stRITo zKv?<%$4DwHb-*1;<v}WfwxRT%trQgSqzjl?5T7Es96XRgv-C~STAXpKnu23AKOPpV z7?D6%uRul~K+T?bX#0R(fr!;+jBtdg!Z+!H9*__nbny`^3ZbbH+|Zy?E~2Sj82-vH zpqsa7XBE1y;B7B@`HkilqWKW1DTp*2MJwNuW;sSiN1kGY%&QSye^J?=#5Q_hl>)Q? zC*TU=W>esW8MH_Nx1T^UmS0o?Zuii#!GdNPMihbN71Utu3tSZ&TDX99fxM7YNvRJY z?ItS)zfd0^g@Sx=h(p_cFewNP9`DXcEJ{yRNX^SHP0xU;a!$<2NlHx4j`ztdE<u{P zg7iI$G&G@RL;1w(LWy1M+Dh|aGgR?V<E<3@@)e3plQR%QbC8uPqa?Nv0Ih7oCO+82 zDj5HR0gN7O?xUr9K#S^N<}-uWsQ>>D<5MgCVBrd*Vdj%c4>tE;b3eZDgsBHD&4RHh zp;tiDEsUnbERbG$yNg=(f!t0EhJ_Q1CPoh_YN+KOnEPNfE;rEIK3wjAi5r_?U-^ev zvIS}fz*I9Z7#U$#4^siXmmFgyVLYV4!eDHHT|dG;$dW9WdB)Id;W5^wK*x1p>R>cZ z`ynl724m=D<{0L|mhr$0!bK<NB<7_nl%*CGXXfWAnCcnm87gR$B&HYZ2f6yVItIJO zn;IDEr)B0P=73gzgZ7_*jAE<`VqmNgV3g)z=a>Lp_6*vN0+s_23=9mQrP!c-B_J+n zM;M3(iGdE~0kJ__Yd|ze473{@#6}j&0SPcbb`gM>Aa$U97a%rhH8zL_iGj9!fY``l zD?kEBdf{%X3h)8DoE^LkMH=RQkiS3+!$I0WTO~l7$QT^?1VG}T;}X!tLCeHJ`?Wyg zpp85*_03ES3?Mnsb`+2tXh}S>9BAQs4@iQ6fgzp&dQY+wpMWEugd?9qGjksk0|Q9S z2B?~7JZi2$)qu`o0o#GaoF7m%u{g{D`44s<ICw$6BcA}s4<PY3(24}SlLjgd3P%=b zWP(@IquB}4rvjA+r58{b!pyUQii212L(K!lUkFqjIqoyi#6WRV0~PxV@{=Q<fD@mD z6Q6=3pN1o!K{IO~OFwfP6Ue+JP<5ak3m~PS_=Md>4LYM07FH1bP7wWUJ*>Sfea!t# zkaYV3%?wbSxIo1~dnI6IAjccXZUtx}1npJ;`5mMW=5Ek_GHm)lY8F7vj=~X7pfq&^ zss?lt2iP2F7=prl2Gm~APA!nVpfCryX9H9mv^NhF79hKLpki=y(Bcpj$1k92z-a=D zJO|hT3=H56M^50l0Ht4W2!g`90IDB!ixF5UM2!=l0%mxFww)}1s(%jiKRkY&_%xjO z3>^6^9QhoY*?ZV}p)t+C0NVX@1FEkBrVnlpEM4?~-2@7YJz$3*?$!p0UBDvt1dG@Y zEMh#MjU&)<4ivVacu;_f^@8FG8b2U+HbC`1W`^c@xc^}8grr}P+BHzM_KaB6y6`!` z(mKe#2~hhcgB$?04-|hZpyJ?-YmSKWr45?CPeA2CTdzRr1r!!{(8NG)`2ZCY0+j_2 zH$&sOjfv?RIBGoj6d-v<h7IHh$bLeQnIQcYQ2oTjPYhH)DCj^Yf!tJpMXUvj*bFRU zYoKDFJ&rK*4nW0VWdkUzu0X{mffPZ~x(lBHq$~#2Utgf|pFr}EFo2XhNO8f`%ID$4 z7vRq4z`y{C7Y)#sDFy}xaNPlo7m&CE7I9G776BDs2eJd=22eON_c1XgfeR=PJ_S&| zYJjQ(?SEr{q;*F=1(0*W$(*U3&%%k%!GjOvZjgN&pz5!J%tdks><;-#BymuDJ%FlT z0~L3I)JrUV%xz3eDPWhlgW?-xHV<gy6$1kUXd5IbzCmRU$P5*zI5B1fK-D6f0g96h zs5rLr1?0C5sQi9}J0Wp`R2MMifeQ_HP+)-Ey9cUg4pa}wy`V6afr^K+K=T_UT(Oo_ zpmLan6J!7b18Dmw$loq}2_U1u^}YgBZZ}AYBcFf^UjSUr29I0>4mnU*ltATXLCtjJ zlK>gZ49d$O`6*EO6IkRyW$PcP|3KvmxM+c=VccaaD2(4g&E-JkeMlJNN%sn%&65la z49MvXlqM{o;y0jfL`hePh;#+=PYP5mxJ*OI3k=}Rdo56TuzykHnS8+}dGINK^3)n4 z)m<S{-5;pBS0F#2+M5rv7nIIaz=bLULqA9zG|z$DV*?e(=WdYx6sS7T-b_&X0wo|& zy?q2~Kd8M6jz>s31(g%v%nvFr7eMtELG1?VgSi`@z8hHdnLx$x=@Wn!q{#N=5TVZl zi@qg9=xe~D?+y|AcA)74<>NC@F<8EG;ZpzwHMsnK0hI%7{)WW?C~g=)d#@Q77|_Kf zpyJ>*F*MFWVP63?XD3qo1i8%!GBX6K7u+v`>IKDR4pbbJ{Xo$P5^I2pL9118A8QI! z4B8X|_a8n$?FDVchou!{dqHj!f$GE6<^-v+fT{sqynxG`7^s>Q9DW43+XA!&mw|x+ zT9q<@%3YYdSHRjikn{{GW5DG&r0oXsJ17i5dO_6_hz%;5Kr|@oL0$#1K~{ihkbQ!n z{k#ke;LXaQFb0W>F)%QIj+y|mL7T}zd(c5_P?-awL2YDts6KTl4eG;y`ad9fkek8n zDUgG3;Az^RI^-jK{1T=t(uje9kwJlBBgkR~1_oGvx4;l0&Ixi10|Nu-<N}Z$O9O~_ zGgKVb7v8TA5r2;+UZw{Tj|Ls)!N9<f4Kjp*f#Iw!MEn?<c!CZ@+z{k>1_p*gsCp}? zI~SpeUx2zt7_|GEfq|hGs$K;uJ^?BYvv(TQoxh>tZBX^$P<J+h0-J$>0hF#lQahmT zyap8qowEQEmxPKtgCd53fdO<y6iD0~>i(Hfaaj0xK*N(2lz15!7@*!}SPpfk0#sZL zWC$odLdD&n;-F(eKvH>7_t!whK?hHO#NR^QzZoiS2@+&rV9<w}^8u7l7#J8pr}TlO z7DCN&hc;?K{cw=DC{!HQSA~fmhWeKgnwcX(iWwLfRG{KfP;r>OVbE}x3>63EWsnwG zXgt1!ii7edNIV!CK7ruO%)kKJHxClu1a<#Bs5toK3kC*;N~k+opal-7&j?cg0~!uq zP;onuAOiz~6;!+fDh@gq03<aF>i*MEaaef%hPs~#l(`ug7(hn}g4F9m#RH(?pnduv z@&8cwPlt+w$~Ta>9aQ`gR2*~^07$$O>MwOr!NI`504`%07#RLQ{gn+BhnbTC72k#? z{ut^nMrd0KH0A;_UluB!1QiF3*MP()K>fQHDh|4v0VIA8>MtHp0mgs`e`Tn6Bvc%9 z6ah%RBGg|?q2e%eK0)321u70Yeg>re7}Py>(6$0-%mE}W3>9yOio?=p8`PcmpyIIn z#Rhc`tPKDQ&+}0CRDud#1_t=aEaFh{4N!5I`W$HZe}#&}(!&d=`z=6)Hv<C$=;#NK zJENfDRZwx5`}aWIe;7@i6DrOFt%G3pW<vcH2o;B=pLI}w&47x-((@l}NO^b<Dh}?q zF)%RjLj5HLs$3Wt7+~R?1oc-6R2<wMU|?Xl2X+4vs5mS=2SCL?LB(O|a6Z)iX5axM z1_sc1=b&)-4|RVXR2-JS;-TVupyDupErI$Aa(^!a_*@N;IY*)HcK}t2Na>9kD&7kf zhs8?-)L$2%;;{1P3e^3Ypo*1&fdQ5d-Js$XP;uCqH&dbhIsp|2o$mp1&sV7XrJ$X1 zSonlO#WSGduySb@)L&bn;-D)YK<0dc#uo?ZG!g~|2H05aZm7RvpyIIf^AqZ?rBHEL z{_=y0e}sy|^7SdGzk)!G2L=WP(9t#^du^cNyP@JqAVCHOhHj{TWufObfzNSbU|_I- z`l|;j9tc%G0qU>2P;pp1zJU5m1=Lt!U|`6Ds^19p*CePoto`sF>i$<yahUloP;qNe zg9phRd8qqWLd9X>&<J(^SExAb*qhf-_ve5b%t+y^2Ngd66^E(62X((Ww4DQM&!~e3 zcUizkAwj(ard*-oDbRWWEXcsXa2wPCWnf|GK@(pM?i8^wY(W!G0uNNOFu=yJVCKYv z4*g<afs9eW1Q{3@_CU>Nfz}r=sU_eB9t(pGnm8*|JO@qO9MmXeU}1obHNni`g!=0Z zn)=C5dv&1o3rxKrRD1zU07^GQ{R{3hLd8H76I2{@+!BZn!!FQp0G;~;69dueP;m!n z`vfEg!Y`oi&p;D@0}Zz=XyV#X@jGbZWl;CS<_17!gYX5Yy*kkL4@eAzPebkXK@%5% zimyNuzX`Qh2HKthnE}GZ(0GYK6W;+fX9t@2N~n8SpzR!x86fNgHOB=_JR52bNDVU9 zgoghDH1%h|XT`CA$EK0h-+-Dgf|hP;q2}A5iG%bq!zL|293;%lfMzLFj+p`47=ZF& z6f^jUF&Ga)Gc!OdBZLr`#SHFMf|)1;Gq^W}A_V3zGe8R;Fb_d6Ge8Rggb<j;%mD3N zpaEtEXyYG49NO4M5}#_wz@W$k4m_|Zw3)@gEDITn1`8q)*Tt}l@53Sf1!-I#$ry&4 zIK<BhU^kzi6T5f^8+LKfVP(*&7ui~dt<X7E6hQ_ChDSKW4aKpW|A-a4xD^iZDPjx^ zLJUj{2cYdDnA<`bA>tRH;^6rX1_p*-0uXTqXgduwp96BUKPN<d0aQIKd!Jx~h{MJ; zVB(8dAmXrb4AA@m$ea)nh`0i{ykTGfk4-W#Ff>EmV*oxUi-7@FUV{3OAonML20|GS z;y;8T<`{s>73g>+XigUDUjcCW&A<R2uVi3gc*6rxuK;c6K`90y8HhLowBraK8w8CV zNI}FCzz0Ag`W@?_<~#sR8pFns7#J8p^O7KUP5@7iBHURh3Ngn4svbO6#lXODL>VH! z05mv(<S%`w`VUa|gU3)o?GSB<dIe}h5;Ud<3eOKv|0X~^1RlR)U|>jAgs5)-4c;;^ zFo4Ii85kIDXhFmeK+OS<`!O&ubVx(QKS09)Jod@Jz_3*TB7Oigpn_!1HmLazpdE4W zSULj(!x9asdMl9Y7#Lvge53{uUjXg+!o;(gAmR<s4kaw!t)S*4fF|G>7#Lvg<WYjC zcK{9SAi1YT6C&OKJ{1mOZyD5H2dH~s=5RvY&j1a7SiJB+%~6256Q=%%I>dZf!yM-R zBxra(fVvYVZY&E?zW^F9pz%Xci1<LwSpbbFnE9`u_BKE}E--OhX!ry`{ROVJK<!yU zi1`KJ`ig-8G&cY;Uk@tY06pOoG$#TQkLF@vP(mvIVdD%}*g@j3Qh@<{^e0GtGAl?N zQJ#aw_(0-uybyZ@pyM{+IU-Pg5rT+sfVL;Wb8!p|44P2&51`{nF!fr{blU(`5A7Z> ze1@j~0BF?%p0fjuZ$b0j0jRy;`6dPi24krB1gKMC;z`i_`v5$l&cFbkGXjk#szBUX z0Il+%-CFQDh@kv?0Xi-Rp2uTgV0aHLuNt6L9(Z1afq|hEntv0}%-INYKhzv(bTTAD z?G1qTJ3w>8pzw5s=DP%F_<-m0K;wQ;@d;?=Y=WB80JRr9ugk!|upXLD8lVGa;Q2)c z28Kh>{4xRBPl1&uQc(9BK+OR+Zx|RDQlaV>K>HEUVFiXg(Ddv8t;)gkdZ3Hsp!P0+ z#v`=aU^om7e+6jxgXj4e7#Jo&>z4#*k^{}BgTi4Rw0=o|nggpx#MvS7<$xxB2wJ~v zfVvY_zqm?5)E7V<4qCqeGCzSIBAx(kVu72H3=9l^q2dRi4G^ev8R9u0>I<OauyKYh zIMnZA#jgGx)L#Nndtv6JL;dvuYCbgiG6+G<K^H#?GY8}u2E-Z&JE%EOVd$xw3=A)! z;e#%I7#cpHy8=OSu;z6yxO{-+2FQWCAbHSunG#aF6xMBEg_;9fUjVBAK<b;J=|lkP zFIYKaF9!)91!%;=#@UWT#XmsBVdJR!(C`P{%Lg(STD&swLe(FDIs~)^3nV`UD&7D! z2R07S1r1MFzX@6mGwg?&{{b2R(CUQ20@j{^ibJahhA3!w20+DO>4!@K;;#wN_=V+* zY0&lwG`lcBt8)g>9XLuz?RKbf40D+w<~#s-h5>QhZxhsfSicgc{sgqVO@MYKVCG+A z29?{;!U{A#4mD2~YQ6%r-wIj-1(G@|4z(9*4tQ-A0|NudK2Ujh0ID7~4g)Gipjj8B z9gds185jf^lo?>|fvul=0TpL}Ivgf`ofo3M02*H~@l8<m0?>XpOnfF({Q_t|3nnhd zgS|bR!v`_{0n~hG@xic71|kky-vkr?3RT|#wHGG7Tm+&X)(?gGJwkwiL6HHLY7lPd zP=%;>fZ7Xfelhq${RKKb8Wd<SaeuJAstnNPFucb#3G7Z)_;?E}9bJT~zW_3X0kYN* z#JnR2vR4%xZy-Lb9JAsFxf9xWV*sTMkSqg3EZCi@5Do(a15AYi*qy2ju<(WX&<Jd= zG6U!iO^_y-d-A~URAzwXQ<y*2Le&>Q;|nHk1h!Y1!2lXQu<-oM1#-VK18jXLOk5Od z4(K>-ki9T>c|q-kt+RxMM<-N0Y+cw4kR}EOhV9_+QD&F`<-^?14t384Xn6v&{}|Lg zP~~uUX{sUO8YTy#uc=}e|BplbJqLF6894ft>d^9k16u!U0kpiDfF`a8F3+KjC<X=w z*!<BfaC;A0=_AeG<wMOcfF^us^f0`Dnje5B-VQB4L1%%3{15H+fG3DS<pylsBD9&y zpaU%rL1(^$)WgcF7-%^L8;603+e6DeSo}hZ4~7m{c?C^Zu=YkRv_68R1DN`~P;&&J z<rqwT60|%NfW|v)Bmz_qf!z;P4;`il&v(PpB*^_R49Y>+#5W3JkKffe#NWs;FeouW z3m*o^nbaUVq@}T&ql-iQj0kr1a}2SIi{LQF7KivP8SLhOs(WnVFo_qtdQh-qQ@;d9 z`23Uyl@E&Wku8vYpzzrY&cCqI4sw({NW2899#-za)N3d}%z^P?bO}@(mOf$PicoW4 z<MlA{Q&4f(d<jh4UkzeDG`oP0wg<UqE>t~ieh8*M7-}!9Jc5b;l7pB7?e@XVnF>`8 zt3P1s{h;PUyPI(JbvVYgVB<QVYTuQSf#DB$_uBve??8@aU;wxHw2{PN3nD=3LDxdS z)U$vh61r~014+F&k~p&Yplhc=R)CsI$mZ)KsYf>71W6p({1hZ{7bJU2k;IYBsYVh< zHm4mb4swqUk~yIB;6d&L`4`#zjZpO<ab)wiBZ(uM{{l%o5Xt<HNaD!mvqKABkof^f z>iLnxk?oa65=XXI7b=eKFW4G*kom~&@r9}fi6grw8A%-3J)m(LSok2jryNN=vU^q{ zi6h&)2}vB;-jhh;$o5`D5=XZ8E|NI1y?>$N=;0s=tsp@DMRt!Ik~p$^Op(Nq-D8U+ zj_e*!BynW-z}lT4d!3Ntw;ie;-JNrw;^^u@w~v6rA6-3cJw3Ym?@)8l)$@Q9Lh~=O zdq5X{fXoL;J0rPMA0z-RACU8l8&n)bA)Dh55`dbIY|d9CapdsVh1TmJY0wxFtek<( zuYla|kK`UVsCrN|gUVc(dVi=my81|{I7mIH6$Dcc8t;Pn*9Xb`9H@G9bIPFNAag)d z<S=tupyKH2`=H_=^`NmXnEJU;agcv~k?dUp6-PH`9aJ1-4ru5DX3k!yIJ!AUk;J`` z%zuF-&W$8)3~hpd%t227&Pd{*F(jD1u}I>`@m>WLM|VH++J8{%6lP8@R6WRE<nW&f z6-PH`F;pBB4xk|~m^quE;vjR7!*dssII=qrA&Dc0&qXA0<a~VtDvs_R*t#W<dq6{W zF!y|fsz-OvPb6_<d;cMcBbOTz(Do?E9MGOHnEAR$;>h)^IaD0vPUL(V1QiFFgPiZ8 zk;IYXJqt-3x!h|(5=Rc7P9$+;_fJC-M=l5EA&G<T1%ml&Cz3c9Qu;iDB#!L<t4QL= z?tg(Kj_m&5NaD!uhc%o);e+gcO=v?4B#xYZ43Wf<-D8C$j_e*!BynW-gd>R~yC()o z9N9hPP;pTFY9WOWY+nV)oyh5-A4xrOyK4zl9HbuE-c3m2$o3wGilf{68HczONFlVo zKz64+R2*b4a(eK>As&Pzj+{=OLd8K8a=q{#Bmf;J1&xNm($#OMILKb)a)t#uUJQ~( zHir)?4$9Za<-81399_K{R2-xpxtuqJii7M$E|+Ye;^^kMLB&DlfTjju?hl2Eqni_p zB#vC397GaFP7kM{;vjpG(*tZBA;^4W^)HarBbO)Odk3NQJ90XAg$^Zy%tsDSf2cUf zU!XB>n7^W-;vjpG;{~>t0^OWEsCtk&peZ4kIkix6kU7ZV+=?WQ96oc9#F5kgLL_nI z^uG~F968<YLlQ?e=O|Ph-TmjG;vn~f`hGC?--C*yyZ;%III{a+BZ(usQxZDR0WxPA zXuT}7e`k#(J{3va6)FyLCvrXwKoUnzCuvY|kom~zqzs4n3?y;n@L7r^j_m$}NaD!h zd>Ki6CX)MaBZ(uI509bZpm26WDkp=W<7FWCBb$?gLmal31Ee0={1T{obn~A<#X;d2 zjASndbjc1#9JB@l7Vla};z3C2eUQW>k;L<m#G{eKCm@M~ZassUzX?e^0!jT9B=Ha= z@oz}tF-YPP&;c=!`{R(rLF3Gz_A^L43Q0T$NqsnyIBZ=kNPQTR_yQ#L@kru^(7_^* zdgSuN8Y&J7f6yop%)eexaZr3Amjgja;>h`^97%j3Qo7m<6$jaS3rT!8R2*bJXl@y1 z?*phfNImF|N|^Wys5rWMUQne1tsg;iKQQ&8P;qqiR#0(}`JlBeF!fGQadh?RP;roY z(A+gleLhqiUHufOI7mI{UR0R+IZ$zQ^#`HiAoUNC!sjGZ99{ims5nSHay-6;ii6@2 zv~&Sx?;of*$Q<N&<O5Z%(0T_s9z~(z=;kXx#X;tSE~A8*uMZVRH{SwD9NGL3s5rX$ z@lbJ)`JlamF!S@E;^^j=BZ(uMKN%{HZvH%|ILLg^m@~}$wNP<%^S2?1Bb$E-Dvoac zU8p$7e9)2}nE7v@;^^joMG{9gUl6(u8{K>vs5r=c&|DMDd~K*Wy7?wZ;>hL)K*iC` zkA{ka%m<B)!pzTtildufj3kb1em_(k-TYZlagh0-IWd^|E1}}(=5In0M>d}ey8Z*C z9=YBTLJ~)=Uu2=;AbXMPFMX&ux;f@hadh?eIK-2o;vjR7>+xKuI4B&D+XHn_adh>q zP;roY<aWYws5nSH=(b2$xV?pngVZCJ13#eRAoqjzvcS}{fF_=y`5n1^$crS79L~~E zadh)lq2eI(L3?Om=IcSlLGDC0-wa6{*?bQq@ry|1UJ#Nvayus;NgTPIlaC~h+|H>% z5=S<t5lI}`oJ~mL$nMz-6-N(;<4|!>IDqCnVBv5XDvllww~@q=!{I4Z9Apk?tpv=R zFHmuiImqSqU#K{`d)PsPanSx6Xh|E)908~}$Q<N&kw6khc8?p9IC3~_gNmcudjKj9 zazAK@6lU)ks5rX4SCGV!?Y##T2blw!ON5#87Ag)h2RR(RB8elL!weeKgQjyor1nn{ zR2*bJXbm9D{6?ray7`?*;>hMNLK44+lx~GUgQrk?k;^3&9O61i;>hKd2~-^9PUP}x z1ymg5PSD9sF!w)35=Sl{enG|2<BJ6}Xb4Rw$mN3oR2*bJaypTLildvO0Tl<i6S*AF zhl-<{1KSS+5=Rct93=I~@wFI99JDqT=HI_iadh{vg9Z(u{sOJVgQ*vVileKShl+#T z4_b=^Q?CaV2e}hDy_q42BfCEtDvoY`E>s+3K63d`2^9yKj~vd8NaD!mFNTVvo4*z+ z4l*A(-|d8oqnm#aNgUbyCrIMR;U5SZ6o$5|k?R-O{%VlD$oVJ>svcx7a<~;Ci6h%P z6G<G|-YZDrkC5`09%v8>i+e1f;vn~c);_@E(G4n&9&Q0pagch@nhTivc&IqK`_qxc zk=?%*Nt_v}oY@BzN4NI`R2*b4Xf7OP?=`46y7~uDagch@9z>Y>_fT<=JCW1R52!f0 zIZU9zFKE61bp>GN2tvg{<{-zHG*ld9FKF!{OuZ&l9Nm1-I&DzD6{H@tCK0CI39265 zd@m$%<nZi-ildu987dAkA2dV?Gk-o*9ArLnI4nmJM>c;eR2<#>{ZMg``N-jO4k`{Z zA31!!A&DcW+j!7m9G3K%2^9yK4_ZqBbAJU?9Nqi|BynW-?|_P<yZ;bW9ArMoESUM{ zpyD7g<nV!=F8~rpHvb7!J-YetpyD9&k;CUNR2*aua`>o$1{0z6AaeNhL&ed}hn-&l zG9R=R1?K)0Q1$5MZ$J`9cK-{gIJ)_tpyD9&K~qC8^Z!A`LFOZe4;yGO5$b+q^F^TI z=;q5o#X;sHhmS5)9ArLn_yi$|BhPpAAc-T-+fIgxquaX#Dh{$2G_(x!*J`LZ$X;ZB zZGnoTo3jrp4l)PX{b!)!=<2UQ#X;&pU09gCPod%<dy)P71}ctj&Nrwy$Q;lREX*8M z&>$2v{E^M!MG{Aj7aJsT<n*=)DvoaN9;i6TUeJ~(n7yZ=;^^+bj3kb1uLNk21xtQc zf{KI82Mqzj%-4g8gUm;c7jvjMx;q`A;vjR7<0Swp4l)Nhe4?P@AoZXjK$yLmP;qqi zg-GJa{+fa$jy#U{1}YA6=MJQL`3qDWWIpmZo+N0H2pT@yk<=?f#nIKfLB&DlZ$VP; z2Ng$GUknuoso#sFz8Wfyu6_Yj9Hbt!b{`f#E1=@&>d!*OLFz$kC}HZaLdDV5zk`Z{ z)FZc-en7=R@dDbK2Q!BqG{}V|ol78zBgcz8R2<!WO{h4?e9+c2nE4h^agaNa(}@F; zII{UMP;qqg)1cxY^Fdq8VCI)X#nH{LMG{9ge<oBM-TcK+agh0-wR$k~LHl$-?Fw}B zcR|&I#F5Rv1{Fs){{d7SWIkw18qECnP;rns$l>!HNgUaHVbGu<G(987uPjs?WIkw% z9L#(js5rX$CP?DQ<_AE<(cK>f6$hCQ+QR`eKNBjBZhj$>II{Wkki?P4Ne<x<e}+Sx z3pBV1O}EJA=;06tt>=WrBeMEANa~UM%S({Nk^9B#q2i!$K<*bGgo=a00ok0BP;qqi z7jcL)fd*Bf{#uVzp5#Ks(c`5YDh@IqbaoCbUfQ7IAon1rtA40Bx;ZnU;vjQCXHme+ zSpXFWnS)$ktUwY+j$d8Spe>g4X$}<!nGagB1T)_mDvoZxH<CEA`Jqs8kU5~UNnqxr zK*d4kAp185NgUanw@`8PaQF@t2bm9AS^_hl88lc7jThu_;6@ThHeVDf4l)OHwhGJ~ z6{tA6J9Uu6k<D2P6-RgHcBnYWe2^T>{KHUjkom~&JdGrdZ2ncKILI8(Su!wlo<PMx z<{*dX8zgaLb0k26hS2aif|PFapyD7mB9~VcP;rpGptaX9d)uMn==Sy_i6h%92O4C= zlHN3+;vn-uQ+6=(O`zf+^O3{H21y**d^e~#$Q;m_E--UKq2eHOki#byNgUanekAd^ zNZ|uIrw&vufx<@_ssFwLNj-A=XFXILq+SC_Jqu{C5*iN3?IM1tILMvI?IIJXILI92 zc99KK99?}PR2-xpxm}bA6-QU!2NegYM{XBQgNmc8-whQ9sYh-X9fpddtB0JI0$JaV z+%EcnLp>j8Fb*0%$mvi5Dh`TY<aUudR2*b4a{SsNi6h6a3sfBBeq{6gq2eI(k=sRa zP;qqg(~-oH&2NT^qnqCc6$hD*+%B366-PIJ8Im}%`G=t5=;njYEd-@ckom~%qB~Ia z=;l8~5=S<l5j41oCH#4y;vn;p+eOk)adh)lki?PAcYuncyWbls4l*CPT@(csM>jti zNgUbydZ;+M`CU+Pkom~%qM1-}bn_P>i6fhT2uXY%Qu%NSNgTNy@(4*Bxjn-M8VrS& z!^q-VIK=&Mh!^1ypNvC%8B`n;KA^o=uyXPlR2&oz$nBzUP;pSWA-AJAK!a0I_amzp zfQqB5m%t%z0~H6^i`*YCMiK|zO#yS~VW>FB{mA+EEL0q1FX*TZnEE?Vagh1Q<--#s zapd^@4HZW>pA|IN1RWOzoiPA2Ul=Nmu3i=@4ss7@PaaHtBvc&a9^`T0ET}lTIVDhW zkU5|;;b7*}Ld8MmAlHv=P;qo~CP2kO=77$GgPAiQDvoZ>3aB``Ih&y3Aajt%84g0l zLFOQb^J%C!NImGxIhehW^Qj>90&+Y)Mp6$t>lCK`6I2}C{9j1o$nmHK8r+AbPvmsf z2^B~8*JP+T$eo})T`+qWLB-MSU4<l$Z0~NUIJ)^qq2eI(L3`q1=3jw|qnm#RNgUaH zCD0@UmhxE#Dh@I~4yjzSfQp06M@}a$P;qp3`a#7(<{-y!EL0q14s!gaL&ZVrL1zQN z{8a!I2dPK4w*pBV*<VYL#F69c8&n+KoeZGCIB0%!Lh>&^R2*b4vOC3*#F6dQhKi$` zZweI$`3rO;5zJpMP;qqgeUQYF%`ZU`NA}k-s5rX47og%GdqHPj!tA{d6-T%CIg&WC zy}zO2=;pJ68c)!01D#<BGhYNMj&8mTk~p&YE=c0Y{+b3AN4IwYR2<|l(3u=Cd)Gt7 z(e2%iB#vzFX{b25`B$OhAoD?In!?O~0u@I${|%BjviVY=#vhh)qXR0AZto<hILKbm zUQ?L83!&oZ_O3({N49q_R2<#><4|#s`Jgi|Vdh_hildu<4@n%^d}&al6HB?F3Ka*L z4?4pGX1*a*9ArLn{<VUNqr1}uDh@ISx!eebii6BS&X2KBagcfthS{3~6-QTJf+UXY zuPI34$m#GIR2<!%AE4qOJ3(jD!tDJI6-T$19n_eHrUzturJ>^J=Bq-*LFR+b@PL_b z0u@I$-v&t>+5Ac*anM;=Fmq-ii6gHcI|vm=ch704ILJMqC2}xxZb8M--SZMj9C;no z2dFr@`M;pzAoD>>$zbMlf;tJ%a6^uFJ|uDE^;B_Cadh)DpyD9&K}(rn=9fdo(cRyL zB#zv!-iaiR9BvPx;^_9ihKhsiMGm)LP;qp7IYFHksDF{eO#mv6ZoU*$9ArLnxM@Pg z(aqOG5=RcVI;c3h`5jPkkom~rHXSOCZvHAHapZ8ji6o93Zj7K#6qfRY8!8U67dhOd zpyKHEY9fgvhnoRZ9Nk}5P;rp?$l>M*6-PJU4@n$3+~z^W(am206$hD*9B$j8;^^j| zLJ~&~x1UJj$l<04>O5cxH*Kgm$X?`dvx17F+v|xWjvQ_QP;qpBMM1?u<|Bt&CR7~V z{5&La<Z#;u6-PJ!1XLVkK61EShl-<{{|ZSQIou>coh4{KLJl`as5rX4-cWIny~yDf z1r<lPHxo%5Iot}M;^^jALB&DlBZpfjR2<#>J|uDEaJvT;M>qckR2*bJa=3kmildv) z1?t>F!v{IsERn>K!z~dij&5%@R2*b4a=2AN#nJ8UL=s01w+T>jbn|CH#X;sHhucc1 zIJ)`kki?P0?H^Pe-FyyECkon*MGiM{s5rX$T1eu^;ns{Kj=Uan0#qE`-dRv_kiTM( z`W?%l;vjpG+e_=A;^^k=go=aA0iD4HtJe-g#nH_<jU<lTPWTQLM>n4l)QN?L5Ar+? zFH{`ed{HEEWb@6T;^^i(Ld8MuN1lK2g^Ht_ABrT7Y<>w;9Nqjns5r=ckQ^+0x}f6d z=1)QrM>hWgk~s2y$p=W{$ouPmLd8LLB9BWjgF1oG@C0pfgSm$vDvs_RaU^kM_oyL> zBj+Pss5rX4=1_4^IDode!R&Q|ii7M$ZeRH!i6h$^j3kbnzpA0)==Qck#X<HW&&y1N zii7M$PUka`#F6a<=?9HVgVZDY7nEjT;=D-nBhX`7z$bPi=Tp#{C6IcMJCWyKKx<b( z;vn<SAmvBsbTrr;<Z)VPGao}7nvKBX$m6%5J{QP*kUx;eKS^~DbeSsHd}Q}Pr^~?N z$o_>Edth;7^`O2p$UPwcBC7|@UBbkX-49x`4H8FpKd6re5=ReD=yGYWy~yDS9R>!A zBfAG0?HJ;qz7NQJkUNpx1DcxyiBswxT=5GX_5iyFIeb8UbCA6t_aM6;G^Ys@M^+D7 za|;tkc0XusHb@-Z{m|hA40}^Sim}w!puNB#DUf@R?L7(-#G?Ky4slgzhCw%{2}vAz ze0~ZJ@i|E1$o^dd6-W0k)H&euPhn?QgTz2<Zb39i8%P|wY!ZHs7)%_Nj-lHQ;O4;Y z)q*bfgNwt?d4^8=!^Jm(EMs7RpXUfO|14A-+C7D<hn;T>E#~3kq9Bb7i2GzfT#)<C zK@0{4__>fEE=W89#6Y^248#SAPX{p=7#Lvb1jGf2p8+wD&MyaXr9cGKov`!?5@G}q zP;prL1Pg%)hy*Nsf`njax`Skp?FF4P0}=z_3=jc2H=2Qg0d$@TlnXz15@ZhO+z*&I z>|AG%I46jJO2E!*1POu8C4jjbb{;UgIP5$~kT~p&GLTWA^G-oDNc<y+0mY!X9uN~G z{vO1DV$fVOhzSyh#TAGTJHH$xei|eI#jtY;LE@*NVjv2%hZjVH#E*j*Pz>4&3}S-B zVR;k8e*q$(;RZ{CAR*X2A|UlJzktMHVG9!92NHl`kO0)2gD^1$#CiN6>0L<Tpt(5^ z7bFfl%NfLn-BSV*hn;Z_5?25TK+WF+5`bdR+5-?1Bz+jffMNrX095@ks2GT{KoUO$ z5`bdZdA=ZNSQ!P90<|STG)R0Chylf*vsOS%koZ;*1Bzkyrhvqe<FNoF0CkTklnv5S z0cC?I*x7U-aoG8%AaRf%VdY2%NC0XMC=6lZ6OhFD86kJhgUp$MCJxI#u=D6Z(jaqS z;;?hsLE<2LVd)Zfj~z%{5=4Lu2jw*=8$^AFih(ImfeLl!H?RPN;6M_Go%IKj5kL}W z2N?zuWME*BKoW=55g;kpxz8Y_Y#;(8$iTp$fux=lNgQ@QEJz5npA?p_Es)eBi^I;_ z1*r#}B?xLGf~@dBQV&a$An^z!aabA#iNns12ALxQB0z$m`w@`TFNTVNs0m2oi$DTU zJOfGG6UiLdJ@FtR<a`agF9#%!oUb<^nS-3KPaugSyYm8)xG~5usC#Z8i5nq_!_G$r z3F#r-Me+hky);M?Y7XdpR1gy+Bn%=z9MGLApiNxR^n)xefg}zqdqG+hki@5h1fW<0 zNgO%c43NZ;!_5Lo968(^ki?PAi9ixZc4q>TxFM3iGLXb!WfaJ%uyg!CN|D2@0!cmW zOmvX?1|)Ih_=24W4KfEg-OfN#uLzO^8N$H8umVXOIo-m}rv@q2MT*A*Na|r{Z-R`1 zof8OBkL;cYNa~T(`3od*<a7=@KOJNaayb7$QjZ*8;07r)ogl{-2dKda6-Q3zu=9mM z<|DgP14%t{IyXQPM^5LkbE`q-s3VoP9!To>ki-Mf#9`%a1d=$&9GG|kk~ng@sz4G) zPX7%^;>hX014$e?JSQNDBZub<Byr^Mgq^1h@-MPEJCM{PyYm2&ICA<wfh3Nc{vRNT zi-9ZwB`O96h8IZUurp>sQXi1SpMeCR_y>~sW2hLI0u2&D(*v@9IgrGW{VRYZj+}lZ zki?P0K>>%j1`crp9O4!@!~>ATk;5kfNgURe2l+PvN!$!6JYnajgM>7Z(q{#dde9vp zuy#cQlDHs}df0ugAag+Cuyi{CNj=CMnD`7Nage>R_VflMape5C14$gY+&F+Fj$Ce> zKoUoemkUVZ$nkyyNgO%eA0UY%$NLW?ab$PGF0clL19G{+0oq&#O>fBMh60i}a(>Z3 z5=YM021w$_`5JVu1Sp<C_9FY&0ZBcwe?5@Ik^Kw1PZ!-B(7Ew2^O4<IfMgDGzOFzL zN6y!<`wu|oBiC!7`_5qI%Yr0990mr42}tIkgfmngq!hV6Lhg^tgCwEqU=&Em3q(K# zVEt}TbEE|-2BKi&Dll<)dk-WD9Tx?uhv^56jf13M>S5^|cAo%D9F~SadXd$G)(V68 zu(*b)hqbq1_Zq>(Vf{T=9}pxCyL$j+4y=C%5(n7@<AcWhLGmE+RuBV<Vf{FeI7mIH z4*-&a_02)zAoZ~E2$(!b9HbuBUxM`oK;j_vu>L%#?+h{zBo0y!>(9XYJ|J<BdRRXk z*3SZogVe+BV*%|6g_#3V4-3y6Xq>{-!}<fT^SVLeAoZ~RGpv6E5(k+NYnRVNG6$p{ z*6)Sga|u%qYp3o-Qx9u1-9QotnGd_y1=eqZnFDLL!TLckaoGI^u>K279M&F!^+#ah zuyzcr-vJYc-ItOB5<p6~u=*S3Z;&*|ov?Zr)?a{&L(988AOR$EVE6MJMG^;v8!SD% zK@ta<54$G;c3%rf8YB+8H-;11t^<jK%z^cvRglC%>Nh|K)M4#&kb00f>^>PsB=sP3 zVDSgL2Nb3rc8^dhntIs%rLg#csfXRy)QP4ZcCRVyJZ+eI*u76%kko_R3A=v@cJByG zJ?tK*i%9B0?uXrv`UXiHWDe}UDcCvNFmqt{1?fQBKQM9Fy;Y`2;vn;3_pHVsiG$3C z-P4$gBo0y!OCM8^#6jv|_c6{z5(lY=-OCDV2g2L~yVvmwl6sIiu=_?}?LC-!*!_@y z(A2~3ErGSuVCrG_QmR1HFH9VEFD2~UZ<sjj-Y{1r^&t1d(oF`EILMu_`_>AP#6jv| z{iP{L;vn^~d(zgRiNo$mJA)<;yZ;T=4uQE7cE8*gH1)81+hFYqn0nZKYbMb86ebS4 z-^><C9OQo3{kI87;vo0K?nx^_6Nla30;|Vi=ELq=n}envb`Q)3G;!E{eMiv5VfVkm z&c}wC54#WW2by}={eG}}lws-vpy#=`K+6x9IP4z07&LL%eSNU=sA1}1_uy?oQ{MnR zX9RYRG)z70{=Fw?>S6a5!pb3-df0t~8qfv}OdNJEVhEZz?B2p0G;!E{dOc|3uzT}h z<rB<&*nNgK(A2~3dwhr_4oWAm`;a+66KhEI0_@&S6*O_!J)aI};;?%}W6;E5_i$FA ziNo&IoPj0|yYF-dnmFtp%Y#VbAos)S!4F8{pmYwqKUM`g@d*nb*nP0DbCqG@u=`*$ z(A2~3S?xd*hu!140Zkls5A6*!aoD}Ju&bJ3_QLL!)c_q5ffW9*dsZFL#9{ZKW}u0~ z?*D8+6NlY*+KD6%3OCq2)k~1X!Qlp7FSr9u9Ck13K_qdIIk58g4w5*?9N2xTAJD`P zK-cH}L=p#?1G^ty1hiNIDI8$;yK10`!|qcxL=p#?1G`V&2T2^{9@xF9325T5`&u)R z#6jl3?w@Z#5(k+ByO$MqUNI~lVfXGXL{bkj2X<fm9wc#)Ik5Y6FQAFT?g0kfM+|Ex zgVe+B6J`M|sz3@K*nPz^XyUN@eofHCVfW42B8h|C$pS5ZBap;F_QLKrE<h4*133(e zTad)tp<*Cv29h{zYyc#_21&dVBml)*k;Fmn(Sf=LR?maNxeKZmMBPMFp959@1xdUc zq!5b#B8h{{UjtPy0XoD48lF8+wIE6nNgSm94OG1il6WsjAruE7iT6RpKvX1>ILI7W zea28+Qj}a!$&j8}Qj(dQnxB@ESji9{6<lIjl3J9TnU`3STE-9`m68(xrV_!FpOIx* zQ9)k3TWMZ$NoIbYdum>4QDRAcQG9S}QCVt{p=EJuUP^FcZb43JP-01HP-;O=r7Oq) z+&Y6&bMs454ULLY3rkarOM*)hi%K9`yp1hz*p>#hKfXA*D6^o%GCj2<7|eobG&BM0 zb4n~ub<RmFE;h-`%Y>SVE@fy|l$xGdT#{N84{~~HQ8B~_oF0Wb*8=KX$DADJjKsXW z)Et;bBe2~VA!KL*x2UADAQh$>S9n6LF@#zZT#{b^b(jIze7N62^D+xdQw>d%b23x& zO5$@9GxKut2`MfH#}>L`TyBBHtp%FVxKu-2PMT^XOQ=6R^GZ^S3W`!oQj1(tA(5Mz zp9l3hE*l~4Gcp53ARYrk$_(Q3OwHo`h)!3g$vOFXsSw-A(S&59893H3QbjyGCHsZ? z_@LTHnijp1)QS?l_$cCiXK0$9S^{&CbAAfQqe!L@Wj!`C;-mbC&A2W`kibRHl`wH5 z9GM9&k3UJklo=Zm2z|IhNalhC3Zi&RhU9UWIwOcWv`h$=)hkNPNrVR@fno%#gM{#M zhK83h#D1LagsH>sPN*z6bsCw(6CYcKkk}$Rb|LEF_F%*^MBWdFI9wmjQ~=daKptTZ zfz$#sjyPq66BX1vLXqVHQiqak2)h_k$YSawRLw$kz={fEqVhOc4=ITh<R6fFLWvZj z4(?f^la&F9$q=F*ZVyIsgUDkhLx?zBAI@Y3QRhcM9$^lF^aV4HIAw&BA=EsA$q=ND zykv->lVCE$)InrgMAgU;9~BZtY`Os{4k1NxFe!>XiB_zaoS&PUnpXmHk29`BV-Sy? zOd-ngCkj$^L5dOVx;(Ks0C&7X+F*tjsd>ryDXH<rpjLc*5xDsu5Re>{S<Db0MNqdn zTz7r}@tPr?FtkWX#kATxIWq{q)ll8$aNP*232TP>+62_{1b18@9UlBPLNysfH02k- z^c0t*q!tws7tOem4SwAazZ%5j(;bFSG6bJwFg{67e3D@}n@Nzc0{JS02sOb(sPQDE zMlZc6zqEh>QWB;lmL!5$dPVsRdPVtQZhTZoFu_t6l-voGxQ2$shz7W809DL%Hlmh6 zhQt^I3Y$bdaIh4m=I9mW>%~WfcoOyrxILbpUlO03pO=>k9!mg)7=gF}dCogIE5Ohc ztlt?$FM4qWQH)(JuEdB}53ZsYlB+1uYUmo^os7k$#U({Ksd)_XQF-OLATkj|hJ+DH zSD@??OoSqW<*^C0P=xk=K(5RT$_gUFXmDf4*ocI_wxLNnWH2c;EHS4vwb(TvEh{Z8 zfC#%t=<$+m2a<n?YBN*h8(Q0dGnYY9vY`pI8iq$Zr~=Ol@FpfM2$^kAoLT}MFmol& z$PiD$_QoeyB*qt%7Ny3QWfql`Cgw2c<>i;8>bd)c>K2zICT9~-xEL9rdK<X`l7&}4 zB-o6MF!X~5G+n{%AEHb!K+SJ37l7I!`1M1oNh2c+{ZJPWYl0zo3=JATkah_%78{xr zr<VAY=0Y_VyW-ab2`|uqDA;*WT~JLpMtlqn(vcDlLwuB>F}MyW%}XjxOG_;Z0F|K0 znIH+sU=K_<IUqB@8!UmlxPv&z$QT-Y#qjZKq!<9F07#D(ZP>@i0zR^vSXz>wlA4oR zlA02qk(if~lUn4O8Q_)~P-bWjcCLq`pNo%cP=I5QqpxeQK|IL8;IhTUfP}Kr5}MLV z@*#-}<Tj$mC$VdW_zdTO5*AHJ&L*nB!eWG<H*vi_ELtJ9TM$2ZWoQVE-L#_oTvt$X z2?7N^(Su(&^%Dp=9QqLMCo1r8nBqrV_~Ft`sIZ20sZxuI@{5r2LJ-ce4s$nmSCC>? zNZ{hM08(HX!Xg%KL4HvQBuNvt0UUb-EC5eOK^#PkfoW+urNtQx@!;wtDK$MaFFrZ3 zBpD`>nwJ9Qrxg@s=9Q#@@*M#e7#TzJDrTVqs#WnD0WFtIu^9m_Iw4_&-w;Sp8<|3r zKZ-k`hJdOE{DweWVrUMXra{c`xq|eC;O@XdG=f^BxI1tNHMl!)2sOAna8NaA<wcn# zsn8A_WT-PfIVUkMJw7=xCnp|0y~z+Cnpd8gml7Y8T3nh7(~z1GpH`Fz;-)7j$EQ{# zrxujNmn0_Tq~eWjh~37pP|n0UkA;+l0s@jj<`Fw+WLXTK;e==;knD_MX$HSTKuIvb zn<SS&`Z=Vy-5K1yVbCisDJn@!V$dtD%mves?ld%>KwU_Z3^j5M@(zwCNsA#w3%DY7 z3-xmj@$~nL_jL^pc64`*4~YzLjSmiS3<`-4at-i_WWb}$(=Ws|C?Lo+#5IVp;@}Yf z0K%%AJskb~Tzv>D40iMl@Nta~atv`LtQggyfuXL!A^7~|=;ITQa0o%=Bq#+3EIzAU zgM$2n@F@TVBPh0UCVWT^G%|&>yC5Tw;3jN*ZfbFHVtT48)>ar1W*Qqp%|yyf)G^t} z1Zr||33MEgV#gYpLyd&?-l*eHV*{wEi0Xq<gCX^jF)Rd-!ZsdS%TN#&5W|fup{|C9 z1-Qba*j!^HsJV&o)gM8S)hiSmZ3GW!@CZ7kNf&M$q=iMkagYEtgas%ly;AO1STI7P zhjIhWpz#7prSV0HC8-1r4GANz5e;s`5U(_tc%`01D#cSHL5pIL8^inz4L~i}io~SM zGD9PS`1s;XQ2VF2I3Bd{C_XbUE#DQ3Lc{p@vRq<R8k)yrnuo`2NHrEQg{?tp9=tz| zG>ruBPY09*xRnJP#2Z=0qgo2CV<2^6yt5O?iv)Z8h@Lx*Z8A1P@)c@PSCCVQ;WuMb zG{2!%<N-dBMEcMevFePDwi;O?`4(JMfM)_RylG^C=1ou~Pg)F`Bc&DC%pDEvF*ZW- z5v;hv?kQtKG*3bECQ1G>Hh}w!9=0K;PUNx^hY!(HCsGb4&6kMONk?0aOpxLdQZGWP zjUrcg*<y?qhv4QZk$KL@2p)GNo35XcpPQ<mk#AydU}#~e4=&)+GfTh>FoC)BR?nHi z-PswXr)tTd=L70)=~=>A7I2n1oMj4UnOI_&VGNf<u#7O385+XXAu|zz2AFy*Ff6mQ zfVtQL&N7Fy%-}3jOsyuELdJ0Q#+Z^ua7iOfNkc=pEHV==XlV|2r#Xfv%;Ay<mKj{k z6jOr<ToS=DhKm_tYA`f}%OW!of(Dp+EX`m}MzGA`VrFobDV${jXBnGec+v<iX@n_h z2$wW8#3E~ekVY^qO=0e{fV0fuEHhIK7ns5&5iAo-WyWx22$rD{T+j$phap@N!Ll^L zu;0Q2?qE2}9L_R>vrOSEV>rvu2+lOZG}#a?X^6zcqRs%J5W%!ChPlfe&N73uOyMjO zILjE$GBh&A@TVa{7Kw=vG=MWLjbJugz***SmKmI7YJ_2lF<jCZQ_|1~E{nu8!lKX+ zq0kVEv;kb&(h%-cILjQ)GJ~^B;VctFOh>~djo~aqBRJCtQ->j3($K&VzL2E2q{vVY z#09Mw1`UAexrFN#rKah{$ER0R#22I%73b$A=46&s#+Mnu+-(VGS-@H5aF(e7hHFhQ zg^c0qjWHz+jo`9ISY+XnhKAT=5z+?Gi-AC!P$<BKatyGo-YBMYfDR>NU|>jr-unWR zgl?OMaTyM9F@Vo3gl?aKi^I+{Tmn0g6Dk8crvb`k*v-WNI}!*c1g15XfhmR`(1RI4 z&H(KZf^KhQfSq@uC=0P4BnQy}A)i3)&4KRcgot9=CCSgg06TjWrUpdM0Bw$9V1R9} zW&qg_I&T%atr_m-XEG4`+0Yyi06lONx(yCwBp9Rn|Dg=jO=$WR-h!3G&yfV#4+>*+ z|KoE15~%xO>OuNJ=e?o3|2I2!_a{Kzj~?IX?#E^S8mRry?Qh`l1Dz{}Zht#0{h;~3 z0BS#U`!pmlK<A9XSrA4OEd8MA4}gXrES-S-4~h#|c)-MQxqk=L{V??){h;&d(A_V_ zf<62ipzenr2LN#_7Wd<_{{Yl}<nRNXC4z4MIUMmf0ct<!ZdbVFSnNN^jy?TlK*JAq zW(mmupty&H2chsggT?))py$Yf+ynDRD317l0Cj&9NHG!yxdDmG5P&28e?Z+2JD&yQ ze$ct{#Jc|m7WaeBLV>v(Mo+;J{tlqaTo@P_KzD{AyBFR4{W!vZ$2*8F<nR{*ozDpo zhL?Z1($5nt?gyP$33E4$mc|kO3!v^#f!YV7(A_VFBm6y}hovHiKj<uHV#EIf)cr8^ zp!frw`wDY6jK08(J^u+n6F#WSgt;9=qq`qh`2B#|kDUL`U`fBRtk~^WfZ7i`pA%#^ z2&3B%Iu8u&7qs$=1A4FxlmeHZa#-TO+7MztD11QX!|(~vWy}l=3~yiuAVDQy<vEP* zlY{6-FQ<0oLNvh6>4oqZ7+~=M<9EtI%MX|Ul>PyAIPCmZkoy#|xL=hYyZs7z5QAo* zMId_kDez;r-vD~Bas+gLF35h+RrWCV!^*ElsQ=M|pW#3W#D1tZARH{^C$99v0@@6W z<X@2ep!2T4agCIYjG+E!LUX`|QizpG5DHGB`yZG6JW%_Q(=X`kBXs+{1)$-NX8#SS z{pj|=!Vl&kHvwq)qv`Jew+a#GV1xV*x&j)e9~S<&+%JK}{h+cC-TnR0^v{fD{|l)5 zVfMk?i_Y&d#P0qbQ1`>!335N^ieQ+2n0OU8B>d1@;~${*L$6zfSr0W8q6Z{+Uj)Gh z@nKl548}sGVfhv&Dh_G?7NB{bK>@120-F9|>S6AO@r7ie{)Y)b=?hSo?ttnC`5)v* zn0}c5E9Dp%(Cr2pp#hCQ22iGlo~s9nKXm=zAvn+6#Prl6J!idqeM3`YV*?{|3j<>X z1tViq6H_Q@XkcJwW}={AVQye-qyPd5T=lL#ZcMNP(7<-sL0t`U0RmSb9rOq3mpCvq zF)%VXhC7Bih6D$Abbj{i{NvMG%;D4d4Sc}1M>n%)CyR<lx3`2xx5Eq1P97G|UKbS! z&)yytjxYuW{_q2i{DLkj9Q=^;BGdTgT^JaSF)$o+NMYa?Yyh2NcDw<0w)e4yJ0Qm# zYXBd*#V^<ZI>i2X1MJAFV+}h%v3jgQ1{9F|f(@WEzm7M+P8L4aFa;!jtl<ZU;umZH z9d&fPAqQGwA8P;~MSHB_3P^xou)%_bf#G-q>|9e1Rv#7y1`o><{H?M7|Nr;td=Bwo z^AV0{#~8;r$N0mZoyUDTpToTF)A=8wqVqVIPD|6{mxok_!5*EzJ-V4eA>z?p!z|#@ z&F;|)zG&cofI(+7C}8kN^Mo-l;E@)<FD-&!S^~ec41Q@9{L%{er8UAB7@Bv3eE+}1 zsd+cZuKy*L%|HH^m^AMO8U4RRyLmUr`~ORnns<Xd`oBc7c{j+-|4RhAyFq?4Jkb2} zKflYt=)*hy|Ns9#`Y^vdLnt_bhJuo)Yv*~_&LbY3Up+d1yL9KMIQaCI3c#YwquZ6k zqm$XA+gAY`H=R7p9=*;I9=+WlNAZUr;1_g;r&Of)90KXpqw_vE6?$~LGC;hj0rTRq zW*yLFBFCEz!WbApVU~8h*#soQ;L=&m;nJDR<I<Te084SbHq0*FF3bwuCCnNg-Jlzq z7(6;}Ld|CO=+1cI(OshrPSV}rqeMKq4gUuicrf0Ds&)j&i$~}C&SNMV9bS0!+Aw!- z2E``W2B>-zMP!){&7!fOOd5OGqw}ao=Y3d|zZUa==1){{kIwfHKS5>F(vadi04!yA zAo4Jzyz=OFQPJpT;6KrNphB{HIw%|sPd5Mh&+mGQ@nB~^n1A5#PEgpwdC2A+ZwDy> zNv9oehXlRhfy0RM0+D__n%_vcbo!|9xON`xJnPwc&9n0hs4(f>Z2`(#oi!=~V7K{n zgRdF$Y(6dk_Uu2O&PP6-AHi}S-QckRk6sT6k4|on<^u^Hoy}nFxYGKNO5Zp<hcA_9 zb983&bi1hVbUF*TbT>zYF)(y*P5=ccG=X>5s0dJ=4xuGJ%~H7ps3Jm3<^RA@{#qI- zmA~eLC3T3T2gr9|W$1|>R$qaN&tQ+{Hv*oW*FdQ)*;~Y;`DZdXBlEX|Zn5~xFBqf3 z<CFOlR6%?7)>upI0(E#l^9zQkaD3($^ig5?%rD5I0=CBKn2U8agGaKnh)?DZn1&j# z23WTI%rD@h!r^qR#ri&|#s{hO$UFg3`<Y*WMddTUU<)_sq}R{<0xn>qTezPvfSVKi zdM8Smsx3T{Pk3ZrglG`#5q`tKzyMau1JWuCa>oCIo!%nQRN>KlL?9YeJRF8)j&2T* zUT_uy-;1~l)UE(&V(4}j`OGf>F4$hrhJ_DO{%m}s@r!}MwezfN=Ml%w^N!#E>joFC ztq0P&SA%jlf6FTd28OiOx1A*_JSBM^y)`NVhLHAB+QFk7X`MML3b5i9+&pOgUt;Rf zt?$ttq9WkY?V}>$(%lTI>s-2hm=!#FT~rkIftoZ~i~;{cJwSeGJ;2|(iIIT;UXnvx z&|RX!(|Vwe<Nt|Hu!|h|x1ULKv^>w>uExl~VCl`l-v>I9*pYwxxirgj{OzD~*)6?! z`1?Qy-n(>ub>ZK>MJ3@E0|QuvqvcutcF<KfmfiyVeW0_jJ-S;|GJY{Ic(fiUk>VF% z;Ma6f5qPce|7cn#*yDz8UxKc*LH01nNokHCU%P<3o#uG(7)P2*XNihZn&ZLaAZCq< zN}A)rBOqpqidq^-zOzI{0~S(R$RXvhmC>X1KYt78fNY;`ag+c9wHuHE4Ah^?VhnKn z9|R4tk^;=Q2aTB{;{K)0|NsBtiYy%Yw_k@g+g@uUg!#8$gNceFL>>9JUxf-AzBN1m zPD`CHJQ|OHk_&Rag%-|;^amRMKyriTzyJS3gFPDGNc>`805@YiS}&Dw@(VEWYqF@k z=JM!#j+U0-RW~RtK|-j+5F9!pDxlQFfu5QKV5tcaIHf#b$AavPj>VEmP#tOb_Voqi z`VAw0xIpvAS;x-r9-Y6_ns<Zp1w#qD;oFz_jNtSIN|<N)+d)UZgA*p`E;;_~ry$7{ zbm0&<VS;WNKuwjPL<yR50Vhh(1u4jhk_(<FMWBhWGem_492wmqDm<_>rGT0YkAl)( z4r(%lCr*vDgNHcMIzv>5PKcm(E2#+)bYnbHBDnewEg{0v7IH#FPM;!(lt^Sk#2J4T zzZe)?I!`-xo^<TI?9ur*t$8mb^27{pci!-5JOWaHl%o0fUrTGf#NV-)je)^3RD{28 z78?Tt|Mni07r#Jsi^>C#f&AMqx>$w^@NfUY-v=71O0zu3-_#FQdDx@VMMcBXmBW>P z`wRZQ`D_dfX)czB`J1M)fm6!CP8JnQR~}dX?VtJkR)Az(EpPHS&0_;~lU!6ZIuE&M zzUuX2>}FAM(fj~1%%RtT(XsP5|N0XyofkBJ{6E0I{-Ev6p9~EA&AlM~mUC22{9<4z z=4;raa^V-KUTIwiGOaU2C8M)M#RA-es8JE{=?qa(==4$X0j04IzZe)A_JW(zE}bzd z93}jqV$c+t;sRc~d33%9HQgk@$qlB%r8`E2!v$2PA8Q5aW%Ou0P<k4aI0Fp7A(SJO zx$tj?1X;I_iUt4nDd1rA;NO4HBl7^Lx@+FU3La|XZxseRIY%X-dyC2eP#AYlQQ7f} zfg$bSL5{ReAC&@^&Vw*^5iAv#xO6^*36`ZDJj{{S8KY9+(s>gmSmn}r62`7cJMN-V z$H3^(yG8|cf0$$QFGl`WP<z0o^SN*Gb5H@<`5qpKE#6F!7zYKe$Ny9RPq=8l;9q~N zyGP{)C@rk_Q4wG~=)(BXaqowp3=AHf7d$#yR62cBI66;zbRI>thh405R2=yGdj9_Z z-+9l2d5g-1UknUBosT>_AuSr8&hI{q&s{bDdi+1CJqPT059=HijiO`SJ}Ml{5bHpV zb^&V_6@^|0Mo^*<@aSeyDVq4Qi<yC;^P^|y8PD%`x??~c#AwFu8kG!B{`J2>dKCU2 zfceOW-{ql8=OvF`A9+TPP9GIem2iW<<sTy`hrIlLk$?Lha6)1{&%gd(XN`(N=K+vS z5-!~?Djbgd+dnw|JLsx$(2;-J&*tas|5;Q#J70jRK@(7K1F65^0ZLDfowr>0*G~Zl zl`G>X7v>NZ1s~=qV86R|zVzvIQ4!#m2So#e<G17NuAN_fIxqTk9xc%{eCyMB5jj8e zZ)0@qVA1ekyy)@&sO9_8_b$CUdOnOtn`=}Y*o!j38RZ3%{ruY`J7O95x5)^4FkbA4 zW#r!`!v$tB!CB0377Luk3TLswS?nN7n~!odANWza!k6)eFXJN@YabO2$6iN9$IgTN ztq!2Um2MXm0Uu@;6$=kg_VD<B*uy#o)auDmG2w50_wWDzmp2(17(D);>TUst2mg8( z6#*Ci_3s=RkGe8`b?JPGo`g)mNyxMFAHTc<12p~k{6<Yb-+ekCfitHs<1<L&VMb0o zCw)4<cl)TA;7vbMUV<)NaO7YA6*;b5`L|!djO&-3B`OLa_kiQK^Dh7THDKSkFn(qH z>cPAQ8nrKcI(<|GkmC;&zb>60JUU<dbe=5HG(73i`5IZCe;c!72MebM<7JQk2QAN+ zzIW_p;qqZT35nl~ZW9&FV`%C-82Puc2zxMI?r;RLq`)jD{%tG}7Big10%x(pS!{3? zJIK!FgB;Drew42CWxVOb_|(PP1r)uY688Xqt0OpieL&IcgBHErpwMXj@bCYBNaVR_ z=YUGq9F+v{phdR>Xk>v^U^AqNH}U8H|N9s~#hT_jaAPJ!B>>c#iE!y|1&tiJbo;P^ z+r|Ybtvvpgh@VJxC%ly(!oa}r5;U)ms3>90wcF6<+Dkbkot?itx-F1YxO83wC!Lo+ ze;^r;s^S&MeHsvDmvAfl)Xf9wC%s&YP~_S91KGkIpk9$n=O>rWmoD8rDvm+_OH>TN zCWD&)FG~;_JrFI)a0Uj3*J5xF!u=k^z`%gixG??k|3A0@f{#~%`hSj~;WLlMHwwQP z7(6@wId;1V@So^(QBiR0cH;oER2;kAc)%<T$8I-~)&pR+4yb=(04nx4j=QL^fC~1y zV$a?<30K3nKD{+696r4%DlDk>!G|osK598oBIo)4sAsa9h)3gLP#x!Kd9>#CZcyZF z$EdKp*2MG@XwnYhCBp-+qj!TQU_kXMtgGeO%?26)^X#r+6YyyLU!o69MUWnrYj+!H z%+IykhYg&H6guyrq@z-4$75~a3VQ>iN8=GtsKDDiSlY*+j>OCC|NsAk$G1`1!=UDp zOXpcgdn&DYKcq1w;R>q$Kj3aoWwA0aScZ%6_a(A2Fn|k^?JeN8fD5Qm0BTe5Z$Dw_ zFW|_({StqlCOf#%bb-G~o}Gcgg@5}~7t3@|6?B8YPZuJ0l)p)t9onFBQQ@$32eqhP z^Y<Bpq`@sJkRdLe4?1I1cr<T-Vl<<-fDv4kbslroeCOI*#|Ua2Ir6Xn4yp|`Kt*nd zih$<j|A#wobe5?2@UK5+`?dzu%wlC{VCb3xZd|2Vt^rq)#T+e{_*=EuL9MnH6>w{6 zKPZ41JUVMs96(Jfi4q}DlPUz(q<Y!N0IFzxR7_ktU0}(-8=@C#IH;yIfQJaE6(!*U zD#Jlz9uCLaLFR*7Tx&on1KQ$3GL0Bhx_wj>P}*PY(Dqk38v{f49&qcUy9K@FbrIHv zDuOkIVFD#c&9X9BkAy%Aj0M&LbM7^<Z~no^-wK*y_euWd$iMwY%caf|6%PKEUM5hR z>J_N{2x)+w{(nN-MTLid{c)G>J&>BG^FOGJ65wC|lkvC<<9kR!?9mC1Z3R%I3Ut<} zNOb=8=sb$lK5*3h%HQJ+YK`6S=<WemTOPe8j-H*@eLDa9bbbP7<L(j_4qwLaKApc1 ztui0Wr$vXlYg8ndA@+mXSD-eTMy~^7=Rpupp{VoaA7%yy{`Dm)7X0f!H~s^aApHGz z|NQ^o`O~xWl;`(bE}fr!dSj%SI{(4iX+EF<S;zkeS}ytUyIkx%<k9OA&jd=b8vNVm zfIA%gEuKsa4Ba&<Je@zjUjW4cC`=d+@~=PV0;#zzK-LTJuZOfS7*Dt`zVKzd<iU8! z@!vrgEguyLNB(Ueo1d}&cTwR07hj0>DX2b|09hx{c>oq5KD{iCj-5X}K%*QUoi9K- z5asK)<LoY=%KW%T=fM(vP<!pT;cbL@{M-4{I(Z^M?I6bM9?eJpS>7vs?ZWulqw}DL z=1a%sf9yrs-8m{8ns*`N(fr%x(>f*jx66ooFkVmVjAY{9E@K5@vLKjj2qp)D$%SC@ zAeej}Ad3$QG#~v@y3hyIY`frU`OvY~lhLvBB!8<lcwhuHY{i_Tq5*2ONq`&+YQ`}` z!VlDdvj7D*f9pL^`%RLGfx)r!hezjokN>BktvK*-4gdN>-99Qjj{NISfcgUPh8!#j zhNuXD#=k*j%Td_)8#w)){`LQVCtCW$Onm=6{vU<5>OhI_D9A2ogU$yu4(eiE18S|f zGj<*V#lJ#P@5@?HQxi5U1FO+p4Zp#f1);zG{|6bvzy2fkr1Jq^(t)-A5b0$PI0O0g zvbcj2i)ZIcM{xRh>jRo!JY8a7c)+LgxZzvm^dX<-*eR3g@&70|o(}x8d{_F)h4HOV z=V=ek!{7vx1uCdDUx4c${_Xl{o!b1{bs*^@n~8tB4kUeKvmlsk2qp)D$%SC@AefN! zaaaJ<tY7HMc+;2hf{W$DUPneylirrd)ZwGT!w+u%b-SqeFdl#uK8~74LFvf>d6>^} z8>9_*`v;;82pu1VwE>$!^M&wH7El`yF*Mq;7;Ezg+yuM<x+)w`WM?32MM(^uw_G|O zf=jxW&NvmhbiM+0K_SXya43T|?m#MeKqZ*~sLJB_U!tPn7y{M_ZsXnij?~bEx8;az z<IVg2|34!AP@_E(1#6E464M^x0yQdJEHCgkF<`Vu_#kpe`I}g<wMRri(%|+8$PkL# zBjt9W_Q*3f9PJVA;nN<8pkI504b~oU>NVL5>Z*X-B%s9{Xl;^8CaShcVB;TH+arzC zX^-^2yh}`bL<W2@7~Uqyd=^j}0jWu1MtYOP^WY;UkAshxur*5H?F$_3kw)U$Bf1#v zk#7D@o*AGD9@Ho}`p5EK>08v+NGzl^0;`|9<vS(2!Htp5NS1DJQ=~JJ1IFNiF$7=? z5g0=P#*hKmYX=oT?T?L^?GJAvYnU2P4FeuO;-q@}<2HKxqtO#f<Cl!~M;?LpM=CMx z4}9rl0&4nzw?Epkw?FhS+8^EWj-4_q;jNE9mhVd6pte3@V66}E_++<!r*=2E@zI&h z(hY8UbY^qF7(6hB0E{65V@SXlko0g^0o2~uh~D1tB{DUD+Z&)2FQE3u!3Ru)8yvsz zG&n%3mvA*W4k6d{@Vc6)21h%xR$L8^B%F#+8XVR*lo8k9_)AHHV=t(|0V@v>?TrBV zfCszbftR4AjxPM$Yg8&gOS3Xux=K_MT==)As6>Ez?g2jCAu101+b_BDZ$IGDdDM}A z{cFan{M%hr3OWxv@~^+k_}WwRmPhj&(748ZNB(W^T=}<u;otv_fBQ*S{_Q9KZ&3kV zuoN8N7#ivr<`~@F0_F!e2EiIt0i6doFt(g5;rBpWG6ZW7!lNz?b;t}fXpPh##^pbd z^%VKfgYou2c@flzClr66d#Wh&-@(UB1LZ**@aP=4d<t;vJkfcv^Hb}kI?2|Pb)v4V z2kHb|I^6|2!+ARWIU>M!3&RH;VVM%z9|SK819k5a?Q78bPUeaiU~QoO9#Z=7?ELQ8 z`Ny}n9KHzAv)i2mv}V?`+aJ6Nk?@+?2}59g7Hqw&XE!_4bKv!dAkR4-Yf%9W#4&jG zu2BIkgo7*!Zc%Xv0}V$CwtxjakGH4<fLA3lFnD%@mJ~a@@a(l=aqQj#UP<iQ?ZTn} zT{7qc?TDeP1I-H%qYl(}Bt{*m$R|b}Xz2+t>Od<4h*1Yx`-4lJPj|%&@9r8Kj1`!^ zjL)IL16hIT)A_&i7%ZgF3Ov-6%r8NMiLeD^o}I@%yZ3;j0yJta>C>GLS#s#xxdtri z+xph0^L^=akSY(*8oJj1C8(-EqR6U1@r-E}NEBHWc!eT{Ss+oEDv$1329P<T9^LT} zH+gi%GI+G!_UOD{`WnyDY?S=?4>azR0GfFQ&71_Vcyx-W@Sk+-^b_dzU;#5Yx;;3+ z44!Te9*^b&0wBd;0g={|{C%L?=RJGlY8>}~R*iXfK6l&;TH5(qJPlTUf@YdwQyKq{ zAY0SvodUL{(>nufNvC&Cw+9dZ$xiQr?hFBs<^v)iyF7Y}=RlXsLDrbJ9w?2533zng z1J`G*2TI-f&vs^)fF@2nEsxZ6dUnqPWiOA`+a*e%Ss4eP?g|bMkh$H~KArzOI$!+{ z=J4o_7Vv1jUHTd}zu{{5)}`|WS^_~W-#}{v6F@5(KpPW4YXTJh|MxiVq5|6IzyRV~ zFfbf*QL$nG34%A`@NegUjdv^XZx3LCEkDrW-yXmM<LK~j4`73Fl=!y?aKJb!{M!S# zU>r66?EyS6jt2ks06tKhzyvHneJlfz?TlDP=}VJA0a3s&;J^V|tmXjXDS&hYG(aXF zKnw5YgAy4i)HI>}OOI}AP$CHcDHPz>a8Yppt!+dKyn7(~7z_`1G#^Qb#xflQ+LMWx zo&v9<geZlK--5!^0c1k~XnA7<$YlyhA!fn9-Gd1hd{+G1Jy>8I1ODwEY%q=y|8@^} zD4Xzaci>7pcz`3V(?!J$<~a+G?)jj62J)N^a(!hD@|6O=hL4H?Xz`{1y8pmlbBKnn zf2ON@L8S*x+{*w99s^kLSbB8N2h}+s>vWOYchL9;&uW6>UjcvkKqi_PKx?|e<F6>? z%@xniub!R%JbTxH)*Zu^;36&H2CZi4{O8m83SL-4o1?uR5}uu)#Gc^U*#^?=+3P0Z z+1m%2xP;W9Zb-Wokla5c+6&*or5LQ01@$W{sH+0?Ewq4Q@azQ_YY-o|fs(T$zhE1v zr1L!928uq=0F-0*Hc+s*cDGf4>Llp8?#}nHMe(rN;9eUx$L?*=h5{R+K>=AhkE#mV zOdy~N+DIUv3fe><pbFYRAfO7`Jiw;Pr#k`EI#9#XI{1RtI(QCh9YDN|R``2%z5&%j zkaP)-rI$BB!{*Sf5>V-vM;SmX1;9!@yZ3=20#rFmAT=1)fdrwo_Y2SNeUPmEzXU}M zNDxU4D1I@_0SO|hft1&1=70oYYCsvd^?!*pygY}tVLUpuJzC#-biOZrgXB9{+ts7n z2C^^%))s=*=kWbp6)!v(?}I}GdAb7RTpmy#pxZ&g@LTl%2hoR7>(9;)(8cYB2Q14) zJbHcjB|P}u4<3e@4`1)=(fOPITxSVrGXiXtFS12A7WYDS)IgVt3+w~!{6t;LKwxn% zYHbBw+>5+^2vMGSG{30;O~$i$cK)@Vq5{gT{7qN685mr;rl@RSU|?`<xm3cP=4$E7 z!ru-OcjVvhD$)Fd&8IU5Jh3O^(OIGrz~2H|io?JCK=Th4{+1#Z1_tl|@=M5kKrX0* z@5%;VZ1{_vfuVU1*dj*$);FNhddSS3fD8Zj0xlQ+?G8L?u9nC6+XZ+S7(6tudi+1? z)14rY*6qOJ+H#4%rJNho$=H6eyGDh@k$?Ta|ED@bR5*OPb5sP7+G`=8<z?Hen9>|A zkC%Ib7Nxmp{^nnQ6SSz0@wX%Y_F6W^`yQa#?PngHub?TQL?xixM@7by@r~pE;~<Z+ zXr6YoJYIIem4CY{Pj`)qg5&>Vj{Ms%FoW#2yjC{-Wi~ehL+1&P&f^~6@4L2K^5A#* z;mE%|m&=iVyD!fM#x&6CW>0Pg2H);j0nnI+<NuSORgx|$3a<RyOIbiGJQ+X}tJghy z-T#A{Cmfv@njf(Hf@WG>R4hC-52W$uLw3k?)~F<a7MPZ#O>pGj9?Rs~dCF1qR>K}} zG%>jFyIf9lvHV;n?9+MU<!vSg2Bi7}w0cydGe<?jm4CZ0n<M}BldYH1T)R^__*+;& zL)b1V68!63R9N`epJF`d!oNO5MaGfw6sSQH;MJ=m;N8n24su(D;YrX6+K4n)%ZL2! z>lqmsp!u;gM#TWM&!p2w#lwSt{Y{Y043AzG@Eoaw594K5{_P)KLCfB9R5Uz672^$1 zhJufGH~(TU=QjNIatdhauDk<-Pv<!g&;kMl?_Qs7Mvq<_W6)G{0BB6v@_ezP2Xl#v zg9qa^56fd^B8K0ff%rNS9{->D1vvPRon-jTAAQpBTiS#){``w+{I@Tp@uyz`V@Liv z5u-Fm{<;t&7LVp*9G;dRN^dpSs8}%gbRL76S5gW$&!zLP=2y@X6b=u~?;g!hnM-6n zzTZW(zdrNpa5#4G7<v3Z=JEe%=?9PI|IFYNS!4)qKfvT6w2u)ZjKKtBFncr~WAU{7 zUV6o&`2dR#XsxK@|6{KF+fz9_{~vU<e8%5){onup;6wv*NJ4jviUDYREyAN4JcI9} z;_?5mBmeeqmY>TNJQ)9iW7^~YLC?;^;OJ_L_y^hqd*k&@etFP#5MQ3|9MB3)AC;1q zYZ(|AI`2C2Z@=Tnzx|j?Z!n{y=BdtmnxK-)!Lj)fyG!S_@Ao=OR198=cAf(-N-Xwy z9g6Tj$cA!P*VaoV54vkq3_8z&Vizg>c{U$r`G4&H@zQT#%|%j}@(RtzI4tj#eeHbr z|5)c&%VTA$eL#x?YE%;7?&RO@qoM&0&;LjHw|}(!>e+dizwN`H|Nmb;VTWYHgC5^+ zLbBlrP#)(3<wbBde9zy0h#j5{FFO7|<=A<_5tId8x_iK-k!$C9SRPbx={(W=fZrF? z#d1+`@YFnp$b_dmUx7y7Gh8}DR3u>KJ;)j+(9-l5u<Xe1ax~5IYnhl&=gpVrz?l)b z`~_tu&?>0}P$9$S!oU53YwJm9hJ4J(z|ifZlEA;-M}@_efBi*pPOMS!;9p;(BICk% z9kk#lz@t~h5@dphXD^REXq``l;r}!j%Ln}JEsP8dojEENo}ITq3N(E9*Mqf0c=hrK zf>d&VQkRDd|MnAx-#j`)R1ADNZ@!KN#Rxn<@^5EM<Ig+siND|^LmGd<$$&Ke!iyY+ z2Vnk1%}>`vn9}&Kg)nh|x^bSC$4Vc7Vwu6G^Fyh_%b5%e3=^OQK7W~>N9PAm{`Chu zduxgrJ$q%CK&dytgYmV8<?rH74`vq?4iCl`piSFt761SLH#`8!c}GDBUcp22I5_7C zd3?Xizb%rnLx#!Y{{c{T`-sSHdXWAYR31#lFfl@DCMeAe%3_|D$4hT`G#_O0VLasc z{~$Q0dHg>HD%sjV^ARX%1GJzaqdNz*{xw9!0OTAEP!c?5d9+-`gYgzP7CrtS_v}0k zj)S%ua9+Fl`WCc&bmZS23aUR6T)IP4Bwm7MSV22bG#oo$I`VJ7!oU4ruNR|>=Ecsd zE}B<Ck=Oi?9kh)8`^`=t6@%9bE}a)ag%dltOeqe09R-Rlr2GZ4wcNG2Mumf+<Z^e8 zih&F2`f<<Z!%Y7V{yz%Ne-;p9ibN6l*R%PsK=VNk%Zp`ST{=(xKj_$b((-57N}tY~ zu-wrNs(e6>=ieTpqVfMY|Mo+cApi2WG5r1i|78kjt371@9k?z9g`Na-LmqUP_2qVE z(A2Su3J0jZJnZrPHYB6o0HtRE{_TZa{M##eHh@+nMx<H(<8K#YVPNp-t^_TJJoq29 zay7%T^QsH~_CyxY>O4@9b;zgJ>wohDc~5AS>Zy4Els7$IyMnTAcZ>=sm8XEFAZk=B zkn>-+k4nV<gZ$f%clxMASRUkWUjlMlH)z#%w<8-UcXIf4e&^p_$kgqklHu5S$WikX zEN8p$yIf0iv3yp><=gr1^;U3s1gh^iT==(tfR-h#C;3}I=c0AHs6>D(Ru}&D9~~Kw z`F37*;a?x4BIC;V8Kft`tJg-ttCvLzWTgg3gacH?#;6#iS-#+J-vF**UBJslIXpY> zfO4;e5C8gypmk)R^~EJB8h*VZYQBtj__v=l1h*d?JUS1992SG@Uq}9JY-#*?2h#Wx z4t(M-H~`Aj2LcfJ`7?h#3-f3GdKYHUkd=a`<$=;S%{3|tpxUt13*0dPr8s!`0L{<x zWjY?6KRo%@ANB2xv1jz`)nW1IE>Q{aVEpQ1dAGRJhw*|3;|EX6WBkokpxpee^Md9F zpU$%$nqNJdAF!85cznMB4nJ4^ZE`LhGRENg^8l#+{L5Yxgh-zt_jj-ugDDqdMkvh$ zrJ12L3zTMs(ri$g9aO`6Sbi$q;raiV5990q;Dw3;{M$1)JpLcIe97OY1D=2cZ%Npm zzyiwc9-!5aKA=h#l-nIZY19JT_B&#E3{=0~2SpaBQOf4=|DbQ@cTjw_h5q~h9~Ac2 zz>@siD|lW``uqQXS|=#^xpbzeIDj^A@^8QE(i_d_s`=Tm^Ny?L7suwu>@J=6zu$i? z;oAAhvH1@>NIOTd)oWLHd29Ki+`_f>cFDcYAFiFBCV2io?)d-E{{yAp;L3|6kjewk z=HncW&4)M~EpL^5{(sE!T-n~2FaKa$eiVyiiFq>0e3{{am!N|%U`=jtF@&7HK&>+Y z{_RmrX_kk}y&XHxyYR374QgsTGX4k6pMdIOHW$YKxEtKywu>u^Bjb6?!+6@;8yG#B zk5oiE#yCQ^O+(6iEd3dm?j_)A-No_|f0G6$0|PAomT;%JSo*W@w>xu!HaEFTcy#{m zt@y*g{eSa+rcNIf5m1N515}PE@Hc~22D|WY59Z+Co(<~1cy!+9Z(Yv9z~I>YhmpS( zv}A;TdpxMu;tpzNfOfgH^Kya~IbYO#+3Ul}1nNBdBtJ~+_Gf`PfWL*A1Kfo<*c}3D za$g1)ZUO$iH9|}ty)L>8o|?zIOH@RBx=U0%ApYaup3jtKdA2;TGe*UsJ4Piy^ELna zdz~RF7L1oc;mg0>osIE^XRnQ$Pv<+>rWjDdRR9?Ts;c~1G(Y<?{<S<?cG-o0yE_kP zqf~c@iUl~_4={(Quvi{0oADBKC?dEQ$H?Ex%>imtd3GM~{C)%Gb{~G117LIcxBGMP zZ!ZUx*PqiYKk~PWbAU?gdQd0lrsMz9ofr7GhqHhxISJR!N1nYw|3OU+2ba!A&5!tf zJFkLx0iK#yyK_K6@Y1_igaIT}04fMAe0q5pI`4rtNJW5_k?Tz0-yYB8(s>Kf+W~cU zKs$`eM14E|z5EMpV8P3$G*DZ$Ge?C3wDOdHyFZ&p=MVnvKfAYplSJ#cG?(rK4*nJc zNZ*GCTtxG){|D;$h%o+OyZ~}VhG#DecnNX>bBGED<1bLA^zi642{3#M4S^69i8L2b zPiQY_=QeVF=!^mN_&@o8PRz(rG4SAD{}rS?!KYWo0MvQOaN*y65aeG8kIsvRmq2Ak z4zhkw!G%^{LkjK}pZN<8+(_duH~?c6e&8@X04l#7LFKn2sQec2v^)wfzXKRR6FVU| z%WwWNGtizrkoPS-duzlQJ$hx>KrJ#4kKUMA1`o^o{B4Dx{XdL1JbGPR8NelZ0;nYa z4{GfG02P!D9-6;BnjbKi$bk!UP%!~Y+}rdHKIKU3)T#9Nf868$fzr1g&A*w8?BVU9 zZEOc0aHMszRD!$;X1Y{@%X26jT$V%GY#z<WSv)O&m7ehYf6VbeBmuhcZ%^m&_<zWU z@uaKe1O7Hm&}{Jba2C+|%ZP4J_;;76NPs+J@c%HVwQ{&z6PyzM9|grg0jSIdMP6F~ zw9vkZRDOcfEhu?|mI;HFGU$NTN4*416gh&HC~OZ=k#OlPV|3K~*ZEcRuVeEwc9+f% z-*14n^t~2x?EKyQmmQ`2cCma|ZtmLpt>iIiiM3<rZ%}oLsNXz6<@sSydEWe&y@+oD zr2Ib2;b{4}?DPM_mY2)+f?G5-Dhenr;@@7PV!$uY0BXw|W6n`wu>{pc{B37IeIk7p za7RMKv-7;?_xngW_$MUu#)C>M%bWb|G2n()IijJZ(|G|@NU*qeKKASlM$Nf*LCF@J zb3;^Ez}aj4MbH3@H?$vu$iY6HH7XIWZG1Yvf%A(CXyJzh|MnOag9#u{fZTi-WB{oB z)y&Mmkk*~g23mE*?4rWb>7v5n+4+rsdpM{Crqg*)^I`*Zpo8D#RGN$Bp)zit&Tp@` z!OF+K&^BS~0sa<tCI*JiYoPt%pbX8zzy1fPFD1hGi}4i5@t}+?49ejN%swg{j6Xq@ zmxo8Mh*#%F!`on|rny*N<!@gJZhe8*7l8KjfocQ;ALyRa1ixMt3m@hhl??vvM?r>4 zcywNN1+BCC_BtqS0{?ctH2%DUNKLIvpa_STPoVr749c&;0v^qW1UxOTBIVbBmsdfj zO(2&C(DoL8nUPQDArFwREWCSt+!#H3ZNx!I+{2@{rk26O@@HAA591?`UY}3~56g4> z%_Y#hdQ0;cNST9&=3kHIN9>@ydJEZnkb66Ms=;~nQ0YexP$~>Y$`4R^Fy&Lt1f^M^ zG#ixWfYMx0ng>erc{CsA@U;A0y2GRS7!xA@hI4rSKj6c78nmpqP4fT$|KLOiTGbx` zYKnv6MFLdB82mrz$iMx7<-u}wP#OWPV`L6dDe&z429Bt<IB;+4+v^+f@f!Z^@jNf5 zgPUHUwlrvfQv$TJ#*u&fDVN?vMn}y*j-4kQHGeoZKVf(2d;rb45}p4Xn}4u(9xC>G z9gZA6AbZMPJ1@AlJ}J4~4cgK04<$Z5LH;`S{}8A>2GU<736e(2-_6GaK;s+d%D(<T zWO=J>{mW;6{{M$o|2QgsWcyL-|IW|+>+izqen@#sO#RPDME$>k@pTYv0tYn94LMK+ z+(y*H6wfEJ?TFT7Lpk5eqwx)B1;0xti;8FGf9okKprac3n>blPmB@B?&`2|Xt2StV zc2|pv03&ET`T%%58q|X8hp5Wua0CSaXz`<jN9Su$*7oqwJly<?5!94Z;BWoM03LG& z8O_Mw3To3i@^7!_a^>G14k`m(EU)vo8?rJmc=U>ZT67G)-Q@ylj@|Aot}O>TeN-es z8C-+Er61Jp<KO<W+eC$b{rCT8J9AVFe0p_2wE_cbd^>^~ETFb<66k;@m+ll514qp} zF8u2sf_8Q}GJXN&Mg>Ir0K4CX@qtHgO)CTJNF7l6*XZ_9kpQ>R+*uqo&-gOFvpigO z5$tf#<`+;W1w2yyirGZP@_kwR%M7%RxZ#19;VcXco##9{zk`RU4|wpq{Bz~sp3db8 z$|V~Z(_Ag@@V6VWfL7_a3xEO-6rANupazRa=UK<jL)|^#SaAW3MS+&(oz(p3%D=sy zCC$b1pCkYDV`-Kypv_g2jyiT;?7ZR8E7J;^u>cLubh@Ynbbk1Lp*M`twdDXPHWK(< z&hf85>(jXhyq3?gx17=P6TkbXZb-~C9`op&13sF-gMa;JkcNoPYc7lzT{<7|uV+zV zJmJyn_aD>^)^O$c>e7*;!rpnY`60VU=Vy=39u?4fbq~$c9=$xE5f%oJx(d)<Yy-bu zlU~rIqO0M7P8SuM&ZD4arGrQ39+e58qIN<<jS4%1PiKls0jSZL(V3&-Qo;=yUFCQg z$i%=fq4g4fiw3Axc>(GODtPqjG`fJ?<HGEsV&l`<qOyR2fx)Ynh0UY0MP&v91B2m7 zQ1B&yjo_DO012-E&#wLU0S}KuRC$3%$Xiq{FfcIqFwX&-0$P;;s&hd80nNX7@UK7U z(R>1W;z8#ca0?c+6}Q_*#lxp_iVEnQVet65tKt8blfeV%pk^O<xX=LP3J$Mco)sR< zJ}Ls9y&~Xs5DFf>A`?6;FP5o$Fz*4|?$OJ$!_)Fqv6!pje`r*^_Clo3G)MkCCQz%B z!4TY^165sn8Nj3fsBrhN{9XFGc@H=O7(6@gLyh2X>4CV%vGa?o<{wbgOv6|6hiCH> z_7WM-?|0zkwPUxHQ)kUy2G9S;J^vpm{ovXBgS{viVZUQHms6+DUIr-50;M^iG!K*( zfYKsRS^`STfZ9_&mj6n(do~|p@%(?(hw&@u5CaMLAqKm_=d-w|1o(7ALe#fcqzSwe z5HwE;8Zdwaya#iRN(Cs2K(T2JS&s@jj-nfqlK7j1{{8>|S^*sFprjJu(<{;e8gGpN z6%g?H9~2T9j{gsI=cu?a>!^T~7g)QfK#n;%0-9st;BQI?4Xl9@6K2T^Dv@6<XJBA} z6h*K?$fr96ay|jP{P72sKb>d!*S`i8Jd9uA?Qc+r5wsky1y^aqcotIFT)|n`%mQzu z29@4O{c%jUqK+iI%>MoV{{+zf^k7f$Q9{1G<?zEtJ-gXGI+;DY{lRCCdUWzI!%jhj z9OW3nFX-&SFX(K+FX*hnFX$`*I^Gd-447x<aSy~Hf#^qh!smOzM-rf)-|3uTc(VD& ze}314u=Ozk9<AT_TXaCx4*&L>-CjH{mN)tPSU}Ye|Mm;rP8^^nOWzmJ^eF%KgWW*_ zE|!P*`#=Yped5<T_=#UY7F61#@oSv^#2<HpKm5Qaeysy({2G@(@yA_&a1VXrkGlb4 zI`V5B{=_e!3exe3KjO$I{z#As`3j%-BVT;tkI3iX4?p?Ikzec7C;o^tpZFtBec~4= zxA?>#`SBBf#8>|COCZS$pZFuLeBzJ1{E1&6KHw97<gHKq5%)gv3(A26G(Pc1-uT2H z5ijtGUm)G#6My8xPy7*&K~fP=wRb-83&wGL;*WGU_{1OKF7b&!(%<6~f5eGT{E^`a zpZFs#e&QDl6WG8Qc^ET}op7`SK<x*_vMKOFTkv=vV!S56xAVMj=Mm4&vydY`L7B#b z&=H^TqcK4Xxxzt*d}2)*9^JkSpaT=TLp40QJzscqig0^&`wDn;dP_L+3%D|XQjaIN zrP=9i;0QXVj$hDO!I58p9hAmAyZu2*JwQ9y`8~QlK%4~7PIf`(0N5NpP0rRtTgu)^ z?&+6E?RWI^FA?DnI-k<F^NcUZ7Rd3Gp!2;vdaDaSlSj}+ncd){ZatchfzGA`RmvQo zP2t@>DiCvF=>hqCO6LM1vMzRwp51N&9-YphIAQ}ukw>>Hh;IOmGEfA8<IchpBH`iN z`lLk26V$Qx=yXniMPz_WcQdGV@7@e4Lm?-hf?7=;6d!-ud<668M(~I+c=F@5ENs1r zN9WPk0+7QS5z?S8CNyBt&n$(F_j-VXz+Hl0fQ?_!ox`KsNx-Ai-GE<!iC@rN!K2#| z#P#48VB{BcxA1K}P$J;j?En%3`JRDa&^-XWbRAy5BCkjJ#4q5?0e0sn&_T|i62Teb z957!3Bo8_A3d~mk@geaH=4*iX5eWSTAbtXZZvo<4Aova-z5{~q0pfcg_yHik0)ig_ z;zQ0{0o#`V;zLeK0rN8u=jFk2A<{8<df+ob;K$@SXTUf32<%H>U|=9=84c(n2&B^M z?duDO_+j@z-X8#}&m2R71Blxk09&2}Spesv65$An2oEr60VXxTqy(7cz_J40^SFyj z0jR=2T`*swlHrPFRXuDq81%?%&+ZzP0?-mCd3gGOufO)}i~-4k7hu0aT7Zo>b=MQL zryb{+*|7FSxMLWo&IJu&JA88F7hr=$urmjU>jqDN&H`XQJOMgOfcfwQ=o|p%!xM;e z1egy`AkGP3K0JXqTY&lS1n3O5-VL4rojt(v@C4|r0OrFJxU&YB4^QCE1|Hqf1)%k$ z2H>T}KHUWzKHU|d)18pYR}av7>~B7uzmS#`zcxGoX_}z)cLO{-LF-37I{*6gmR9(5 zLKaOTEgtm%Epf!Lc+{iQm%#&k{I6>TY~3liW#k&cFX-yQFX(E)FX*blFX$@4FX+mF zQoMq77I<{JR(KqD1*e_v(hQgGR;0qw2h<>Y363dPl7Y^$cy=D~=&l7P8cEQ613bNW zbjE@L2fSV%;&QO|*U}&zV4pzv+^`bSv-1et)36iSq011F!V{Esz`2{~^?9JofD1R+ zqsoxZ|IdI985sUEAmQ127?@2!wtNN=APiz~FfcH%gZ30~F)}cK?qC8P*2*Z#$iM(P z+X$ozdTRgw+1DBx7?}M)Ld+lyFb2p3UeHmo5sVBBpo_s&K^y@lsBugT42+<DDadSV z5XYDai`kDG7?`6$CW5Xq0MXz(Rb&_#7(nOyF(@-aE;j+`WvFCiU|7w-zz_hk2eiEz zWVAEL=wK!W22dSZ0ODj|vj^b^kmtb`ffyh^ECd-B2|BZuk%3_kh_eLhhb<uEN|_-Z z>Hyto)4+_+51^||z(#`@AV1s#nFjO2eh{aTk%2*<k%8eAh;s~T&oz)eplN>4T}TH& z_JGzSz%M|91p0q?JZggNU|?VXF+e^5ow)_R(+CtGpu1rhLG=lqc(j9=0Ahel0F7cX zTmkhb85kIxK^E#klZ7=S0|O)Ijx~_kpip8A#Fj?j@u&wg8pHrybCUrw4Rn4p$R0ls z2XqOHF9QQZE{Fp%4Riu>0?3{MMg|6P1_p+H5T_lRJ&1S&nGd!L!~mK78pP`db?O-y z7*>He*BBsC_ZV~y1?cJ~kRKR9X8%OKGzR1h28RE$KQJ(Z0*?XYYLIp?0~C#*EW!{B zy*CErdWQK73=BdH3=E(F4u+>tYrr|^E0n_ovIca{EXZkK8LW8=ls7?_;ejGc7i1~O z`)~)CL+x}2c>q*WfRuq$!Sg1vevoPg&~-$hHJRZ21iEey!~tz}V+0)=CIQwAG7Zdt zq$$v4BA}E9)(^TF1a3b_Kgj)oARVBUyIAdq=?AH1&|qL-09k1RvH*0FFNgz5j*I~e z4DbuGFx(G1K^c^s89)w!+iwi@zca{wYiw}_^FK&GNHv2L)P7K^U;y>;K=y+&2qUN? zh~fW5pt4O0WGNQ|14Amv9#H?d9OQZshNX?ct_~Cqpm^YCU|;};1IQQfa0G<|C>}w% zj?ooYIKuRUR5PeR!_fj13ZV1{3da~w_<)YX!w5%^{jhYb1=0da$Dp_Xu^9}Z@d!#G zjF!0Uhv^4bR?<-W^+5)Jq8?;FC<!rwE{nlxKgj){m;~zwrDM4LApIc!gVG}-C^6wp z$Dl%y0W{_TvJ&K422hZJIG}s)7(q>MtoDOcfxMjwaxy5W;I`yI{a*tLKhPaka2Z(o z0)-#Qbs+cGf%L~gwN!#QptI>f?guScWCU%D#;_kXea3_A0i}RKkZur0wg*(-g6sjA z$^g32OAMp}gh4YlAbX~O^n=DnvAPqczYnAZq#vXO<SK@VP)Dx>=?6I$&7B|(kmfA7 z>BYdn&|nYhp9Fh$UI*Xz^UtI8Hh&AKy!8bgy$&j?9h>c$`P=S;R-$*efkx5!Pk3~5 zcQS(7V9f_uJUW>jyZM_B{&DQ&Z~n>5-?kO3vJbS)l>cNW2QFnG$2)fSfrhtnD=W)( z?Ct|qi+GfHICl4e1{%RinweP~o7w;D1l4!oF~5JX6YE+Jl!kdWA4|b1#Xsf1Yb#ij z7%{m8N`u(W*aW3(q|P6-Ee{G@IQ{^tEf^RW9@z7PDm}P30|Tji$1u=cOus!411;dV z^JqM50owf3c^}dqj|2DWJv)yfB*5xmEoxXJn*o=3kXuK<dOR=;ea#Ot8C3~bDTeU~ z^O-%EBVHgm8#d^Ja3F~;hXf+r{W#4>btal6B=`i)KJY*n*wY@3ha+%>JyZg$4l{5- zc>^Ur!RkDEcZ0M+*f_%;SqWGvR^!3<cLjTNUiR$#=Gpll)H~JQ4=M)0T0A-<ID9${ zJiGfLiN{00v$Gw<gmp+UGXcokh{O)w-un77EHz;&H$zz*2)6X~DM&~{$N&$}>eL+| zOF;t-+8(SRCSpFv!!n$sl-0x1yu{q28`Py0@aV1w9qL;86w@|P?TF?$&=@pmbQUs< z02)_@*b5`U<sISh0c|<-=mdukh)MVG0a*$S9}siUg%4<#9yEMFOuB~;$WmzdfS7|W zd_X%Lq2U8!(mi}YmO{e^#2j?t1KKSL4IdDb?%@Nn6dFDtCLO~ER{o>ZU$AK_N@^BJ z35UIYgqcsxng(JYsqGnb^>FusDjEjRL=w2t@Mt~^nkGW4y`iFD71*mkMEe8Hyx!^p zur@4>8y;}u1|bhthr@V;`6%%Rng0T7gu0P*mqWr69v(Q&r<PBk_JPLZK`jO3g9!LN znhz9scDh%1cGrW4cIB|m2gD=BcM+{q-`?^H*c`i0=XdZpH@I!;(RmmVrqGSm(BWN( zOCThueum7K{DIZ?;PV1_R3L70QK^8>Qb>Z<&%n-yL7AWM?X3YV#(<{**t`nDWzQiI z1itMP>^{%VW3RbAK^x^E=dd8OKnCJrZ61g-;UvhtsO>FPEbT4-0!U%!UO?-T4${7= z0LPjhD9AvoOOVFT>CwJ|#NR*9ZZ^;fM*h7jc1Tg_-N|DIa+i0fi(Q3xca0s`sd9+< zGw69gDDmmvTVhv%)R{nv9Q1f3kj_ByMGN=U;BX&2F`>JYlJo{?+<SJjd3LgUcKgAO z-(vUd-VdtHKoy%jbiNHfALH3MA0h{y!F%D^y&u#t04Y^LUQddw9-;uQ9@Nmns~(~N zt{&8|$EzNq0InX?(8a4Bq5!JC`IvwY=upmYh$05*-ed)r)Z*l#%z~24{5%F^ai`Su z%)EHFqQu-(6mi$Q6fB}HnZ?P8MJcIJxndM8AsI#aB_%nj5Phg}L8<AP`FW)lC>o%G zhGtkrjWYAF%A^?^A*+uMPAw`+EwZvoOi77P&PdG5OU=>Hv{DF8PRvPFC{HX_s7fu$ z*HI`=Em0`RS1{zls<}8dFC{(+92RMyumG9hnOByWlbNDWlwYn;l$e*Es-U5oqNk^t zqDi_L$@w{@xp@>Dlag9cl0mj9$%%P+`6UYFMVTe33c0Dp#fj;uRthEg#l@L<>3IAE z3LDBo1*-|9h6z?fNDL7aGsq2(6nHKGhe|Ohv5;$45jbPSmx7`oJ}I#{HNGG}Gp{7I z2xKTM1wxaxLS|k{Y6U12;!A-<nMh)=5oIPx`GhDFNlhVm4TY383MKjZ3OR{Ikld`J znxdnc0xB243?2M=8?W(sLHXsy3c01lB?_QSmXxZHlUiJ?P?C|Dr%>dZSb-;h;WgJe zKewPLwYWGlKM!nhW^O@FYHn&?NooqYMp7lMrezitmmnur=fs>GP)LG`QU!2&R>)6F z0~Nc-$yy;TF*7GMMGueLQxH`ZC=)m*=Bbw`6eK2R!^$iLXnxQkqU=I5j4ZF0#22L& z=jW7yDo>D$VA--bvkF`%=qRYBfG}FF3`)(-FG;ns%1F#h$w`fe#xk_r1(`!^)CS}i zr^2hb5?Cz@3TH?$L4v0snZU{_B{exeB{jY@uNYKKrobErjy8;9C^<hTxTGjEB^8pq zlTsDzY!!-93sMtHP@|D7)A41Tcu3Aki7!jc38^edRj^f1&7^{z5fKpzAw`LK#mV_8 znR)37B^jB;3MC*5KzX+^wL}3|HUq^4uErEd&dMq|KewQ?BsIPuvm!MoJ{go#!G*bB zsE>~VgsT88<57HqUv~h=G-w5oUs|G&p9X0LU>E^UD4_HaPe$@jDosmEEwWMoyBF1= zFewNPE{-5YX=+}6X?h0KEuexRDKR-a-Y2uT#L5bk?u$!Oi{c^q01*~YKJmKzA^y%y z&CM^W#ICJ058XN|1;2cS;?m>{1-O0i&ME@~1E|f7%qN$9VkPJx)c^lsG`Z%W>jO=5 zpo<MA{tBqSVKlYf23~(h1w$u5qUS%1rh<`RBPzfo^@$Fsdto%SYykBcsbSUyXuQK{ za?KoU?xA;iKyUj9#S^v48(4V&qjA|wZ~Jh$W3ZMpgUwy^b`QPn!<9Z@;?yedVdXlE zhMA8})7w6D`_cJ^hDf7_pzXUBNPKA96IqWTiaexCgd%T>q#x7-MwVn?U@$U5lSi`y zQy$e0B;E03bx)AH382maQpZ36)KN&wFG6%57*GZmX<;8)@GvkW=OpH(E0m=cfky~T z^$he36*Ni`(~I?kTzy;}gI(iI4Gi_uGV>C1Kr3273y48xFjfWl1TipH2(Zrvaiyhs z*f}OJGJqG%f)-nX1XURs7(n~e8Jze8ocJW1_!J!ZG#vR1npt~T`k4EfL_mr_YwN1O zCNaXy0Exrw0k5id<P&ISVqgHRgamEa25AE=ln0yb2s7J>Ps54Nz>&|wk<X!-y@#!r zwU4ErxedB}9<*i=qz|+%mcfxv0JIbkW){d?kQ_)1v{n$rhAkol$$@sCg2XDAp#H(M z(}gbp)lSf2)dwI=pk>0K<%*CnaO6{P;WKCkd!GSx$q{I$D@Yk=tv|?JkZ^+g#hvfL z7iMIWnJV~Rd|`Iv`|yPsEXS<L2p8}GDP~|`&|zR;hymHjz`(EsWVj=rfFqxTJKu&c z%+1VgOiXcnJ3wX}_`>V~5_4f-VCaFW-vXjB{Rg%S*&WP6nD&DFa|NWIfq~%@X!$EP zb2fZM@elKQHohHSnH~8Kd<8k?D>KtA5Z?vF_vG8~m6?Ho0krs92eiWgw2uO0J|rxi z_!OML>B*h%!WZUdwjS1AaJVx4;JX3x-UE>LE_`7IhjR{8e;a6ZCo%3yW(T<g>@IhZ zJDB!@_)f^~0{Qm{)ZBDp&2=HpTp5tZ85kHq2h?Cm7iejmDU{D6mM_4OFT#;8!HF-! zk*~msufmD1fzgAngVBj^0;4CN12`N?pyq<scoJc51hM9xftm|C?VJd6BZ)B=R0gPk zGdTl;CnDY*`4k`-2$Wx4pz@%#*dTjBVi8a=&?<UR@(1PN9Z<0e%sBHfT9`60fbQs6 z0@Y^(vL7?uVCVs@4ZH!>;|0~@!dCz)zQEfBzCh)`J31Ws1V9A`C<%e|34j)5!*+Y1 z$>~7lvOpd}k^}kI11bkD+ZZ6_<O-<R2@?DZDtD(q^+7gVK+0W^9c!TCAa{bC04ie+ zK*d1oq(NbiQpR|rmNB5P`~X#d3KTJzVd=uRff2cg0f)Z|8^|^WhP9la#hw^tJyt!S z+dM(K{)6npw8x!q0uzcoptAY~)E-cK5gbL3G6tU3Kw+~1ss_9x09q%3!sY~2JPI1$ zp!B8zD*qT57!qN1Af`Jo(hkTh&=syAw}a!-kxu|*RteOs>A1}TB_oVFF9E6#wBG?_ zCMXVIW_du}iX3OmOpK_J2Ho1Q0%{H@+Cb)jHpOs&$~y)I22PlpAmN2k$Aj|l3#fk3 z{vl{v03NO&|Aj!!g0~ll2rE#0I6(EGr_~6kI4EC%+zSfV94ulDSj48FiGk9_7pRy& z1GMaL0@tS?KQQ+(F@QH#Nr2KP0|NtSqXR7cIPyuLsIh^niNs@00#prX>lQ9^TA*q` zJ1lUiSpii8+T(#s%^9c~P@4y)#tGtPa779Vw<S<DMWBFm<P!je2MaiHGBDuNcL$3; z8zS_HK-D1IR{|BoXP*yL4YIy9P%(V^TA*r>^*w=#h2n`P4(L7v(AEf8*dfO^DC{0U z%|T9wU$BV5%tBTt12rEe1`78Ys2FJL8a6vYY8F7%MBs7z5vUr_9za~?ynw1n!eb5( zv_Jsuvw@j|oPI#%gaK5|LL_q_ZCup80LbkzP_>}VEZEEgg{cWt4J^Juc1(ea%^_e1 zNbLcr+KmL%g37H0P_;6kvJz6hf$}prZ-9hA#Tuw+0I@;A1yT-TgLbWfXwa5d5DnU$ z1foHEdO<X3R~4up1+hV!UqG9~Ky1(!C(wpR5E~R8piN&OHfaAXs80oAt1&PzsDt`U z&<(Sox(Fl=s*gcCE<tS2CNof34`PGLM$isA5F5075452G#0D+(2W<ueu|fOEKy7Rg z8?;*twAlv42DPa`+YCW$P#*!bBMig_)h8ZMH-NT}fyyC}ICwuE0|Nu7oCNW~`z#q4 zz<W(Wd{BM@@7-izU;w30P&o(^2kpQDZ7>6|LFFfSzZa<PWME(br9Y53D4&7%GcqtR zq%$xufXYXZIH*084RuQ{0|R&i7)TsckAt?0f!M_i3=E)cY9Mws0|NtS-x{bm!-ls> zgUa}ipe^Sp(oP%<42%q=a4}H)fjBqiA>uGTj6R|O5f=wp%D}(?3O|tg^HBBCP;pRL zg2dgS;)|f-pzW<7ab~Fa3#d3ueY+gQe0^vE0g5M(dP%5wAyga`XCU!uvJmy#pyDw1 z$V0_{LB(O}m&icW+e6#+ply;MbG)G9-B5ARUR02HAk>|pbO++Y`p>(d;Q+cA93&3v zGlA%%Q1yo3jLyISGshMx-V7B7r5TX=pHP3n+SZ^n0urx<ikpMldeC$Q66c4CgAOhP z@j+!Bh^~YB_YqV*%=}qUf0;wua-cK@QqK!@4=g@Fc@!kR0qU=LQ1zg+4-(%ERsR|) z4vQ}ZsJIcR&;T`ML5dj|7>c3pEQX4M@)Jl(7wVq9XyOy0>Op6Hfz*M@DG<F3>K=Ab zfdp-bfW$XK?M;P>gYpqb{5{m1lTdL`*$NWRgo@vUii7eINIVf5Zl2J39cHg6R6G?b z4k|xD>L)<mzZfbG+NKH;SB9Ej58^OD&N%=v=Rn>645}Vfrhvq!K;3T$tv5ksB}iNh zDh{jnLFFPy{3+D@BB**$c?S}Yhl;O&ii3BDgT^VK?!ONe2bGB+^&6n#ptb{u4@=LQ zP;qeoje!BYK^r8$4(i_{APxfq15AAgRQwiH9K0JDbXowYfQO8ZL1iFRGE^Lvk07E9 z3|dfe&~{;%7>JI9ii7qNgZMC<A`fD*Fo5=|gIF+Z3sw(0q5viWp`*a+c^RP54iN;M zP61ZWf;dJ4D&r0n2UAcn5M=@ufJP!n0E%tE<tKRiFIWV0qA7?G0S?bf26#FH34+GV zz~(?RDO3zZX@T9z$^aWT1BrpKIXFSGGJp<V0P$gX7N|mHU}ZoLw`_1mW@R`5EmvXc zrJ&|;K+8jz_&lh+DQMz<pyr%G6K8^oYe36Mm^qiA?wNxo?gJISgC>3-YK{!FJcOC! z3Ka*PC=C+>(eI(|pM$2p7Ak%RO`IJnE`t`-jZpu(po#B?x-$n&{0!7Ru<-+sTR`{@ z)cieY>c4<9GAqLqH1X|F^`N#KNIwjBLem3mJOC!X6KZb?w7i9h8$rdFpoyP^n*Rh% zJPRtW0xfT0<~)SDGX+h&4C<aGXySR$a06YF1TzCfuYrae4_XGZgo^v1iG%boGoU3Z zkRSsC12gzY3MdDOVg{dlgCqcDGBbc$q)-kL#moR|p&|)Dnatp0E1(=CiWz(=4Uzzq z$qYW_1j<38nBk=(k|5aq;K)H01dD?M6^l5i1&krgz{~(E^-<-R!AHrUih+2{;E{0< z3l%dnfLhF`Vjvzf`1BqS3l%dnfLhY1Vjvzf1E^IEVxeMY22cwdRSd*qW`Na}ARYoU zGk{v&2tJI(3~xokL?ARX1FV$+;loH~23TtXCIX?E8DOmy2p>i=gIn$}9)f0O0JY>1 zd>D%v+_H!95HvIR^d1Bs#$pDy`e8f-&CCGm0U-D=7BhG>1;#_r%nXSL4ibx*0oJ-f z5(K9!SZfYl9MpS26$9~@89+S=5DOJE!)qyYaZnEfRqT&E1A`(HsJ8(Thh=XMVFrx4 z6r`d8hj<4L@eBd%=J?|f2OR+;#K6R00Il!9^J)wX41Qdoqkj<P3}_4v<evSk3=B$0 z<pWH`Y-W%+qCA0#gZg~1HY7+t41>n^u!$>iVR!#27VP57p!0Yzb73?$4)IywBaN6C zK0rGhpnft)&rLRne-)q&fAE+s0|UctXgD-L)x+8&TiHPV1^Eu7n*m-TPh<g!Bk~a} z9JmA_<|jZKnBcK-kXu9{;^0AT&=J<qc(^JFG6yuX3Natn-qaR@st0x8VRHfu3=HL9 z^`PE9L_K&Mgn@zKA=LZ;(BU*l>Z?Q`<{SW@AjH4`p2uKdU`UV#*^4NbVD`?C0*NEa zH<<WaagaEooP>%01*=DtV=(s^g2fT#AxzvJY!1{@3=9k~@yEgtcW!`6!E)v<XgDZ< z1~C{I7@*B`1`cpIAj(OYd!|c(+zIR5BFs-^gqY6&jTfjj44|<$aK3<=51KClg={%A zJs4<%cnl1nc_R>u51bwl^$uu!6(s%&oG%dd6s-T^!vt~<qI>|4B{48C#6#1`19p&Z z1_scH`5=}q55%1cpur>t1_tnaECU0BvH(Q<0yH7ReEx|WBF+G9a)alQ85kHqSB8T8 z^#C;J1e-TyU|<M`rjrlQb|5S~L-`=)6o3Y@VDrYH{wXy4VNDKDeg?VI2%4@OpzSwU ze}@@r&H->ch=Bn-FAD09@<Pmi0PT8!=Z6^>7<NMaYXBM)V_;wa&(AV2Fl>OT{{YPz z;CV&RVPsHo1JGa|Y<?7UvOLrr0jPTL{3ZhfgETbW6`=754OWH^{1EpfK-~|T+Xwk; zFI0R1G(&^d8Gyt=?PDdR_6%s83MBpm9KTS<L&v^A;s>E~Cm=R52A$i6tvqbRQEsCg z|A%CdGLCZZ2sB<2Km%$F3=H5o7X}6f2XMYX)PtZgR*-R1!1)oD+YtGs0~&4%pdN+g z7Yk^5D*zpg&cMI`t1p&A^Gg7<DhJIAfy~bU=NCl13>pUpiG${Cm5}Oj&=@jE{5I6y z51_$8&<TFfa&i_d-G+lyA<6+esCoyey|DP*04+}zK+S=*kk&xm4{M5m=F~tY=0L?8 zKm(MZu}7%AW#D=cG+GH#1sS&lv4X()9a@Qi?i&CJGB7asLeozJ_=HIY2JjptNDe9v zYa)W@Kp7YqHbe8v1!$24p66s>V3-9}?*J{YVB?C91wiEqG?Rktg}M{eqQ;u8*cliE z8Oj(yM?Hd^0jt;kL&X<B`#~`A08WT{*jzMBd?{3Y12n(D#6kDHfy@_xmM1WAb(nfI z@e5G#1<(c&O#J~Nh`k1A;z2O=&~g%{egaHAn)o`X`#(VY(Xen+=fK{sFcOB?D*!bI zrv8>7L>x9}4HKWu0TqY(3nuObb&mkF9EOQ=L){|)^%qQh4p<zqIuCT(8z_Ec!0xGF zfQ{#Xj%5Ui9|XIn0@i$h_r#jO?x}#cDWSzZgD%)T6%3$rxk36RK?DN>!#k*YSUAGO zyTI-#V@QC88>}bB26j&wLjyFOz{FR8-BZQ@I^z;#G;F*o6KsANyrm2i7XZ7bjNt&Z zT!o2WgsKM}w2Ev_1=Kwspz2}n{QxzG1L_`_ct6xVpzA?E=9~Z#pz$lH`A{z0U7w-q z9iZmJ)`D$;s$T%jS1|Lr#j&TKIpFdE7V3!hVFkE+0L}bBY=&CHunI@}7Pd|eq8dT= zfy+<W=rzLpEO7f1(JzCUe;@1~M86MK^6mz^2UZF)z<X$K!REkX6*8{^vi&5uUIUdX zARYq)v>0VD1-l0pDhv#uc{Gp;L9jW9eiLl`#u@A$Xe9!j&jG2I2fGJaXhY|SK;ob| zENtc28*c33Un#`Epu_~tyrA|0$Pfkw22(-o>fLdOPvFC@o>>9AcsLGo(uJ_A2l)wv zq0WO-pyC3XcmxjfmDsVH?}?*)10`c@=5yibf8FH7ZvHnM;;?ofs5k_bHGiP{PGIvT zpmYh!>oD=}P@jX;gHE@Fi3@@p3Z0V$U9AHXmqZe8Wnf@{i7P_ILFNlHBE&&w`+}?h ziGwgqJ*fQ;69*M>Fmccw-Y{`c84MF&jATBjbq5nagd`5i9We2SNaCP_4q@W34kO4d zpk5nHTplFA0LjmwG!GNELlOsd*<j+Zb%vmDLk?$H`3TYmYAV3gF9&%N8lK4E{2M9` zN_U{MC1L8BK?XzBA43XfNvJqTy%JJ5Ya)pwn_~kN2T{o8M1llB>xCE?7`7vsp9mEP zQON4cK>|?qpty#)vmHr%2a-9npyD73*_`bl0jR%_)73$!I4InZ)6aRRIEX@4e;p(M zH3vBz-iL~#oAU`O4x+Xoxw8-2egcUfM-rb36$gbg=s0JXe^)`pLF$p?eIryHq#kr2 zG)(;+s5r<ypx!r3yd7F!g3Liq51{%5l>R~HfF`|R>hD0+gT#^J_a#&uWDasT|A&f$ z)FY=8erVAQ5=S-%RE~k{MK{MDNj-8pafgbdtB-|>gUm-xC%H)C$myg3DvoZ>TqJSi zcwY_`2ZbkcI@tvk2bqJc{s@vds0{)O&ofBk$m!<_R2<!WZD@NDWWGF7zVpK&ehw-Q z3I{nP^*5m6AoD?^H!$}+hl+#D2bHlf@lQ~3kb2NuC`{Z9WH2=SOCgzW4jn)MnS(5T z3MvlLhU}gzP;rp?Ag{yBe+(4|nS<<}_fT<kbN)ibLFRz;z|3KTc8$>03q!?0>Oolq zrXIG=3SGSxl6p|mhN(A(ii7L~joHA&{h;FL=0rfnLH2_BrZDyCP;rns$o`##B#s=O zpP}OD=KqC?qni&~n}u#ZZ2c2R9NGL}=(r5J`LR%Okoh31VD8U>ii6BSc7Fv_9NnBY zs5r<RP!fZg(+?F#S3egj4pI-2gQ;Hz6$gnSr>o6SagcgY(txSo0~H6k6FI*0p+ndp zapdwj4oMt2e0rdbD3E&4m=etVGtdqiy7(5*0##`Jh3w9KP;rnuLA?f;Ip?9`=>ED1 z6$hyYc?G8a5mX#xFS5VhLB-L{`3)5ZnFI17%p7)*BcS;j*&Jc0IJ!BqP;rnspdf*n zqX!j7caIfR9Niojs5r<R&@3d(oM5Opx;gPsaddNXpyD8NKv4lRrvoaEZq5v-IJ!BD zpyD8NK)p7YIUAtj=<0Vt#X;&pK?_rV5-JX|7dc-<K^w{-@w-U%elt`Y-TYptILLg^ zm;ucEIZ$zsImqU3L=s0%x5A*tE0%O93l#^M4;ll2ncohw44NL0^Tkypab)uqK?@k6 z>XGxsJn(!vXe}LN3>IeoQ>Zw)e<AA@Anjq~bp8{n9^_x-^tl~8Z_WT7_D0TM2chC1 ze}SR`W-nyj1*ZBtNa~UE#WScly1k#E;^^-G0~H6^i<~dGq2u7_=7>YZ(alkWii6BS z&KE{daddO+pyKG}ctFKL<{;;b9H=<DIW<smbaUFE;vjR7^95*K7O4G(t{$>Z1`?0R z`C={99FV=p=~f)H$Q7D?kkeZ#k~ngD+o%Mx6*FDQfjV7KbCA<vDpVZZo%v94kiU@A zTP0K+<WA)DrU6=XizOc!LB&DlAg4EHs5rX4zEE+HdgSyL4i!hYHyJ99ZcZ*#9Apl1 zdaHqoqnpzK6-PH`5>y;y4sv>13>8N=XFXIL-JG3JagaI4>Fq959NnC^P;qo~zC*=9 z<{+mxR_J^Wx_W-7I7mHmdXs~SgX~34ZwHaYcOjL-kD=n|=D&rCgUkmNv9R*w4^$l8 z{3X!&Cy@AVB=e6!#nH{b02N0!|2|Y4WDc_XTcPuRAn~0@<}Zheqnp1GDvoac0jN00 z9Axu9B8emC#~)B}bn}^@^J*aTK~(`Pd^n-vAoEf35t8^(B=>tFi6i%OtDxc_^FdSF zF!R+xgDKGbj@+N^fr^9N3A)w@rhW=k9ONG4e(M&fI7mHc%>YdO9;i6F`a4i@boEc5 z;^^vGK!ZEbas%0X9;i6FdL5`Z$ozRo;bQ_7M^_&L6$hyYjk&_y9|ILfS6>4a2dM|$ zat2f10u@JBKN~6zQm=s2?^}%|4!Ry0X3jpSIJ!Bvk;IYv%P*kfp!h}ZUo(ORzo798 z8XJU}uZ~097l(K;4)Lit#MdB+BfE18k~nhzeGgO|-Tk$o&NkHjpvz=n?w^Q5TnUu8 zq3Hy<J);8^2bm9AiU>2u8Y&J7XXO0r4_(Iq5=S0i3WJJ+;_(Mky2^%%gVZDEyCSGK zNc}@3_4A<OAoqaggkkOphb{~NnS-1k<DlXobN(Tjvjs^UIiK!_ii6BS&Zl>w;vjR7 z^U+hNIJ$af=n@um_1sW#boH80adh>DP;qqi{!np{dgOc>4i!gNUkVimsYlMIwNP<% z^|PVkAoa-kbTL#MUHwj|I7mHmK0S#fj+{^LK*iC``HLiuoc_6>3+X}ej+{@8pyD8N zkn?F64)H1+;`4BbAH^Yl8%Z45osW^kk;mWOAc-UA-!D*cbbs-K2GgPW7qq4ymd-1X z#F5*j7og&x@JG(Sx1i!6^Fdu1m^m+@;-GLt&cA}7K{u$q$nDq-P;rnspd=47#}vAu z03;5|nlSMQ=z@2UxD`^qi-n4V>;>K92UDL36$hyY%?8563!vg4^`Ny&F!A5e4ISwI zWreO|0GR{o62a69L&ee6%R<FL>Ooxun0g(kILKb)@M%I4M-HEd(2YwV^(f-dC3@)M z^3e4e=<d;kii6yP?0$2oIJ$aAs5nSHsLKL#zduwQU40}}9HbuEzZp<*kUNq6yAZnc z5G0P`FQ_=k9MCF0n7z-S;vn_N@w*W^g^cc=-B59mImrIyhpvMJnS*R^EL0rboOGx- z$Q)#Ul|jWp<{<lPGLkrQy|Wfc9JwC3gCvfe-=83fBj@WkP;roZkjpDJ=#m|fIH)TL z3%4XBaZnKm6Q6=44k{{O;*QXDLg?Y(4HXBO58AT{Qy&QxM^~Q=6$hyYtsaD_FM^7r zhud-_apZ72gd~m}ZsE}NQXqRTA(aF1P;rp?$n|U~R2-xpc^;<~NgUan8BlR_bG9Oh zBgfZ%s5r>K$nkO(Dh@ISS^ZTcapd^D3l&E<=Mz*MWX?q-|7t;(aDl{;+eL;@agcw1 zBdPa-ii6Z6hjSoQ9Hbs}KM5?pGN9rh^~mAh1r-OW2i^Y%Q~wo7963ChpbITP<{-z5 z1XLVk4syI`Ac-TJV+|EYHzx{7966j*pyKG^SqT*fnS-pp8A%+up6x~wM~<(_P;qqg zA4A1K<|D@!6LeuMNW2XxUW9OnE8!3~!XfU2Lp%tFcoGirA{^pPIK(I65MP8td=n1w zLrCJt?GSP3k{VDtL2idALd8Mh4_dtpONRzfaZorTm(LzZ;>i8<G$e84e9?p?j-37< zLB&DtIf)dHub|=}dy&(*D0JN_NF2F6sf#3zoDR*Q;vjz^mnW`JagaI4>V1*Kk<(`= zR2<!$VyHOCoOUGlH{%eWj6-}e4)M)6#1G>Tzl=ltF%I$1IK-Ku>vz%pC5%H{8Hace zk~ng?IvFYsiuYeg;kE)Q4zd?H{j7(IgVaAmQhyvO4pNVtu3kdLLFz%*FT>Ka5Ok>- zNE|u6$wI|J<{+mxS0r)d^cI68j+}mSaEO;d#nIDGBUBt@FLF8Ai6oAk4ktpz(al*8 z6$hDv+#dm{1C5A-#6^(CXFzl7F!6gx;R#wR0u%2*5(o9ov5E6Q*ENB{6S+JQgNlRf z2MvY7!e0d{j;<bb0XxWikb2M%FHF5HR6WT3$mI`c4i}^zWDfFr7|@t7NF1adIbNW{ zrQjXa$l(lX8^hEii$l9FVD-r158Jl^awl?mLaKW}ZD4HnLWhgM_9CY@*!c}0e<8aQ zwvrPhj;tPbUIIuQ+5OOJ0le%C+5MogeUN+5!xOZI4I~aS2RS@JeMy)&vU{N2EU^2L z#i89SusE`Npv`BB-GeKBL2H~~?nDkB*m)Hoe<8aQ+ARRP6Ing9m;{R>yC1fG7GHWm z9!~?!>A>8x9w~o8r<K6wBfAGW41ggHI)epf4zhb-D|jh&4`?hAW<Iiepu_xN_aKK4 zY=;+mc*53sg2a*4L%XwJbCBH+?WSO)2hbce%soO#<rr+A6DZvxmp{n)6qGh#<q0hP zgWQ8$o`7#LhmNZtmy@uS%;@G<fgA%}p9u;RnE9ZwT#yvH`LO*oAaPM7_rt;s-F(pb zIUsXD@d%pYfSC{NzJS9G+5NB`Iw13r!+A8^APbI1!wnJ+qv;J24x{-L5)MPXd_!)x zAlI|V<sNc93!PpAm!HV>8mt}xm7mDsptJNq<uFJbxt@aUtO1qJxY|*~xCd9g4;sUV z*^6AB!|DZ)dyw4;+Ybg3M^+CVMgsd6+5NC{f6(2J+>S*a@50rt28|WK+==WS&=@H; zap-gehI?S`MoQfSnnS^6FQ^WMi6e&(=v+IPII{bp(+FU9BCAJkHzJ28tlfz2e&qCt z9G<w^)u6pF*xZBM-a~dLti1<{cVzcKhxswuQKY(unD|8wALRBPvOAI6d&ufx?LBn& zL%XvW?gy<g289o(y@cGaM^10Z=EL#}NImj619HAV?$?0M5CoYIau2fmVdW&cIBbU| zNE|u*VfzKq(*tM^5y*Uydx&vAEZjiqk=>8njzxAq=sZM_`5^ZoyB~HkAxIoKd_Zo- zroI;>2yG7|tDlM_4$=#2m(GQXqx%=R97b-p!}{GIe<8Qqk;?((b~`M8f!vSW?uDIm z2NFkax5L`Q=;njYc?3BX<WA&vdoxH7>R)8@L1Q2wDUkUC(QXI1A32@C!UyCY<amMQ z7m#}7bOH+pkb2~FQVa4F)W68-1lhmH;-IlOkQR_R$nib{Bna&XA=iVjcn7(M7Vd|g z3j%TvvO7U;133vKjvPM7=@wZ%EZw53UkWk=8a^O1Vd;D=R2-Ckko}9R{6Q{HaJdIr z95j{=vI5;bUqOOU_aLhWt(^l&fz%_%FKEptNE|eL_7=o|V(2n$P?RtnhKhkG(40Pq z2B|*;Vn8uy><+{PiSGw7pcqz9fy6=Mu25mv@daS>VSQeZ9CVogSiB1)0L8F!7-SBz zJ7Mh;kT`6N5u^olt}BQJiF1Pp5Ql*QzHb{O1lp$t^Czr)28n~lHeuqh@);!l1azJt z)Erp)hl#`70ZacNagaGMaaj5XiG%EgiEn_K2NHh+WrHZtUNaC45?=>mK=A=64HAc? zF^~`_t%7KfIP6SG5dQ**fSzlM9R9F#O+f0A!yk6n2uK_`{6TY+AfrIy;G0@N90mr4 z4^SE;4$C7TAyAtZM1#Z^ffz6h5`ek~mUlo>97y7@vpqoK0!ZTEJ4ir+pm;zMhwaq| zNrBcZfoPEQVh{t0H9!JTdsjfkKosm8E0FX`kN^~0fCQlGXF|n5Q~;7Va(qP~iE}~O zAoZ|wBtb&3vrItZu=5T;;-E2eSbD1f2|(=yt(Sv|Hz0{W0{I_g2m=EH=zJ9r6C@21 zhovjf9Xc>^kU22%86bsF^Fj8)(%A+i@%JE&P`m?49F}H4QU{R4uY&}j7<LXONcu8V z3`AW32|(>dNry<{DCrPM9CjuX$ebTY;>hj<HvpmL!_o{$J?#8VkT!l00TKkAsRJsQ zq3S{N>9BB?KoSR~d6>8YlK69^@Yg^ShlR5Nk~qj5n79R!ILKa@cmR?(=xiUTGZ`X~ z#9?_EB$t3BejX$M#h`P3KunNV&wv<E3_H&WB#s>Zu=9#Q;>h9OfMh;$_;(<QpMshV zq9!1Tp9Tp)@d_kyWPfcy66XV14pqMcNgQ_O5J(Dk-UnDIBLnyj6p;7{B=w;AK3IHR zKoWn76kj*c#9`t807)EV4ov(7k~pYRg0=4%p!?rJ?s*Av2o!T5iNo5)ASnSP@g9%> z6iXn9!{)+3QVK}o$nga`2Nq;6a(o#esYfoiJ&?qa-5G!+j(i4g1d=#2$P$oaK<B(6 ziT^<g&kQ8-`$*yiXyUN&1f6FBG7@Ao$Q+nB>|8XE_$!bCD4v02&LpT9h+2Ro4m%qU zB)$Sk963BUAc-S~=ME%s<nTOzB#vy(4J2`7cRoN8X9IZx<QN79h8IZUtVrUpbA>=c zOpJ)LGJYVbht;iMqd*NeXnBQfuL6=da{Ou_i6f^&10-?ebZCJjj_h9tByr?$^FR_u z4z~a#apZKEfh3OX&H^NH<aAhpB#xX8Cm@L<hr<jcag=m|B#x3!ki?Pwy8%fY*}t%R zpFr`2?B4@O>XFTXoi7hkkL=C|Na|7236eNUIzbXgNhe6+pTP+PN`N+{L(>UzI4j@~ z*FX|SNhe6+DCq=A9NE9H^ZP*lMGiOEol+oi<Zuf>G6yA{Ac-TpzW_-bC7mFNqoflg zapdryfh3NSPLRY=(g~6{vVS)qi6i@W2a-6le_?lAfx-dVoEu2$k=^+KNgO4eAc>=- z6C`nzbb=)Q37SN}6zDJlEa^l7N&GcfA%svs5{LC=Kr$Lg;?qF_P;7uCj_h9xByr?$ zb3hVD4mS@ZapZPL0+KkgJ3;3Jf}8*fXIP&C#4kWn&km9V2{JIi&m#i~{Y9$3I*`<Z z`b4mH#RN2QSp78vNgQMjOdNLC7s!0%_}zh|9yuKzKoUnzhp@ZBK;|Ha=LID7$l(dQ zhYX}1IXoXAsYf>F2a-6lI~kx0fI#LTr$Y`TapZIeJO2)(9yuLKAgTWd4SNu!fFzD= zuLF`ea{PKAi6f`O03>nbbQpmoj_hC9on|0+B8OWBl6vHDD?k!QPKO;x;>hltfFzEb z4rd^VBd5a+NaD!humedPC7mFNqoflgab*93&PxP^H@bgsAgM?8FYG*7ka}cuejuqw zb|>t@2atM{bOJi016t0Yq!T1@lyrh54jan?xmy8A966j}cejD;MHcr!Qjd~Oki=2a z36eOne-n_zQPK&LIC8iZAc>=-6C`nDcTPYOM@c70;wb3^NgO%+cOZ$Qq!T1@lyrh5 zj_ltHNaD!;g`NKc3TI^hK0s2BY|alPab$Ob4_bhx2b6RI9sma26~w@Rl1`AsQPK&L zIP6|sa5_N}M-FF@90-Hl54%eV#D~pSg1ULIvtvQxu<=ZgIBZQ9NF2Id5<J`hT{;R9 zW`Nxb3{wvqSAv-d6NjA#3~OtF#6jl3#y$6dO@o|!0J0Z$zA~)u4^j^jhn=Gg8j}QR zfr-P~VX*Nxm^kcwV$hfaOg+e6&>lh%ALd?|dRYDs0R<Rz+#YN%G<?^fiNnr&zJn$X zJAYaQWH6FBu=AU1(8WQAA22X5>_HQUo$D+D?H_@pLGFQ_51oT14m;QR2%0$TTxZxl zC@^zi=R=o3+tna(*jx!He5N3YgY1Q!pS=Q29CkkR9yD>-`QJy8#6jT?Ys<p!a|PK8 zG9Px%I;?#T6Neq#3cF7QCJsBV9Tv|paoE)pHPCh-OdNJTI;=em6NjCT4!frnCT;*- z$hj5C9FY5A<D0PiS77R4=cE5YQV;SM>>OeNXnO;u9(K+>tQ`mwhfNfeps9zQbG!mg z9CltZ?A$q+Ik5BipCYLTxgR!O32W!T)WgpEhqYT^;;{4nb)fYiOdNLJvni4|$b8uN zBkbN6nEDUUg=Q5<>OtWHJ5Rb1NgQMj?7kpaI{{`6>|AQtd2ujt*tyrR`Whw<Ki?W! zKEuRe=WUB3iG%Eg-A81BBo1;X>|Ai<J5oX7u=BhVk<^3CfsI?i>N}XduyeszAgPDl z$p*@IdyvFoZEBD>teygygM5p}6D0MpIc|`8SbYRi51R`Hi8DgWGmtpQov{0qWRS#R zYj;8FRguI&>S6aRIUtF{=JG)5VfUQD%!idbDM;$mKnkHa7fBpsKI~qm4kU5J>FW#( z6OqJ0>S6aatw9op&4q!i*oq_$QV+Yw=>n2CY>g{OJ?I=)5Dj-fG(UeqQV*Lu2C3tK zE(`*x2i>O#5(8mDByo_vu<}a>NgP&(g48=8i6c$}W?=9{5(k+ByFV%gNjwi^02Egs ziNo#+14%U^iG$36-8VG{NgO`b3%W-DNgQ+^B*+X9-iag*G6!})74rFnusLXu`WHy* z5w|%oFnmN32blvaPkEpVSwP_lTay4XM-)jMq#kykl>w4CY%K>!y$h0f8At$%k<S$b z-R%MuW&oXI4`PGth0TqE_zg(rAZ}q}VCX~=2e}7!kJb_-aoAdDkU49S#6jv|_iLR% z5=Y#6!@zJ6NgSjecJCJGJZF%3Aa^3)$N3daJ?uU%0np)z&~^xHZ39TZB$7DDd{}u6 zyC)W8ejP|56x*Vyhuz<mfFusPn-HWW6G<FoKI~qv79?@lTr)`h3?%VJkN^}fL=p#? z1G@+82$FacR4s@)izE(G54#`i1ClswO$$gpLvcw_UUEStLvCs=h)Pc_Dap)D%}+~7 ztYnCf3NEoMNiE9F%u6guEn|p}O34WTQGSLdWkm&f@lJ`wsm?ix#l<F>d6^}ySfvcj zic-@vi%U|A;)_%BQc{bGq3R65MtJ5Xrl%Gen!pv6R2HPdl$atZ3CJ%_#jecA0IUq| zn9#h;!qQYj)8w4Y)Vz}T+{Dbhoc#O(h_$#B7pE4Lr52$nHnaen3~^(8Fj$ENnt4V@ zN<ePJt_;<rpw!&_l2n2wVO54|62wi0W}u*rPf0CKF3Kz@$;{7#dKQP{aH&U+Ru?0v zIaos&EUQ<Pnv<wkl3G!s7a!$^>Ntq|!OG&J{IG|-GsKFJGK2U$Ba?WHl;vUwaRP?Z zK;kHtBaFZjYhYtgl%u&75|Eh6;HDbk2un;Ye)yF_!wPP&A#z55m<CniheZlGxDiI6 z_!t`O7y*RlV_eGMreb;nmliBOMpg>-4%}cv^n8uxYpl}oQ3(BLrH_jNjx+)iM~QTV z5hx)BjeHE{Xd#A68QfIN5W}SfONb#W#RxH!Gy--fR0&!d0ZS2|Mlh74`4}3D7|QVY z7?&0-K1Nmw^$y%%%rpXa1XP(H4r#d089;>*dO9*PNY2kKC@o2iFUYJ&&52J=%_~VQ zat%lc@<z#NB_$;cddc~@xv6<23<aen#SHOLA<n2}8zi<2;?c_`uu@#<0EcoE%W<he zNwAQR!=V(@cD%|lf)cy2o)|vW^C>PVV$k!^15w2#DXB$8Am4{!3n-982rh|WToRtR zB*HNL2#FA|J@_Pp@kx5(lf;z(kh3PpdNg(Lut!%Hh7#={ogo+^!5AW*s3LmlMfs%# z43I)DC9xzC#L_FuX8^ZKQi}2m3Q|+za}tY7;*<09@=}vQjRS~edOoHYOaqcyP)0&4 zZ=H=?1H6+1pb5trVJ=85vN!Q6#FC)#smF{ONXX*T19c&!{RV2B;Z=;yL58?}iqk<P z>479$sJpyVf{o)L2z%&a+6mPUv6GPgyz*Rd!HD8hhzZapVNz;(W?p<+QDSbYYY7+x zc$<TI1Z9aiIJKI9Tc4?UDI{t%HUw(~HU0DR;!BG&^U~wfGK-2!;tTRK!9{a1$O!@7 zC0SV|Nm(T&gxz9nfN5k>VsR=3CKBt&45~Yl1QUsMWE#~SNxX?h5J#qD7AGebrKCbr zOR+0Tw8ke_B*qt%7Ny3QWfql`Cgw2c<>i;8>bd)c>K2zICTD|Ep*L#15R{spnV)B3 zn39^DpOPA1npd2hn3I|kkCL!ZQb9mT7C0cNV^{_?4NJpg7^v51o}7`GmzSF3ngwz^ zYCu4;GPE#(7Ji80IWsd8rxr;0L5dbblj78p_@dO}{G3uyrQ!-P-q09a^OWW#m8PYo z76pJRie!+z(0U6doE(rD;0>0*(J?f#07V~o+#s>EBtIoJC$%IsB|alDFC{0n$Tc&- zEi<6Z&>U==hohg1k84nXW00e-Yp_9lCbU9?wHCb%Ey3y_6+yf+Bm~VMZgC9=NDctG z5Nq4l(6l6@D8Hm6Clxw;;hM=14^E_zqB1$LBsl{r0xAI^{Ir6i%)F8`T)}N<n3$3h z4~xhE@8n>^__VY%kopj`<`blngR~A%ifx1hTJs4Zf!2INNMLC`AtXaED;b0&mgW;e z5=-+5Dw$SZlv$FB5-ah^If;4c@yUrfIq~o@CXhd!G3|$>YlC=b`h-Lys6NM`9%3sF z^<h{|3Bf8Fj8)VVi)d(Gd1hWpd{Am}X)es8sTq(8kwGs#IXOPHB0067B)%juDJPX7 zKFSa>rjk*TpO=z?;OCX(XQZSsfZEh0iAfB4#g(~Wx+ovix&tLBT)|@r&X0+C>8Y*( z-YLO`@el;kf?7&ILdVz;l9l4o%j5Xm)Z*eqkSW-*7p8HL$T2d38V7D`g4&U!ngel` zkr~t+q`@r0CSisNC8l8uE+bfQfl8(PJi<;wH3Sk!hL%vz6@Z#L1j8BAS7aH3>Jqeo zfs|t41|O+@f|>-2cu?s_mN^hl85u*v243D03?FPBGlm(1=)%N<QX{AvM99F9Fh4^B zP~l#Yn3P#&Xk-u{Uz`alr;3Z?LBrDVnR#jXt|+A#_90JWgVH=uIsw;S$O#$Z#Uj^$ zvH-WTV1syA(;D4S%$SD+HpK>G3o@jdmYQy*&{%9PH8w>KSG0B{ylDUnTqDbPNUiVd z=<XWi;u-Ah806yW;s$OcI6I+-IaUje5z$Bo>x_{72eLUo57So$$i514b@%l5BhE8M z2+vU6Y?OqFT&AF>cq0>J=R3K&d-{PRgh($S8ilm91SypvN;M3h7$N(_)en-ei1Y_y zQj8o6^fU5vQ}r|QP0S4pEe!R+sXRTi1k3;v@sK8xo->2HvolJ|!`u=>$P81+6jR99 z5<1kUXN)On1eY{~vn(0(AdMEi<l+(w3|q}Hg-k7AR+zw9MsSuPoQ0{=9MgDAAu~)N zQ%oTfbGRemEJHX8Q@yzvhTW!S4B)X*Jum~*l+!c8RAmfO1(q~2Lk=oKxHyOf4Z`A* zB11h8A3WNshiRI*DTXu5FojG_VV*O^lr(`$8o^nHaF!{u8%;1Qv%nNGHGx|OXPLlR z#&DJqoMi}SVVY))X(gtR8K#h_G29h!mI<6?1ZNq-S#XA_5lpMG5r*wXa7hHq5Fy5( z=i?mUX>1X12xS?^8)BGYfhlALQV&iQrkIi@a7hHq7%pZ6XBi?`@K}SSAZX(S)R)k6 z3D+x1P1B2yPp_zmFGwva&d*EC$t<aiFEhY!sR6_nMwanVmIaJq3}>0ch2RWh7|X~A z#xjV<G~EJI$Q)!3Bpl!@6FAEl&N70t3}I&vfY&vUNz4#tfNk|eF<}MhkP-$4hI6n3 z5umcr<*!g41H)xD$eL#8vO~ByY`yO#<VB{SeaUbY5XLz+$Q@-69)eT=UD^cNzXClN z3baN9v_^#kssy%Qr9&2CKj<zks1%q|fG)B_UgHFkfSm^cqtk>T`ax!c<Y9OMRDTc5 zLZ}3Ec`KC1z;J+*fdO`w5L^(n&jz~i7`hCF0pxzrIT<khFuGU>Vm}+20~DZ(+MvsP z;6}sT4HL){f`%WO{so}JY#A6}%W1*(gO*&vyaNkA9XW{o=;5aWwIAkAn0+uljK<}E z6)gS--RB6?2cz!_K<r2NzX8;KPqYMw?*AJC*!_P2>VMc-2%zu>g(bTGV`U)rqx-)B zx=0Y+KA3(Ojm!TAQ2)c!f$RsZiHG?cMo(pi*pKf22~hjdqLl&NJ-F<*z+yjWpCim( z7`>AfyZs9&wBG@X{h+nrFneKi5f1-vpwNB~EcS!;Pr~el(bI7F{{V&d2SDvd&i|lu zW?=Th=ub@8!~X)*e%SeCu>6M}|8JSFr~eAjW_1Pz2H1Hmp!5g2$`qC!Vfi0d`ia5f ze$aV1Fn7afF&yEi09`bTR{Ue6UqM#v?&kn)N@QSQfSm^eazE(aJYwCSfyMox^K)SC zhS7&{gnt9n{m^R{V8M^!{(U&Y{{+<i$l(t<>yB9Wmtb)}=$s#zyJ7Tm7VPQg0o47_ zVic$QAF*H${|L~bDrn&kY6=kR{st`W2c7c+b2p5Bf+PP2Ko?iT&M$^}06qQRXU6V+ z3D99NXz3qxZw#^S@4@1J(0N2Kcf)87So;U9pk4rVKkR%uT<&LvwSUm`uYkHAIsJpq zASBlPGqAWHbgmK1-7xyRB=+<J+wg_F#}DKO^zc6=i9P%?K!-yyFfhQ*)B)vR&^dO* zx_=24_k+$~g1H+;7vgaL0_b9U<hAM8+@FKP{SMHLXRtjPAoqi=t|Zp|8?d+^bWRk^ z-7xyOIQH;YfNlyP6#kFIv4{TxsQZz_A9Us`vF_i4#r>f3tYGej(Uv&ee*o%!Lg8<M z!~GSYLv29kvVbCufdSlp1>K`atou)3aX;wXEttDu^du?l;qL(5WI-tWd!?|4{|%`7 zk;5N!HXgC=zk<d6p!30C?uOCYINbjL>V87uuZF|@8$gEyp@l!_4gq4_{{V~oLFbsk z+zq3nq_Ky80(3JAq3{ot#vc9xphK+C${)~Ko5Z^R4Hox<&Rc`I8%BS}5&p1)_y~pn zCmiAb0_uL`@&|NgIkE2lfyMoxz7WjaFq#QR`Pl&NI1>v0zY^HP-ve|g7+Uy)&Xy+D z{Vbruo`Hb@x%~_}zYgYZ7(Gz}d-_p;Zek)7{yjL{uK+!q1v&gdXCV{oegQ1*2c4S- zb2p6MilhCr0P23&y&%wH5TpGGI`;`|7FzqE0qTC__9y6!WMbVfgT?)z^ZmefF+k&- zfq~&Bj`lwTG~ki<7J~eM-hQ}(qx~-c-Bgd<{sG<bLah5WpzepM2i4!8a}v<q-;JaF zTmW@HTCie-Kd%0h0T%l~=P{t$zaB^Xv4KMSEwI=RI)4G({uCVkpFpAg4p{65o%4Wh zKj<79&=3#$_{RbY?e~D%k6eC$>SA>JeQ@Nz4N&`G=iY<TE(oKiUw0h+j|<TBi=6*J zc^Q@-3H852u(%&|4kfz#LFYzc3qJ<v=1bVQvLLsEFuMD*apb=Q=;0E``440kvF=a6 z;(pM%mFVu5#1Z}pQ1?TxT?IKEjM3c>IxhiiCR#>SfF53o9R8rI^oVtT4i@)=&esIn zg;f68;wb+PK;4hLM;qh;boX1}2>%UG_alctXe@<T_g7$X{{<v>!~9`~BmWyfH{-(2 z_W-#agwfq^iDUer0D6cqvim{%*ok$23l{gE$Kw7Z9OdT$sQW=}evrFi7~TD`IQriP z(8D}oXB2|!4^Ul3totWmaX;uhQCPUcXe%7;mjdYKX5_PIKz=}XzbUTv3-s_<P?-nP z2Xa4XUp=wzpM%BypmR@Q?uOBQIQoAK&`sFTVie>AFh+NOCyxH#52*W*+h3p|En?lj z0*m|k7!mCjnESbLr2ht}`=QNfu-icdy8GF1r2hzL!a+{|pe`}7?%#sN{h;$=VeW>} z`Z&_R0(7(cMv$YCFuMD-aHM|;=pklMZ-D#Xpe_Ni?mvLV{p+#hUpE}%uMeQ^2i>KP z<a~_wmm`kxR}Sc5fXL-Ps7OY4|08)w{{b|%fNakn=%D}-ph+Vn2~b@N;=<@NoDluc zV|YMPV5|TwI5nW>NPq>g%zqx|M5IZW8W24L>i!oZARc7=1C%7u-M<3I{AB=WvWbC# z0n}%Lm;fQs<9`8k{uJH+4A6q-B19XUgz1O*A6NVL43_u@1qm$O!su_%@MlJ=zi&Y8 zhxr%g0CfIGd1&~d>2ClvHbL{SP>rDS4|LuFOh2ssCCLtnKlHiu2T=QA_fSHO0UePH zX2Sfxm=B^KEQmz#As;S=Bo5OD6N-VvAME&Qm@tC?R6hqVTnNm7xgX47U|<LrhWZ~S z0HtR@{VxDbzaamE&TD|_hxvbjFyt&Qs5Urt0~&uG&<hYj?gqslx_*5la{~n=U}$P= zY+z(=VPL4BU}S7+VhSY<4Ghf8OcWGMjm<0|$`iQiU47h`U<Y=A&rGv}hcDbA3=9lA zkS5q6>k1qgco`TO9K#*Mf;~I0d365nH1;^|40fAO^1q#+#O2fZ!{hrykK@Nd_j`Hp zJN^I<NO*KQbGWwtuT$`C{Z=CF+xmYO$YY-T{?|PYK4S9dJnqx^4XiNQG0rjmFldiL znjXJA$ma|U9<AR>bUeD<IXqeqlqfgbGt|i$o=ii?cZ>9OigbAVKj@Jx?qPYc<~^Ez zkb50Nf&)A|zj=24_f1xF?Ns+X?hbagXEGbu*;w4{+xo<_)18CA4>W$@+3m;S(Rz}< z1#}3fWAh)5Vs^tzFF}(9UcDj<JuEL23wZU4Eby>ARR)p(UG3}B`N*UB(GQQ_s2?7k z_dO22XYMU$Y<|Y<(fnJYn8)zHN9(uJ!k4oc7#KWy<NkYS{x<xd#xL)}z`!rSvXfuH zXQu$aAj=MZL7yE0`~ogJ6+l7;{DLk!6hLAIATbA!SO7@O0VEax5=#Jy6@bJNKw<?R z&Bqlynh&#-t^kFjo=0!Y4grtenw<h3-|xZfbN|3Ez|Sw}{DEJP+oSog0$9)gW2H}h zEFYEdb(>7=G@0P>|B#R6qnb}1%||$*9b+Kz1a_}ScRhzk>;Do~@Yu)U35f9i?%Daz zv%3x~%L|TQ&*N_3aQ97CckNX3OlHRw`ktL`9ImZT`1?S!ho0U3kkAKRaRCkeZ!bYZ z?N~zp+e=V`$*1#~NAt5E9=&n!&<|&9euNbImr9FYf|?l~y-|?Rhov{#h5w}zl<>cW zKl~4Y!v9$bU$@A{PLT~B|Bv}tKCAiU)A<283OqWGqXaCN^ZHgAQvUEsX7A>6v^-Jj z>Dqdr&esPNnB8F<h9~*u!AHY5cC&O^vvif4dHg@<V|lRVJxCcO!-17`n{-&4bQQ@$ zr9T)RIBa;p(eecU91!C$n0q*F2P4B_h<^+Zw0^7Lvox>c0%zLfbKNW*hmqXV%?{3> z@ca!*FTswT-#j{hyL1|N2D8A*6knps6j8_j=e&AFwt`9@!*8(gfD|NH)2B-}pNlnr zsl99K$vP{aZZ{6YOD>%!JZ5-U9;%gp%{8H$4Z;?7>}HwZ(e2M+%`&l!t&?S<OE<sA z|3jY12R$qg)!aM`OD|yedvyNx=`QB*NOop%{Lj+1A5>w3<HED^xJR<IW2Zc<$bqEz z&Kp>Y98h@!Dk0@tZ`VnCwB81nk{<m2m(fZ|pUxi;|9NyC_UZf&w&yjoN9SRW&ih~v zm~b`x|N1He1H=E>iy9gjn595vIOv$ITt)^4M$ko0_Mk!-RN_PE|FhROFfglwT0WrK z4|Ej`SQ$tUs19cY4Ftjm1|WJsy5ShS(@LQ%wWv5VKTp9_&p^*mL8Bxwy;wiU)yLH_ z*frkNz)(LeGcPd*G$#qN2&9*>Du{uxLV!`4hn)j-zX<3KJrD-Tf&1}Jd;(5<5{`Td z%`AP){Y;>sh25J6Yd@(lFfhRGAdCVz4Wh@1Pr;E-!;#ORnY9P57uv*RfZc@*vx~7R zzz6IScF>G1gEY)Npffu`=7ZeR0_)4*F(20V1NECgdO+@l4l6J~kD-LLr$O#yK&%4< zxdU{E7)TFj%!C1A2a3N<pn70#2bt{w6@%S12XgBbkRc2V44~!&C}W_T1(F771Fatf ztxp5-apCviw*E&@*^8pY2;BH)VE}~>vIOLg39zlm!eBNt_=Hn16NO*~-*ku~!~nWW zLXipNLWnrH;$UE4uw-Ch5Mp3r5CA1is2{;97$M@Yv-4r$aUCii0Cf^LY#A6BcH<BS ztrr5B4?D9T7S^CUTd|2xhnfTGr-9r7OOt1rAnt+P#RN{53=9lqQ1u|SAPi393=9mb zai|Z)p&m3Z3387Bv<(h(Cn()v6YqqY54&>)l$JsEi$TK^b|(WkS{WD^K11z=-30+l zyJ=8!Kyx4<{UG~5G{}BXdIYhNF(}@!iGzwCY~q$k_f{aABg}-j&jMLo6^D2@Gj{c$ zbdSwmP}dKeIB5PJWFIK`fYw66?qUOt%fiIv85kH~;?N}+;1rFlUJ4pdAag+d0GN8% z-96~yiAd^^&6x;|Adq@cnE^9r9+Eg{%@a(#8Ke+827qkNLL_m}8Y7tcT}a}{?$m<j zH;^=_djeA*h9r(`ejSoHa`;R_5(nMW2Qz0rk~p%zmLQ2E`wJBIAPkC6IS>PiL4E-- zLBR)dD~Jukp!yF)!^C0v6?V5HOdOV9VdwtA#9{diTsuI|`a_gX3=A-RF!iu}23=AO zF8QEd0Xc)=4w!`W13~VD<tNzK58ND(Bq;ts9);Qq5`yJd*d2T@^{{ddcGnn899EwB zpqT?JFJWiy!qmgc*Gwe!Aos(|d+1qy@Z<VY5+SGdc^g3vXYonQEyyn_3CYY&EiOsS zEift0tV)F*p#|Ac4^`oulb@VzWR#wYQ0thN;+RsFn3oLIfWt@^$gysI&<*;?=E0<J z=`_UY5*LsZ=ztr@fpds6nsQTfi&IM&poigrPNBi{hIvtHa%yH-s%sFgU|@)kf*g>N zmzay~)Cn98b~bX&3;-X-fJ=cP0R<+>`304(0p4Iku!I=M2FL*gnBH<WbcG!2fXi2z z6-1p_00~w+JJvyaF~B>~iy=GG<D>j=S(#Jf8sr@u585h@BS;d138`>4BB;U;qJr>d zIONoaWlJ39UL(-{8SqhJ1oz26iwcUUFeXG>6WJgS=%v80v(901&}<LmGJxtekQj2A z2a<%9t7}1p14sah(d$ys)&Nks1(k+Vu(M@hcL;*!jzMJ*sNDck1ge8Tv<r018YBne z!|(^Fy`XcVVPYT}-L9Vu*!PTZKrI5<3(^OoL4JhkhtXcpIaBm8(*TfS1_szw6(A$P z7-}q-4I*4|%vqlRS%@@d3gUu{gz1O*A2hrI3V-x5(+H4a1_lN~W2Ua4ejmsoXt)ik zA59ozOwbAv{upDXptS@by|B9^L2M9)xgW#^VN-BF0>nba4?rGfU|`4qc@Dbv2y|>Q zOh3&3aZHf95>+<?g9KC|@||}eFF}PFVEVz^SA9!MQY-YF_44%<;A5u7*vCwb&CCoS zgQmofnKE=BTnEV)4h%A|F;kDu%buP8Ji5W@)uZ`<fM+M0XJ;ITN9T8NhaEIj(0ZG{ z1=O&I_2fOenLRr1`*i;MAE4pb=_UZ;_kvb5GI(^}{~uuB*y$#MMN9&Vm<$#%1uSAJ zSj052i0SyY{x9M6>HH5KivXog1~BU|zdQqyCp|jZ(MAaQ<r(<7(Z+b8V~E@y-RvIS z4hn|f{y#t-GYSp%XnteS`PHNIw?}g|2SbUCN9S`x$e1zz+0Gml0gvu#4zOks6_0Ko z6%LnfX9<^XZvl_q92J3mpgf$#82UfJ!=w3#fJgHYi|ANn^FhW7zzx?&7>>nQ8IZAt z-?A997!c+OM1uyk;A2{(n5RI5d1U!t1!ORB{wK?P4dTsr3=0l`B!6&9M@k-`JaF6% zd{2l6DDiIv4TyI$J9d|ecyxoioQ^xda|xha@bQ0ug$Gzt0-vM|PDzh$(9jlxN4Fs) z`}lNoqpR&a=F|Dn@qZx5B9fGY2gc(LgNETyvp94FoE74A=nx%jpb|1>8VVXjbPNF{ z8wHQf-`zPX87{rGES|~7J(_>~gHNaUL#9(aL2fKj;c)4!QDK4Pha8{Y6qNvv-WnAF zXtwa|4pC7632=DymZ-3Fz64v}T%*FmTo%#oY{Gv6oKHF#J(^uqI9QrpR9ODNQ+o&~ zL;0vkxO6+~fMVID^IsODV;D5O|93X=ftFc@2RxdOC_pC!Vh_V2wwuGF*A`S1?gMQk z1&?Ebt$#fi=5H_;9J8<YrcHpPKTrnjc2Ozl*5E(eTy4Nu8gSehT-$;D$ln5*O+#c& zocSJSx_|8qHi)Rg183p}`xsJuAm*Sz5eF(ijypqAGPsPwUyNX8d$7p@(V+6v@BpYd zK{mhhcXPD?LkTz32Ezl<SOOc=1VRez%W1GN>QKk9U~uTd>mH9zW^in`{^xJG3C?ru zh}8Z+z@YOeSQ=Cu!?Fyxx;X|F?k+~ppEv&pIKU;*^CyZVdj3R`M9Gbv?>stj$+>_g z3=oni{%ZYSA|CA+7YnYFU`ew1fPhCQGf4Qb2gq|MIzW{NXbKCQDm^;iLuts|3cox9 zr2P5~6}}Idfr$f~@7Z|_R$0R`McM?AdQXrGe|xlEDmC?hRM{~3)&nI9$5}w*v<!yd z3@;g;bTvHSYIqVR?a_JYHIv~baJ>(y;!yqI0lv)`QYbnbq#bv*U|`@6Kfo{O9KbK= z42c6!w1O_-_ULBsE>=MaRdASEz+*}SpQHjlNgdph{{tk_S`U<Pz(NLU8%hcTiTQN% zqZk4T%bVcB7h0OWW&njRqC7<;+Y(55iU>4FWI@VPNcjKr=yp+Y=w{$Q;b`e*QtIt^ z+zniucy`A*c(mRwk$~q9kX!x>dvr$&c(mRw{pi^p7XVV=4$D7i@~`zkMuEoLU@B$N z+cVW1NalfaHb=B$++paPTQJCF1|XMNx|@_L9Crs_wCvFx?*Xz_U;>(bpxh3!0MWiU z?hd{R+@m`_0;EF@B#Si1Mo2%Tz6piYI29hC!o}o&i6GdW6`;~Q7Bs;dd)TA5MFljj z)g2(w{ELUb6||S$r+bMCXicMQw~mTqca91R|5<RpaO^w|s%`}Kffnq6MOqK=w}N*6 zf`!2%9<2xXTjUrS7(BW?BtW%ra)5|O=X0=}OSg%NBmX%U%fI}sDvS&aj{Ij`Ex+=& zg2uN%_Hgi@?aVewYp%9n;BN`~|Nnn;wE<IUMDySOB_+^O5nR0Ux0wF_|DT9@0^B}? zHVr||Bnepi@a30(|Nnb*M}s1RzvVfYgA$)FFaP`hAC&PJ8D5?MOG8SNZVPBm-wEo| z7#;xo>*X?J74V8tmw|x+QC7Peegk>Dh5i5k|F1P+`5kVatKm0~-VhZ5sF7f$cd#0p ziel_bt$+Xj^UE`U%m2nVp!r_U&VTzsT_dpDK#dhpn*lY>K<h5h;%q9oia^9!Z;c8M z*o5vJ6&`2;;6K}`&3~fPnFXvD-VCXOw98>l3fFEo5!Y@%fqfuHWHAOq+Z6DUqVWjG zm5_28n(q;<3DiI{eEYf$Bd84DB8Sw=Byd`Qlnr19zn;r4&k)dDZ}Pu{#qdDnVXz>G zfjnmpYL0>HbkENJFdM)fHg?D6dIN?MHs9WIj@Ma^&}``0T+hK!VuVO@o}m5=sP1&| z@aTs2NL;(!Wn8=c1)yDr3!t6|$QVyZ9xfGmErnDbflHzi4oF6R{ob?N&I44Yp8&@L zyJL4bYN77a`SX8(1Jqi_?sC*p9bFc+SVxydE!SbPcHrI>Qd<CGnLJwg4N@KqbqFL= zK*9~QLPQ4SWpE!6TyvrZEL`sJYbNwk-?Nh)Y#Y3aMlbcjaRn~M3>Zoik2^yOM<QBb zSUPjv(cmIg8aX{cq5)n%fZdARe+1Px9-YLu4-5}9*BdbLPdNZzGXY9gXnbY_AJlwn zepBJu`46-{z#iuP&cmHCDm=}<|Cgr2ggjaglsdvf7G8cB-Znho)A<RU)?eF#^Cxna zFEs%Rfu%vKtUQs6XGB(yQQ_e~-Fd^K`A7w*E`!^Gqf9fr{rVDI4Xk7|yp5baUvGre z*YNf~xJ(b}&NcxR>siRfdPx!@d*N*QgNt-fS&rW2f2{&7&r78F<sBH%;`22dq%emK z3`_`yRmGwZ_o1l=clMFf2S`0Q)exy3T)udAUi0ky?$P;sKWK;w9QZz+6&yaD1|Hqs z4j!Ez0v?^t4xp7a;5>5})^&o1DLmXkTNDv>3D_jV1Fuga`VWNd^MKmtL5zK%t{sK; z1wic!AjUouluC^(|3yIUiy+26b3*ok;v3vTBr?81>cLG;BGn_c&l=x=E_?LoJnaZg zE`N`^f<z!qepdmH<F4QtPf!JV_4oh(ovs=#ouxV+pw>SFq?6!k;M@8i+(U3p;1_fa z@Hp-Yp8PCH@afGJfHqk?JD-5ci02-iw_G|uLc;i);Uynv>&&y$l>t;V#353ltH3db z6h@EE_dcEf!0J63kAPf;+<wHU!9g>-;G~107^O}?lw1c~VCB{VjPwjzGv;v|)DCBW zmw&w#j9|xjf>xDU!-Rc0|NDUYV~4<U9^KUf9^LFdo!|ZkXmmP*Izu2nG$cU1UuPSr z8e}n0*9u*o3l?=AP_gb}8<%d7>ELlJc)tr|M0c?RZYdXBQXbt77Tv`jsM6rV;r|0f zyg;g5M576GfCV_n!F~r5FMoj=u!!&kr#Da~TH)Dw9nx_<?hJ}c2A|Gq0dUfBmH^ig zDAh&{SO{z)xMdGo{f@or0Jjo5vo$=9JA=-1U^wn<0!o{{t=}MqCxCjd9><*_=`sg2 zv|JAgMTps;u|H@}7*h8*#$y|6!e|}#!HY_G^@G|v%mTFzv8K`2VsO3iVpa*ISa@0R zAJn!6wN}C71D>7#9GmMn7)nwhjWuWo)v?=8q4lI^cb!C?uHkKH|IeeF<vu7k3BY0v zqza_Q<Nsj~&;rB5HFrQQCP*LGv%3y7W({6PD;4bs8FzrCY=~v0lV48*)yYuvLG23; z21NS-9KVjx{+@?t=O4%B8Wj!({#MWuX2;_$D&V+Alo_6#E-D5fH3|&;eV_w0Tn+yt z*LR-XE-DgU-7-Hw{gN6L0dO=qcDtx(@So^(QBeRfb-+yUY(lq(hexN63WrZOc%(i@ zMFO-W8ZsyX8&zWV>^4yWkIHI*y9VIlk5?X@FI_u7ICdV)V)W>BQPBwaAEF`wYJPeC zKkk|AqN3nwd7Qr|_y7O@p4~Aj8KAzf5P1FprN8FUe8dB(R7#rw4j;7k7Y9;%tJ_@x zGyn(hZ-d%*kj2cP%xn1Ve}IBxx0^!ifjUJ{oHBTJyGeL-+uZQzW(P}p{6FlO?55yh zdAQ~YC{Zw$`Z!v;@szqbLKi@LcE=@v9E-g^fQ>4M;~0N{jz57KkD$I919JLfEDdz* zcH?ohc2g*IN4HK4nm*9lGbG!GJv}k;w}KWwdV<muXfh9!3KUuo@b`hHenBY+9-f0R z{eV(C2cu`VkBWw8r;myOe`^~91B0WbiwaMP(M!-Jqo5Q9ZsZl9kI%f0L+AtRDD?$r zD$ocxNEbM&rErhWfYgAS6FA}rBmIKf6JV!cPd^y#Q<V6!@aX&unuvtYpgDHCLGrDD zW49Y5+kz$)eY!I|e7bE^e7aLqIH2_)ID>)*hnYRQ&A>bjAJE7IBG3Nv>3rze`2w70 z9fKVIUqy30sQo?I+ye?vaN$8tcuIJ5mZ%7LcK&zmE?02uc2{w<JjUMxT6XGj{3xiF zdkNY?2pXY7q<_s5hL;S#A@%olzI%4+eCf^+;Bf5B5#{jc))DaR%n@bq=+61h;n|t< zg`+!1Km;Tw;?bQWzyp%x0ZD?CeG%x+5l{e0Du5&<K#~$5Nf7IcM0bvW4oFf5B&h<D zRPks&#^TX@$iUO`Lur#o>&cQ(k6w|jp!Dj|s}tnY`O1Uwl?USs&t9D`9=#^tJ-**W zalc2moJVIYLw5v6XB3A=w}eNhlt=R+9*^b&JRZ$QIXs$=ad`YcSb76oFL-v>7k~yY zTIVw`FuVj26M9`3m>fIZRXmb!cy!*_2^tClt%v7#IO+l0(9n4VBm){p!;m@Z+WO72 zyI!Ks!n51Gz_s&(XK%oNm(GLD51Bohe=+kn&;9rRzu`BJ)|33Ls{jB0e_8tfKdAab zw0FSHiAU7mP$xpGY~Rjw3E$5A0;Kqa#w35Q)Bpefv5eh&bi-;v&u)JS&*Xdsk4~1C zh;0BKorgWU-6cG_d0u#Qa{F|GCaY~;pbe>LICdTbsq#$rSMcbzIe{i^05LioBzMuH zTOT^|0v<DW?fmdR)WY$<y8@_x^V;w=11umhn=zop_q#ylGdOm@1bE<A0=bF=MK>b6 zK>bI^9;$!7-D<wwbsUb(^&E_)9I)*Np2_YCpe7)=u>f+X;cevhf{(Sz%@Ph!<HquE z%_mEwsjE^6*i0eloFjy@Ui(2y9K!=1o##7mft?8o9FOGN;F`Aee+egC5FBE?f&U#l zL80Sw;)h2k&kfK}2?wm11ok0(=aS*=m*t=|0jpm@{tL$2A1A553Oe!#;T5neN$ro5 z)L*qiX_%5_Ujnp$oB&Ec;4TH8@diW6?aP4LmqCnu1pEIe^+^P%a_fdnT)1>AxO8W* zIP#xy<Ui}!?Z(mkgV6_6T$d;||6neWY5u{)-wN98?An=T;M$pI0&SR;+P?O3wN5iA z65wwI?fG-H&NJcf{mj6?08<Fkt`1dQLSX&{)C>dlQXQM?Kn?12Mg|5~!~YORxpbze z@POKnh~~5cI0iuy1}>dBDkh-CH_#@uglp#;P%9c#&Z}r(X+?u3^#wpPE1=~;$SrBt z&Zm&Zv`=@5iU7EF2DPXyKrLzwm+ll5@aQbKS?vaCRj2>||NrG~P$LN9Y|uoI;aenE zBgzMm`#rj4UO>77_}uT)U8AA^^#m#I|K$Vf2|RV}{D9Z}9{-O*8s10wdqD07XZr}` zf{h=v#}ZWEgBxY!)b|#hXF)5uK)Xqih9pmS#;6E@2PQ>4yV)RZClwWs?i_gA$*1!> zXlUWEXE&Q?w>g-H)OPae{0`bO+WFG4^9DF}u(zEc?R}K=J_y_cSzO?vV$jXOf7069 zpwzM3frbBswX;d7IdmWa(Yf^KbT;tlj>gm80?l_~)?1(r7rWr~*6Za+?P+NL3^c3i z0CIw(wVy_5CfE&*)^0kbagN=79H4H|{{xPlZamFD8B4vvJtS99)&w<sU^!U?oIXhG zAAwUD^87AV_dvn~>>e}6<8Gj)4TEQQ9Jn2ifBqQcNKpBKum@Z{Bk~_8J%c+CxY9Ft zAK)GaW>87W0A4=`@-&D6Ivy5$>JTd<0|RL22y_HJBWTkzd;u>g%n|ztLCptHgAH`l z5+kT4I14fggkkDH_JDTHtYKha0G<B9aGQaF!55?ggf*b{n1a@$>LPFUf$5*az$^vY zl?HMRXr~GII6Bba3rIV||Jk0*pfl|lpnLThzzopZAa9TXii`{lpaD_v5$35-yNW<| zWnr@mvNsa61R6B8^$)Zk9%LnGGZ5G|kdYw2KW<=Pjs~r-0YzIqNE9^K1zL;T2;zX& zY=RCN0n31#0NU|V3zBhQWMF`8Ib)a&b<YZrdlq1G4<WxJ+zVPG3yMHS(CmR9*s&nj zgBh?rpCEq?ggVfE98ekotruVfjX%nRf&%0;2>pLHD2;%2#DUg_Ee5SD28A5xs6>z= z26ZL|22gw~1j(2%F))A*0S3#!^bhWE2msgMU;^yw!Ac<3M8`v}N3*hm+&=`q%*-dT zxCC*pr<H<&TYgb;W?s5NNk*zdaY<rHszOP=f?JTQD~L`k%g;<vNJ&jh0d42e<6_7w z&B=k>0S#Vt9S^x%%*rY;B_$}eur#%}#JwmnuOv0aIWZ?EDKR<QN<qQDv_v64O(8cm zH@~P-j|;zcm(;vWGIWO|W~Y*2Wlm~hF^T%1VVRkiS(2HUlUbE&r4XK2l$V*8Zl&Ov zo|j()3QXvAaSG*`B^e4isd?!o849W?Itr;31*yp;sVNGoDOkgSB*RNG5=#_P@>7fR z)Jqg{L6?atWESWbWTq%&rljVTWTs`N7C~(ZNKGvQN0^m@f?ueQk3wEzZmJ>|gKDvr zY6>Jmkd-*+m*%8^OwBJy%~ME*-_os+pQixY{-vOrqKM06glbGBpkxBF2Uns1$w8b6 zQb}5Z!m5|J)P$;)n52ZNBPf-qbcCb{8qY-#jaCW@?)fDOi3(7@LRwLNu0nBsZfa6~ zN~J=1M!rHyCOAGa63bG-ITe&0740$N0G88p@{3bJ)>$biI46Q4GA%PNMIk4@xJ02K zHMIzq2|-Gr;SF^Wl18{{1!dI~EIL3r09QnU4OM_fpn_*!N@@ipm7z+2d8iWLki;Ss z@0Sls(aDLR3xkp6!R1Xn)GA~Nm(;vUY~r5qoXe1&T9RAo82}HZ^wbiC3{W7Y=9Lsx zDx~EXDX13faUrXN<&2b6$j!5<3OV`7i8)|xpiG5bH8}XeCMQ*b^PYl+YOy9PP$8EI zTPZ+jg}nR{g`C8q^i+k^y!_Ji3{Yjyz`y|A-3JacXvvOJ1)<18%4G)VO|f7-D2lOh zXmHj8_~=3`XCA=LdI0VH1vv%OEQOu*0BV21#6ZgqL2U43D+2=qXnig0tOw8;pbU<D z0*-tVE_?ya%xz3e4tx=gd<pJ+0ied>0+2=q1_sbs!yt7od<xA>1$-J#d<O1(3Xlfn z5dvyJ_Q7g=eD;CVfzIRv8HZ0DXr>&b2G_Y1Aa{ez0;!QgI+wx`a#jX&9~0zE4A?mc zptdb&9}LKUPJ9whd<stBvoSyc!q&su$I{Q-#uTf^5U0lwsK>zMp(o(V7vTgBB4<5@ zL_LNGJq8aw$lXR4Ak8p_Eg;KL!!-gHuC*`*10?)dppgac2srWyfWx>P5yqf+)qtu2 zb#_2TgU$%Cfr^0^Wq{n?%mgt{0qO=@nBN`w1Q6$hv@wCg#|5eev^NgycPDTf0G+7; z4j+&j*uJwWm^o-_K=E(@>V}yhN1@4s-1q=0Zw!)m<P!k75hVTti#TXsm;ls+Z$a*Z zxEm55PJ9NAd=@Tz8yK6}d)RuRvBJ#E$hU*hjqd=XJKqM77SNt`*#2_R<O0}l5OW;) z6x{h1FgCOFF}E=}>oNH1F@%F7H9(KSPmdv0Pr#jT1*0S121bxFuuO^`Llh)#L2<AK z>Nb%3LE#Ous|V^2kmX>z;Q7>r&j4gqKU1zALz<p|3!jA(pMx8pK`PAJIItDTdJJBA z3`_-j46YEHAaN)GHjIG*eC#GHP1GXN1SozupzgsHhafj6K+S;`f8g^~O0bA^poxLv zb`DhR7AWo@aqGf2fw38sKtTCx4^$p}G#zSM4~8XiP*^>Is#64+gOmpTU=auT>jBhX zX`sFRAU*Ifg#;)_4GUB+J~bLdsPQ472IPL&ISc6S-vjD~GcYh9i-VTYgU%2KIa>^r zAR%cFISsq>9biFD!{AQ&6{tHvdr`qmG(UsR7SI80-UOZVf?}>CpN0!4SwnLK0|Nsn z?qGXgL1(jo&bUD?`#|ZU0%{g4U4ZJ69;g_2WCGLOE_@9rd5>uuUk9Tb-vmYvz6M5+ znP;H-VP=BF9$*ps0u=-M6Y5?L(69yr0|V$xa&-5C{G$PtPX`4oBrU?rDv;Yfpz?Jn zVdDhOFyL|n&F#yO+zyK44yb<QxCEKI04ff;s|=Lq;q?QoJSsqrN~SEn3Mak>Mt45Y zavhNV2NdWBxk~{wSb&zsKtok5P;(!`_6}o<uK;AXLF)YisCl5XyFuX$@ek@*P@w#k z0yQ6B{(^-WJ~eBIFy{gRH9ias46t)cwLs-9Hos0lNt?_XjC?Z~-S`$T`tnU+WLk^F zVPF7-YX$TiRP^|s02K#sSH@-!YJ8`m$M*#a^n=_b0L?tGavxM*g3~`#99w<{$$LQM zL1$Wn;uSf+gNDIi?O$a7g0d1QyMVGIC<;Jqkn=%Cf!Lt@3!*`H5eh>`&_HcS(78w; zz1VP&AOiyn1Lm1nH^AqTgGR0(x?&*|!$$CVqr40-KD0<>&=LWiW6H~51d4A41_p2& zhk=1%IaGZnR2+1N7Rab_s5q=X)&dDKFfeFA#kWD#gYqOu>KFK)OI`-heRm)}XkrpX z--U|nLhB&dnN_o(;_*;%(D))qeK=Hn3RE0+KifM&i2L6{#X)Ctfz+>timO2jKbZNA zP<O)4ys`%=W?*38g@!`}RJ}S>d@fXdJyaZYUJyts7b-pjO<Vygz7Z-8icgUG4^a0X zfr^9jK1lpBR2)`!!_2RRivNYG2c<2LdMl{7C^Q0LY2+f*zuHi7P(21xzYr=O3>62p zVL;+0P<O)4Ne3<928lC6!=VwX9=ukPfq@|zsvdU6253kXq@D#T4!w2|KC=HD>Q2~s za-g|&koqN1ao8C^u=JP+6<-O;2n-Aipt266{s+|k{Lpj->w|5Dit9kdL3s<LUL2IU z8CV!VZCnr^hTB1zi-Cm!{a!p5s5pG!7pmbl`0QC02GDjFs1TUq1xF|g1I%AwLC}49 zP;+dc?uUu1L&cY%iLZr<A3+n(f{MRE6BmJsi$MJgGk+h{ov=O%OgsSU&J;BDj8Jo6 z`4^_X4{FXCH1!{#=6pdD?}CcUK=U2U99yWk3z~Qh)O?sa7~RMPI#Yv*!2whVGB7ZJ z+rUssQqJnTBFw;`$OI}iA)2ApFM|*l_A}T%a9|ft#-aW$4)G9f?B@JuhMc_znqmRD z2;8q{U|<N~gouMCWkBNK{x<^y11D5`0W_Rp;yO@q2Q+ce{js1k_C7$<3C#Q|sJ*bh zDJ(?JvO(+x*$Kknu?_|XhALKwIBYxsY7K({R2+5|7%bnNV}Yng7Z>D!hzmd!g4=Nn z3=DVKA>s|7%9DYC0VaN)4<h~mT9AP2VbEEWJP`2&XoUlAhk(LI03zN1orQyy4_44K z0uw+7zcDZ{fZMGM3=Fos5cLP31ueK8#=yW(4RvP#)LwA=gMoozD^&adXgY|20e+0i zB7TTDAJFWzg}U<tw4wmF2N)O__CUoGpyJ?m1Oo%ZbErE5py2>+AAlkP8ebEj_QJ%S zpl2K=Knrr1_<X21==^q&c9{5mX!r=AxibqYz5uEa7H$)`ApQz~CJ<162xQ(`sQ3kF zJc8Q2An^lGcQ!yPB5>aY6i!foU4Vu^xL?4)zz_{pe*jvcf%_W_3=F~0^soS0ae>ZS z1etHf4RMbFxcp{d0Qcz_7#J2p(=EDs2^{Jrpy~Dj=+avT1_oI8Z-b^=bn%HS*z<2D z4)H{&e;Yuvu%LDWH2+yZ!x>c1gZu*v=YD892Zc9C96a8_z`$??nywPS<t3uNtA?f@ zSo;(_p2NVv@Ea;#0BSfgFff3}fk62MW<IpZ2Ms<3&{>tB@?itG+=cd?85kIJpz(46 zYA-ZdFyuqi6}Zt3>j#1EfrpAeKr=^N5E5Sv;Q9pN{>9L65I_@mgSs;S)aYekV1W7S z9@ISvpu;;EpyMzM3=GSl;j93)7d-aCz`(E$ntncj8q%Qh3mX0^IK)@N(gW0dSo<d) zD!u_4ZlG}`Q2c<}Ti|d*6X%4+*8^y~2t0<!z`$@2nhs%Sl!C@MLFUxM#G&fJ<CLIw z0<>H*fHqiQ)no-!+yN>MYlqiE{lx%P2pVSvng11<FVMyNp#C}l4Ih|)U7+F(Q1d}! zmLPLL_W*<Zi!Lq)%`X$6`4<{(44~uULFx;j<p4|^w08<5z5q@AacDelfQmz#vkXp9 z^97*wKFl1@y(u7b6wt&$^%F?k08JcpMkZ7U<Q+H$UBj!$08NBQ_itR}1f9Xg%>cV! z2I>t4F*b-etlbC`2aR1Tf=BZpMnjVY!%na{eBd!9kPIx}{bL2016uU}5{2}EK`hW} z6h#JT=7o+&gTxnt&EbZd1FfzYo`KDQUgChHzJ?!rc@>O9d@_>XLH5Bgs2;`^Zb3NO zMLsyhe{(W0C?TDZ40CZlCw6x>;t-F(Vg7Al?B>kGVa`h&;s!X{Z+1AuV{nLr!VH9A z;RvJk*s!}36yw;`PsHKQ`>fc_vBzP)D~@mj6^q#Hb;FTPI&qi}8sEfbPALxcu#^w- zHz@7F&enz1GobtrS}Y6`hxPA4;-L96n7BVQU_tFsko_?6WF&D=)c_NRUK_*!QV+`Y zF!63A^`I&bCJx#J0FnZ!2jyLu_-2qG^o(0j(+DPh97!D1bb*P3&ZGoMf!q(eXA&k3 zTBr*WM-K<kU5p@ckb2Nb88Gz`pa_GG!!JWR%XupfaaNGSv8a#0Ar3yV2a9@cXuSe* zk28|JLQrv#`$0!<z}#tpBn~QjVd9}k;<ZTT6d{R&&hUq+??w^_-Bkq>hn*n}vbPS& zoLxxjLCb()>dzvHgYLP3iGM^AM^1;Jd%LiOKOZOnpy2}=tALp!1{DVdE9kNgn79{I z97KWYM3{I!NC0XMay+&oiG#+dVCt_Ti6f_<*HCd#IIKbnhp$j^kb6MO1Yzc|K-(E0 zY0!2_m^dGj_*^7&gptJOA&Cbdi6gszDh}~KIK)Ba1}L1--4D9A4<rt9KM2FzSqN>H zpu4{dDh@ISIUTM*5=Txy`;f$u)5#4aapZIhYDa<G12P{u-3me5PatvRbgP3Tj+{PW z^CBSi$muW%Nj-8pEQgAN{EJ);)Ir5T<{+z|f<t^IR2<!$jY#6i>3Jtq92EA*>G=dy z9Apk?g*Pl-t|N(q`W!IvM>xb^A&Dc~%LE;e0oe=6nlN*?pyD8VS0klEO(b#9m@!Pf zHIg`TdF2EZ2ZbBx?rNC&CM0oCn-C^GA4wc^e*jE;50W_O-Z+@}O(b#97$Qvk4^$lF zeo&teCe8(N2x#1bfq?-zeaaz;=OFpl5lI|5-ov2cAoG#aNgR?mayX|!#X;eW9KR2s z4Q!A(OOfpTgd`4HLJV_13$!5zQV+WS944-SBn}!gg^5=ni6fUAkD%fpXCaqkZ=m8J zcY@aH!p!*r6$jZ18k>fRvq1aX=;rW2#X;tP+Uzj(vQTl5ImqRq5mX%A92=-O$Q;m6 z2Fx69s5r<RWcNfv#nH`4g^GjB0j<D>nNtE42bqKHo+(J;$o0rFByr?;*?}aE952_9 z#F69WA(A+9ynjOyM~*KwXa@)6PUQN?5-N`FUuUQ|$iK+p9|RQ#nS<=#Sg1I<Iq6Vw zkU7ZVUkVimnS&huO-SO%^;$cUIC8x<2T2?`pYDf>gWQ8$ZoGktgX~2PpKxdc7o;A! zJSjyIM=nn$BZ(uICmWH(k;{`)NaD!l#yuo)<Z|OXk~ng?AqXAs0J$Hz+>n5ZgWQj- z-W-Rx4^$l8oDd{&<nkv5Dh`TA<npHpDh@ISIXqt=iB}<&OW%>ik?S2MP-g(zzCsq~ zLJ~)IPcV}BawPN9ki?PmQ4v%e6h6r1RSi@e<S)?BA}n8bK*d4+LQbDEk;IYn?{Xw@ zWP1-Hi6iIV8&Gj{_dJ4%gWQ9h?><7sLGD4$cYmPb=;pA2I#JO64syN|fr^97LH3t7 zk~nfas(?CO(0BpePXY@cPb6{Vd>Q~1M|V#YR2<|lP|}8(lL-|Exd+)_c}U{O`F#qK zII??oB8elr=Kxe3-94wE;vn~chOl7nxd|0Vch5Z}ab)*^=1D>AOptnH_h^DTrO<Fg zc8>v69Nj%uP;roZKvM}Y_jp3ZLFOZej~|javU^I9#F5=I6G<G|J)rwSLGDL)&nl>T zkb6K=1~B*Rgo>lPXCIO{vU}!(I^ocC2pTJZnX?Hh4l-vYQvThCBo10@08@V+NgR1R z;SrKJXzc(@{cor^y1!UKoqwo%Kx1++^{P;Dkb98BSqCbPZjKpL927nvJuq_|pyD7g z<ouO}Bo5lW22-DpB#zups6`S-R^N>z4%)f|GiN1K9ONEQR)&f1MG^-kVVL+uBymts z!Ni{;iG!FhaR$)f2(;Y`x~>l<E{!Dai4>1!Na8_A;-N_5fk@)%P;pSWA*atgs5pA~ zS3t!<{smPjF!!`W#X;sE$72tYICA>DfFzDwp5H?fM=sC*Ac-TF=T@M~1DfBF)2Azv zICA<7hl->7D-kLV@)vUXUjP+H_g6Jk9NnB&s5r<R<nn(qR2*aua{8PP6-PH`B~%<_ z4sw3k4i!gNe-J7TQV$wJfW^xNs5r=8<aqgxB#zuJl?8bo8lK4Q94jPoWcB_?;>ha5 zk;FlpC1LJ)h$N0&--&}N18DhxoL>|{gECO}Agd3Dii7-%obP6V3UMszk3z-K)oXzY zSuE;9q2eI*$nN<G>Rdt9BZq??sB;1pM=no1aEPx$5=S=YIg&VXKm9L~ICA|W3rZZ& z@&UB*7Z%PoNaCRT;$h+uNaCP5H<)-iR2-B}kjsHOs5p9h>wt=b!Ur@I1T$wkR2*au za(bJCB#vAT+(i;cPA9^kN(<^Q<aVPxR2*b4sLKVjR}U(VZm&619Hbu91%at|hKhsK zBj?8mByr^QT!$o%+)mztB#s;}H<84V!}9@D96dZ=LB&Dt1P%GX-1!qK4ss`Qc>Y5Y zM-ERF=z0Z^dSv%_B8elrCjcsr?w%;9ILJMqAsLu^GNIxi^O4<?ha`^do+(J;$nM#R zB#!K!15j~v_nd-?gWLm>gSqD>R2<zs_mISq-NOQ12Ln=%>>f=dab))xK*d3JBBw(u zs5r<ypdlZadpx1yAoG#K#}7#y**ylJ4GGY41G#*Qg^GjBM{Xy4fQp06M^-NjUGD-? zkKBH^2Ng$G58lHKEpL&{&x5YxL03N!DvoZx8FXC^diXd%#X;&pLr}2r@rR0o%tsC% zkUCI%7$lAy{-C@769>()!ps4sNsu^bItR3GAH)V>XtxY}*A;9|3M3A#b}+<|&4C|3 zfHcPoG9NU43o-+Qk<DoW2|zJ)SrOQL*xCw^6lh-shz6Mh>W_oiAPnkLgJ_UAY)>1A z51TIsiG$Yo!2AQ6HwVds#3z9mPz>8Q2NFjP2iSZ(NF3Q5(AWq_D@c4Ihylf*b^jnH zNF3Q5kQfMq#HS&J3v#$k04YGjAoZ|4cpxcgF%O<kgw0Wc#9{sg#Xm?Kwhj)oM+qbk z69=tV0P$h&hl#`1<$>lPK=Lqg*m^)v+Y(tEwtf({4i%;zw(bvhuQN;>woVYXJ{2Yo zTUY1~@+dSP!Pc07?2ADX2l)%Ot^{;`1xOxbjv0sn#jv~9K;j_vu=OvUNaldl!@}zd zk~mmBsL=<yvkqhc)IA_^*!mjSx?YepNF26a2IfDQIBdNPY~B+l4qMLxyTcYF4ss7H zK59S$NcO_k%d{eigVclC?jSG2!Ve@3au00%(Mpg2)Etm{SUep;5(lY=t=oEnCJtNY z^#@HHwoXa}G+6>QA7l<}9a#jLIBY#yB9b`BJ+O2DyW16H4cHt|<AQ;K;Rup?kT`5T z6l`7<q#k4rY+bVqsK7&V4{Y5Q>@HZ4dXPB}K%FfH1_n<g^&oR#>!4GR#6jv|>wqfI z#9`}zdeFpS>wp%ZiNn?r!|s%Yxd*n6>;;;7*!no|!81tyf~|K0ttSM<Kg=B1x;8~< z`UQ!D`~_RbZG$8Z@)vA<oGX$zNIh(QcLI_)NIh)*U?!3{NIh)bcMFm@NIh)*U@ww5 zNIh&l_zEO(kb2m<zXNFEuyuc+{UgZ!g{{Zr0X3SD!Uwi)R1`@ZWG`&JIV`_|!Utq8 zZ2e{ol6sIhY&~WTnmBBI*#tCk*!t58XyUMSYERI_Ve8R;pozoQqwzp1Y?wP?>s4X% zyfAUt`eGk6^{{oXJ!s;vb-qi`#9`~8pP-4u)=jHGD=L`1uywvRXyUN-xuEqwu=oOn zKWtrp37UG?I_NoQ;;?nWOOeDu=D_v=96%BW#TRUS@ku0ckb2nufG0@eAoZ~I+HaA> zLF!@q1~@<sF{E?_TW2kZBo0y!+fM*m4-fM%$b8s3@fsxcAaU4w>M3aAu=U+n(8OWu z!9_rgV<h*$)~D;BiNn@+`=E)#)`RDuiNn@$GZdE;<s}zXGC=RHPERc<$;?g7PfJOx zWPsdF48DuEC^bi~C|@r=DkKc$SOmSIe6W0cR7fzIL~2f=9#{^c*Aqoad{l6WCFCH8 z#FEr92F!c24Nbu3@xV{oFf`6A_DIc1@d2G0ky8n|u-Y5T*$p@pq8n!dF%ELx177p6 zs>E=fX>vwtayIx-4e+TE5C>v&pHUIyz#s7G9#Cayt}}-!fyzRzpavTYJvazefj7Eq zEb>ZoK_OQRH2}?cBZHEn%=GlsBG6GEu+x8FYB4Rts~p{EL#WZ<kRZZryz0>nH-;LH zc5n<HrxVbDZUHP{kk7KgV>&+NXhvJ)CT8a4<mVSaqr?E5yuopbN6N^!I5jT?>RsfM zT%e|)Sz-=72nQ;Q8I@=XkQ`xXh-4E)KSr`LG|Vh^EKAJHNleOt-bIf!2VyESGzEJX zae$VgX;Er!epzZzYFcVhY98!rdrWmk;1jY?6`}bWcDp@t2?G~H4g<)sURb3d<p5j? z-3CKQh@jX26T@NyHYunLFe#*<cQJsPj>RNwQc#mXQjlW0B(<W1K`%K!H#aq}gh9^- zbZ<OEaY;&QQ4s^U*v2#%Bp!@XIza*lB<_h#JTot~Bt9`ErHDZ<y(qu5091P<=N4dA z6p*8YQi}2m3Q|+za}tY7;t@w%K_t`jF~wjSkkrOU`JoqV&PJ{Q-pK(N$pm!oJ#ysW zRficGL@S2`JznK#Nypg`kBhOmgjnTJm*7*5<`P&A2cI_QiX#kh=*a<{_l8YRaY<25 zY92#;R9<;5h)m37h>uUMNQ^HiElQ0q%PcA>P0V4?%gZlG)pPd?)h#YbOwI<!7P?KQ zpz;S)AwiF%!eU!i7FL~RAf4d)hJaQ>LvSesIW8(7AUPm2z&kk;Y$j56G{kTTrV>mm zG1Wi|R7h}VLW3nKH9a#gJ{ffA98@GVF9pgkE-1>(D@kKWgVGpT7ZT^7EQ*?S5#p#> z7b>1sUX)pq3eBmYvO+ID9(-n1d~#w=PCUFB#t<KxSDu-d5+9UWT$&5hkeU&nR+N~V z3OdXSbP`umCFr;=7!S<WOHWRYPpwE!EhvdE0o4s4*@DazhWIEWBXE!>=NDAQ7pE4L zWhSS_gY*P=Co{xH`Itjb5`%CtvbzcBtTa&m0ml(qiZM@2NdYx-!1ACXuOu;vL9e(n z7evQL89_2vdMa{R6Q5KGvp(1$9vLMuK-;s}tb%0t%wWTKtg_%t2$eOmgm}0pHL)ZW z?B&!VqyjL&I~igt*dT}#!Hodu$z+C>&;#Y5EkLlGYd{&aNcM2_bMbKv3UCZ^^d-^+ zNHY_+3232eXoBhhJa(h&w1DbNNzJQ-=R~4h4oRqnq#1y2JuKwXK?iA)Wj~1~pgX`6 z>VMc-fOvuqGvbY4x<M5o>S3d#nPUKTMS4Ecd8I@e0f`4ADi~n~bp^CRiqdq&ofeUU z1>zP%bErX}k^pjUC?3C{#|R=VLn|<%QX`}#gp?8RX$I$ZXMewtAb%fF$sFcqXaK4K zD-x43%M6VS;^T`mL8WbRaePT-L27(vURu5@rb0t=aG8v*3Zq0cv;en<!7hUJu3Q7k z0^Bl#4dOxO`aw$yaKQoXEfS##J>*OiQ&NySL4@rfpaabUBam`vCIwgBh_h=6T1C8G zbW2UZfd{UUQBOD}Y$q{V^)vEwQ}r|QP0S4pEe!R+Nh3Y81k3;v@!(j|b7pXNc1Ec% zEipt)Eujs0JtH{F5YEC>Z)^cqZ-HT$AzTu{!c=8yj-k;QQ^?31ZV{%WAzTu{!c=8! z1~<YC!%9QAB!Y#h%GeY`qme1xR5;5J&Vn<HOkm0k;VctO!;E37jNmLoILjDAy_pe) zkckn@2xB<Q2+lHuvoLj<8NzfL!C8g~7ObTLYV#QC8A2O&;PEz>aJ{0`G`;xv^ool3 zg4Cko{Jg}R%#zCZG6M|vnHj)rF^02@FqIj?B@JOSvY=5<^6^<N2H2DyiXkUJi_#ew z7)(Hu>PRxs={mT`N$|N+3=Gg=bhtQdey<TWp$wIQ%>zTZ3`bZ&=T*UY2zmwd-1rxu z#b*o*44`FFps{Zbs1n%xwHFuYoF~v(F;EF8bp&c}4s;$1D$D?#=7Dh;EWrD_;aoW5 z0O%%J1_tl}{~$q-{h)R0F#Rz4D<{N$Hjv{$3Zd8ldO#9r%>YygOriV#11Hq~X!<8) zf|WDCVi{yVD2&nlkIVgMu(%(zt{>)Z7!6up0*X^+H2WQ(?uX5HLtMka0J9&)2Q4oH zn}w$T0Mz}k`F@c5K||{>{jm7+W`l$uS~M{vK<!6fQvk9PJ^b9*py3CSM8X`P%@&~j z@gUDZ(+?;v(Cyy^KBtO-0d@`;%!nIM`!7T1!(if2<G|}9Kw<*i5ci{bpJ4;kK+su% zAayW|?tWbHcLN%KF!zGO541i39M;fvHXt)W`3&SHCNu{;f!Yt9&IKt2V~|=f14`hs z{{hr~(AqSRQjq<i^%Us#$3f4fLr*_Hp!TEt7v>+3nIH^W(+V~d&HWmnO*9M)DCr-x zei5c0mVR)#{|y%RgVr^G?LrE_bI|xlcRvU8AQG5;Ah&`rI{&0FH2tBuKLYB0m^(q? z2U^br(+?9r4=q1o`5a^i2n#^%hn>>_5(8ma{K4pK4oLa~$suDqsD5NI5F4fs#0FtC zNcmZS=6nVRsQw1%d=*G72*cbDVuP?E7u5eC4iYYa`X6+D14tO;f6&rcn0}c5uY%9{ z0;xd7KcMlq0h)k7?gqslx_)r8E+D@+wMfrdFJE85(A3!2z{uRfz(_&C$k^1x6iONz z7?_!vC@2^knps#VfItFQy{nHK6C=oEh~10~cJO=+5rL2$(7F)B1LZdc1_uU321W+Q zaL2G<$VKVCz2zJ}osgS=J-gXGI+;ON&3SY?yzuDcVFulR4btq<yBm~;4I%0v_X}I_ z3p#7?3pz_ct|4Mz_+anR>FmKT=v=@r=nTGnm|uexq?=!`8FZyDzhE<Hu@JvtGw4hd zehqLA=NIf2U}Rw6*8rt427bZGAdm11c7wJ$^9xP}tzh!#Yz7@B;L+I}08%N~3|gYZ zFW3!QVZ<*u*#Ioq{eXc1r2PWus3yla$N0mZoyWl!-a_0AyHyW%hac#+ANbvopu2@U zI)D3ggC<%TJiF~a@e4RheBu}IR`|p(5Uc^cH*W(o_%L#)ya7nw0wnM7iC-Yv1Ez=t zdX+5b02zife$d@mSj`Ur>5l;EPk?DfF+T$&UjUM?_{1+T8x(>tbu38kXa*hl1(RSz zu^a9`$X!y*;8^XhVHN=0gPa1o3K4!^aHlf|_)0W~7am{*-Rw{!LDy?J^Wc#az#}ID zx^)V4cX0DD4sdWl@5<%p1_eLjt|e0WpzwrTsSS=OaA<sT<QHTEaUoZwfw*oQAif4% z+D!n&H$d<~QS5Ai;Dch@*#W`V0IByt@C|l=Rt-YK_%Oo#sP2K>R0DDV*gX*l{b2Vb zAoyVSWFYup_Y@%bVE0rY_#pRyvl2oGlnTK~03l?t1C-Zct_0l;>(RL#lzlxqr-N3y zdvrSrcyzjJ@Cz{V3%W}<@(VCH@(Xwf@C&*d@C*7o9G-xx{u93d<0t+IcZp9R<)8Qk z963N-1rQhHLPr4*R|CY=@Mu16-~+lo^A~b_qnZb`KY?F>lV8w3z>!~o!;xPgK!9H` zyn<iQKjRa>U^^&LBkp1bU864WiC@q~g~Oxsw@2q@h;Jr?d;@izbHFFiedjROIY)rF zpxgy^opS<+o8Zw~odIzjB((SiTvR}Q0SDkGenBt|x(XX|+b=x-Ant|>@a+8N+4;w_ zw~Pa91nA<qP8Jo<Za)oB?(*#9Vc`!y;K(o7qLRSKz~I@<qT<nA@xrsY#zugFzvUok z0a@=Fu$&L$bI0xy6%LnfcLnIZqduJv!KStz;BN)pjR4W^@WQj#h6SXS$F<vq1)Jit zAalWXAruSXQhW`IVi8=5LC2s%l2VLgET~+?c1t{HDLnWZIaHP4B!GG89H@c@s|NcO z;zy4cp2uByz*Xi;uK)l4W9kC!iNmLh5vwjjcK!H=%`R-Z96&B)fw=JXzyJR|JCA#I z?@<9=bpR?(C4IW{A$PX>cCG=7`nJCH>3m=M+@rge0i;46QC@g-$3xVDZv6FVz3tI? zzx1_d^DzOR&gZbo7)ynPlpe!^JsRIYD#zd5Yg9mYgg5`S;BTGI$iU#y+oA%hVLiIn zsDNul0S69#!DdjN@#!rFl`*ai;GhTP2{0FumO)%les+bp4a5Z%IIa?K#h}8*6<WUX z3p#@;KUZk+$}i{)ss>%5r7ORnvj?dD0vX>7a%UR9-obLdPy7PSJ3xow^6Q-_V}%uw z;99mBv@jK+3gm$_h$?<TX9bVmZjk#udYwUT@CLc78Pr5TXaKEKMQ8vQZkjGC0iNA{ z0v??{Dg}=G0&M)6E-DH90t}GSu15t_%799h3Xks9pzLaR+oSbuiN^$Rly$eLfUWFw zQE}kca8U{1*YHtE;MWLIDd5+bqXMdr`2}NC4EO~@R229HeN+Va1zA-7hjMsy=L&eV zzAfF^dBdae2*~r%j&Y!D1L|@zcyx2auIB|coe@dequUx<=k5g6GKL2_Ux5RDH|W0W z*PD^={tX4iKIq^jk4{kRTQD*(fMXwYrZ6b>LCq|W?hFNfM9hEU7l6h(zh;XHs09Ts zPeJVqS4i}O#6iggEDmaNAku-0ipM8Vkp}WJ$RK!%a8UuZVh~BfMFmvkBGQD5N&-kd zJW;r)WTb(bR%!eiJzz(q@r(3;6KNWM#ECS1L2pok0b3X0460F_H9UH&4Lo{FR02FY ze}Th;aIyk5N<peXiJ4Hc0%r@5Vq%gM11O9@i2{@!3P2oC?0R&!fK!7<C**=$kR&v* z2==Ie(j_SDK*`>tdp4xJxLp#B9G{@5?`}~6wOu_R$qkbBK%oS(fnQ^a3MjRM(j6#c zU`uzw93I`#0v@fmOE(%G@Mt^&N*>YVr@9^BRJR?{ehm!{0Hw4X6^rJ-4*aeB;6lbl zMFD3T1C<@%lmSUvATBszAW9Z+x`3x6XHa7ok&K+d$r4erfKwwp5rJDkpkxJYxk2k~ zP$YuvYzFlp5aogdBLf4XTmUKX205h}6g~)5pd5ox1ybM*a$z&5Zvs{YYN|DZ?%6av z09MBi@>7E00dS3nEto;W2v{>WsBs3*+>l`21#S)_>W5HJgC_zM<ZDzwWfVBnJ)ogp zfHTxV#T&Q~hJ-qZ3o0$)`B(r^l)I>aJcI~w7Zp&(L(aIM%!4S+T~t8%!xbLlE-D<L zj2w^#Dij^k_(gnF3}9I}0G4G1kg_b6h8Arj3|!ZMA`Bc|tcd7}z?v&aiY}D);1$o# zub!R%eS5bTFfuT}E=PwoV0sHc7rOg&zJj&w;1V7Zo}K(2tf1n=v$Gwf7t(TU2h~KL z&HKR{Qutf;fLd$4^Fe}+-Q^sv-R%=V2?4Sl9(=>`PjImaYBTNwsqJP5w?unw*d4pe zK`lmhM2iuj6jUsM`upAB1|vu*sJ)0)=_L$PL9IosO7Ac*Fo1J}Bh6Zi>>l0V#v(tY zDJFom*@xa(MAO8ERTFxv4^7h_qMC}3z(4N74sqUla7*#X>lDw<Bc9#+A*KKS5(%W% z;(CxEw6XXCR1>uRFHr&)2=Mlv2dr)B(W&jx`qrcKed!wy$Y6yBxYhU{oCIKL&!_V_ zm=7E4m;mbPGgrI-x5q*KK}3HQxg!G}`+@Xhz+*q%kO70{8fF285)MeT#vO*G-);_A zGX|~o9|yJu<N>(*LE}x1A;AHjo!31(zko(sdN+d-G|a&Wzi@zuY##Y^LQ*QsvR)4f zk4|n6R!}AA(b){r>(RU$lxG-9cpxr|0d-CYyAG@j>_U&u!*KgM@1q15C{V#_pyL&w z@B(!_5kU@7-gp@7lFs`OCqR7e*?G(ZE&*1Du;w_JKLKtYvj=m;3xw|l;Nxv@14uKO zfO~s)gWL;t1L&Un<|CjBw!t3t>^%0GALMdWC19oK&QBx4{iw#Ed4g!0_~juxKe3Hp z@q2W$8-DvApa2_xVm$28c|RKL8>ssK0S+L^&inrZ5;_m=0F9Tno-AdG#*#`vn_>~Q zHE7rhxqSvV&jV&&1_AR>oAx-(3xJtdKxOkP2$%;tu@kp{9l_np7t9O{;8f4-+4;<; z^V|Ob15oFsyAU)+Xe{8<E$-1h8B~3Fba#VBVqChNIb6DZj1@YMWwAJhIsOmw0F9+| z9yC1Ada{(;qwxsH#ArusWe95Z3uzUdOM}Hf+3w+?uX`*Ag^$1>bB_pB-2)oyN5UVV zR}sPK{SZkE{(i{a<sey25COs<258FUDTo6qhCp+mzd>_$po56Pl`BXFl&3*=$%F1b z2k~LIRxp4VpzYG&ZHAybpFsL+KzE;)Fd-dC4b$(*><H2hJtKgD0mJ~!`sjhCmq6Rh zK~vDiAWjPtWKMrM$Slz16*%1jpMeH3K!$;idu0IS6p+VOfcygL++o!Z+Dr$M&;_{) zbW#k+3=kW9pA|^IJ4in$gh9%{GBCe@!UA;C80cUs(99F~nnAdJkUv5CL1z##f(|ai zsvl-QSU>2*70^TuD3daP^n*BIAp6}I7#Ls^VxVpp11v6J_JdS2fL1hsw18S=4BiY3 z3?L3@e>@{-^E_7lpxJZK0t)a60-){oa94uPEC9KG6Ucthfe>&RnE&T6FiU~l53&U` zdk0<$0a`8q4kbuh1MR#Ah0k`77-)++^mHQzhFzdN+zbp1r$FW(LfUYT;y;*v&?qef zNI%F);PeeTR~y6u4V*Hb#|$5kg^(EnP^t#;7+~{p@KMiR%)S9q<56+~eEiU}b3Ul` z2pvLv;n}?(RKbHr8�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%0DyZb>|57KgL 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 JDE`p(0{|+;RUH5T literal 0 HcmV?d00001 diff --git a/ThirdParty/Vrpn/Lib/x64/quat.lib b/ThirdParty/Vrpn/Lib/x64/quat.lib new file mode 100644 index 0000000000000000000000000000000000000000..f7e80f1cfda8fcf6516a800481aae4ba4f7c38ff GIT binary patch literal 41724 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 literal 0 HcmV?d00001 diff --git a/ThirdParty/Vrpn/Lib/x64/quatd.lib b/ThirdParty/Vrpn/Lib/x64/quatd.lib new file mode 100644 index 0000000000000000000000000000000000000000..47ced77e2ba1696fcd90b478b0756043da313851 GIT binary patch literal 83422 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 literal 0 HcmV?d00001 diff --git a/ThirdParty/Vrpn/Lib/x64/vrpn.lib b/ThirdParty/Vrpn/Lib/x64/vrpn.lib new file mode 100644 index 0000000000000000000000000000000000000000..68591d48c72092c087c73f87e0e1764bbcbdd540 GIT binary patch literal 2064990 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%0Dk)1XDoL$? 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%0AK5(SVPtc-I}F)%)9 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�Ke$ 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Ν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 R;^1HmS~(OE<?6`51pvI^$g}_e literal 0 HcmV?d00001 diff --git a/ThirdParty/Vrpn/Lib/x64/vrpnd.lib b/ThirdParty/Vrpn/Lib/x64/vrpnd.lib new file mode 100644 index 0000000000000000000000000000000000000000..f123a9585a6efcb5ccdf64f854c7a7204a2d9977 GIT binary patch literal 4504732 zcmY$iNi0gvu;bEKKm~>-X2u2v7N&+~sNx1tuA#Y+v8g$TlfcEmz%`kH)$rCR9u0%h zGyqKl9EUeB&>M3$6fw{ebGh0ujN+ji2E39n45N5742DA*;NNJ$Fqp8w8y<#HJQ@b0 zX<#%BjHZFnG%ys?fOvNT1JU^3HwN)hOi~y~HU}|`R4n!B5W^^@O&G|s#W9eC&FvUu zNAYMF3_u!CG-_ZN#iL;`ng%FO1FBnX7={8?+oZ-o4ptAo!!U|R!(gPP0Ub#%1`NDn z4uj4phKGTk)joz%JQ@b%qygi^2Mognn=I~N7{#MuFq#I2R~oQ+e28HbV}^m<o;?f$ ziS6HLFpOf<FmP<y#{kC5E-^TcVxq#pIn{w-6k`nodwZ4m__E}plK8U3_~Md85F@oH zGp#Z{u_(PXH#M&$zNE4s)gjQ;$;H7T(lH_;ioxDqC8H!i&%wi?tf(L_KB=-KH9o&6 zCAA2oz{A4<tRk-@KLfuCi00C?wA3O853u1L0j`b#u8uANu8uHckQMo1DDs2Y1y)p= zmjpFSMa3E7SPw^#c}^|_RDo@E0^5pBr60mPgi5S7BUJh!+iYO30(PNuVopv{Vsdu8 zPiAq6Lufo$FeJ#)+1oY9(b?JA$-%+FA<)&)(E%LD#AqW&57b7ZAb)>fa`cD#d4?DT zyZQzD2a%&a%+-e+ZQ=ew-oXKm&aN1mA;DObn4Aqtf#C29a0N$a7+A_VKQAvexg;|` z&%wa}9Ki-)@eqiXc)w5|A85Ga)aL<-Z&Zyzsk!+jsf4s*u`xI`uQ<Ob9+n=8p+-Pr z9mQ?IsYPXkeFe#KsE!LR$jpP9i^o@fetr<28IqSqiP450VZ`Xcmqv-vk0*^1qa8~c zB}N<0G-`+(sSXaI@H~zp0ZoaxWMRn-mpr~yg=!BhRpB%VoOTehCZr~g2uD|^Farm0 z(kDhUB8iZy6Kh11Y6wbnqi9Bsw|MLUjI2K199e^dgP9YU@03`a>YS5UT<qZBz+i7r zNL6TFW?^Y6Hnq?cLX5FEl;SZPmcEEG9hYJ}=EG7QQRd@PjL&><swK{JtV&VLwgAT* zY8_$j1dcvbDOgBgm4tZ%yCm2ZP$_4JcmpRN2QOb=H*Yt0H)zue+@i5Jwl@V;Qud|= z`I&hosYUi?_9~8!V7Gv@IlDV}_<K2e___O|YlAe2>`n9XOYBW^5{uGP?M+kj;5uF0 z9i08VJ^eiWAR1vc61at8Z)|T|l$xGdT#{N8pOJ{9%frFl+uPe8>PR9rc{#ZHyZiY$ zd*QOHG!J1L*o7`wq5xFAL)xJ6sM4@#z^MQh6}T0EqXS9W6~%t+xj(?wF~SpE&c(YU zD~A;FxMZQ36I8<DR08u5UPUlZ;a3Fq7@CqG1A9kE`v|#ovH%rNSft=t15E)me>gZe zV3&Y;6qhW_kGSMv-oq&m_8C;x(9yx%*v%1=lHs0$xg6p?Lq`XD14jo}bX73-<C4c~ z3Oo?7+5we?h6G+Eu;9R}2o@&z6@dc=qQnTCF5v+J^D3G!st+NOP^Y8nfC{4c2Ss^2 zsy9&OP+gBEhvaBu?2bkgMs+kq66!vfqfrD=9E~c2>S$CsR7a!9AvxLv>}a?Ha8yM> z1eC!%1ug?o6+_)ml)*UE;xio<2E>_<OEo?lU?EAI4Y*X}wE-L-M4FFPEt2W+{so|Z zV{vdveo<n2s)N0uy?uOqPJVJ?PJD4mN@jk1K~ZL2Nm_h9M4f|!rGrVlw<Ci+VV%Xv ziFsHwCMV|PfNI;6oYbOX2XY$T*asG(80<+l8ns!DYA#rg97C~p?Le()R0}ZFkz*Oo z?g6S@=*q~k3ZoN&Y6VQ19HX)HD>1_hRZ$d!eQI8EeoAV5VsdhPNj{`jgcnV|u8xkN z(KhhV7*ru~iXej~Mn(Dgxx^V;nwME(R16vMAj*oe)EweWF3&H@E-pw+P9><kxU?uW zJ~c1DG(968>J(6B01d_!ql65+?(%eXbd2`{x9n2$khLRu2UV+s1CpNf)DmbhQDRht zVgqDMCL+Mq(GNTrg-}^)gl-_XEeeVzh|-M2yp$YBgeGSs=B1~`=cX1HgUTi3dI#<W zZ*UApgn}hK9Q|B;T!R7}gB*Pw96$|LsA<$Qsl=!#z9_Y@G_|+{&Bwt+xugU+X;IHv zrAEaRISVPm<EiH=P$H+EX^5Oa3p2@!RL~3oIO(Cz4|sy}6nOpsi!5X`GB+_ZFDF00 z03{hg+cThU47dY`T@kENLO>a;WkE<8xPbsy1fJ8t;%bPWaLGda1a2tA=OmV-7MH{q zr55BDq305CZU>D47o{eq#3$$HrDdkar)B1(q67n^`~VdSq4AmdNu_BH4xsT}P>zOo zpP`8WlEYDpA9(2i@)XFFhyXLk2m{o*3N{%L1s+(Ynz4{319i>BY$Z@NBrqBV)O9_) zQ9xZ|(V7A%Ap%Pjq_!*xrWJB+0jCP^v==Tbz$&81H6J5|;I#`wHQDx}Cmp=jqAMob zR#=L{Ya2`v*|wl2FuZo5Dn+%i7(Ba$=<R@uR(Kl~R33Uj%0uWNBxoiYy^REJ$wE|t z%GCIR{9@DsGak9D_wWcU$;?eHOUwb4qfUN?;MxdM9D}ujn#-v<sYQvPejiG~i{Bhb zQxVyqvecaX<jj&vG7JH?q2fX9sfx7xqFhuHU^N_4@Icgq8akw?hc_AsnqQn+5}#j` znVy+PKxuJmNl<D^X<kZVUP(w%VqS4>W^plS;uSe&p%ppE{h($rWDpX&HgH1~WP52r zN@7WBd{JTvTI8aH26!qHX&9Nh^&k}uhLmXFLZ6DJVlTU>XaPnkMQtCz3npqCjHMJp z3KyEziR9S>P9b;;R<H_ic}kuQ7^wxXZ5XO4uo*oW;k6iDF$MO*QWswPV2UWP2Q{(b zwGCA%$WDC2iwvleC?kjr@$p5ei8&6&X~~vIAQ2&+YJd!o#FLRg3PL;$S-AmB+yq6` z09oA9$S^I*)WpQZD8<kMuHMin)xyLAt_vofl$M0#OiQ>slW@2{DJ{h?HOayhN+cu9 zL3d|a8n~~O7N5fqUsenWq#OpQAOl2>0V2*|Z*LHsnwwaVkzbVRUYb~x0<PddZ39O~ z2S-=v3>jPrWaNZYJ)tE<mGLF{paG%m_!0+0aIIz!S+0X*G^j#!02h2vxsVJ{PY~)D zP&dud)e$n91Cen_EJ*~pC=_a<A>1$wuYejz_K-y&a79pqk)$BTB8exKC1&O%Cc(R) zPzMD&#`}S^CFkd*1b{;<9?ev6yDcTPxTGi_+5kdQ;0PXD0~wGG8<&I{3<?5>(U2n9 zCqFqmD7CmWrzGA1ZUD09Kt@G?!z?o|6WXDMD|7(GAk?YZnK?NSmm+%-VpmRnayEA3 zLGA$$HsqD&2Bj9~mlh?bLK~n+wt!TDJ)BpXo0M7<pPv?AP?VpXT3no81XT^QG}zG- z<ZtN61~xMaG9hU&9;O9kdb~GCS5azlDyAR7@_yhjC@Rg%%gjs1<<AmuD7%&BB?o7u zq6de!Bd9SJ0qSL;sSC(2&a6N+(;Ku*6QLfFym1F3B&bXChzRV`;?yE=+J>|m!LEiR zO3-9EC?s&JfIF%T;$mz;3^o=#4g>LNaeQK4N_;V_94H1YV}&@^9{(Cl*N6~sEetN= zp^G-bhKHn9l*9+6CZ}c+v3d^_<o5WNmtnC8l9|yg0uAaw+yPr-gz69+(_+w7OZe3y zO^eybLzlpy>VU3ffv(Fyl>?<xa89y^t&>2N2e}*+yWswqeLP|b0-6sIbN$Hk_-Kld z=e@B?L8ow0odD4Vot#CL!Vzw;$yxl0kpd1h>450&;vIrPiE`xG9+*TFgFU2>M4JUb zbqs+?0JK3=RK1`$0mm791Q23j5&mgOm;=GN0&`3UCJk!r*uzbR&Sby>2a<Ww;tu2< zV$DMyDnRuWe88YMH7^BA*afHNftRv_QmhAPXf+&~BwQmx;)7koT!TDAA{`t&5d#UJ z3`}Yp92N@11QL?jR0<~O0)AgeFryC8`}%_XW3K`p&c>?(T+~5Um^t`jtj&iS16BlI zo9~NlEj<C1z9?(yA*<#C@{3blQqv%{0;I%)wx{w-^HQL~pvVh=wc(IgfrCAWq(0s` zCo?s#geYy0ayJ-a4JbuIY)2A?n}(2umc~$BI7$;pDU3r6QXv9cKMGa}w+z!zaL9ud zp)4f@ixAR=mh-?%QIOn+Q#*<?A(aHGeddrAv0y={v+yXx<_t*n0yY5d3{YMLmsGIY z1uTtY4IWqyt`!tXSSuc|GR%c-U}3m!?9~xi4Qv4t+LAJ`99%!7&Vea$hU7<#rCNrb zsLR&Sf(2>_Oc5?qAd9WQ_QTwUB!uQ9NDYai7)c0CF{FTmD#lER;M4=HD{&}7NjJz! z;Wl9!i;=!b(T5g<7*51#FOo}r@)J{h6H8KyG83VF3$X9tT0yDO!vi|C22%(wwLk?B zSa*I(Y7VGhh{pg>DTb=P2(s@4;eS*cku?P5=TrukCPKRuSeyrS9Y_s|%Rm}KiZUSy z61TpPqD;89lvL1q6VTqK)V$OpPzjBs8?rhAT%QKGIznv)sllN=3}y5j>;P0Fz+=5o zE3wA|s(PrEDA54gX9fydBxA5f2&ze-9ctk27P>Z!cp<0{6w08WClpX1HRu7ApO^yD zjv7g*HbVW38A-vZB_O@9z`$ue$g7}0Lh>$DD{S#MwwM9wKm==WY6-~sVX3eQZ!B6O z4ULWbFtmjfWfIV3grN&mFFWVwrF!P2LB|%bSm$SGh-Mi`8z_Jgc?xStg3SV{a{%c# zLh>ZofXw0&LiS>{IKLn#wJ10_5jM^Owg%M!=%E9$&$ZAkF}WlkI>Aq*CQlcfv5g$d zAoBw<OOi8is>bG`fSg3wa1Y1;R4;fKqJ<YI`{Ohonsz~I-~o=NpKuugiY0VS`8lPz z&`BgBgAAj9M)emglOW19u(@DYqX%g`5oH9((O`X$b$R#;R4l=Sw5AWH7jH;`A`)2- z-qI9nbp{FnP%uLs3^IVoauk~`B7z828>lD)6)~7;2^u;eNpN&vIuxWAYY__73M)HN zbwUe4{N*R8tBMq^P(9cRPCrbgASYul`~qDaBMpo|{U|Kja2A<(bb)dz?jqCA55pRe z22gNf6qe91LrVVW9s_H|Sxka<qhi&8uYknrJlsViR^`|VMQjeiQ6geB6MI?cfz?>} zngwvsL5mk?Xu?ZCY&!90Y^*wPlz&+LfUo3(l>}fXgOUTNPDINlpy<Y1<bhlW(*qe? ziZ6l;n}QnXzR1g4!S=vgy3UZ{YG@dRz=l(z80>TM6H~xyk%|MjHgJ<1)Ii2`J*Z4U z9S#GV0@n)aD1!T#_!NbEf;JaHPDv=pNvs4Lfzu(7Lk@`ZFxYyK%RSLXp5Q}hNJCx_ zYaNh=x=LVG0Vp})bWotH6J)7zaVlH`mLvub6L4^XG=T!I7`0L9mxxl$qUr&61dueL zl!|Cd!7cq_L@P2AF$V)qU&w<u9v(;q9n^eqU|=cW(5->2(=1Lc0c&u{EG|jR!)q0& zxI(tWCBFc@5r=LEvU1nLu*95F<faHd)#ybJUbU#@37XPC*wS;DR|&?j2T~M+11Ai< z5J9s77G==th_o0h$u9s~f-{wZ8%Lm-BtjV-tPncN4jrfT#2BZ9%s4<!=zxz?dV=a# zB&FcvBnYVVL>Z@qRE`;mMX4$NNm;4M$fJt}5QjlWAi-+lgG-7)Q+MF;VDO4w+=}39 zctP2ZkXqR4H@s@oa`F>P%uJ95Kp_)~(23|^h!dfzFs;X@7{h*SiZk;{jE#_NhZKyc zwu9AR+KpQ&hRsl=(4ktepI}h~DqT?qa>26jNWm)&cN2b9Fz4V<1r1!tm?ajcK;;Qp z22)1BHgI6#v<oat$R>y)Onab%fv5opN`0W^6b9hr3MvKdv8aPvNu+X^<%E<&0|k=6 zAkF}nP^fNzs>0$3Jc==$fJHGlsE}=k<bRY90IR`bH%_IPHbay`2iVcW-^mfwcmPeF z+oPy}`WoaqCr9wA4pe!tyCAaQH4gCE2e1XO{9^_=838&)0G5Jh9^7(p@8VGc^CmVW zaJS=;#A^rC0Qk~gZ00}%0H+jQ3&5JujfWf*;FFjOTCg0FnVVW%l9*cn3S&p`x(Y}= z1Dz*_l)bQU1{EGivlS4NAWGojO;`=w$wVlHg+D%}&|rj=C%BvkRYa8CFtx;34h~}c zR)dugWido04r>vM5+ETCixlW25d1&|h%7ul@Jhp7g<loSML1MJ!wbu76(lP{<q25^ zQ%1lxa3JBd3oJ{>CWs<5dtlRG(8C!Z!3Yav=p+~FL>NQ~JfsP$fxC+cr7+jwQwj|+ z*nApRAH+iy5oI?_EismZ0};Q~U?oIZ3{i<{Ep&PioQ6>20a*qu__0W#IRKjq+!n)v z59U!6-LT+-Z3BSB6;>s9YykTmtNCCVe9ng`Ks6gWQHmwlkY&(<4T}_-z1URXwirFw zP;_GtHmpkU*Z}rBEZ9&qgJtkJAEE%&Y~<z;EVV&vUD(VnI7s0Eher}_H$F8m>#?eV z1`+5CFO<n)h!dc)_^p8{!fOvWByiXQmcwrcL<x!wNvX;Cxv9b6Y3a<WRM_+o*x|5n z1+|#LgIP(Lc_~OsW3cpEK@~q}RV8Gf4w72%GG^TRq0t0)KBeZs{7AMru;_r56%-pp zv5O#)N3nY##t`Qk$ecBFXa$@kpz#D6bany{s)G6npgAbexGZQ+3%+3v)NR9}9~!P$ z4FJt8p)QoeVgT6vnA$;8rP%aB8_p<xAj$~v>8;Qu{ZK=YTHhewK_;+JOoolic)G$u z2Xa0wD3nlLheb1%pn>T2Bd8U_M-Yuj`xg-ohI$6Y-GueSm&QT0qlE=zI6f4-@eajg zScrf}mm&KRaGfrJMK?T1$kPt>77?1`6N`&W36+Bcmd8TEAU-|61gYG^QbrPKOi^N9 z3I1}KID>K^T}LdT3k@FPjDeo(Kn)i`_Gcm|6Ie|{z$ux<_^l6gb#inAjauX(rW3%$ z7R-E*0#IHAsVT@WE^z`?XgR5gd8M#T7AVTW8%98CVbdlqscET2MX4!}z;uQl(TvR} z;5swF404u<LlpS*7MLlh>z2{FB`6v}ZgrzbH=^hu${cuxLve;5C3;D80W?vf*zZA< z{aAHkvmJC0a{%Gk2c6IZZuWrIenVm$Ii``SLPt<l=;VU13sl+?&;=@#@R<&e39vKJ zssJ2j!}Sm{92!($qtPk}97aQRAQ=ogYnrrBgl$Ix=P{Jv0}Znpf=7E1Vdw@4MC_VC z%`t46u<3z^3dp+<O-R9s)f%`Kggr=Fuvr2PAA}W1!Rkh!@<eRZf`kmzEKnAJI2Xw* zsNINiFd#oCGa0sy3ZfrY=YkA~fNn^@(BJ?ooIqs^BGf@n1?><7FTVoK`N4YzSS*4E z6LB^n1tCe+AcY5E?;wR0swElur8y~%$;qh&C3rG3D1p171_>mE;MWch39x=7j}oI9 z>OZhnB<B-MHee@#cA#MT2Ug*M&2$4h0%>Ciq@{w=*MnzAa8x3v4OrPru6{(?BGM#y zSfV%uUI!6y2M*mNy8;?1C~kn)Lj>G_RWBA76sJO4)6U?Hj#%1?5bI&vQczTbd(>q} zivrLyKVlLGQx#GuK__xB)xdq><OrV3sZ7kvhBbMhJ5|xzE}+s66h;j8xYfdKCPp#T z38+f3H^NX{1WW#4jS*3xt=)N$z1)y}-f(s?gax{#1RVO%iGNq5*?dS>$`w@bqOJ~b z$57;sp$NQ_JF}!D2XvxfN@il712INp>LSlBVlGO-w2R1_Qy?C31+Qap1TS5L1`m8) z1jNzqcvL_gh(`s)F_0TlAhv+cKm?64#FrLl=B3BGr<VADj#veCNI`pXBOF~Fy}`|G zT*t<_g5wgGtUEXo!TZ@DDFWrf8i-z8vJkysZN9~+$;BWyflm*LbhLLw<bUv_FIZJ@ zPHJiaSSi@)2nnc8m&~*@kPNbJM^~p%L&)7EU^8G!OQFXQIYc^oBkTf)1U7ZSsh|z{ z;O)yu)fI+v*TPcJ@kf!4@qQqSK>-i;5r#tdqEyiC7LaQRDTR9&)ksk0L3XKMeo<~> zPG(gq$V|)-Kvxb~P33?Z)F3w-I$(rraA_`fLlNGBmIMxw;4U0=cniD|4LoxWb|`i= zh`@(C5tP_cKsG{_je#|T5)rx>c%OLz=+>XoJP-xa0@+*+)&kF2a94qs8o3}`ghK_2 zlb~mRm>8It8XykyfS=`IVqlSmd~OE=*y{Au5>VXdr==uTf=Ww!1JJD<_9}@vpaYIU z`wCnfic3-)98^@o9PCx%o%3@Gic*V<Q&Zv#5;Kb&LhV)J!;2CN;=vjm!m#Ls=nu13 zfwo2BK?x0{FE}%|ASV@kwN$YK)EWmP2NeSYh!#*K=@1(4pO+e6l98GhUzS*unV6E9 z47!!77<`5XrdvU6T<rdEg&0bPKcG4x`a%8(O9kz?!0r#2Vv79X3OgS}#ooZh0Xa-V z<DK*KN)j{kQj0+6OH@=sTm>P)0fsM3Tq!gQ*<Asyj;;|7_9{t<#hJ<R#gLV2E}`}+ z$r*`7@g+rxnI-U8MN1Y&4oL0=nS&+KAtDmgY6n?V1`c%xR}{lw!3|EMVE==ZgR{H6 zioF3SnGuydL1`P8LcC#)<P*@zEJS1ngwOD~4#i`1a2?D(gzHek8Ja!G$URV<kZ=O! z9!NJ9d+vcLCMox*s06w?qPZ6CjUY!?Cr=P|uvf`REiQJ5fVc!SWC*U%JfVpt-Z3Qw zRI=r#!OEgY&_Wy+M^{Hsss`P;l3tXU13Hrxv?#d5A>L2Lz!7wt7^pe`7mazvB}Jvl zC7?C%pqxfw&H&A~xf+C~<rkGF7Nx{zmVgc<%rA;BNlb?q51`V37M5n_6_l0`VWktO zbRsTeMj&NO6larc27w@PNlhwEkIyM_0L3~8Ln0j7)bTV3aCM3ghb*sBiH9kUFDOb) z0o7*6X#}Jhgb@aW!V{4J*my%MhC%P=ae%BI1{X|`kby)zilNyLtkBUFi^3w%S>HyG zq=hik(G}{Q(4xe=l>A)q$(6;$s4)k<gA3+aut_)#f+l82xPX<$7nBr%EC#npklpFz zVgPC3L)}ZN8$bqw2M0k_04$6l$ppn*xRbyqNyUR51&S)14G*XzAx1(-XuyITOiZbZ z6lC<YG&CO6+D$A1g$%AZgl<Uy#fYP8yf=pT;=PHB2PAWxT;jcu%z?yfycbF4fD;r} z=Rl*+6Lf=Aaw4>JgeGBoNBovJx;h2AI)XcP_A2p6MmRxh3UIdoZ`ubN0lWS)KA@y1 z9^?oYXc__QkN3;ZD^5<#!5;9SatoY7!B?8XO>jjq0e8HCw8E;Gpw#4y)a2~c6mV#P zWMIJ#P4G|(ECaDFG&#SZ5}Zpw2ksDT0)a+GK)OMWHUKf8p&y!uY%|POkOC0Kq6iVd zAfrGSt_XC>T0GoYApOK-DR7LVTI}Qkb|Qgx6EvJ1;CV7M57PxG)jv!J*h+9M4l1EY zv@8^Vsz42ml+-lPDeXD&c@D1e-cb9YWlp>|(H=A)q5y#SJ`>!72AvQOO&tRj4KRnK zq^2c;j_6Cv%mIZ0$T{)eB&Q2-n}>t|gT_KwVh*?)3C>oiX$)3)B;sz}K@3SOC`iqN zWK7C?HK6$&1JKNuqboG;C+EXjhpvvGYn1VH6rjlm;tx=t1{^A2UEneS(<pG~I}y}d zhw3Fw7p%92I}-&vg2vy_<RSjU<}T2%3Zy6lwGVOD)6g;;)uYII(Y%W+h1@BIngjDR zvNGaKz#0HhQz5Ry5&$j^-~hm58;*`+sG*Sq6?$}_RDo%Op#!)(6lw(P0U=Tgrebgb z33U!44dGA+2?$sqV=AKDW~|YGX%X1f5Z6FRERlmt7dXl=C1GwihJ_mJ*iukG4rls> zW;Tc;U;zVdtRNeJ2wJEPV$@;{45)sHjaa-58lV9cy^tae<_1s_#h2hvQaa3SU`^oc zgJulEH&A`V>%i(Ks3|!8gp|)vy@eT#kd%R^XvL)kq7h8Oe1oYJJ#ApB02@Hs7#pr! zOsrSov4J&gaXAs<P%w!l72(o_GxI<l3++-sTB~5gBOT+tKy628B?ukM03FE-PF_$o z(5eDTK@3AEMYKdgRSgJZsPKd&o=8VfZykg&RG?H{C@BuC2~8T@xeqghwK$R7f}#*5 zH)5LO>VU%>T;U514oCqG8Y4j&=mi<(7>eO26c?fS3~Umb0<bZdehZ^$Bo`L`Fbl~W z`a*MBZf2eXM$AG}Qf_`(DkvG@Yhj`U28s)b(FJx4BDi4|qJ<_n%23QkQvfyw5!^+o z1v!bysgQ;$ML`ZKr=ZPDq)}CHZ4Vzh0L{k`HR}TLhM@zvKL%bS1UmH?+~Ec_D-8^d z9PoA2!P;FQSsj!?L*Y8(lM;(l4UHU7hWx>)B-8*}o*F=V_B5~vG)+hcYd}j$!QllR z+6I@&;1MdQ04NZ^9h71R7qs*N4mwBzf{>tig|y+&R3Zfz)L6>x!8ut3iWI0V6eTIJ z_mI4V92?X%ALJF<nGUMN0$iPtOKwo48XCcd;*kOjHd0Sw?n49>sBR?IGQ5+i2qWQ1 z6gqc_NIGGu$>2;1O`mwC*O1aDD6o-xV4!v<xXuLy1JnwvE<>p@!RZ3-GF;PdD8)Ef z3%c!~79!ksT*hG9jBX6FC&1wYDv@B5L2!$a(inC{Fb^SQp;qHJ0$CBv2=b~?M681g z+At&+Q)(d0VZ=@OIK+EHqQx->bcsc!e?cnr@+io%)d0}_hmgZgP)cgT$|3G>&dD!M zbxX|5DJ_DXpaWjkipyLg)I$t*DN4-DBf(%I)I$t*%PB3+Ai-cF)I$vR%P%1|bnz>N z7zZ+o1ZNUf4ly<;B$xzK395z~nwpqGim3#ZLyQeC$}AxzaS@>&VlYy}9$JMUGAxFQ zf}(ub8V_*s0aXB+2?3Q(;F8<W2(@HJw5%|iVdyrcR)E$`gDz)7$bgDPc#(lkK_F=S z5;QVkkdvRDnH-;5RFq$Y>I6iYgIx)zI)xMsMWuP51xWY}!KDac40tgUMyUdl_ws-( zm3Iw_4{(GW+z+uEyC!fD8-geF>Acp7ESsVA1|<AJJpp2>U-b1AaGPNXi^?s2xcSgF zAGmI$sD+GfB9&UH=*CjqmP0oXYpV#ei38ULjZH*=k=0&9Hx8>SP*M`2v@xW(n+iS2 z%3g)YW&^~vcv}IW4Lnd|@z?4|3h~#{NDA@Sx=0FfR;5U4@Yan;>hRTe$jb0lUr6fk zS4T(+306mjglZ8(v`PZWaE#I)Ne)Y)jwFkxY&LQL&*?_QdxMS{0vF{bxZMbvd^Iox zt=56pi;l#mL`PTf5(`jW=Z;vvN{yn%$uZswxuT6X$D7=tr&E~YPwOyM_!Bxz75-EX zQ-w2$!xZ36-!Mh^5;t58zLX79gg;rsRG}qEm@r0agh^mYicl$Mhj;@^cONfjM|Yn9 z2hidVdsBNAXD53V7e9Mb1A7%mNASrYAazcT4qk44p8h_LpjA1blN{|$OY-yWO>^?| z(ot19JGlD$yEyu|`Z$E<W#{FW=h>UW9gV8g#lhdl$<fK*)!PA5eA=tH_=ec4xcK8V z-POUz*U!h%+0z;9V$hOB$Vf6Cw|hD`y9M|-Ir@7zWagD6=47VWn?e@#+M5>S7iWU5 zLPm9%kAuInx38<0zaJJ`Tzu_KL7^27x}^<OpPz$=ud|oGueYB=ymNkOUJ1xmF20Zu zwO4WWEY7S-jW4lRarOf7>@5w!OjCP9d(-&fDs;mF+`PQ}-QD~hpnU*))BHSp(_(N( z5ajft5_?ln@6+A{Rj0p$Q-Gtpx3`NoKAmZx4jWdjzRu18F8H*jfI5+wTKzoSeLVww zo$+Zc2lYMBv^u*w_`CUfx;y&%Is}&_=A|SSrP!M~+p9SHfU&7hW>QgNQD$nfy{Ug` ziM?rln!RaIB0P0EdpfxJ1$ekQI}_IL2}=Qp#O>_m;N;}!?Be0$3wC*G3Ml#6o95=H zWTsW32Y66OFv4O#2PYp7FK0&|NIC(h2vd7YXaY%wt!GD02JwDy?JiCZ?mli_K7P)w z4n`m~&ffN>pd^x?21*`f`Jj|)uj1?tO(iO@q=ZO*rU=8F9lX6={T%%q{T)JzGGU%5 zEl#yJO+@!ZNk(FcJ(6A*2UlNzH%AX|HwWmoekt~*iJ+Vd>HyiBmS?2q*_)OWRc7X; zg8~O(tBZrXle@dSx4XLo$jwMDvsZC;2Ybph-pSKF-qFX$-`O$5)88-N(Fa+-zlWQv zual!Mva9n8K=xsEHbSebgNLK5myf%bABm23^>py__wsP{a`tj4N(C){E-ENWEs0M~ zEG_{RL8X~_B?To#@!;$W3Vj!Uh~Hp#8=5=&1$cP+26#Ata-O}4vm1!c0TIO@0)*j; zo%|hqT>}C<{QY67ok8;XAfgmRlz<3OP&qn+1=A4xA`mkXMC5@8a9NuQV%e)WgG~Xk zk!|wxcJuWLa0J@~b_&?=6p%7|V+0uwVmg8du%p2Q*zRPI7}!FvMyOqgs=(0M*}>i0 z%g4vV(-&+B%pqVC13<dL8o>^S_z6;}I68uhK@~?wh$y&%foX;afl~}f0Vw5wXj71J zP=%;Y@bP!^a&vQW0y}|_KV3k^fPDh?7}&F5f=C~`J9zo|xH<W``+=>4IXV+$EI3-q zKrDpWU<pW&gM9#&0S5>;{=jjb3(^916W9cBn86GNNx|dP+1<g%)yvu2*$LuVu;E}m z1Z)MzB-n>wy9z+2B3uGyfo%mV0lN;Q0%5PWgR6glyQim*7ueTC+Y5FZ*pJ{a1{09@ z1v>$39l|iM6Tsns#R>inF77^_-hLjQq&Wd>JetW^Jq(T>u*G0$u+zbD1a=Whc(^z_ z1o-=VdOJBnvau&fHUvbtf`}jx0nSihF@F#jEC%tq4~P%e5)5L2)j(vxxfr1wtS1zt z2Ar3`3c(hD6EPwyA!P>_cLxu57jIXm08kkW%4d+G0b7m)iy=}5*u&s}0{b5vZeTI6 z|G@zRaV5fH7eA2WAfnK$39$|$L~I^*@pbTaarJih4R8a;Eg}ztZAG{Q932p|!Gd7d zBAf?yH&_guu)vzZW+7<-`v~D_wCn)Z3^qCm<TG%31)C4z!Lx&luY-?=yR(P06Qpbf zXFjkpu)$zM5H5gN4t57PCxA@`bHS>?t^`{N&JtkF5G`OMz*^7+iK`Tll7*|QLx78i zqlb%&GdP4{r3*L-fD;$k3b0$iVqm9%9RLn6uq-%u!7c@hfjtb?0dX#<wgd$ega<YS zo5^4gfxVAp0IUK7=RwS50}pvuPX}Kge<w#LEZzWT9<Y<aR)F0Ib~nU9aOZ)#H1G-q zRF{Js4R#RNZ{U_U*lA!dKuiEP(!se2oNw(dL3#{91h_edFb*OH_6ArxIERCcgatXw zHO}sEU%9zEcsd1my1Aj&DPX-|`@ta(_7J!x0dv7259UHl1bZLcL<YGA++2oLuiyd) z>^X4S1M5VX0hR!J7#s)?)4+ugI2^$afCz#E7b)!pA$;KJ;Nj-v>*5E=z>x9@(!?+V zg%UU+fb9jF0nW!@F4!61ObD?8+;#%H2$A<7&H|g`3o;BGE@5yMSOQ%7fCC>K_V!>w zuo_6Xfcao^!NHh}aJjdGvy-o@o2wV3Y8zTk_YH9M^!9UwREa~$>Anu`j{d&Rem;<f z%+PYWm!G3YfG4yJ8cI(0cX0Re^zd`>L2a&sGZZ+VgR>(zhk#2KFc+Lp!CXidg=8pL z0RyAK*^Z2Y23($kZ3Ne%U>m_%ADmgC)*^DNzk{E<r?;1@BcypVgaY5))4|2V%RRu& z50YD9^#Qn=0GE&87$^djYhW>O=?gCVz=bnd0ulp|>IcFGE5)Xrk{TSPij0SczK5fO zpJRZ#uLrc*3-bcFaD_MrGC~2Xc)+d)M<lok1p5PA0YEAd6=!hlgCia+3|0z_b5J<I zO@r0H;8cdaCdU~N=;4U)j;n*Si?5TLzc*@Y0@fxV+C;EZp-yvlN8y1z2sX$GBo5|+ zRe;67eFSi(0TbX#7o5Go65#eeSO-`F+}4I@gL}ct+abW)+0D_zF96)G0|z)b9YI17 zQU!xaa43Ug0Gu+wiok&mNm$_VBu7VZV1ctE*eGy>fNN{87+5>RWUzO^CS`y;2F|w- zlfYFmSO%Pr!7^aOzyxBX$<WK+!PVQx+tbwp;&@nc0viLi3T!>tX0UU?VqjTtQyI(x zi-BdqK?AlIVI^1smR`VqLo*U=5Lgx1G_V<9E?RO1jYC7)Rp1Cg<OyF#2PYR-9~U<d zNKFRzB-jK<IDx|+GTH(*98uPSEkrm69LiuNU_XGP2JCf&iC|f<4zLAauY*kidl)PR z)&>@X`5J5*QcQr;jyv9I7|{F_XwC_;dpzD9|8xwxYW&kO=&JEg&!DTuIZcDE5btyi zx?+6OHW+I0P2Zp^#y^dNt{Ofw0$JpME{!p*gRTI}^bVR5(5)V!c%vS1=|(92SVvNb zKf;j|;*V=2g*c-bNe$i@MpB0_a*>tci&rFd_@fk|Fbpj=kz_C;5=jnA971Ig_if;f zK*+5S2*vng5nVO@s6<zdKR(e_<BU{vg?M8YT`|7s#ZZecj?oq4k7#t&Xt9khjS=PO z3b4dGM2Qg*v28?5BpVSEw?@Q7sS$ygG$JAbjR?n^Q4rziG9o6HjIc(I5so-9!Wk9D zL_~!#F;QVmOjH;X6BWh;qQaPns4ylR6~;tFg)uQvVT?5@jB!MTG0vzk!5bCOMGZkF z_#*?Z41aXMmEn&NxH6nk0#|`IQsAoaMGHa^zB~d~g+FTG%FrSQE{+jBa2YHS1eS|; zOvx`OalpM?33UDqmR%-B;A3Iq9YM$PK@WaIEJ#8u4umeR1g$HE?&lzCzY+Mra&*I~ zvhong<iwIxNc#=8ddnale1K!TV{vh2dR}}{8Rh3LL_l^tfHv4iG1$jDl~xjcYD&Bx zWVb@RQw3<RG&CeB4q8W7$B=lZiV~1Rh}w#01YXt{@0^hc4i+keNxZiK_#9X8;f;wU zNWP=aO122lLN-{CJA;m^p?Jk;L_FlI*Lasya10=&9ngm9h<I=CCdGJ{RPgakL`O16 zGvq{$c-Q=5s)Q|Q{b9Tt<kS=JB6@K0b_MOi2b}~1N``Jlsj0New5VoNG0(cEmc*wd zmLwu27jRTivT7T&UlmboVO@j_TM7-$2Gn<j6KIn-Xq`MXhm-0Gssu4KAfRSpbpmWP zHkN>ZYC}W^>1)E_p#U|DSSO@q78Qd_5PBa33tGmD=U@jc$!36@3JzIfHkcztELl#4 zB@l3-14_`uMJ3Adx&%TMX2rlem0+l1acVL6C~Q#qH2{ef6d@#*FazaYaM;q#y|9R) zFxi6KOI(5n?Ir;oCm&B<_)_j(c=(d$-ozYG(uJlWL|G3NAhn54Ag5!NpVYJ-90H`3 zi4g0dA%^fh={23BBLT0&A{bG~QO$0G{>HQ$v>X~|_Yi#b2iD#pB#{^8ms8%R1$Bg= zJu}}*(2;odD)H2c2T-dR>{Q=Mc%3)M%?8II=nzt<yK@pD4Immgn~FxGyBe~O7}54d z<S6pX6VSb&NV~@%RzP!+ZzY6F-L!+8^daUWtSc#^W^oBRf&&`i1=KVdoP%AknvAsx z4l9?zwIygzCQgSDqaDTeqEt`^7&azBjRX<z4fPmkdj>UQ!_n1|MrMQa3Dj)=qJoUX zJkU)R)O0&!1Ps+|s+1iV1|#J~Q0oBsSO65Yxv4lS7)M8l%8<+y(0~<%$Av_IsuJ+{ z2-G~t1~z<GIDpPChBzT2CpC}K%FGGs9jIBvSP$1ylt?w}<5P1BN-E>ibMliCbK+A{ zb5cvdm*0R!qawiJgI5J)ToRl?LE~UV^ny`J3*xoIS|iBXK}U>7G1wDhJ7(z&HV884 z3n8H;7^X@i=vgsH_CT5WMaW0+fQmm14<S@SeE_uv)9nbAm`*@)EL1<H8n`ndhXqqS z&IuX^G6We49-xJf_+q(2B^Z1e1;qPAC<YzZ>jFB84V1i+QqwajPRx#u_Ml5PVD$x= z2O~i0Yw&$BlxJ?x@gATWCpjlIu_(T%1a?;(c<(3T5Fl`Qk_<X42zt*eR(Z&{HQta1 z*#}8{DTrZdQnDi`!@H1T0yI4%G7rcEXtE~G4VY;dDV?L5i>VZpGC>Il#VSM|f;LV- zxdr4dY(7IMhI$327@H>$iZPvn<Z74^n2O-;1#P{J&o3<j-C_d0%?s;+0^p<p>ElpX z*HJHXfVUjSLvCOp=yr%=Vttxf91q$wiY*&BIYKTZ%S{ALf8~|trWR!;$LD0`g06A$ zfFzV)$c2%)i52m%79OtC)}ToPq7Qu6j(2FhUuF*IAjl{Ndt!`$CKw`&K%^U}wGazI zMFWyW2vty%@vFjmo-WjUh?{~PK_}Hap&io*nW@EQFIE$wZozG$D`t>UlvJIdO=%<- z5^fhE1r_MvRjikMA!;Z@Ihj{L=`5R3ytfmBJ+4#>y`dZD8Bd^%|M7`siJ3WxNja(U zpwc}txg@m+M@<3F#1w=s_`*JV+X))p0v(|R>HvaQ36SUj573|tIWC82#9}?<h+Aqk zjzA;5&_N1{=Bteyz}L({C#qow@lwl`@!l}g4Zuef)6RTQg<O<cSejXsS`1n+gISt8 zx<Y#~MXAN9MP;d!wzM1_BOr~I;?xoX%`9lWKtUct6g5z@NGYAlGZIT2&{pe&x*~=> zzz1t!1{kPC;Q?C3Kv8M{MGQU*0$iP3LHR7+ImF&Ro|q-a_VxyN*K>i~jX2rJ$b<pO zX#7jO94zeZ4e%?$XE^?aVPM1YE5T<t{^ev~!|^M@XE@G9Xkc@3%HlH;lnJ4S&tN7k zu(5bm;4>QEQa7;4_!QtZ7~k?Zh{^a=;4>QknmVxA_?6%>9CPuwy}bcieurs?oI#0_ zDZ(%o?17zwA&SokEGzrKhF}rLW{jh;y(9je2B1s~R)s%%!j<9AXmDltvkY7r&Kv+& zfj2S3RpCpR2u1kP7+e+p)WQ%S;z>l9LKG1SQiv)-Aqr7NC_o{q@PsEs0fFFzD8e6_ zP&N1i6QYPfSlWYo$%ye3(1p~XDhno_Uz{4BoS&Op06w`n($NDU2|n%$t<R0B9nx1t z>DXdZfZCZwRRQV;pgI85*TCBRhfHCD{e!zf3^pCq{)Mz}h*u4o`$B1SgSEoiM_^+? z%>l3|xJ`iE_W(<SS_4S7LKGF}<d^4Eg02Vm0NqLM8t)AbV0#tNP2&!3km@A~<?4Dj zH;_g4DxiDE@v8tk20EhP<^r}Pz!f&E=m9kbtO$PHxEtgWQ-?@LH}LH&uzM77sRDHg zKrs^F>IgB<ASfs(H95a11>*Fe)RfY^l*GIe=mA<q4&VVH@RC=11F)%ZCC>SIB}Mr; zIjJy30j`c=s7gYL67!04GmDEsCm4h7)PTr4=jY|6CWB6_a{zaU&`n0O9BwXQeYyFd zk$Z5tPP8smM-tF$i0VP)FaT{?g9H?sB7}GFD1o>frvg+*B9z6O<93jl6IjkEu{hN^ zC$YHL!2!I5k^~*0d6|W!so3=)d<9-OZ;$Shpj3#Lh;s!l)%aY18YWOzSb+VEHIbS- zf&GuB0%kK*)&;kIP|^SoNZQAvse+k-q{1DyIiT1>-ldAF5)rP1)Iq`*zbe!)LR0JE z0J#Dav|KyD3{=uY7&t_Miz{&V2a;Q{h9z`wpMgDkmPa@rj}nN>aVkJ{G*lU4XCP{L zA!k9z&NEyp5l$nd4&pxis!$yXQENoVX=n=2U4$Wx><~0bZ1x)yvL8(Wy8Rf^$o8X2 zVzb`_xBWPZfglpJpp*sZ8WCQB76h0IAf6%8A+Rist{kr;P{Rc55O7<~H#IlEs1k1# z3ockvQj_yjQsYzeK%=2($`R>2KA<SSBtJPn2U0nMrgo6)bf_W4sU>8X;EB<2f?gc! znOBlp1RBCbjbc<EgT{vJ9Yf&_FVF}-RDV!v2~uMKI=%}pS}=|A1nI>Z5U`j57q;M5 z3|3|6Mmjo1Koye_#-MrK09QvyBP=x!Yyt@Z4Abt32pUi+n~|88l0z`M9UQzJLG8AP zP;k(DIQqHxxCR9{208jdnom$;3i6AKGm~;E;eqO#T3no%4!wB=E{ez~#2Jgvn*^Pf zS?mf<%jnHZ^vH2?bOXhAZenI$PJVs?&V=jW0II^kc?E}BSn4384%G#4)dh*k+3~qp z0}fM%2U2``dV=zxCn%yqAyZ66gxl4S6j_v-o>>gKeH{{!MQFZ9L>S1G9v%T^_>zMG zxI+RrvZS&g6+N>dN)iVLUsp%Sq#=<yu#`QJRswq49Itt>NP^prnaE&Dz`5K5HQyAc zmbgH!vqtwCW*kKz#StjamFB@+M!nz$cMgdu<Uwf!<O<Mjbl}|VoS2i71WI#0nZ+dz zq48kB0RLduAZI5B2S@=A=~O^^Ujg~WNc}A*7ec)pu=;r9zy#m^Nu0J|(BuT7cZbh5 zLwgml(~0*Fq>}`8A0$^pyon?XcQz>9W6Hu@hmeJKL7--$*W4)G7#wO)YIjIS39J(C z6vBq$REpDVm`8{(8<$cPvmqTERChyrH^@>jv!GItE)A+KaOMLQ%&;C0L>i_ONgC4K z0ZT(-6QhFzmV*ZlDAI5!ftik`1T-H5DQdtbIXFQ31@JBiSQu^rc3GI&P+7E|0@wtY zx!C03rbC+hSe3x6fGB}9+EENf5<)W%Sq9Y@NZT957$hMyV~}M~je#__p~m1yZqRl! z4n-&l4OuDN4MZ4=Q!Q@OVg4Y-bX;nYOixbC$%%)S|DaXYM3-Hlz0??`bQFVqa!zJy zUP*j$YF<iwL4Gl`(FG1fxNqUL9lGN9qSTzklFTv^b(N*&<R@pAK>HQM+6B`^oTbpV zZb?3*Q3AFE+G+qbYC&}wR7qKCPCPzkkkAGVv*x9zqBgO>rpCjfjksnhEXb&DAjl)h z8HrSJB~{EqZRtV+3s$3p3P~)@VTdAFh{6>W#1|B0=0W>~U^S2y2G|6sWPDj_4oYOh zOL=(138_&DH3XitK?@&Ji%W3k0gz!xt+_x~CqM8>0m%CBrc9y?fTeLHf53AgHUq%t zT%b4sW&+7>0UHIHXFw|jAeklt(U66E9i|wYRYd55xfIE-*ma?}3>3@Y!h?8Q!TRkX z%~0RclGF-F+99ev309911te&LC1X&`5v464HMIzAqk{uzzXGXx;P!ZcR|?rfnxs$z zL3s(eEeaNf`wY7*%me7MNbUsN32A9Tnw?;C9UQ=8NU*VWuo&DfEK)Fwpi+=V8LBRj z8!#GP5G63(Xi5+bFR(Jqh8I{E?ks523f?S($imEq%A&QLz-n+byufmB(;=-YY}(=V z2Sf>^Ed|yLGZ;w-%{*iom`fqXK-y9$#vloy8G|f?Y7C^|1vLg5JJ8k>SP*UyHaVD4 zV7bJU6i~8(=5|Cv2PGiT*+h`N2Pr8*sX3{ji63bH5~3c}E~pmA2+)WEbl^V`hfa{4 zVBL^R4;pjC&{kNQT3q6inwOcH0_z5nWGznpL|g7&l$cjSiS1YoAZ&d|Vs<JSUdGf$ zz^deo)Z}ci8zFH4Znh%n0hM;(x*XcrN=ePD3`zxuE4G**uBC-x2$F?FnoyKq;FDNf zf;2`1b~)G+@O(?0S?T#WjDfX?C^QC^*@!d-l;9{1;dBgBNDku6yv&l!#GK43XdeO+ zw4{XzXa^3+Vn|W}vB0Jf9OQ*2wjxN01JMoENn+HZ7(lM|e)%PtX_?81;ME04sf@Is zfVKr8ej&pt;4J5vmy%imF@n6{0Gk5VN`@(*6amqO<bH4g0ULzOEOvygyoV?RTLrI* zK$AJ(QF#n?NCqM)@<`1|@yQ4Etf4(poW^0O#BCrX+H#075mhNRBT+k2VCO-rGf>M5 zRTf1*blYuSX)Z_@I_L~y!p(4kjiQ5VUF^XLH3e5P2Uo`+hoB@runkCY0yhMlI3O0G zxCB)JMjC{K5~N`at|~x77A{!p38*6QgaTGoNcKV#7IZZLQbF(F2|kP)q#s;yVHTF? z)?g|l(H>~i2NE{m@Pk?b3S5vwP!telIB1*$Nhgj%2E!VpI6`&@JVa3fg9L|^IF^>= zyMXs82bUz4ltNP^a<GF_6J(8DNl|8cdTJ3Ul3|S$s0Og3;E4+yhoCURtpVMQNUFin zMw0p1bl|Z78fzq3fn5(COOTsnL<JHS4cLr__M3eY!AmopbMlk3Aw`b^WQiuKd`M<) zYH>+oZUIycXzPQ411J&VR|lGX1ZOvBpB0OBpcq4yMYjyB0@7iD>PJ%n+7xX7+SU*T zb(15wp2eov$<Y&>*zJAsC~-r0FB!DU7l%?uSIBNMum{sqOW>|@%u8`hDND>thPHj6 z4nYcJ_;eRk3a-@w+?6j%O-_Z6zCx8C=?0DYLS`PIa!A@iaZ(I#bz#bb>PHW7h(hMa z;43%X;VU=Y@vPiLr~*YTsNxO)-5>+H@Y(?1jGL#gqq}R6ldHR@pIeZluPer6B4N!g zp25zJK`yQ?U;~25Fu~OiqL&P<L9Xte{(eMigfBON<`!^pL&m8*a}(1^nlFWD0F7!w z4TFX`B>s^LSWwJEb0b0%yetJ3zeJ5YA?by6J>Yu5LxhF_u1<dN1dP`OphIc%@=~Ge zg1|`|#f9-fsp;UAxL_MFf{9$m!<+eFV{rzU2ehQaJ5@|5;S!;lK*A-$1Y8N12(8!? zE)I=Y6E0-55t1w*Q>l=ML>7mnPtZ6Wb~$)V;!y%iZP=9%FaaLr2;I=hcbLO*Ow>UJ zH*qOKnxTV@c|w#zJWPa{*cIY67w%OejmN1Tzb&xvCe{{Q>T%kF(_JVFA0Xk0Q!Q@O zak&SZ>A2LQm=0Ns0C5i}+Td=2E=a(Thnb2+9-m%#T7~L^EOfwPFR1tecZp!D9gx(( z?8c!6Za*%0Eczj%^AI~A869I>9wG?}9D)kqE&%07JO;r-1CKgl%)(_3VzvO{c+BYn zh&aSk(CGm9WC21B?gl(cV1bHV2>}z}9)Rjbn^S<e1U7YmRTAO_$UFf~1#njoQU~)4 z9(BZ+1@{)j9LUTDs%MbJko|xzj%FQ(G^&e{rSa%Qb01{N1l4`WV#w}87e})NLmJh6 z$kKRpqPY*!4}!T5N7)UX$-$)xrPM=F3-KK>rear#-(<KiiM0Ty1_JiL0-9)haB0A8 z4^F2+s~?nL#i<yN`M8{f)qGrvk<3p_NdYfS0X4_L9a>20fG00dMFHAE=wjgO>+1{Z zOh9-3AuD#yNQAWKJzYWP{~+xK1Ze;bwGy|833sa+)VGDMXTquow6uxnwNelhaJIiO z?82s!3=1)v>liknC?UfN^kzMV1xN~rG#;(-4>l1Y1~LR1`N#<ZHhK#hRtRu)g7iwE zDGQNUz=<P2x1h8nHNGITA~h#IITf^h12Q5CQ4T3kK&dbu)VuTpjlm$<<lx}$?hY~s zx|^gluQ)j|Cp9G=v<N6aFTS)mGcP?Jbc|(uL4GE>;Yb}#Xu5Uv^z?L(_XCgJP{~Ml z>Ko~cWF&M}3w$<Td|FXrF503sNHD^S8sg>)li@pG<5P<A3kp(GP*=i{WoSxjadJ^+ z0cgexn`xk!CefJ$OeEE`%;Mz4qLkDWNH7*-b0mpIf|glQD^5VCI)h^atGi%DJ#q0{ z0Lm38+eaWV3XTKn7zM9Eh;tD%zhZF{i9ueHQIua&l7l@L5a~74DK?~_ft72ZP6@aR zhEpZXCcG-)Uc;{n!>l~#{2b`0Kg4mMK|tu#UY<*8K}iO35sEAslwXcZBPa&I+k23U z5=iL+-Rc9e3&qi(;a<=Jn+OBEwKJ%MhMSL^Yq6LQPJ_q+jbsN>#Y2jbxSWjBIP{VL zi!*VV3E3KhyNLnbw+s&pL;*pj6{sx+lt6)*NO%k#+W<ULs3Us`O)08xh_?}2lL~x< z0}gAksVCQNlpw=rDT+dJZ9{5t;j;@#87Vd)QZTyV2pLrKKuIq@57r(>E+>dd(Kwxn zwALC@Oh6X*g6EV#R)R|w3`L;4j-(JYbsdjX{GhlFRtiGeg6?1t;Oc}}sSHZ|U=xrE z7-SPbmceT!h$*1C1$<g?Dn~0IkgY+}<Br{p@Qja7D;__B!jy3P7B$S=K<0tYi-ELp z-ElaL5~JN|XS6Q~MuRT}!P?@dJVZz}o0K3S)ogrWQW9ST+8lzMzOdu~(A=GY0ch?H zl6^|zi&Bg8b4o$2bY!h)sTw*-25)SEGEpk-W<tClczPW^tBllxLreyO)^&h8d7!B| zkZX|kz#<h2<Q84nYAz%jkO~cKHh_bUxK;`AhT<x5(aLUQ1JMc|Y)-{xDsnZBvpz+# z3tmK#YYArkiDWwQZ3VQ5L$BzNy@jR}T=S7-C${jxXE8SQ<lBxCaQLi6QAoahNVPgX z+mMuzW)~toqZ^NqK{pXv3&D~Ja*2T>8zLtJG^fVL7o{fVI2b?y1C(!^W&svqu!o+E z7H;C^?pjoo4=u^uO7p<Sf4QgTr4}WY<QF+OK*~haqtomi3F`|tfgTtPZH+@mQ3-3r zIAD#i7EsxVf9JkisGoC)r@vpkvxlRfpQ}%NkZXWXWIT}zSs(!oH^Vh3$Ulfoy`Fv{ zu0a7ot|6{L6uBYT(Ko=yH9p8O#Fa90LL7raC^W%80G9#aM2sa-ff}Pkt-`_33oq*_ zFao(r1a<}Ja2?2yEskY8n9cxgL<LPDfb%!v1U*cJY0xYMIT8lC><3dBs(GMhI!>hs z6Tx9Xl-hW|P#+)AxQL@8WMv9u85X8HV1~y-hAyF6K!ecGHHD;Ugtcr4dIr@#u%B=& z&OytJ_%k$dW?;|I#OWoRp@}nxaE2z*96TACSQBt&XvkV8j8p?z1OZ7{IF!KiEokHq zze-s4B&-siX$UKYrE6lG3R4TsG{hSYPs9i<(A8I1f(*x`EMy@T5$ciVG+}G9Fm%B~ zoixjEY9q={Sp1P_CoXM7*$Gbx;Jui*!vhwzXd8Gj0}iGTng)n87M=j0>LE*|FinRw z=%6c~a4AD`1hJ}NMK@GEWL*_*M}TS(@Yp_Vc@?HoG>4F)1LhbcJ+9cB1@UOMsF(ym zfUkq2gR3L>7)<ayrF}d>6JWODF$1#93&XFF0s>>97KS=_9s%WbB9z0DH<8NW37Sat zXkkaHE?9V>=|e0U!|*@m`Y{Y8@F0S&<btmz!&C_i9l|Q%0Yg|REKG=TDoiajzY}jb zJj+A1pe;DV@G6d#YZ&U_fd^SHM#xzBa21it;lW6xdRX`n?R=O9Xn>Mv4Lnrg`WzjM z-5epEQOvM{Sq5_*WX&6fIs(#YL5{-^w2;Q73N3(fDI?P5=w%}$SO^)47K)ISb~r-? zhcsHK;8F$4!4Q|>QiT>OxRjxX3L$kUiHx9PSYZcoDr6-gmQcabeu1uNBSHg8%LSJ< zc<_>F9Zr43*$Rs;Qf<Yhk2qW5(GP7O;S3Z+0w7i;Gzk!`9F_>c8i-%92Ok8&)$ata z7bDz91+60^di@^UQuK~0Hp`IIkY@?L9xXNtai}NHa(vxjY?k9tPp0Kq`_5RcMOR6# zg;=`U*zH4A2(m6GKM%UG5~D0auP#uV!Juospc}$*>xAsUOeVn+$bDf{H5isjY3zQO zH6-}}x>^!eq~Yk(z{*R|TpxH@v4^9pqbF#mE)ESa^T4}`QSFEa-Hiu5aRD>pV0}td zn?OV37^Wa?f5$WjyNi*`Nd?Upkl_}><M@uQj^JrisDsmr@^f*u_~5|=>Q{o+(11o7 zNzf0gV4&3oY65cvALLA#iJ+boCGLWyNou+bW+ooDftL&y6s4Ac&Lx1T&&<ywHMXG( z;*k<fabj*kPHIqMNh+yk;WC8uL=0Zd4^3OeC5c6#ss94l5hj=!0c(Z=A5{-GBfo%D z-#9`q_<<hI2}{N}3IjAJfQCR^K#3f5ra5H70@K+rBf$j-sx|l>i<a>bmVsgb!yvrD zkJH^qM!|~_(3My?{Ey2?go_ezIRbSwIcXY~&7eX7$rHpTYh1>GlO)ucC}xoryeOs- zPT;s41y18IN0kst<HVQ(JAW2WY6b0_fRvYx;3SR|$hdXmEybOnr8xQKf!YJ)y9rWy zIyj(~;FP!uW+FCsr9-CdQ^OK-N?|t(U<NmV0P_uSb@cW01yMv5FJxH?ay`ff8d?Mk zDD<GGleOgeumrYI2zy}&nTmyPF2amkc)<@IBu`H*fhlp$Pa(RaU<4U*4*-w3J2`?^ zdO&Bei7^J!Yaq{VUsrnB2TvXY;#-*Q6!|w8yt4>b>lmKRVRnH^SJ1iOpow+J3ZwYM zoE&I^gPwMUy3Gcbc;HKc;Nzab;BuAFtvArr7?fI&Q%T5VSaX3ylfiW)A+urC6G>)M z*HB1H2W6)ZX6TX@21rdB8iX*C>G9A*@2DFhh^7t=Tn{lkz6jLUAQ0%JB@S?(fff!1 zH`S=@)cgXPxHP|jN+|(#BN^`e0P3rPXQv5ifW;+T186}dcozn=D1!8UP}lb2w-?m* zL)q*FABe>=`U_sq3AYoH=OINcuEmw`A$*XNaodGFpbKgh!|i~X4qaghJAf}9`N|@E zE(Wh%!)-4?KaylWk}n9@i=+}YOi8j2$EY*`yK(5Ez#TXSs0p|Ohb~Iofj(kQ$OY)? zDY6@N^qQd6sLD}oMy;GctqWMXz}{{qGM5n*^T<^Tcrcbar3q274X%BtS%wAUkKtl? z&!0-348a$xNIT^)%4DPsbI{g^BfRYj-Q0_z2OjI-@nKN27pfK7=Ec==hBd>$+Q1zt zs6OyLn-~M5L>Yr*doX+$lqj9x0Uf9Vf<dhWqI4nKR|31Vk%$li?P-Dr54i1s%Q9F^ z3!Z5JhY?68zHJ2Xz5`ebk)wAYLrDvD6o-LA0b~Rs$cgt9TrVihiPr`mI0M^R0&RW~ z6@*Z21p5D|DVpdJ;9|r$04~Qs+eeTA2G9)>xW;~9-Ac$>_TtnMztUW2g29;&VQ~V= zP_QGXOGxg$Iy$<6y04(-57PD~sKcpQDB^1LAlXX8rX7+kuu6^2jXQE(fYfLsP`e|k z1Xt|j+K8jVCSW@bT@<+lNA*p>B{+0Z<`VQOosb*Q)l+CYY7I}&a#ZE$b`L;94=F7U zKvNIdc2LDb&2kNUV-Lkf*hCKvn|qKJI&3eVuWN9yqq}Q-NMwL(yrYi~(&oItP}krP z2M1%&bepRagFPON&=Q*@#gP4Kq-r6-QQ$(3IP)<|ByzNo;54Lihd7&%G>{T*;1oxs z4TxfhSPlLG#H++`HEcIpeo;B-{HvmPr=rBnJV^Tov6m0mUO>1m<omio%^MQ5BDae0 zXoGI1g4+mnCuqC~We*ix0kV^DtAg2%PyySf1UCq36L@tbd^-(X7TFpcN?>+CrJWt( z4U9efUA&!~J^dZ*jqO#O-BRpT9334P?Cs-0vZfy10q)M;J`NzMVssUd-5Q7}af7)9 z5^I<nFkteqxCQwYk1Avz5l{;A8JaSry%OklL$?MX_CLTCAX|%D70gDc3iQ1IaMPfX z23gmPQx&qE1eC%ohA4wBH^*)rx+JD8=qgYRhpyVjZaBImrs3!+Pz{H!@kTcsnl@pp zkm1tE#^X{0vj8j)T@aK8F#$G09uFGSfOfhdGO6&Q#@i8mDPVvrcrp#tw=n{BZlDIi z#(Hw|OH$*Zre@})6E+KE26W{HR2y-Q0XYEV7Vr{9@WroCQ%H3Q+#rxkh;agPSc7s@ z1lS4S3qFa_4vPjft&rXmEa=d~4W`K%9QcH0GQmMWrV(h97VuO6a{<`d;L!$XgO5Or zV}=$eoWU-PFG?k#8O2iY0x58_D!C{XG*wodT2z)=6puIw)4?GUv<3_^7=S2w9ULGr z1dbwTP3r9L=jRGOV8P8lC>(S<Nl=ihvwx5aB-jv|(TZ*CRUhbd9v4GHL-5cN%m(-Y zox~Xd3Kpo=;E*6!M_;TC3oa>2P0S_EL{L){#YrS+2I(~bXDjFxKe$5#lo+6juv-99 z0L>W$LKhlO2H<c+(Sp@vh;p!EX!b#wlEms{;&Kp*IT&^mFe5jy0FOUGmk)uausjR` zTpht~hpWf12(A{Uv@{PTRIvIG)Ubnui~%Gd(KKP$g3thV4uNw?{DYiHy9CG$qyyZ& zAnouHkhWmw01QpwBET)bC^^+7wJb9^71EvpAB#cgavLOFD1(y(G~+*o0OU?|M-tY7 zH9!b!!xA9yCO0BLK!r3~a~mcJ_cuZfqA3ki1lnv44rZss;#B9H#NuM;;pNc1{>Xuk zz8?!^UloRWxb^7Ta9My;1ByM+{pbjH!L^}oDaWD!l={Kb_4e_QCOc9h!L_v-i!q?! zL~5<0w5<`r3T+P~x2s{2a2G?>V77)~Dq)*KajSrvh1Lv4Hv!(jg-M`kgtt*)@-VA0 zB+xX%o399sI3gU;l*O$SC8{ws!0jg53Y<ESY)VW?@lVQ1O)i0y<w&Ult{a?mAa_y0 zRl8OMC#S-<IblgC5KW-ko`gMosAUZDek-^PXoD5;`}08B(25{*QxVdn8;w#-p&Ja7 z1R0x?npgx0=8z)LRfW)Fk#UDMIN(6Kh*J-0dnD)Q6_<d<OG-lW!3Mi!rskyJj#ki= zAGkz-^lbt_r_y7nhTdiD<N~V8eGS1)C5ZZXcv`@($pfn%T<HhJK5$bQYFjeCz`(7m zw74WcH$F8j4O<FF(FQte3be`^*}18CiAg!B&hUUG;8RefL7fYpiy~fm8Yl<hSMG;o zI#_uc*62m}DbUr?*D%o4G19;Yyu2Doe{OzRYDj)SVo_=yX1+(50P1)m2S;9hQEp-m zerI|Zf&$S9xzn5vE?@kMGE?(Pkgk~qr%_nj27ER<B$au991b!B$-xjK0`iM95yyez z)sLY!7<3y00jGm3M$%Z2lZd5+LkS*VLqkK5hdq$}3+nHcr9!eh0UMEQgXjt=%1q2l z&w(uq2PF$^L4+JD#mUfiIIaNkLs6Xyx(*&%P<RIy6d?~^AnGQh_yDhUfF|o=WZgcQ zd8sa$MXBJE3GsUrwdBAsh2*ja#ROl(GI|{06>fsa!|tj1xv3>Zl@5juNTH8nU;rrM z{fJ2Hc)SHRgED`SquV2~pd>TdzbG?3GY?OcfKoar-J-=UL^lyx1x+6$t$P-S<d-IA zfQn2!R)Y$a0O)2rM5+R}CdhR*w2lm^EFdZ0loq8WCZ|Fx2iQ6Z94QE#(UJ2}36U8U zR6w9qn<bD2KuA$yUU6D}5o{wZ4tv3cAyPUmEl5c$NrieCw8SGFzNZM63813X2&F(S zOD!r%tsoFb;N$_(Mz9)0Ybt`=3mK-worFQ-k)R!u(7T)<$_cb7V0s{JQFJZ%niO!I z2&cspY*Ap<M6f{t(*;@x<O?2YfI5_5D1vGhm~L>>2c{9UuN!M@VN(rm8{kz9J7XJa zJXizn#sticKvySNa{_b|Gvo>`s1XF)6EH(iVh&Gp0-+u?eL&g)gqjj?-5@uEiz=u) zA=>daBT)1rr51=*+(jcUeYhJDFdYG|PM{mjd{M#%(i(u2t9T<5IiWx_;cY^|EJd*l zR|^8B7?fbZWgj#cQ7TJ(Z3vhF$Z>$8nQ#*VZUjn#!!U%@f(FF^oDB$=<#^f;*n$LH z_v2|lz>Gyr+bB)~8$pq$$j}U_{_)hpFo%Qkl_6TBLNpW3AZXekNt{sA0cNoWcu6KA z%n3CcVEV8*7+Q(qY&F32qGlB$8VxXw;9QODUA%1um@W?}Kq`BPYBIp}gZzr5ndlY+ z+yIcfkqp4oT7YZufF|Yi)Dpkca%h}FCz+7CB`EC#@Qp0c2@P;}8GQX?I@*0%*mQ$C zCys=s2f_6kmCY<pE})i)7&DNt&KEq8Kx3`o0UEs3D_l8b#0^{@fO>T$@wloUutLy? z5ky&0Y60S;2joU1TpfI46C|1-aR%Ewh0p<a3CQ7~@gmeMTBu`j;6;USgHhs&0`tKW z6sShSOvAfg7vwguUK~p!;qqjfjTmIaV*x@DnYO@29P!uzQ-W#(QnH2x7kFL-Tjs+Z zx!BDHt+l|`x$<>&bOaXxkX8$%%)n^sz|#~sF@h5}vU;3t9W;GN8i~~cDgi-T25>tG zJb((CL59>2AjQagEf5(4GIbXLb_7TjI9Lgc&Vv05>ZTh&hw#7^2}!y^SsbJx7*c29 z_6XQ6h-xARhfsqS>MSIE_}g@-x<MX<1T>lf*jq0|XvW%>L)C}1HHV(w;ae#XBS+vi z8IEQhsts7Z1=dcszev>x?x(uq8utdrIH-t*^iV;2QQYFe$r2-#Koc*tf`_Q|N=(jA z%1p#I!UQ%M)PewGXxzHF#p7&Mf;Auon44RCP-04EDYh~LtQMByAPr6&=3>T&0jfUi z4OLWaFdan2Ijjj(oLT}Y%kZ^nQSE`WYT+7*vkt>Pe7#~c`#`}B^BlynIQzs{bV4H) zqLG+zgb!lDy+~{!jMNrJ)|;DJoPm1)jgXVWun&KsX+sKMe7y`*U7&!4Cp6ML2@O?P zuLS4tAf|;-oy2(yk&p4W4?)=%YA}9<py5TL6+#jnXh|K8q6yV^;5rGUnuIE>B)@<J zv-1nUr5-VrF~l+X1;o1rX%`2zTh2&EQ@`zuWH_ujNX6DOIi@3;#(3Jc2u0x5EjjkU zny`3mfhj?^g9dGANY@=w&O*xtTtoh-`3Bt5gy<$oA1H~J7N@#r<QHSk3!_>ARqBzP zpOcdbKgJ5t=EYDQk9zYN__{L#0|WRCXcj4kN#=&;aK5D}8s9R-#M0CVA&;g$(ZJZy z$Se&mpJ;)~Pc|}6F*itr%coj`0D_-p3<hxdG?V1y<m40>-^3^xd_@~We0)W2t^=5D zU|@iYX0V4Ya&^nhNsUKd9Smy2U|(JfDn+3yOtI?%g?T|vVr6_uemv;DI%r!Bn+*}D zx6u}*7N^2u6svNO(Z#8dgEtc^!DsZ~GaX!x+Z%wK8IqZs8t<5#T$)>&1HPFK(vpVS zk_Vj~24^V9T0Q7RRhc=dPWk!Sxrs&Ds5ar%0t!l01)vU?0c6cHbcrA-CL^?<m<;OV zLR{-;uTqwp47za-zUtC7FQovqSSH>xz`-HRUL`RnCqEhNb?izUic3-)93Uj<ye~&r zr$ATeam*-Y#e0L30BoTmdJuwlG=TTy82Y+9__=!edV4#&I)FCo6oZHo5CPu11KOnH z=m;UpK%%K2A{j)073G6iMIgdn#l;sygXMBStV9q2HV;hLn}YaYL%<peK-@eK5f36< zK?Il!wiql6Ha!zA0k$z7yqyTT@(|r)pwPy;s1UL67t2*4=%!#_P>5^<WSJoPdO~z_ zAgUm11~GL*#6bxkCBZ;6LDmamYJ!O4&;(sXi0%w<Y{$E&mc*wdmLxjZtHg(a(;?`5 zxcp>?P>4W$Qetr`ct1-qqEJCeR3s))lw=wPv7{uwD84K)2W)3>Cg{9iyf#9Na4-UA zAg~XLQ<L-aQb2xi&d)6<N-Zu<O^Gi^%q#*M8D5lF0QD7#j-}9jDh37+w?cCzg~ox( z(0JcU@YTs6ztTUx0$mXsLr@X{)M+`1#U+E#Wr?ubBQ?Gx-vN|ONT^i6%Pv8+At;4{ zm-HZvOCi-TN91eVL4lT-QkIyPoEo28S_E1w=aZlAng?1uguRl3k7*|7<QJ#Lr)9zy za-rvLxXRT0G(6QGcz`r5GcP5+xU?X(C?~Nbvn(~fv^cd0+yH=$k)WFn9+?C=KdmS~ zufzeC6hO_8#LPVC_1K_+9i$rvV2Z%C8c1(?YDqjOE|AMP?B0f!-(iN}91qgxm6(?b zDl$r;3v!T)L{J0B6J|kDWqf8{N@@ieZiLj9AlpFUoR^pjwF}+N;HC$tl>oCdtu!YG zw4JI192W7#nN_KHt&jJH>CDJX&qysUL5hHq#9Y|wJM>5Z`P1GJ(GG(dl9QU3UIJSH zOq!<n;?!hZaSpQ14{k?(ImPY-<tZFV6BOa-UW4=$L1P6t+Nbbl8*$TjSemRPnt-=G zORQO$#h`SYnSwus_(2k5R%vblsBsQTka&U*6jdIGgaK;w!E_SR1zrVAtYTCv&?X$w zQywTzLHnstHRYwIrht3|>UQ8r44}dW%{L&`AYG(~1577T;XtfnR4>7FflE=89dH;W z2gqyS8CZ}W#H}vqK?jacP}YMgBhTwasfj7^$@%%&nYaovc%=bWno3MXgfADtoefqL zpI8E}Q%J2cG3(!=)RNMoJWwDc;qTyqf;S#qW`U-u;tNvqQZn<>L8q(a7nR^D=fLR{ z6xit58x(t_v>U*ESad_MS8$+^ih!sGRTk9m5<;q&;*$KL)c9iX-q(1d!w!^H;)^rE ztrYlX-1z*0RM_+kdU6GaV1O%9)dVVmAU^l>ag9f88V-&R_V5q&afx?yb`JFo^>GYw zb#O3__j80D{DMPyK#;4CzoQFLYJ<H!1L8yc<3od8gW{nl&jiDC+N;<bfbO^^wv(-* z5(aAD4%S|VqoYG;ynkM5d`U)XUVK?%QD$OFW^#ODQF?KFiG!g7kzR$YTnB{>jsXYc z;0gt`-=IyMf};G2N=TOnLV^-D>9&IUp5%AhKoNvXH(tl0IN6bGN5Dca-Z3Qw)D_K7 z1GNw#yXjFH!4UgEd+l+I*FXny3_-nE(4koAMTy{sWpPPjUWr4zpNfH_g9G$>c9nRS z)TGk%c<{(kY7vgkI?PJYVSm`;Ho(;>J{-KP*dE=;P<s`a`<+4kk0J+bp0al|s7Nz2 zFiSK^v;^1au%W3)#|TGPP_U9`2p)$a^{X>WQj5StWk_P6jvFX8i62@(8c>6W80hLQ z#Bc>Q?J)rDn??`xqQt!PR3p&vA8cHPnpPrtFw!vsDXgeziGc&?K!^Bn&(Na8yp;Uh z_{8Mo)Z*fJm>uyYiRtLc7wqlf;cHN(2hT%bf5jJ+6d8eXCa$ap9$hhn4&_FIPKp7G zfU8bet^xO-4IIHEF(7jcp{a+|K!!MmMo|w=UzC>@G;*DR11S8+b{?c8A}73Q75CVa z8cnki*`Wt7PzQ75!UMFpq$nRWU6q%f3aW+UaWyPJIT16PLi~zM63Wz|dWtMNkeUHQ z$jzbgp!Ge8MWDh6N4?;dnUfQrhdbxQdxOFrQD{Q0AjHx#fl3%U#CyXVR?v8M%gjr` zZ3C(1gL)L82{?E|kXFWr+N%(57814`CEX%gYtZmQkp)*iPzgg&DT>*0g)D5eSBa;; z#l(e2eo=gCVsZxV_@=yQgN6`h&{0(HKohHH3Fx%0#1h;dfD|~9j`oiDD=A1e03~ls zm!exnqtY7OP$0p*G;#*K^z_XyOLc%WuCNp#Fo&wB;G7AA>V@b1fRdv4WJqLTF%T5? zh@#8h5np+TJ5fR7DkwEMBQ-fY6@O8NY9++EATi7&fRF>VF~KcSxVI2?A;kzq9j!=5 zTK2F&W*dS!T3~Nr`V}68puI4-a~3F|5b=dGMxYXi5)vM6q4>>rpzhEgXaE%I7ECWg zC5#-Pt6Nm!L-PnGAXpB7YQ||Q!ozSgsh3c2T8?A|tdoh{2qrgu!b^wHyv)4JlK7O= zG|=2Dv{`~BTcfv0a1XbD+9IGa5%L<A1`Y=JN(^YChPoPm%7ca}c&v#$$DkDDP~-5V z4+CgjNS<ZrQ3CTEmdJqQSqMpd@}<;y#79hKVoqjNY6>V-C6?xtAf+sjn=wN$-ka=B z0!kFoE>WVSJDB%iF@)Vy(DX9ol3!S24tT8+?ka=$BnJt$M5>J%L(GF5+f|wjZZBfV z9*|l-%+LYfxH<MngLn->f=2prrzof;M&R``_9~>fiMZ8|w6{JUboN<EF{nNv&PkAP z2?mdP6SM9N-pInt^3dQjCOY`Q-7;E7DcBO?qZF(h>?Y#Ek5H6?&7;WrfsInI`(aTE zT7v~jS~MH%$H>8mj=sGk&Du?2hTySQuvbx%HEfiC{{99JVL<XGsE15{uR|OV#b9r* zk_H=#pph%U^*zPI8TOzCDs1|Jw3$B|`3uzUH8g_f9mwhGguCs~ViYAIf@1?J0qeBD z4u^(}k6@`YVaW%l0;mKQ1Bs~#z|n?e2QhjKz|-u8uy!%HwMEHvE6jTEPzTvb2;>4p zL_v1e)3=xd$1lt?15wgJ901Dh2KFlPpus!P{Ir3gkpsTLIdBrdD6_$4#d`%nHh36= zq8v2PZ0ryUHyFHN-_Xdx2s(=hszn_jk!S!-jsxco(DLVjcLiv17wB|$SX~Qlj(}%( z!cvpL;RkNgQ+dOKqa!G~h{?)G(F9%M4{k5R=SPq;5V=Dd;Piz^8)3+?LI+Dh3z6t- zCA5c$S@;LIIw3C$0&RFPG=iSqiJVNRIif^F@YBXR905-o%P0<VGE+A=UBh!ZS<|VA z2m*x|@_IMyg)&ll0T(BrG9E|y4XKR4ZUmW)lnqGG3G*Fw_YOKbf_GTh8^Bw8`FW6~ zebAL$U{{0fHndlXAH>Tb;cgt53KwoYv@8Y3EIq0ibc<<ObD-Nrn?eNL7K+OR(Cr}L zosKy2CoxqtxOhOy$Ph;o&NU_j)dU1J#0?D58iF9#Kockp(+Ozm4Q4gGoq=REO_B{( zODz!VH)-ZyC&zd{<YL`&0PJ+3i=EIuE@p!YoEebZK!XT&0!<cUuZh97yVE5E;=Pb# z8p%$Y_!wdvEj<S9c=*!N4sgi{+7FGIO+Yt+8oKy8czF7`1o%1yfKMF&p9+BcXaVra z0pN20z()Xp6@t$Y03R^`76Ts@02V_!YyhkUe5L^SR06P?T+nd>;L`;Vn!)OlKoa1C z3&7@sc;KT3oE_o~UELkr{5`z9JRF^=?q0~b2w+!&9SHUgL=b!u0@yWRpMhCvAcuij z2r;l`uouC8N`kxF-_ya{!^_)0z{wx%ZgALuEdU!0IoAO~f)8N`gBuPu4XhIED6m~% zC144#7}!>XiC|f9NP@K?oCtOkSPZNUY!t53A`mY3cW`qFaQF6i8!`@$cLW{Z5f9lK zgUDI*Y7v6B7sfm16eWXpYGVu&L9?TyBUD{}Zb2gQ7JeGmlc0@#VTO<ioOqX1@TyfB ztbf5hDG5H*CEl$lHFbbvXTT2Oa0FGONMrP*x2=&5;eek@F?hR$pjNQG3VAC|hLTS~ z%_AqWSBW6`bnqXnLd_(cm;+h^0qqgdtAM6Xnj8S9Q!9}bzzYt#hCKLa63{MXj5-mK z{-I7o+TjWv9fnq$M46G7T2bPFVF}a(N6>mykSh#fwie}=gHEZT_Cio6$9QkZArkSP zdBva;^=M#&A9Q94vrh<Gixlr$nF=|jiLMb1E+KFZMT5GF1LQDp2Ew_J9O|%v$s9z5 z*?^q(M3l=0s<91OM}Rz=1aS#8Z~GS&WF+Q+jv^a?dIr+KhdKeg9hK^hZ6|y?R>37e zKz>1dQetv;d>)l82Te>wK+CtFRB+v$SdvO*OF+x%5thK#$|L%8G#K^)CwEXU31<NY z4%eX6;?$xtTKYF6Go_Li!3i$r5E~C@8kn%^8q10vs544I2L~o679=KTmQdTf;6X3& zQD5;9IjPjn0G_T+kUo53a$#v^QEEKS1Em~Y9l`k&ODKTS5>nnFucL(4vcX~vB%dN# z1ZC#qKehst$8lx@h?z;LpnEB)+p+;!OS6STkeUJPZ2U1sGZ%oP3zYn6p6tOFB2u{w z0YwhDW`h`xZw3yc3^c%%T!KHW!75XbYY_@_0`4&=NU}w-i}=hy*jUJ*8op48_rsV* zfvn9<%`Ko!5ePnz3(^sw_UZ+iWfDj>P0dTepKxeqKRlCy&X&YkvV&_FaPa0PRzS|3 zBzLq6Y$4b@@6dR^%pA~q!YBrNBy)*Prl5`|sCdDqmFxxhplx$b#7xvfhL@4-rf!mh zd9I+eI0M|UrA6_EbD|YgT^FT-&ljbBl?QF;f>ywRyYtS8IXU2_yH93ui9={SSkT4O z(Fbv_8FcXwL?$ya2Xq3gqa)~i8W(sWgM3me$o<e`>|HVwbK+eq62XT*2ZP$OMTB&F z_<;|rL^dEOH8;N`m5@fTwV+iXMFn~BM0*Qzk~_$q4i2Cb?jW8;h+?=Nt0I^S5t7i; z*dYd+Ie`PuDX}=!IVZ8W*ueoj^<@qg#jYeYFSD>T6+<D0a|jwuPzNrXV16QO11^;) zCR@Ngi{T=3Cvb2eseqXXm2ttX7v55^k4I7k(~l$zIYb^3*q~@aIyoL8h2b>ZDq&Wj zsR%N#hn~?7u?l*;Jc=lWEm#%7EPzU)oj(sT9ddp=7AXuXaI1vb15p7vs2<sLga{5p zkrbes1v$SS*(`(z4zrLHpqd3a?jB+mjuaV$PYp_1L{f?24#I{L)PmD4n3ssK1D8@H zvy&5Za^fN9Cl?iiYA7NLKF|y;dO;t>U=O_>w<I6DC^Q}t)ZnvYLHD(Kcz}y#h;>*m zGX-gYU*AIDux8Xlg~2+}YY9-k0=L+)sD%X%Tn+q2(Burz0ei4eLHGpjFpw6|4R$D( zjKb?X@a;Ts!yuk5A|YsrH5uu4OOWRs9KhiWYEL0wtBQ~U2Lwb48urk0Zqbw=U0y_u zkU%ny>R|ytLl1hiWqf9u1L%f$7s&d{NXH0JAI8ZAax5FTa#w*4f?z$M5?^l!-b{fh z0`Is1i9#BZ_9_`A`FRe|n}?GsOH$+Wi&9dH92_DYU0fh`gR7vV(zLYHA_o^2kPIlY zL0Kcf)zJf@$iQADDX};+8FUzLW?s63OQ^j{az<hitU(O*8%hh;1=I$Iw#%WdDzJqH zPWh#IDKH0vSDS!WpM%^1YYLfxrkSve#DIJTQU{vhf}dCpa;8I+0r*CCdm>B+rAEY( zaoB=uaF&AF4_YP%b0Ff90O)cv_+oQxIw59bI1w}w3vO2$7#IZL^Bnld7Y_$;c7?VS zkz1e$bI3QvH!&|U9h3w>18b00A>;}oghk*~1h>lrd^Z(d3o$$li4#bCqe+4d2en@u z+(EYx5C{-7%?_YN(73`U-X}l50MzDpZ~!|VDKcQO35{TQIs)Bx?vhztkXVwO0SXg{ zyWzK0!L%XVOsr0y{B#VvKzA5|uB^z<3rS4MNd=vS3*Ki3_9OWIMig0a7$Nxq-K_|D zNUI(Zf0!+Pgd9Bjacc+r7F3@=QU|)}NWqM*2o_$L4uHvEH5(CFVDCaK#1|k?6_o|4 z$dQNektNJJj690I-q{I{N_bqu)PNlicA_&(2#W=Hw7KHc2AMc9fLs}3A4H&x1kVg$ zFCW2o-H~ko*mKY>9wN;+IDl_ovd54B2M8`XL~cY;0Sf{&Lt(<mMmjsh8#uc;xcPbp zID2|JfV-IXrkQ!*lfv^#>`l}1i|kEdIzdqZ?r(v$`8#;{c=~&}JGwf!q^5yRs<Af( zuMR9KO)g1Iu{SMC%qdN^H!aS{FU?7T>+|$-@Njl?_w@84MVq0Mo2P@1i@&#@pO-s$ zsi(b)vnPBRY9WYK3L?O(NWsf<!3#|h>q)^}@N!o0l2h>dSg>NSHn0w`Vz4@x;r1%d zULaH9G<b=zy^6CtR1`wPM8OWSS8;X*$-00Dbh}`|VCd%R;N|D-=NI7W1NIKsJ&+}~ z_C_F`;I+r#MX=!Iuvs86uxa3xwP2@$7u7;kgI7j_RfF|`*WBWk0sE2Io7BLb$%i}K z)6v1%%h}n**~<&;aHODe0=W_F5^%tR!xX&I7aZ(J3aJ~WAX~w9fdd7yBpMt@;D7@M z1vsR@(%>)xM|m>bOJ3d%POk1wF3#@0C|)AoE3gCr4gq@=7eA1jAT9yN89mY`*gKE` z3FLwWRD)oQSRfRDO9Mh`5CsiZm9X*wQYm3r29w5Z6})=F(2Ko}!c>N(qC!%H7+OK| zICO*rKE{G1jqo$NBA9<LuLy+6fPD(phBm~4WCQ3nN663#ZZ!y3U{wjT&;h$;Fln%R zAO=8&T(G(VLkit;hys|QFgsC2k*tD@$Y8Y!Lkit0hyrx0P(_iff{foFtb$j4(D53C z3|JGiy2O-3I0ID)!Xenj5vC#*(^1%;gY;oR4gAEE6omW1y(pyK8A@vtH2()_v><5! zcZ;CrxMk*)KyPD<hi5vE05eBWk2E3_+)nmz^mFlX4GM4!a`Xkw{DD`+C#Ix$B<7{$ zz%*lPDtizz2;6c?OiA&{PfpD7g!Y-S=WsVr&jqGFC^ap$C^at`dQB0s-#{%=@DN90 zN(y9b2kE*z>_&qwhj;OSnH`*(2kNeaeU8;rAcsIh4<ru>e-I13VGO#<3f!58PK2ex z6AjpKWLJCR>3xGw{erlzxHvN%v@C?elmy!PXlMjJY{JmUA>JF@k58no;qXwRzOj%Q zaqx-=yc3=Fj$yD62Q^f|LmrT6TJXXwNYaN6eu2|Is0-`ifw-&710I854Uh>f=>1p@ zk)SN%1dd-MS<roBuq(7sl;or)7D1B=MyC{>W+6)yz^MaUf&!;&uo@@u;1SgAFi(QZ z98i6XP#2$Hl95^z54zkcwWv5gF)syra0%EBm_|sq8LBJ47@DiVK>~6b_zK8m$g&7L z0S?_E1XUQH3caHk>PY0&4i0Bfzb83A4>YC}Uy=;Ev<?zHFh_xX1GXNPl!#Xi&Mk1| z`SHm)nW=fu+our@0owoyFK{%Y=qXJh<RE0_sVNYrBa8+$e4HHJko<_L2BlLERh*KV zlUkCBWDYo<5PW#y4jM_qRk(x7lF;nD{PH}6M(F7iM4Jx^c<knbiav-j@F>RgJvfFj zdgY+XgTX!pI`{+81&eOzxHWS2^8}5Eg00Jk&A}GC<->9jmIj^&nr=w$Ovw+fEG|jS z#WVvcc)-I~9@y$TP^%H*2wcWs%c_`8A=4cEPKpOj+<?a4isRE@A%pBI@LT|nPyt<Z zm!F+j35f?}U7@b9<d~035!S?urWzKt(0m3nvnam+boVJJ<7ehWZ-_(K4pt0uHX`-G z%z-8!Z2DnJz`8+M8eEvApeh9yf6(Fy-P2%=pj3;?TF`PNm@S9_YEbqBm7Y$HxGS5~ zytMqH<kWchAPQoI5WHG~m;=t#pfV%1uoQG^Y<_$SWE=&L4$$ZtSW8i2F=%x!b(#k8 z-rz=FDwPcd<)gIByv*W^_`K9|q*M@JoLW)}y~Y+6%HSvg#U;4@Nlz_ts`P_jv5QDB z@FEdZWWkFZggj{c8d4CXr<NcLfY)xILIxCo>8U0Dd8r}J0lull#fj<AN)W{{p!5N1 z6F9m+njjD@p)Q29fUJP)fV3~+ja_WT7_7oePb~qJEySwDepfPbNPt2U9z>wqDv|mP z4&b3@&}GIs`RVbX%Z#zq+@LT9<q(jM3?Qe%gLFXW-QbM_v~&$xB?h+^B}AbCA77MM zjyH|t*A2RV5<NqMYG6mu{T3ie(5_Xm_aIY`@u4mO@hJDMA_57V>Ih6ZLrsA;Fvuyy zpeCeb7DEle<s1hG;@kp?GaNo5)(A)=5!E5E$Z~K91~qpbar6io?4ce4HRPbqfTkXp z3E*%AB_B{@3(>>|l?X7sl?ADk*$!&8k!(Bo^6&V}y!a&0Bxy0;WC*z`7IeZtW^w}; z-gu|%U>!M-pRt(%4kAz)1FpOfDqukfs%W5%Y)nb8W>EM-HG^(|#Oxo#3(H{ezHZ3e z2WXd;PkuV+=30oi;AJEF4cpL*!?Dgp2Rnl9G=P+}IiUVLwAT@z32hxCd&9{Q(%*(C z1TA48pe)@pFF8LqGcO&bbcQ?BBi<X4ra(nB%pJJYWAyUeK(UgOpYEHV0xkOChC8}C zdVvb6ocwhE(voygD+h-wFiZs*in{0ot)u~!$e1|-rxwI;6fqiMAr4L(Pz`8z?&c;I zgya((et|_-Zeme!256}eG?zh=3(OkG9586$$i>ss6Fok_H-<v>fjgn`nZ@z2^)Z;e zBamTEpfU#%lPDTNl@r8jL})_Fdr-{@?wRGKmV<o-scj*O5$*)#6HutTpr{4awFFf{ z#+2|F8|dl?9ZbqgEr+PaX)u!7(p=CuRc0!**u*wc<>Ux%3FVdMLac`=#b`nx6oPCf zqzrLSGd#tE?E#7V<flWmqXix)KjfE|fXmEyP`L|IjT(61R0pd1!QJ2j(4Ia}EtQg5 zoLrPyPy(+uv6u{242^P#q399qfjxa;YJ`~%b`3ZW;L!=K0x_J3Y&)oL0x7(}mf_L@ zvlmimBWVB^cBI&VT?0<@L6L!BJWMq>6u_w;obn6ub8<i(N7#rJs2dWGq81cl5uo!= z;ms&ekp|1QkaP%%Ay87oIRXmP08&JPa@56l$gu!&7jeVOFstK1i7yRlxEsSbB1XO8 zhCvf2xFCag2-7%MNYMq?14$|bRf7)Zrqa+l<T!0&M$3y6%Tj&v(}VNfV8fKCg#kz& z9D>F9@o6w67+waI3Lsy`7o_H;fQAkr>kOeq2tqkH8G<ts(K-+{9})U6k}$YH1Gy}< z2+;)uB}UW~3tHsi1gR7tioyLL>@fzfYQXzyi{c@Jz@YQ`Goeitr2Z}L5Wvh_#i=Er z^Kn3}QG{C&v4Lc72_i%xZiM+8Qs{s>YM7Hhp!^HAB0oD5y`=-L6QK%x^3y@qLtTzx zvXcvVgrGRJ#Lv?idLs?0BfyaiDr-Pq1do%06vKP)s6K*P3bGMm3aT`u_gtJ>0vUrN zm^~s0%sfG@0}nids<F~E$Yv<a0ubZ@Na+n8qCgwBfVdSFIA9-xOD1r#&dw}|&nwNz z!PlpNw&#mWijp(HYeYdkYjCpw<U~++ijec5l|86@jxWy4OHM^fcJYW>87ZlNH>ZG_ zX^18o*s`L^kbGZg3lG&}pvIUZs4?c~;^^w=VTip71yxjt2*jJaK$R4c9>cP57#vF& z9wHFs2H+a6v>+w11U?Z5P29*vfl3!}7pg2VCo=`#hz6uH2yu(QUr3O@kAs6TD0jL# zG1!BJ-8_9<<9!|7J)O~IunIzEmLLhyA<{7(yb~O3P;!1jCFs_#R7iQ`5D6OM2Q6m? zXDft~+{EOJ%sfJ>ii$Jh6N}PIb5rw5ib1Q7L1_-;a8N2h7zR>SP?Voul$eWK5vcIX zOiqmlb>zTJI-G8UsRTFPv8pOcO)N=`2dM*HUkaHT0<{t$iZM$vkdq-}P+&)cMtciV zQ;?EBdZ@!xfI7T*lz~RHpu;km`FZh4mB^uv%NYg+2Jzr+4Pdu`j3~%2Dv8f4%}oNW za*YJ#9!Prtq9DHnp9}Iqm%J4f<5QEDpP5$@pOllIoE=}3nwSELBM(p)+!0bTgRMbV z6b~vU@=Hsgia`a90qATYkT7_V44wp#b(R-pg7(ZsI^r<DI5j6V8Db{5SV>C(jpsTz z7~n9wIJE>E&7g#Xo*cln3fS$SGNLH8ur#%}Bt9oUDIV0^PKDS4@}`rEhX;7#8tghO zbF-jPS}%})@NZCb3JnSI_ruttXs-fx1Z>hM9(hkAL`!gpV~8t;KCmvQ(h|@n00&Uz z0bXqZAHPH{Y9MYy(f}I31+B&aPezfV57Nzq)cOSU;oa2;@ff<Fh|q#HEFepUVPOHP z7r|q&_Q>LJFXNDg`3xZqT@ed27RUZ4$bLv%ija0b!B*Hpl){}ugt0i);x--T8)8hy zr543>$UaA?+hICTb~>WTfl?&6db5v*tPF(6!$waWBf!HnsFHAxf+7JljfqVS%yKj} zh=q1Ai=YeB;4ADP;&3}~NW+YWN~5ihgO~wZe}+{OZUJP~8+J7?TOev6>)24uMixUe z5=9EtB*-!~RFja!&`d&+LNy7pt_@}qj&uZF#)eB3N(w?z3wH-G2IEwW$9$M)h%z6S zVkGlH)8DW`0{r_H(Tg^uor_3PQ4IE^8i`i)VVH}MM{JBNE=ep&Ee0LphgAAQS3rOo zW1yM=x`z_0Qh3mVTC1Qc7u*hn>VWOKghfAG4Wt_boo#{c>4T1AK$`my9q|2)#LYYv zfcp8^jDf7LB6{`-5+v9Rf~5lj?m-<iNAnA)SOS-O1x1;#l|T?BkXjQg2Op_{1`Z^s zpbJhQs^NhHG7uE<D4Rc#QxYf+;ReD?BHXG#RKBz@9g!HpZ4(?;AXI^O#ld|6O^Yzk zAf;Vmf(4hUpl&0yBL)d$Xhs0_p&{c(sQXlr6+xp7+|-6d8j49M`2<-l#3#t99%3n2 z4XAmVn3Gymg54}|6$<W5LKNo2=jMaDQi(;-r8F=Hf|3Z5fjHE`-H4&QBtJbp2RcN9 zVkU~^n5s}sge%79O8km&7>H>zq!|$bDQG~UgQ*0~EU?8$U3^F+!isd{2qGqlfin*{ z%_12IORiMSdt{l9$N?neJ|vqUsg~TpLD&usA?RLLq=Q6237bIg0kUlst_M~VgLQ)P zE7Z`C)QXY-P(cgo`XVHu4S&SZC7>ja(kFmP!3;)MfWu%|p8%#EwA$YQ`Ct^di$OAw zato#wW)*n147A&TE(cxX4{b5SWFe^?vq21#hnWoW1d=LPiwmX<<RqwLu}R@^ExK}; zg<$6<rliE@CuM;;=3pZ*f(}&pLq;=@LI+f9K~~Ggqt&M{=fW(3FH}fLP0mkAjW0>9 zD1j~Ch)*lZ&y9!fa0lBCw*saeQkjEJ{RxM(X+vBiLgIs6!(4+rLn1+owj4b{13VxH z!5TKmHk9NOWj=Pp;U+`M2BeXgc<2}rwB$kev@>WJhu|t0P?Lx<1M>6I$uj`4Fa#dr zkeUrV0|JuG1P!u*To|8RnGCO9&^-!X%>v5N@X9~2v?L$0?l%Rk1VYyfN*N^1%|T{c zVD&A`KqQw#X0q@nXvBO6lHWn;2V^=*`os~oV26Ve9b#Y{NBV)7T2z)=M07R*RfoBm zdGR@^WvMywCHe74Em4fT8G+Z{lKA}MlA_eaT#zxPu=V<whJZ%);xqG;O4A@qXHl{! zB<VvNw<vlcSrg|{FK~W_%)`W^=racGD*?-*2)jChHuvMJeH}w1eEi+rU4y{&H@I$u z)C!R5#<8>_Gbb~#s1me834D$MxJm&<6rpi7bgl441o<Wqck~!2fj}!m3^zbbh<8uT zOD)PwhV(zc^)6_*6jCB%3=`rVgTonqkO~*w0g!qN62jP3z=H`?b>USA@e2_qLKGrA zjW8Knd1JZ~#~=ZujwY-eR?{F=?C6@{{v^pNoVtjy5fTodIv<=<kV`5Cd)QzkhC6ZT zBHl(s$dl$*h|RclqqqPv9Est2SO*?DFo{DIx=m2kkfYdenhDCt;7%6o&^8Q}=;k8n zfHdgPbwE-xQi~0{GI%loC1t{@A<iJyY=~+^u%p?57*@q}JamW@KER5u0`6{t3L%cb z+|`U>B19p=wNR7M23gUy;TW$)R|a=4WK@=bq45y65NkF>HNxc(J0L^3=njFIiCq@W znK%?d>?2?jL=n29Afv*#9EDvL%~3cMLF|J$3a=t`M?u=|n2y3x$Uu86gw>-ID>!t) zJx7{lIJFUFCoHT;v=f&$66{0-Jy~|+){f)`;s?L6v^kK5zENeP;QIrhy{mZi8F+AA zh@L9oSs65f4KCv$ZPs|`s36K%F@|PXr9+@K3pWxr(VU(RI&KZ0gAgGJDwV;jo1lAP zup1T+8n-Ehc5X1-2}v1fW`cTNsQqsYeK7xl-9UtTh&_<{2OO9L%!jDQ;x5oUJa{P} zH2mZ9(~y=yqPr8abST~rytE7&Oz=J>B)ssSiinz&z?}oo$OX!{JE|J+@D|(-Xkvj` zg*{@C1Cu1vkp{0ZeGW>u;C?r_0}6FWPCnrj1`9M$7Y7<<pfr@34DETtMkz?lM+CA0 zsuhT(7sR-i5~GR99|Wh7O7k$%CB`5WW(<LP{E%}sK(P**dNVWxFDgMAb%muI5__;9 z0|_NkBwL`V17;a@l4)XbacU80Syp^nVrC9>lLct)546w%FONZ26rWoR8GJ%gXaH7; ze<6*dpQDezyMJg%Kxhb#j(lDsXc4x5X-NTS2@<Fw4(|67?8PJNL!8GADWQ=1&sfa? z&oIEc;wT2eGCi5@AjNw8-FG|z2koCDyBku3qx8y=r7^<?R72oa4hseRs$iZ)sDgFd zk?khbt;MevsT~6E2qWvj^cjwZ5OjoqG`$3EhXoV~mg3Sv&@NbTlVBGvEhu(DyWaRi z2HNq)rWWQQJW62hfGUA@-|^cB%7NfE3A_`Jq8?@|0c9|ok(5Du?#QM=vJYl|9a#-# zN&}^P0(xMsBtj|7rD#f#diBVz!O{Uomd11}wEK-10YFg>b0>aPFegG)q4&CxO@wtE z@u|UdB&4T}R}ajkL@0$h7orr}`Nrl*EK<1KhD|A|ld!2kbqTaHjm;%kq;R<en^IJl zU{itW5@=5y)g?H}7g&cIzhab<1)CO3?~q_0Va<f?hlLR-*5cAb*fv;rlVTe#JxI2Z z&?m>*kU;L1qbooxNrNuD08x3VIf%7sj>u^MK6C=^*?^kMpjIw;**kQO7NkEt6~3~K zkZxqHd8N7Fg+6$!hlLixdeA%z=v<G|T<46$Jdjq%+#ZU>pe7=8n+&9V4Yns8?X&?D zEtsi~Ko19Ma60O`en>MOB?w`DAkI8!w*Wb8uy_z2FT@%O8SDT>7AVMI)Ara*Ce^tR zlc7Tc6c~s$I)M^|uq+CyKEcffe2QTnfGf@i$3Dp4_?!pYxE$c>1imW^Wv&(_nSfFj zbPE@JzyTDh>8a43I&^*&MH6P)0=W&8lTiDM7?~B6*x}Yd5*&fC6LceR44<GYLmfdu z9^*ic2bAe~@De;i$rKhBp!^%}2VO=F8)krp8i>kE&4~ve6^$)^kmEky&l8^^un{+8 zH^XxZD9FL1QjQQKKzkGM79#M`NKo?<vce6i`wnt9?IIn?BAQ1#F`ayT-FrxuAf;aq zi&9X)lA;fmn(*sG?*BXIWEOyzzCiOMDJBrng+~t-<jy;!+kvGU4)Z-IL1K}HIT2kN zmsb$#P&(*D^~^C9AvHtLy5ult<7n)lbir|{#cevw*Tk5PODz`DaRnM)Ylzi^VjoK9 z8Rmazml#D3=6V!4TvkFAq4cR?hJ$hexH3fRL&Ge<kjG^Sl0xL}Gb91y>I1`E0ZM+j z)WBSVRShoJpeaW0BIE2E!yE+dzoPerVQxW}#^nsCI;`DQ{QX~;Lm)j<tOmfV7OZM; zISHZ|xeE$&2(lQw!oyUKW-UY)e%p|{nK0Xs#n5a+k%9#|#32wV{I(%?Sux8d=!J$T z9ZyVED7g|vE!?d*azAm3@t6<uFj3~?QjE=fT%m^FB4TwR*+^>F6Hx(TbUMLOi0&qA zlM<vNhPEU@9ZFCe7k7sa)VLtJCkM-U1Uf}nI}b3upyCHys$x|Ii!`_@q&1x|pTUb$ zc*`A6TM^k>9328kK!Sn^ZXoe(La=6hodB=`0?mJDY=P#SA>C8tb~;2d0_lVZh*LrR z17vmZ!Ur67Se1kOY3Z;Nv0&i|>N{XJ9-Df+)_{&dfs7i2fo`UOI1g7g0mUQq=0cFZ zoXi5SCTJ&vfG$7CO|*DA8L*@Tu?7@oNR57Kr5Ge5X_02Q^c7Hnp^2HXfq{jop&6>U z0hDWKW^Q0=3F0Jh$uKZ5+%jZk*l?JGp{RkA!N!$~Ax4sy!D1sn1J4@)hJ<c$hHwAG z8G@Q684i7tVu)jtWw0}sWoR%`WU$$)%AmGMjp0tPI)j&_4#S)kIt=@)^cWr_8Z&e( zHeopQ*oI-x9y<n&H}(wsS{xZJEpudWNOfkI%*DXK&cMzf0w!_OAT<yy!T^F|P(2_v zNEb*y2*cPQwIDed28n|(Obvt$;vr*%E*J}>j*$Uo8%Pv}VJ3rUm>4Dvl7-m-G7F>v z#0Sx044e#%3@i+MP`|K4`5<{Q1~vvx1~vvp237_Z21W)x1~xe4WZ-1rW#9$NGBU6+ zu!7ZqRDpOPlR-9tY=*EABuET_L8?G<Ap1Zxh!0|ed<$aBFi0~<GKe#XGl((>f*~IR z0)kus!dwi@42(#S7aWsf;4p)k3gQWa#UUafpTby73`{68EGRsX8>AUPP=-N<K@tij z7$m^%5@!%#kYNCsE&wJ$EKvp!1hIq}gc*du?&fCzL4?~8ERYY7F%JU>iZO7*Ar}J( zg2Ehx1)#14g*iHAVPIhpV31&7W?(`J4^ZlXg(xUgVg3fOL2&`1L1H2dAit6u-Y`=@ zCb2`^2w}5>%>{*^Gz0c91ce|h{6JwR3Jy#Bp@$x3h!6vX78e63tUwqPx9H&n;^Pl1 zP`HS|!;qbU2b{)1`Vg2AUJeK|@Gyu$RfxewA!dMNAfXQn4P+V=9*~ehkRUM-hNU$a z4N7ycR0qlv;^5E(r86;bii3n4EbJipMG&0s_>poA?vw`$QAo;zgd&6lg(D0j{EuLP z!V-d+(effJUqXBb^A*VDAlC{)-37B5WE;pHkXeX44azylVaAA(KiL_?7+@l(;S8}G zBoD#JW<c1WvIfKg(WrVsq7V!UUkFPW9J8eQ1mO=*$irL;F%g*r<vmohLGccXb68x9 zG4O-)1t{c@V;K}as4)x+PY}(@0LdAkutnqwMBE`*sG$xiH8|128sTE>?gfQ8%)P=y zx|R=Imw?;~!pNx)lomi3;YI`t-L<5K?7+DcRNsPJj|fXt)?f=+RM#PRL&u#6mqKzF zq#lBmMxcBK!=U^&RLfXUnu1_R9DzzT2n$j-!}u^7A_`F<!hmQUf$A-YC`bjmI7k*` zf(QesrUR(}@jx_0CCns<D9jvoa9s-GLBt`ZfJlfKf(7EUGl1%TkPV>HR}9>O;)a%E zkkSlPN<dg*47>~yP}f7u2Dt@N;!80|fy*FB+0Mkk3U23u+>IzlKrB#;5tK&AY5RyU z@Pb_iaw*6cAR5%J2GzeHdnLfFH&E#dD*r(kBnm1ULH^@qV1l|3qEC<k)Ybrn0kU5} zZUkXS?7~Pv1{e!B4RQs@PCjrLa)L<+8@0v&sYAvfJ%S7n^~mBdHbl1|g9O+_P`S+u zW`Rm;h)+b&d<GE(#S4ff0&brPLfcHB9tN@>i18UC*gjBx2DugDCy09?Y>*2<u9XI> z1F=9Dq?VAsK=l{M3<(AqaL)sz2ZFi4sTgDq$aWA<5Zv|v#Uu!W>J(7Sf_w;~LGdWS zAOLQIfm#m`Q}`IfpzR(IAC$U5X%D0aBm-$Lg3>=S2AM3z05TJ#PMCp>0n}>&r3p~| z4(gq;GVn5h$~9153FI=6*&y>I7<j=w2}m4)@{A<7_XcWvfm(;4oW#l?4OYX-zzud8 z$SjabklUHTJsps4VFn2XP6ieRUT}&A>EmXQgzDsG0GR<QMWq>p!Da|DfO3H_11KK& z7{tM1pf&|B1BirRRtAtuL4E`EEkU#xg9JQ3a5FH0c_5oO!R`aGKzSGzGLXE(0@eXx zgF*+CCJ<%2I9L|cW&(vD$j6|N0r>}nK_-IoCMey4{KkUReg*j+WF9CMA!Q0W36T|q zwqID`@dL`?2p@s`0aD2X?nQ#+AUu%0VhoaC_i=(rkhmBF69Wsl`~&qJAwC85EkJ1z zl<EZGBNd=B6(rBYz{0@E07?g-&_kpGP<X;HqKyTKcTkEWT-qVpt{`(j<s8T!NU8&o zp!CJe04jkc89+G(WIre^f?^wH1E}W?u^ra>goH6D<Uwu*<t9)bkbt%{K`|!^?%9Cy zp(ukiIL|RMh=WrADDEI>6vP6>G$<578011o8xRz3Obo&dp#GUKv=jpQ8e}7g2H6N= z^MOqSv0x@5$|I2PK<NX5L4E|qjW9H(A)=Dt)Cr0kkiStw24o`0Cm>xQ`w$r9S4cSp z5(9-Aq_hL61YtpNE{2GMRKPH#d<3NcK4_^45kZh*3@p&H4is__3~9?iN@+oGz6FI9 zFF1V(F@WklG4MDBC_jSy48oxF4(ZW?><0BNK>1n{Y&OUSNGT)%E`dO4LKrC=A)yIM z!yv!#GJx_B3j-5_BvR=Fi75yPNg1H<gv1Oi)qqMdknJE*P)tKGNF4|hPM6FKybO>u z2`PI(p$;*R73^+MX#w&pC<TJ@5XesuJFt<Uu`o6U3HbOIC~qS$2LlIE?gjZ9)K7zm zA<MDBRk1OE#6cKjGRQ3;(?EPs*n`HVK&cAiK8Of;Bq)p_^)kfo$Rwy72FXJ($bL}T zg76?Lko^!oD+6d;&)#0e-oVk-Da>94dYfr}k%NmvaY>4UgNjO+gS|>T=+N?_)Z*gQ zl=y<g%p!+SdzJX`qQruDum%TgIwAVQ>{a4}ONv0}$brtF1?daU%q_@C1#c@WhFRla z<e*|;0MP;(C3gso_s>g>FUd&Fiw9p%pOTpjI@h>3zQn;0e7PyATMZpRqw3iF;R-R7 z41Yj%LiB_D5tf=<l3xT`z6AC^ia%hADe{La^d?7a{($d)K{=2d;y5xqhtD{Op@e*l z*93}!0f)(mICgPBj{Q*3MQ0_6nR%&2@dZWs6_pV8Lr8F9!c5x;vs@`O3pvgLTpe8_ z9PCvnyr<6rWDb@LiEuQI5TYzpa2SegtCI`Jdu8B!;NXgq>tPuHTxx(r9lXI2mMuXU zpQr)@RNCNDh&QHD;@goJ`w%|Ery9j$bZ{NaKH^-5BhtXJ00|K~I2o@a5dJ_(FN3*$ zQBetWbwqP5+#5lTu1=mH>|n2wlUiKt5CI8i(4yjaKad3Ym~(rTc*m3!P@S2d2CL;D zNBcXvI=Y0~t7PVtq^1`o=70_;16}A=;t=nrV&LfDU;wSlko1F`172>9rSJzC>V#c^ zqbpd#5L8_ew$3>}uehYBG`R#^{!m_wfsX8QH3&`1FDg$gN{P=bNi70h(;Z)um=3S! zKt(q#EX~X-C@mqvN+(cNLR@(U*;WfF&rqCAvKa(|#3ePUG(A421k}udBs6etj&y{k zt^il3_;B$0YI~J<nBw??qSO>nJR>JbP+|mONCE{J5DHJT24Le2u^0xs@KZ&_*$J9U zBOSrM$D<fpYJn9xy5doYudIOR#;yX7k)ie~uzca1lV6-#<N!Hn3nmD@y2ZiX(V!yD z%)l(sB+(MQ8pOc?7A_HvuAmA7rk*rI@Hh;q2?b02pr&#>zJ?@r-$PuANk%$?+)g8V z3_uIE(UTf9b;M_;IiMyG$X0tSp;45Wm!4__DO8{-8B#Pr)P@!%=B4E4#wR8xrxq8Z z=2>`A2ubEplW62!u-hO(9O)QABTEb%49N2~&hUelNJt@soW^LE?r0rAnEr|{C@BJ` zBkXx3z!h|JPM9GgTSG-KYfb}4uv(Bgpo?2U<teGj5at*s&@rdTrJs`v)O2VmNS?to z3SDp-r@XwRk?RZ`KtV^g^T^9spoj!zE>L2?OexSLL}sGGo`yliDxp+^Lnn;_egq^7 zcz_m{6y;aOgR2rydkN<-7Bo*oDg+1#X`i@46DdKRNVOL|Ee(wiPEO28ECMBLoYg6@ z4#J)*Ai;r5LV^anYC_?KT^H1JG6E5=dElfDF`I^NCMFItLA}0YXv-+x8`(|ZBo^;Y zT-AYOj+0Bg7m_)Uswm!zBy&Jzp(|GBK(mlrW=>9g9!MGXfCgRQ<%m=bLyJ&6Wox`Q zyr&AcBQFKF4Iq0FB{E_2L1Ss49x|*CAMch)8{>)U))TfIC8!YH6yiOKZa@@+y}b$% zzDCyv&Mcq-25`#?MHbwtg1X2MRBwZa8c>utfXY|G;|^~5Me(VL$r-rgo9q?=QeME} z18CVqUe^zrSUpQXcN!)_$4#JNX77kU*FjReD;6U_sT(C6!9fl43UTJ*Fawefklc&t z;1gvo<dQ>sm3X)jv}}-&;AI*)177*~=9i^9KspWB#ulJ)4jwne9`sPX@DeDXq$oZ) zvBbdz+RTV_w08`R_sh>K##wiR#?wJF1JEP`Gr<+b1l(0WNGoh)5~dfsTS20T;uYjB zyrzPbW2RS_RY9rX%ac>V#kniU5wK{51c@t@0?R<sCyEyAro#&!RKu_<hS&g-19kSm z1pz!B5OyIYA*?f%ApMx$gxHTvMmmCy%C}d6jq*^l2M!vva||;C4a|VOfyF(rAOzhs zj=Mw!c?J>1(9py*4Jv^s-{IjF3c9uy+>vpxS0Oxr3Ob7s6vLo23_1xPR_=x3cP7GY zkb^PZhcZTwT?um3KwW`dA=Ix%4v=eS?N#DK^N^D+#2|2G2ua3}kVa92-DD)4*cCvn zMg%UB#fTCb6m}pC&Ho6Csh4u04#67Gv`No!&w#EkiH9dDP+B2=QVv@Df;52w2%Nwm zL%PKG(L(buU4W9jpv5dwWP%2GTu8HwKoO4`8Y!u1po^hFjcwO>Z>ar{PKzt3$qX8^ zCc=XTM07@=zDKeVdrC!b+k*yjaj7H_1K71eg4e;ofdp6MFGHYd8axSxGqmtJ2AsSg z4g+U@?26&`7(m;U<XHx9azLX5<~c0Q4v;&*H5y5sElQn7e8glX=44iZFYPX<1XmTH z3_1|G8s?Cc)U?FX9MJXKupX>yyf?`X0;PFU@*hg3#_bePY+@F?_}zzH4<xA~laN9K zyJ~_Z33hEz<I$2U%zLm@i(M}~tKbWJ>{_AL4osE|OUwZ;TLZPL;Kea0QG+lvnvvDu z^8zs?3Dn5=vgD$Y__9RMS=t~*YEfodC1^EVDd=iSh>HSUom{|YI!Az;C5g#}rI|&k zSSLc^eck*#$f_ymY$#~a4t5uVM2(=U5)yGQYJfNwp#U`Gf|;TrF$nTL=7<5frwi#B zgUU3BR|*PJA)_^*rCJm&tpYX84ZvllE3|`>3}5x&>Ie!$JPRA4Q4a9{D73&O0azE< zrI<#6S4V;tJvc!1lBO%Zq$n}7q!=`xhhY-L6~VCiUu1cR|FF3WbO;BeHw0SufU|;v z&iX^FfH@giFPe9erI6R4LCqoG1grr7H5KAIECJx+01g0TM`5}bOLYnf7*M*ylLkOp z0au!axCqI&xGjO@CPb3KZZNW&5K)X>ExoMA8Y%dk1aTOan8Kk67Jayb&lp-55e`0Z z8Dr>xZxI|0S0Gg}grXE|3Gq=1Rt|O(b)pn(9!1s<Y?OlCj~S&nR(pmT8sUvj9NHj> z5JJM@6H}?719%KC)CkrWN2D-J#o!bIbq*pXaj2uc%~&H5uWKM~!jds@=>q3WOi5U% z8N)&?B^5ls=m4s*an>@>DiPucSd>5qhL8<F1T9ntF>0{}22?-9Ml9Y2t>s2E<zQ|A zRV4Vz50v@{<~Fb<aJ7SG48k{1eZ=d)>L;ivIQ@iF8$#M=F!x|aBRD<d^C>PZ5RG6G z<{M0<=xGB}1=s-6mg9q3V3-DxVHMV}#WWe>L?jYRD#E1;XXb&%3v?bA+*5``XQX4i z7kEGmq9P46Yl$@2N6nFCu$M4uLd4voJ!m~NZH53r<JqtoT9l?0<YHTU75e)d+z)}p z!9aK&;s9{@kp`O{rDe=hJi}@a8jOVZEJ<30OCx`Qh7b*nV9g5XDs<=^9<<N|Pt|}* zYDhEN1)9wu3)Z1Zu{1(q2?L@Fivp+wtQbPrjTp=a_0B*T-AX4<gz3<22C!5BT15|9 zw2i-84edRnWF&BEf=Xa<6v{9+G-!}qfhG-_gK`4pSq!J6C`74iK>>}rz0lQxNOLgC zB(P^7&V!JchU3tK!$w@?HMmHObc8erK`Z_tqb1NiW+1~HLk(f$U$8hv2?MmS1e=7W z0Bj6qXogX=i3}DlFbl~WG(mG(MoE62g9~`9C_bsOBsD(2C?&NBH0I<2%{X8cZrD_~ zxj_;OScL~R6_7*M?Nz`ke6gwU^+hrx+{De@wWuf`dIY~)X<jnuDm3u5+u-pQ2W&>z zI}+9xZUX9Gfb(2#W}X8^c7zTafd@DtGaTfVdMI&3cJT{x0iuvYaum*1H%gjBcLYIQ z;530q^)L(35;ZvIpqP!O0Bj5*)#sJuXE@+ZIA9fc6AoAf-h@+>3U)4ysvEGMaTGjY zInW9Z8rf~&018X2Z74`-2~N&MsRcQS$*GXRYl_MjP$M5Yk_z$>bbmLvs|;Uo3L3N| zYUejNa2yOl`yw1&!S^#lFJnw9O-oBHa&Q5UYl9BV1=Z96u8tni;s#vBK^3`TD1vq* zkrlaND1sJC$co%C6uCpn9b`ow7>Xb_5vU+5^2AUC-L!?Q$QMHqw3tIy<cFaMe76p2 zI1w(|Fiat=1;gv{CHe6=nI$DTsqv|KDVd3R4#WgKrY>TF8B-TA;f|>bfAE#&p`;<` zdL-mD23O$*+41BM>F5S-;=z`~f#V8`DoCOQ?+`&wX>gV9aP!>pn1@h>WFB&&M3@JT zVTf6dSbg9Dx6uQSjYz7%Q*~e;Ag6G+jnD`In}yv*PlSyKvyd|a+$@AjPq2B|L)RCZ zdB}MNZXQCVFCO#!u$hOPz2N2{RQlmF4;%*&70?hdfG(H>HB1Z)jU4bT3<Z~lE|6|N zsDBU&UTO)_8K0C`oN8#~U<BRY1S*7~qm>5GMm-HJa&&bHrGqu#*-MhWfxX%V2O_Am zWDM&y89UH6IH~3iib9)eu7F1dw1Ni@U4qth!|HWViUdzT7dyD1weY~{7}5lUkci}p zrV=UbQq3Nm2Y!H(7StAsnk!)MA$bWoYf#sGkXLADI%sq;z|{%43k-@>LnGJ@eWU<G z8E%An66;D?EL{w6P(j*n#92nzV6c(!BnsV9jYy(lsmb6H6PiBp99DvqK0$$vJb?|G z5CAuUK*2!B3hem~CADK$0&xH`3HBShV{m9j%0EySVoBLh8LXj-!(4C@$8Z#6NC7!P zLXD=SrJ#_Yvz6esiX)b>J%YIf8XhRQ1u90v;HQmsI0BwFmQft!Sc4a391@(b(8~<0 z+6ZR~RI_j$S%gv+g0+Cc6uFE6P0+#17+l6+`U2e;l%fikF+}<b-E17%5G4<|*abCG zVJF?deTtNAu`7bb20|9<SNujGE5bAahl9aI8h&#L>V#QF-k2)F1sDY>r3Qkka#%W| z)GU}M32*EGhi1Gt%wnhp?4d|vRR}g3?vkQ{JjC6qKAFWO4x#bjezzm|f>ZF_M&Qej zAona9KnF*h6LWHs5|gvzF}3)Ih6IF$kft#-!pGm;-8G0LT~47PA^v`3XbBE+3~?n% zpNprX4@nx_{DYiHvjVKcH7LlRv_JrB3w915&2^!E&LN)ue(}y8j(&cwKJh`W0X~uO z<e33>Gnsll{X$%W0)kvaT!ScbL$IT7fRAf@kYk7|W#)u928B>)f`0%x26*~9y1NEB zxw?D$xdl1;l9qNLnq54DogIT*TwTBh1d|k-5EESeAbQEr8szHkNn&OU@DC<2$A`E^ zkXEpS1UWi;y9PNrJCo!ks5Wx+K(!hL`TP5lqd(NoGsGy^)i0RDasX;?m@8@J6jWQd ze~@=@fFsdGR!L@VDyV(u0J>bz(GglVIOY_kCZ<&S7o_GvrU`>ni!u{)0`iMWpz2Tt zU<fOR)KX6QrFki^*+9pfocv^PlL%BxL5&SC!?A4>UST@t=jEk>=Q15Y6Ez+VQ3jAX z5d*@eLtFtqz055!GpDpDl^EX<p&nweOHpEG9tj2$p&nu|EXbU(Y)F8{7)%Lh-#L1q zf?BIEd4v(L#wkn&n@))JZkai$A(^?U@s7#KrMaa!aP#9qGN6fnc#I%5N!)Tui!(?F z4I<P-oa2{YLTtjsuM}b&$Se|^Nmx0=*r1@G)a3l46i5mSN=+%vOG(Tt2}(^)%`5{g z3qT60ppak^TtHAY)B&l9DWsT6P&vfd;MCm2f{gs4RQJ+EsPCY87c}7s%F6L@CD8S0 z25<qQ^n{iaRf6ZJ@{_Z{r&&YV&f!IwC8;EMhzRu%AAu4ubma<kXb;f|!BBy8elk)7 zV$4AxOh73p@u-8^1P;J}{NhxX)HG<gLS#}al2Z#nOE@4SPGHMH85`bz#HIke=?OHq zZIF|no|zn<3SJR{;<zxl0oauwdQC;8d7#<?zah93A&de05O$v_*c%`@tmQi-;*m7O z`<Ip!l)~yDlJz0_N5~hBg4dH`wI4F0XMpJd`0dH$xgUNnD}L=*tcP8Zi(eyVxRK%C z(u&NS%*3L~c%S_Aba;V9RG6b_B_p)ZO(4$w$o|G|LOgf@RAw?XYk_<N+Mf;?#zbyf zAQ|P9Se)vdlUQ7gqzP+s!KMdxpENkaAUPSFoSaHaK+DA-9deK}2$~4i0IG3IK#>7D zsR4JwMRo~9AIS;F+27C472LOU^A8FK^+tk%T%G-cpbOj(VdVx{4GMA;*ppa20y@*v z#n8|YGOrEEQTT2R#_cuaOo4EOg9AK33=9nLwj#l2gLpWAuX(nIx&*0Bi7<zJQ-})^ zq)0+|#5XZ75uDo`UE!^9aDqW70k2qsJJZ7e1n{~QO+T#NjMaXy;ox|52c=2^VM&t7 zKKc0tpphnMTp?u!m(0W*5;7M^dAw^yBKVdJ;z|Y&$Q9Jk_y!w5a*lvCl;JLg&VGbc z7Nojl78fLzBxitf0cZslQrN<@Awm|OLkQ>uwXU7=^Rsgki?SijNRSAqxq_{|4UP-! z3Lr6w<R+N1lA`>a9FUvAF%EYZBCWw%a1g`ui;`1aQp+-vQ{iC%UipHz_;f?)BE2Gj z=cITiQ0EG6Ei~wHI~24QJhccERwVlosue9^5wH<+eJwOdi3lKcy<`Lvh7oA4cXIJ0 z7`qr|fG%FoOGV^NXb@nmC5}&nYDG;gP(g5w3+gh0Z>UF@hm`;EnFtO>qSVIwh5GnF zQwVVyij#{n3t+8DaAVp5Ig?;`0Orql6pf(VMTRycCwk^W%6zb2LB<h^D~JYAHv#Hj z(ln8tzz`N<wp{~Vo%{?z=j8hl=j?drjKn;w=>TF&d{An7W_}*jXBfdmuH!Ksj@7vy z(1rGpmVr-VZb5!giE~bVayHaK*yKT@BgG|&xdl))7-<P=4!SzfdPU?Wkxza))C9QO zLW&aeigOY{J-?8|q?}aH^%vkC9k@vLEiFl{fNLRK)_~QM9)b{U7-b6FkvPiXfYj6? zuvTc5PfRLB(gV*99*{i+kSGDA`XUm%3|3FNmm%6n_A-2+2Q<)zy>^8w0Y`0aW^pk% zwG#?VxHhyQBog%H=9eI9ZfI$aBkJI`p*j*8CHVCQhXlDg`eN-i1eX-0Cg#Fxb$B#l zF%Z&aK+YZTVI-(F<gNh505vGBd3l7JfU`-kYfyZEV~}S^BuW*9p$Vz53C>6?N=@-k z%1TX!)es;f4NxovtAQ@|gE|VoBFuD%+d#|$3!B=soczQRGZQ4+{jfL@stVJ3e2Os= zKQ_ggc_qe1NVcOCkB~r&2dlxf8@Eynn^Bd5rV)^=B$NY!LF(h3b23x&kfV~IHsaGN zIMSih5a0wCl3Gy`Py{;K7gkguB`uI-JVq`iTzH3MfM#W29ybG@Y!eEx4lLu6Sds`z z-=VOfeTZC9VsbW88y|-~$VF@jL<@3*3gknq0p<Z&3JxioVH!#9TfsC2r{)#s7s1Er zU_&m*fd_RPMiRm9I;4gf+>U}wSmOeZul)Q_x{Tmr5TzOh7lp_UL+b`2<P8Vnen_y( zNVOTdXb3XI4BEMbZ(SZtG5S@8WZ4XlJ(TV;#32xpkaO^wfYXhzSuZMYJAj7)N#<ks z0vXHn;nqV}A%oYBQM51}-9#*_S)q1;W|Kk3)&*m`#S}dC0Eti3`~lUBvTzbAMv;Mp zHKV!%n&1%uM%FTEcxVwa4ttD~xDE_kctS145=~GUtO0}FIS})aNvvUp5_dGS1*^MZ zMG-i8VRal<ZG^pxVir{v4H^=28Z?Tvv{^C;atDb^28qyueaRqxjkuN!;?;$H$siG0 zur3+Is}I|fLA)BkEBVlu3=!4=UVcZqHY`g9@!Lh*l0o9k0J|Au$sloh2`?EW&K$x^ z28lEW&yqo6O~AQi5U&A{HG8<13=*N4z>+~COu)5dkO-~Vmki?7h;_*zULDw$4C2>- zbIBkv+DOWX(8YI93hR<VV(i4TWRMu`Se6VDqYdYhK^&Svi$FltDaw*TL%eGML*bK| zhWJ<0At}VaIu1!8tj7QvaRXm+4xTH6c9S73G5l-Gkj%olU<^qO-W6a->hP`8LRN-v z;T4iP_~;kLA}WX<@vnD6G6*~=1`a6j{y#$_NXrhX%|U3Hk|Ek!BP7Ey77-!IVObl5 zBnuv_fUOI{E)HM*gI5|pdH^3l!>=4RSb<*^Y`g)7DguV!)Qz@G#lZo?d^8pCVKjmY ziM10NOo*j1=q4jAfWavRTjzqI0KEJJ(_4`BFYx6o*tOyGE3Ty@=*A!qZsV3iAC89P zCvbX17yw_Gfs{|slz?aWaa$9QSO9^p2(%ypGmJo@80#FcX~h{%u%Z#uY?usIH-nZ3 z5WVog5F831Euex0zA^#boiGKc)A2|_jkHbx)452JI6VuGM%Y>b3@5-=DuEmdcL#1& zxH1sNbTt<DV$2=mDj+ZngJwr!%!E(SWB38Xdf3!8F~-8wLdSoJHyl1Mj;;kVv5RRp zL>x5LhEEP>j3cz;3^a%m0w&<p4V|_{p8iEju~1p`NnK<W@cCRMLFkMqdKiI)aXJ(t ziz`K<Pnsgx1`6CF%+Li3<FpMTi_13n+#smM1)JkU_YPbUVxj|&63EOXP6go6clb;x zx-xjn2&K&jE|##*@Ii_!$mA4kh7ZF~)VV#p(m2BrVg+=95N9fbs)EkZVa64zJR!@V z#t^a%JST_KF0d>in;?pCr4sP08x{*tCgU)I73-WEQgQ~(one_+gTyFE5@})$-Efro zGh{O%Q%aa_h0Pd278YR`2hoNzlwi8?&1pg14K)c@P{K_D&s<?~2igh|^d<`WIzxoK zkpt+S5yyyl?*LcF2=HW?38{xMVIM^$ebxeWRHFgxq;%M>1dwZ>W63le%LZ*-fmsdT z5P@VhO@_8{Sqd(=ux`tSjxRVOZ-R_KT5Dv2Z%;Q=Gh$qWRGnByCrC8}WsCwvGwx0& zG+`j`q=78!z+M4^!xeHY5M((YL@~4!g-j|zY6^%-&?GP<<%2^WMIAhIgR%?}%3(Q} zkaB1tjqD7_JUWV7p{lSr0*_)$Cty(wF1nFzhpZVvu^p@ii`_VtV%m(X6kdp7o#IDM z3KodFL1~ufogCx+z&QuHR>E>1?1Xi~V3Wk~fh%;^ITAZ*<ml=Mx|$rcKoFq^djU=2 zBx9hflOyzmY;ZP#xgFergr0BV2$sQ?E1euYA!)%0rVopsvAYvoQ9FT6M#-9>)a&F3 z%Dk8=pcx0E#1B&*oU|db9$;B#@|@*DmsEo@*uhRmasv&jDNv;2*pdyl-4$oRIfAeG zH86y1P<FRhfi;7%<Y`Eu91j{*CT{6~lViLWa`puoPwQp^9y@6g@DLx;GKE3QK3`he z0iBXZFVTF#85(<0;RcRbNZlPoU{^n=1b{9cg{4Gri3Hz-L#_ef)E#e*cUr^D$$`P% zKHePvoCZu4{s|43D*RIwFjY9`DPRilPEx=W;hUj=tHC!t0aJv3?g6F>ZPoxLj4@>Z zlfW`x0Fwfz9@u1o8KibV8m5Ls3tmOA0c#AU@JR+DjK!&zkm;Cn6vW#`ST8}_VS|w* zSc*#vLAzkBLK5u4r3JTLxLoJpfEmBI)Z#WBmwT|8j!P{z)6u4O931e65kcid*a2_P zlVlZ6UBuXkD@0I356yG%;VX1^5^p17LJQptVr<5(8;c8&iXJm31LQP^A_Fdv;3D|U zfytqicaS+V0;vR-BAAIt`2nI7J_m<4lnAKBZ91;ph7t!*({ZWAVmhuFK)jwHRueY+ zkhX}UL<(Yt5Zvy-C5M>%Ls0>m;v*2D*p*;$B1j>|bRpjGAW8==n{Y)IO2mR~z@-w4 z$*?vYC`^!2DohwNh+)%;@Oej+;6<7?1eu7M|4<x?S0xsQBB{q&IO4JZrv~iyK=&g< zH$bEN4=Rg16@x<wq8vsFS&ZpNLg9oyvxuo4n=jCH;S2)QFe6$UQFbB%0AE7DuoIUy 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%0AHXlpr-A42l;} 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%0D}8P)9mJ3nEZQI$wYlwx~d4V4as9 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�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�HpD_ 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%0Aw#(lB9t2eu9ztEhzI4a@S)s@0LqOBq1=cF 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�V%VHVgt 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	-S>JpiuwJFEB*~bo``8?-Z~KkKP`z#0!wOTMv{l zy^c4&<k9P+;sF-%=xza<2MU^Qh|wP1oF3f_$6ZtmKuO7?Hw0vQh>C_s_Y|<w?jVlN z5ETU&*QMKw$EVvx#bXyJSN;!h@aR4R4P}T8jYmNKKzI_v{~pb65<uRRU|?W?d(%gy z0M(r?Dg|Ii`haK@7an&}(E$0*qdP>U0PeaFl>(P;F9ERAj4xqvSM!ksbVs44FNz%1 z8=_JHGEM`Vt3<%A+679xxE$unz`y{y1%ZVDRN#Te&sZ3m86YR*voI`TU|`^7U|?Wj zuwi6iZ~?PG1M8r3(^(i+GcquMjv-}X*ucoZ;0Bic#>l_`k#%NbV3+_F^I(F>b~C|b zLBrcq!LkqGvJT<#he44GYBqqfdK%hMv>-Xq$?G6&06rK56dg!=^omOoL7Vkbi!#$H z;Y&NgORT`FabUA#3h|(Yk7gziz8&}wSFlN#go7aD^j!wf5yjxxhpGX&#exNN-X#Nr z3{-3a149GIZIc)n8bHU<T7s)qP_6>8xEMgExr12T3`-ao7(gs8hR^(hE|6lT0F*XC zMnTi&XMTYe6;P=MR$|iaqhbP1=$$SqA)omLz+}A(D1)HngU|f=Ai?G%1@VXVAZNca zuz)YB0Oea224B#X8sLBjc>xsEpp%51(1IE?I|DihH=KciVG)P{@gle~MqJZsWd*wa z&jvgh1PMmaWD`UwGO6Go$RNZZC<yWmXbQ=n5xk*=!GeK9kk0@*V~1|6l~sIvjuHAo zlgzxZ#2h=YX(kK|3?SVg)4~#Sz~?Q4Zc2fO<(HO#1i@z~Gk~KHWHZcFApe2FgO!1S z0b~wHT!E3H0pwLxMurAW1_lN-MurA61_n?IwE>i*H5eh$3d%Cv;CU?&i;Lk40|Nty z#m(>o$^u7gh>8R#V<PGi2T%lqk}WiXL8X2GsOkt{C;?X?5e%g&J3$HPKcw=2)gdRq z@xJ5#|NsAAHiC{X?sid$@JMFxX#T-ctVlq|>!8n|#F79u1Dupp9Cv`C9#rD0fa;6@ zk8TdIER@6G(R_df;<!#mkQl_S7hti7PDbMc9^F6COW*F}9?eG_;tzuY8FchC3xhiY z1H*Q3Li1-}U;rK4%mTiW0U}$;z`(EzEDQ1xL>5#rg94I;0dz<+=rD5@hUW|n40FKh z-e4qLRz}b<^r%NUgKl^MMILB6U?C_rK`{$UVWnwlsYQ_Fssmo51<v{)Cqq;rlb|#! z${;8hz`(#DB>*~_J2S61wWuVZ1f0-7H}RCfPW#SD%>$=M(4p5S1R-ici4U}0hZ~;0 z!M0;h)!-AlAgNjfRA?B0%m5354+FP@I!r<U)Yi8Ygyk|2A1Q%@vKLe(11KCo2^>^< zgO-Yb#1BIg_6bIY22km9l98bSbS2LzMurAZhB(W}&;Yt9<{TqK1L!F1^Nb7)ptI_4 zGBPyGWnf^q!^qIEm4SibJ|jcJNe1xLXu}-_28PFs3=Q`f7#N;FGYF`jfMgI5iwk^Q zKZwQ6@Rb2li*PY8LhBQ5@B}VMmWx3KE~WrwaWOc6T3`a8oC8X;(44aa++xT+z~Iph z@*e~LJ{HF2AB-hz$5>PtU$Y!zQDNZU#-al1Brz~}G#?R&KMY!u0GefI0Ud@7?tZd> zy9S^F5Hy`1$lwN&1_cusgPO0PTnOsYA*HZ{6v(9t3ZP?gAV;wjDWv5WDX2q=M)*~Q z>gwRM1<LMV^H2$RwE`}fKns{)@*sOb@dolC?CARw(E7v{lr+Ev4~WIZ0E!zBiyK_e zf>>M(;FcbiMk}bz3c}E$1>8ymt(~w2=Pgj!f<gim>(*#h0jMSeRZF0|ISwPj2;yJ( zjopx{0PJUE@4&ppzyQimBGCI2KmqR0n2}#x0$D?5DG1YZR2WpH`h%<i)wnQWkTD>4 zpofeQG{u232qeXUSX>OCG6lrqW&rsJ#Nq;%A|MtwxE=<vz^SVjR0S}^9|lpNVh52d zKn-8?dJ)t>0+rC93$<9_k?Vl(HcN1rfINVSL17}pzysd#50OQ?DihrJ00ji75dl#F z>gh8u++YSBOw7OlDlI_bp3tU;Hv>Zh$ZbB*Bm=73AOQnnaWQ~Sg9rJNo1uz<0bI;- zF@XA0AX#p35P?`+3_hJcDhfWGF6ecb0VpSeZcl>dL{K&10IfWHR3bnf4F#WWAC&+f zP*WY$CUx-W=71+U14x?$WCsfasAL7zuZR%e$H2f~h?e|7S5E0NFff2>c1d`MGsKsr z6+kWx%>f56asYt>1cE^U3`%sMB3=Moh=W${rY7bxfJ8xg%?u*ymS2>cSOOLWIg0}# z3ff|wlga?920-OKXs@n6W4vQgx=&^?Xe}h-st;2ESh_`zEs*;Y&|<5OiJ<}Hr+Oxa z29UoRm>?|+b9e>^vADn$B#6b$016opi;Dqt#|4PR%>e3tfmmD&h;{}z%D|BaDmMc_ zu>~qckYWqc5CC=N3OqVpR4hQTW#I~{(?e7;K+y?N&<Scp9(Pdz)yxdtE-DHbRem?9 z#t(o*D5y4JVF1<hAP2E9fUXe(UB$-209w-s=^4Pvm{km*O9+t4R0akH&^=(F04Zl+ zV30vXGBk?85e$kJNTec@um}d#yqFQ3!N9<P8o{8b1bGQ9DnY3MRMvoMN`J=qpw!~h zoDy*6gESpMDFtRN$gQ9V1znN?Y8HaT?U^AF>cq?dZYnx6Gc<sj&MwRh4IrnvGD9xl zaASr<G{^~%Yzbm<F@SomAQm@xI1a?(Vqj!qWMG2U^q^t~WDf{?GJvu^C^R7~4$!80 zuo$B*6N6-sC|D0D*@0ApuoqYsqyxeN=>XOD%nb0f3{nPdrGaFjT#_kJt%a-!)YS%E z2gnG%xe(ODWMlxlauURqps<9g_lCO?!UDMi6oJerAp!CQOb6)N6J~HN4q<_GfG(V4 zW?&R$Vqg=3gdTF-f$B(z4hRdR0~F`X42&{N44g)+;IISLG%!0r-6e<)2n(bGRCF>k zFe)=K@EdU#FtRZ+uoW;cFlsR~2s27B@POEIOblF`*b2aEHgSVZJqR-rdXW!|3+jHs z*q{qdU~Ev&8pa0QC<Ji@gavX1sI|w;04j??`Hq<Zlx-j^P>u&xUd#-j@CRiaW^f-B z!UCmpP|JZCTzLe7Lmkw!g|I+=p9mHMm8d~r7O1#}us|tu8dwa{IEA?nQV}7?4MK)E z7PgcFx{d~ta%O`E>KHYd7(|O8tzS_47G^T24GRe!2n!TC^TDnJ_ZAr#7@(a&a3zB5 zN|4Wx`7je{MT43S$Yz7$XBpUUpcq&RW`U~X<zN=06cYpYC3bM?0p(YiPEeHr@h^l0 z@-OHPDQ3vvIOGClD+SQ~%L>rtn_Q?;5G4wE`6UYA8<rJP^YTm6Ge84DFiRM~9XQlz z0c9mr5l}W_WN=8%&n?i)Ot}=z%J~03sCaTnOHC}%GccII$j|^0LB1LlWCk-M=yFtq zZ6Fr%HKCxOVrB$gj0(EZ2qX)^P&FW*Gk~tIV`c<Z%@8>liF~abD0-P0K^LNe+C>~} z4xoI)z`&pq>~3aaZfOY816BhQF#<&jiij~N*`tV<fI<Qy0@DvmO3Vy;pf%$lVFu7~ ztPBjyjGzbt`57t*r9e>*VuD(p%nW)+SFVDp7G_4!rK_OvXwK9<uR!V;P}G2Km1SlG zxd9|MbJNPRpcV)N12lX<IRSiM7&9YiL>#7$odIMUvR$B1VP*s+FHmUOFTHJ#X$~k| zFf)QKS%sOyiD3??iehF2WlNCi@ay@KnC5^AD`rN}<*J|%0lAwS$sEYFs-O-XGb1Q` zK`FpGN0JTG98jn*GlDKvg}H|p$sEYFwV<mUnHfRF87So0S19elGzU~<GBbiMQw4=M z$UXcR=772)%#0x4fz0{i(d3J14rt>AB%ER92x6E6TBXg*2&$Gr{?b_xUyErDsNiO1 zWMO1rfSDtVVGgKM%FGC=I6;1Yu}$d|ra5Au!jBPjX(~t!$X}vhb3iOmF%O~z859^m zE@5B*Rhb|W5Qd0=Di073gdrlJfnX3%7_1A{E(3{(f<-{Abs&O)fq@+?0$IfZ6#|QZ z*pEO26hlmY2jzh-6o!Z}fC3sk@T>sN;SAt`0gy6&xH(o(HEeJZ(7Z2b#sVQSk&%Jn z0Rt#3VLm;`$iQ#`9J(-(XN(NsnP7x28K@(;;U+smML6Li$xso5o69joT2Vw)eEf_- zJ^*1*ieh6x76GLVR1r`tql$p?JE{mMg@Z*vMGweeaH;`|fbD{W2FU*^K7L>|kkEjN zK-7Rk16c$#FAhq5U~@p-GqA~^^bZyR>jDXZ$_+LK<cn*?A*l`|3A$D~X<{BE7k~sn ztK2~}SPcX6b-bX`mYES;GB7YOgvn&ZB6RJ5h9OuDid~W@c4_rY<bvcBkR70@1rQBZ zgJKtGJP=_Q-}`4r5V}4<?E<S|K(0YRr!_N!?y7|3m-%~45V?sNRA@3VFo4y7EM*V{ zt)E8`(O?GMR0&gq9Acnh6-ey>(wZe@HydHHE!1SN8Wdm1g8dE)F~^orbA&Ems4lP? zln?{miHET3WYWYuNL>K38MJo*M1$3!*d>o**DpS=7KE-DP`kitQ0xLVF%fn(Xx6=f zl+PeLE<<&J)u7k~8lpqQPQ=ZMUkF{_p}N3oQ0xK?Vj=8OTGJT@DZ@c_NkNN0uo@J* zKwD@Kc1f1sT!+x*0M!LngJKtGv;|V9fJ|2lIXMYLLvSio7g!C7U8>+P1a%cbIoAB> zPf%|UqKRQKR2NtcSnL4{=mHN&gBs##PFBct972sDD+2?lTM5z(QIpNe0G_}@h%9Ag zU;uTW5F+<k85lrqNrVWfZiP(If!b^!>qFQW7(mw(BGgO-?SlZdmq5M%DPcIt#sKbE zAl$>i4%xSZ(527Lz%YRkG;s(sIi4L-_9E0wWQR<hK|%~<^gecozY!+CVrO7@fMSjo z2LpIL55k;m4h9ATCS<$TaX`#LnEVE$26FQy12anQ1`TT>a`((2_Z&!@1mqq~P$37J z34;4Q0<;?fMWllhlDom?prjUckS=iB4`f#A6wMb1lXpQ)2CG3yEudB*B4sA>t2{vH zdJfeER)gXT(3A%=BWQvVlpbDgh@1*(p@D1`1~teS7#P56KmrW*T#z(|5XlDZwm?xc zg9|c!3sHkyYJuA0h#a@^aSIE=uH#U<z-mzZr40@ZSg9rcO!*u_*GH%>uo?#BOQu2X zH-uea$3seC(5wuoQi9z0$-so73pA9(44PqpXh0!Dpt`_nP{I&2TguD`D#<|_G&vk9 zAuTHqFB_^0q=pGa7wDc%W=2r#gVZTWPJ_04LA*s!T_80eU5HDpL7i)ezn~2n283Op zbzC6bU^NVSMJ4bntwEg?T)I9%?E<S|h)>HYDJ@O~jkth}0)-FKmDiwsd+6qXm4SvP zKvBfNzyMamV93M3U=JSZ2c1Iz>e$4m<rg7e4Cmlr?BN7e1DaC<?~=r#D8SXp#np)c z??`!kd}eMze0+Q&XfI1<eiHaF4F;GfY>_5t{{?*b7iA#W-d+W9U@z{)01kn!PA(1( zk&Y1&QBc!C^Vm6%K5}|$31|s%ep*UmC4;?ve7q~z|A?FDU^?wVnj9dK@OcoBq^GAt z6ob9J0ayyObPeg=X$OZuS4T&O09VH_ury-Zu!93wmmydfyRL{R279zsauEBmDv$65 z83<lAhffvAP~@d__|%4iLZ&P+2kKT8uv;O62@byCAoU1vbqsKIbO~^E^Z?s$uL2Gx zUx=|uC;{aQQV|~%;vDask(!(xT#}fa9hO*B%m5bi%*!kR9UlPU1!t6&q~w?9F{qU0 zfi^~|;7v&?1)#J_Kn=_wq^Sg$J|rP%XGf)|B-t-9H&w-e0ZAk*u?V!OA6dw)C^0wH zC9xzC?oz0F2B_h1F4TT<QZ3Xdvb4gj#htX_#^X@}GX@;Jkc5B|x!_y?GYG#Tm{DY9 z8JHF1X@*-(Am71lA)t=L{E3vR$kk~`YMB7H(}--H#^mUP<rOkKikYWKGz6CSNY!Rf zMDYm^PXh*GmBWLANaL~ip9r0BPZOioo}4-W+3V!$hld5Z24D#sa*Tq97Fn9@?Fm<g z$e~4~a(LhnsUAyM5TO(9bz;=o6ROcsy$LS)an}BDwT28tnTr%2gbl_T82Ggzg#-bG z_Gn8r9PAB2jYaSYPVtbYY5`<{0_c*3{JdfZ2TKQ&cyC8&TN$}MX&mq81ZrwJJH#6} z`8as_`nq|$xw}D|OyG56_Qv+6exW`-_NLGo9eXo-6-P%0m^Np32M>QQM-M-De{^k- z_L;qDUVe$aDR{ca-ZVAO0n)63HL}3n3{T%Eh$yVF1r`nQjlyuV3ex%~6$c0705ecy z+SQRk-_+Pt0SOqIm>C-wSeP1`APFicC>R<Tn3<V@Xd?>?u#N<-l(r@YroG1DpT!s% z7D9*Pkf)76T@=uyQ3`0B9K?ZPE&-Hj50EfRGXq1hC<8+|XgZC7fk6Vi@khW3Iz0lO zJ_4x&O&+B$2C)#>fdQlr)Ph5Zfu;)fFJ@pk4^<25wmC3396%l@1gUo5U|_hpn1MkO zG&=#ZmjSfRD8K=E$_1oOQ=5T-b1egd5oi?$0|NtS7FdBHAOWHdGz0@u#Q<Ked*uNG zgW^L79~3MIb&#nJkPK)z#1yIq#0Oyofq(?4f5Fp1ATiKnkmW-L21e*eJV>8|fPfRk zUW9p|2_el#3=C~hb)aDdZ03O`g_b;GV7T!ZWIALJ2Ag@Hg+~le7#PZ)Ak<+q4-`-H zo-i<Mdx}tp%{-9wy{8Neho3>zfu@A8nHR&zz~KL!fnhaxkrHIBJ2vw`(<1yY85j~? zLd*k)GnViJtwk+)$-p20ost8oLzoAd!UCB9n!r+d#lVn*qz;?=K*^-x6$69LYmhG7 z;Rov0hrDKBXoac+r9W)ufmTlTzh+=q4_Yn@UfajOfN&ooenHc0*P&`4HZw3_GtYyO zf#Jy;1_mAIJPoe&0vav|dB?!e233d4eV{d-6W%c}ta%Ty6`y%m-ZL<;eSoOLXP&?Z z1_m9_@<jsv4S}kGn26oKpzN6Vk%7Syw2ljpd7#0W#7_(i6QSyGxev7EarP$$25-=U zWIX19%9moO8hq{pjU6|CW?*mztvbhJ9;jT){=&d;7^)7GPO-%=C|g|r!oaW}v@{ow zd7$+7{3`>4#5aiRaQPRsJWc5v1H(6{I$ZG!8ZeXl4lxTxVsjrT{9L{>Fnock#bsV5 zXyw=s28LG98hq$r8aDGl?wk38fgu+(Q;o;Jpn=D!KN%PfLe=5&FKFZ0>7NV?&A%YN z08O1?%Wt6Vo%??=FfjdwsKaF*XgxL0Zw7`JP<6Qc3tEpO@P~mR=?}y_T=5H%F8jm4 zQ1lm~4wreL(ZgAP85ovA)!}j<sQy_0mw}=DAH+Od{sm2RZ~n)?!22Jf4ww5tliiB{ z85mTdv%a{@15J1*GB7gSgQ^4h16%xpCcW7h85#JPKt4b!Pb)wJLJ+rrNYDZVGpHI6 zAA}tQ3>=WBCP8AL(NH@kMg}jaT2MU*R)@vB45%8AJ`e`00}n)jcn}OSuYie>p$4iJ zZe9_p`#{q>vzQneenHiN!p}h<zyWz69%LfOAAF$0f<YW8#$~S<Gb4i%R4v?IEdFqS zs(~8EfXh4&W=4h(s9JpH6+zVyGOvo6k)aK$7N2=bplS%2w}zRKVFy$#KJ%_Y)eti8 z9y24uE2vt0=5c@$HOw$j`wvID5@2Cukb$bjXPy;Q4a`Vf@!`b6$lwQ6i_g3qs2W1% zm9Q`}G(gqjGjASL4I%TEu`n`hf~v)5-UX-{Lgw9IVPtp$Rg2F&CRRvUK*&5URz?Of zs9JpHnLyPLGS7yUk--D17N2=(P&I_i%VT9^sDi4+XWk5`8banRU}a=j167O9yi-s$ zgv`6d%E)jJsuq`dTNoJ_{;)DKY+#4P38)?Fz<^oqUSVWlFydfjVB><Q18o_>rVg|; zWCkB2!v;QxI&l2~G7n3+_6DkkkUzeF)PXvhpeajO{>5UR98?V<^VIkm8H}K6afJ)0 z91no1A!J?zKO;j5R4qR9nxJY3nb*b7$S@767H%Gv`e+M3BZG(lB%JZpM;cHygzPmC zU}Ug?s>Nk5Xi7UufRW)BiaPA|poAdAZG`Mq5M*S~fvSbun^as3(+8qK@d2Wdaf5)v z0p!VPkQ}OwAQ1+J1_l9)aRHEdUQjzBszCiR2M6@=1JI(aAVEe3B_W8(pyfyo0+{MR z=BWuo)ZjA@)DO_ZP#1t<FKBs68-_YedqGPo4iTX)jDdmS8HPGcdyg?NFxZHo`vX%Q zXlW9YD7reB`&5cxVE}TUf+!<{3sfy6ejOaZi*gal7(h!6l0+F9dZFq-COd%Q7o6@9 z3PD3n(?uB>R->weh99cBt)h$!C!y*f`2)NA?us%pFp7a}giQJ);um2a$RDC&j0~3O z>Ojpzgfa#-1_lOSF-C@Bs5+3TxcpHo#>g-cRUL*uK<(4nVvG#SG1MUzFMz@tl>Rn~ zF*5ALrVcb>2vP)EPQbvxa9E6y;WUOikVl}3p#89`P&F`7a61PaA21QfvXz?{>Kq*O zkd`-qRD<02P>hk`B~&dqTo@c26ciNn-5foAJl%XfgMA%CoIR|R;+=y+;)6q6JpJQ6 zgZ<;fJzZSmg9BWhJ>5KAgMw`hloa$`T-_W)eL{RZovf6~i;d!qjr4Ldla#QS<s0k_ zx*NdO(9!^;5yLLe5Z55b5dWZf7gwiH_jn)IFjpU2BP=EbL9U&Fo}pvw>yi@hQkj>S zo0;sAnpB#O=BV7_vgCrIk`y#y-{3Ikpb!@{QGXv7KSy8JU?l}mHwrW=Qq2I`O3esb zn#w@nlppX^FKEF5V(Efjeo_{L6@!f+XqDsz2GDZWOVJE)+BY+~D8D#Atwcd1NK?VT zpd>Rlvnn$$T>*5jOJ+`L5d(OOFzBqO0JPnIo~#TEphc+8tPGIN`JlLkZs!KM0kpCL zdhEKD72IV=qTsz_pzVJUjmV^cgCK(-bceUH8feFLNk(QdgCv8XAgI(d2JZm`9a)x{ zpBE3hFM~meK~NCXF@s1!hWaz};&bxTL8pB|)F?9u3WC<%A*%shUWB5EkHJ##6evl8 zMu?%Cx_^R-3?#l0sOVx~VCYqYZ2FFX@<E%vLHbvN;tr}Fya^mM5(QcZ2lFE+>_EeT zprHp9sNwz$kTVUO7#JEr8?!)sP}%9sz|a6XE60U_p#ii(&y|6p0aP@*F)%cMMu0); zI2plvLK-9)89?VrG-xt1Fo5=*S~4;)crh?Ecrr3DfcBq8GBPlL_Mc`lf`_jgsu>v= z{1_M-dKtkh<r+Zi{{tBq8bHT~gfcKR9A#u+2xDMqxX;MI5Xr#M06K9yih-fwEh7U% zGy_8eD-#1lJOe|6C=+<qV}l|S14AkULqi}F14B9kLqj7Ic%@^*MkWT(#>0m5OyD)` z4NsXE81fky8on@r*F84yF*AU+BQ{7eGk^{vXpm=SU?^o^XmDX>0PTxy2xewrC}&`3 zsAOgU?T&3|WoBTgW?*ROVg^;|3=N?5u8j-~4NI6A7@8Ou8dgG1D{t7z3_g#j;W#t+ zgrbI%%nYEd*$t<e85nvQ7#glJgU=jlc)<)lai{^bV{Iw}LxThh1H&{1h6WQB28QVj z3=KXk44}QZ4OuJ<3^N%R8Y);A7-lgrG)!Y*V3-ZEmxY00E(1fuG8P7gc?=8<2Ur*w z<})xfoMB-AZE0>e$HKs{f`OsoCJO_@N(P38$1DsCs~8v>KCv(`tY%<n;A3TASi`{3 zpvDT``P*Q}%D}LRfuRAE|3OE-#G`G22d#ev4NHPnAj8rW0|P?>wrqwy^Ql`|B^at( zS*3t(ST_J?MbOekB*S3LCLzdfOI&UNttSMz1>`1}9tzxINUU3CGB7X%qLoRYDG$)P zO+7{ihK->18N@-@gQX6eFxYm`Zaj!iWD-^=fr=TVLW!S25WGj;0bEYy6+l7@vN;vH zp$TjX$ZeoJ59(HdHa3C;&q4G2Wd?=@&<4<}3=9pS3=9m{7#JEr+jFmj@(=?9!z~7e z2GDBY+YAg1psi?k7#JEr!<%;*7#cvs;`bRC8bG6=4;UC4K)teu3=9pRUc)138Upp2 zT+qU*f{_8-L@8oqVAw$@tU$L)<>coVfP)9LQW@lWGz=}XL4HOG9?-U4&_Q6b;-F$Y z9<=;0H!+7nfk99ZG}9*!F3R&#Q&Zwg^5ent`$ehXvj;#LK~puLJ8k?KQ}a^5cX5Ds ze1lRdL^v<M945>Rt|38g0&P--j)8(A2UKG~tSKsEU}9i{Mi8h>1`T0@bbv4@JV5aS zsv<#$0D;8n85tTt&A4Vph6d0yN-HB|S9m)kLj$NL>0o4N0Oik4MurB^u}CWzA@Q?{ zk)Z)J<F}WQp#d~HzMqky0py|sj0_E+-orsgh6Y_m28Kh73=PhV3=E*-KR{<E9%W=` z2!iZ{X$WIvV7SD{&=A4Mz;G3G3<x6w!wW_RaG3x)Y#|ISK6f%OFo5#lW(Ed^(}dy^ zv{*2{I5RIf6?C*Fw3?33FG$S;$1rFL1>}D;42@w>osAU3pjsIeQNrLDPR&Uy0NpDM zvH={@pl}9d8JJlhcY?whv|t*P0zl&Tm>C*CZokjW&;Z)T@_?D40knVd5i>&rXmjsl zW`>431_p+w%nS{n^!1FHp#gMO!b@g`29SSWF+;)ybh?~BTDXAn8))bOG>m?RP`IS0 zmVi$%L~o{m9Ek-(0|Z?BfwMojnF6lz89@F<4o8qXK>h}`6+m4Gka6#r85%%td(X_! z0CL|4s6VDNfa+t^jrgFA)S#{wXv_W;LjEWQ<(GogycEzy-9@Pd`9&qgq{l3%Ed#nh z3*^+D5}+QDzaZFOpk0?BK@bMH3*;|Qn+G&C0}{K#!q5P6>jM^s2G9XA4_O!*K<<9T z0*NP3+2x29Pd<zc3?Myjp!843f8b?PlzRx|LC}_QkekH}AdR_R5Ql+*K_A+<0}XS4 zgg|^y%!1+-x^e*|%m8vX$p4^30NT6_5}Xe8|4gX==dnP_jrlAL4WI)U7P2rjfcEw+ zVu7UR#ViaBpd*%+urM@$HXSczVQ9F<z`(Gag`ojt-%1vS2GA(WDi($YeNf%T!q5QP zXSWGtJ|hFeR#5mdGB9j|hA+r{_GsY?s!u@S3pz$<FQM>F%}*mebOoR_A*goqXDmvE zoWlV+&IJ@E$l(Vnl0jl1400DJ{6O78P+9_sr87a&PX_cfj!Y(o2GBHT4iiHIsHn+h zVrT$usLx|!Xh>&ZU?^gO9FJ7Y1W8|@jqo05{s%210OdPS?XZiG|G^beNj{`*kzo)L zK+ee^7eX<#06;4dVO19>?;urOpwt6t7a*Gkau>+|$mN0-6GH>Yt=dcs4IuaG;PDse zs6J5H2|7h{H+}pCse3_147`+w_zM&_(2!vOxeMekQ27QL!UBmKFhR<BLncT$Z^XpV zkjTKmV9EsP^O!L)G=ThJ0rf8^5BQ+PBdG5K@-Jw*eGjqz1$6?!ZY4P`VYM5=&v3Iq z=^YeHi1e-k%>kexaeqcoB1%e3&W;Dw3ea1-L3bY@(gCPp1PT`r2KfsVUZCYNH6Q^{ zzaJW2c1#QnpkXlwCP+Kc4SG6_7Zao$@nd3W04+@NXJTjorTt(gh6d0P4WUd74WMN) z;Y<t-pw&^)ObiX6+nQpS7#cu(tK*p%8bINg01a<YS?7!v-k|gcDmOsKzwIL?yz}!? zsZn+aG4KfP1#L<Nheb)5uVVzfJ%QXn2e}UvZlGPbpt=U6yb4-=)I!r4=u{ujp>>T+ z3=N=6+04Yy0P1_UFflZM{M82aKd6n4-hQZIVqgIEaf+B281@tC|M-&pcz7}aB{@)m z400G6h87>7W++;N3RFXad=Du;;ARO!o6Ybf2Rfw-RNR0{l;xtJCN}J17Wi3s?BFBo zGEx&$Qi~WsX%>`AA!dV41_srE(3J%YumOzg&;gJnaY&u00Ue`&$%jMv$YnaH9|H3p zD9k`{0-6Fk0~PFJVgOyj#n2B8`>9NjzRolzhK6_s28NkT3=N=h{@F~Bx^Ny7<Y>EP zObiVxL3JTCj#e@;G=Nr;tYU(+rB^dCG=P>at!H9r0L9-XCWZzlMh1qRObiX6v&VNa zLB=iiF)=i}0JXW97#dzNGB6xrVrT%JIerwB$CwxxjxjMb*fKFNoM2*TaA9I#ILpM) z5X;2Ca1LrOs9bVG%NroSfyyFK-aSMpZGhUA(0iysNdh?yLxTuJL6Zci#f+3BK+%Ti z^?(jF1Q#NpwgGZo3UUu9+>z_jcOd^UFfhD_=7o<;kfQ}ZF)=hGF)%QEW`guJzcDd1 zfR1MQ&ID;&|A6`%bnuNgn!iDL2UI42+UN&~_ji18YBHo53aT(czD2`O&x3*n$@5^Z zg4>;-R1VVuas$Y($o1w6Xuf|5ic1CthF4HOfZAoDXnu%+_Lo4@A%}_bLw<Q`aY;Pr z>IrbWptvM47t$dHZJ35R3yFsM2IOco-+<x`xeX0+3&=0XZRp?7c>4qO%U>pj29R6- zLHz`3r=s@(LFRzcBS_s5V*HemnVvx{PccB+0EGO-2<_`JLHl^j%n*OEK>I%Rpkq|g z;z|U3Rs;hB=roU0#P|zTV1mbmK{*X6N|2e*=mE9c(V_>O){r9=WIrf=K*b`64Kn5i z)V-i~4!*YLCPMDbD$OkbRT$*8PeA9RfeLg`wdT*5mkPdT3|vt{;{%lZK<))$Y;Db# z43M_wD+Wkg^EGtL=n|HA0F7CI(iiAvh|MJXi=<2s@)xLRgH}{fe~B_6hIv3o2Y?1u zK(|jq+g<Q#5j@TVs@b?fQ3mbJA<7Ztb{EJ`ptwbDcYS7nv{Sz@K-#Ha86fS{@6fUN z9}El)prg3{F)%co0tGB1Lj!2}B0F@Phl7!!0W{ml$q1>NxEL84Kz8sjGBhYLGBEHl zGBkj~kRLjp11fjX+qs~01qy3Wy|abbum+`j^3stMgP<TN9YMl7F{wB|r?ey$T+l&M z6R6ArDFAsFghB2D`3bpw4?6S{<Yr+;NVthGLc&d)5z@YwV1%^qrJ()>EpZJ;%j@T$ z;{YcZ85oWd@^@NhUP^p%X+dgHPGU)BSt?TL3~qyhs!@<*(J(aYg9b8@vOZ|W2~o*{ zibil73N%Os%0%EUEvUT(s*FJ)0ST&{{BrO~z|h%D__%=sH06QXOrVqp3O~>(FEFQo z{0Ry_&{-&;v;z`nXNL59IhYw5K>OJ_nHd^D{bwF#h6YgIn3oySW)fm%XaFta6o(#O zD9Oyw07}zR%nS{nW$V(+3=N<|?PQr58bHhO<(L^7K&xOCnHd^XK;yp53=Kw%3=Hbb z3=N>UJx!3gj0_Cg%nS|jj0_Aq%nS{Qj0_C=%nS|Lj0_Bh%nS`Rpk+VIkhvl&W`>68 zpyTA385&lAj(TQhXxPcfzyLZ-5j0N#8ox?Fi&xM-2T)o8l|jb{#VdSh-YGvnJ2$Z? z8)+5;CIpUPP^e+S&<F;V?FaQitzu9Y43UmO1q)0U$X%d#KyEX6K*!}gnHd^D<$@P8 zWQx<988RO10}4OT^gc5~1L&?CKWO~;L+b=kb3YNy|DbtXP@4(VH#|;;{}Iy_C;<RU znJ}*)(a-<@6}e~u07{3T)C*G#au>+|ptync(}SStFc^9$W(f4~%ur^A22j|AF*7uP z{1FcIFR1O0J{R+f88V*tgqeZi1R?(xm*f|v#ut|qr6%UaCqd&J9Kj^zU{Hw<N_!x` z@k7V+pu0vGApAH%P`U-3{$>vy-}{J^Px%<)1cN{gN(NT&c`UGen*mh=G8g18P<Vm* zgrF@fAh9TDctu0=Z7efnyfcm&Qtl-%L;5z!%nS{n!y{8b`G$dkA(a`@|4wISXgJEi zz>vwz&;Z(Qlm*SN*~|<Lpt;>#W`+jP_M1Frh6d1GO!>?V4PJ~43<b;#4Oxr~3`NWg z4ONT`3?<AA4fTu+45iEr4U-rd7|KBAF)}ceGcz>2VPs&a0Htdt28L>8h6W)f28J4D zh6YI{28KFjh6d1CS`DCbfQf;j2^7Cf3=GZ83=LD67#LbW<Lyig3~kH|;5pn5W`>6M zObiTN%nS{@pgC1$h6V-DoGK_kFf%apGcz<4GBYqtWM*gp-N-bFnW13<Xs(r+p<xO$ z1H)8ihK6g*3=FfF85$ljGce3%W@rGVlR41z1iE*`4=w*pVPRkZoiWtM!oYBnP<kp# zEh#O^1GTD95)-Jv2gMf}hGrJf%mPw%0P1Ul8iDXe1*q&tZh)+3VqgHBTgJe^AjTjl z2&y_Dhu7w%mOFvB27(tcfO05g$w5hKE@*m?4P0NaLDQ5VG@Y(O;l~L=`rwds2ujzW zTX8_{hNzDdOa%AASs6g-7?w_9bq+`!D7--F6m((_s9y{co6pS901Cqe%#eE&7BWM| zK^8&V;ES0V8bID%0xI7b7#Nl@L)ILuU}k6lZ7*2K%+LVZ)wK$m9@j84G{`bCFsuX3 z+b}XPY+z<+$N`N{Gcz=FF)}c0VrFRA!^ps}1ymn_#;2JX8eTIpFl=XLX!s23ql3~p zBLl;3ka<iD40}N7nu&p7FEc|!3~0OsWIq!F!vT<fCI*H>%nS|BnHU%jL(|<6W`+iR zW(J01%naZ)0w<UuYXnX)Gc?R)W?(qO%+RovnStRfGeg5!W(J0HAbVIC7%nnH=Jqc! zGc**iFfd$YW@rGVt838oH<y8dAq_44fsS_tm64!&cq^gw2U-9Vl9`(t@0grinp>Ka zSdw34Wra-?T*!gq1`CF!OHeK5i9Wpq?xTP@$}oK(_krRYc^nLMZwAQC@{9}(ps^T5 zMo7C>iIJfJbn=Y~BSQn|n0e5>8lX!dK=*2Z>hD_&pmiOn^G~2L7*N{|G>*89JpU)c z0wXoPBp>W?WDmeR0$SD!S^fhm`;j~j8s`Gdx&}*uYIOM2uQ)XCv4F?9auSP6;=vYy z?|lGeV2A`n43twK{Z!;S5ac&d*nz?dRtIW9!%7=8R|`7J2pU%UjF9muQ%1;`su{E` z3mOALuk%5N{D4M?;}{qin#c<?v_oaUp$4kekwOc`geDhIn4*OmsLlpy0(TJOixNv9 zC#Qo-EJ!039+-&m0jY<X4Dtskd_X6Zf{!a?U|_Ifg!CJ27#SKsMVu`oq%CC62$`F4 zgoevnENKaJ(FivK0|RKTcRP9E0-gbkPb`7-P>Ad1qlF46N1&x8i1)#H3)%l5_oDmX zl@T&$>%qv-06Nvv6V$h3U|{fq_I<pe{s-NChQ4+V)aHV<1ve1#KWG{ORFi=Ro^n%* zixbl!1MHx*4T~Wp8k!71ae`Evfqe#Q`+<@NOf|?IAb%m38M_!DeUQBjkiN%02FRS- ze&`yNBMb};kqitBM;Rb(z~j*I0#N?~eH;X|UJX=cfYwv&B;-%zMIhj04)OuarARc? zf1vn5@*imG1(c;B=^4}qjxSG*FHg)X0fikj48i?5P^w266GyJoK}LX9dN6?2NJ19& zfGR|I-w(8Y1XLS?TKyn5!A8I#WeRfp0_1m4*n-kIDF1*|vp~o6IGG^pNw}C88bC+I zb2BkCfZ~OR3350+9}`0ZsLbGpj?oG-F*JbYsYRI}?MEdhh6YfWDnrKtL2G~9(dw&8 zM#%ci1V#pivxLIFC^a!9J~=->I}?($kUOd%heNTeAOjbJl_03O@6X5xZry-30V72N zsL=$PQ9=nc&{z&AGDX29G{`Q{b&#NIr$EyjpakO22s(bM7~C)d6;>eogrN;1@cwk@ zYD!ShgZ2@E<Y66a=r|W>eH2I-gh74>g+1t0N7#wEznLNHEB`VxG^8;wF#H3xQ5hH* z{zKd3Oe_oypfL>=7KR4U&6{j23=LO7XXdgnG~5R*mu7*qeRx<H8kiXw7<gGAZ6AIX zNS|7e1+vakn1!JMw3bH%Iv0Nid;uG3T^hpzi5q7Y28MG)#Z78nNl_&@SAaqn<VQ3N zjT+EY5-e&!8y1kF22_25iVO#EQz9?5+!bslD8@ip0ul|-#aAFfP*y<6Cm=yk<V*z{ z06u2Em;pKSfPxy@{Q`}VfJTBL*%36)1j#vZf}r*Wa{mi72LbX6C^|vW3!0Zi=DR@K z#jxZ6TB{0@2i->lQV+iV6jUAwL*}XuLDj?L@1pTR_e>)6#|i2|+tHxB3o;Kh=L3?5 zxo0U@o`C^mKd2A|m7xouW`fj#;u4hBK<g8xK*c3kAZbm81u|YE%L2K^Nsfh~0d$du zJPShu=pr0t7KR2;fT^-T+7fCk3=N=*xzt%08ZI(0Fla#6e`v8VG=O%fXtOXhNQ3e< z3qyk{BLjm43qylHXdH%xp#gN`t{n?QLmB99UC_D`Mg|5a7KVmdj0_CUEDQ}>K^Hf% zFf@QpS$1WCw8Pz47#i4^7#Q4H7#f6`7#Mt57#ftA7#Mt67#e(-7#RFm7#bp&7#RFn z7#cwHpMfk44WPNb5Eh1p4NMFSkt_@ipp$^3Sr{4)F)=VCvoJK=WMW`Q1LYOa8ekTN zhJT<nz@YUj%nS^fEDQ~xGk3FD7#eJt85r_e7#jST85jyc>tdK07>ZdS{l*FwhK6Ql z28K!&hK8A-HNPwj4F{PS7;0D;8bJN;Mizz!Ar=OP78ZsEc@_qSRu+Z^9To=A4ZaO} zEDQ{t(7Xp4n+--Q7eVvipt=`yCiVeBc`q@gED^j&uC%BqHLt`cKOK^3K<y1si3Uml zXc&9-gq%%4vu61aU7#!l%9AL?B_yX<3c^+a;I3mpegUOD<T~aubPntqbnVP_(7Y&U z4Jovaxy{7T0J8lK6GH=Nz1&?Uh6d1F(mf`I2GFgm511fhh)<Xp8bD$66k5lC)S%CQ zf-X`4g(YZA?>wQfOwP$KP6bbkgUd0Hw;_RmLPCQN6u3xb7bs&|Le=%FL06(d>ReDU z1(jg{xd#*;$nE$(=vu6P7RW^~6IdYa)JdSc!@$5WnT4SN<o+qpG;^4NfguPj&E!Jo z3PEd)E)w!*Mq*w{PHH^1hC8T^hq)Drb`S(FYXx<8nAt#m8&FdZya|U7x@Dn80wi3( z09wxq3b=6aTFcy2aDxU^&O!zlpf@XniYag#7CCG{en1bK-7Jv);2vn$>|=rS2lulu zG=PpVI0#+0b_g0apsOs<+jyYV45~Xo*9%=DGHk$&cW^2I#WPY!z?jew0k!eaLIhNc zfxHC?5%_vyjDUfM0Vs4}#)8}m3IpVM)??5xI1UYi(<}@PAitb}`WZBij=m-YbjLBs z&!Dxxmx=T<v<ZsnuTVcRfZACg??NkG=$siiBrx*|$Pb{fK+Y={p<!_e8WvYU>k2{Z z(ODpCG;ToGE#8ENjlLb|!YFpZ7SN(;hT@VGE33TH+|;7X<oKM-+{}_<o22~w96Kwk z%;Nam{FKt1d<I<x;*=L>rst)mFlaHb3xXDJGvYHnB{My<q?kbms+NJUT0;W{6R1P5 zn+&mD0d#CG#Q6{b21BSF>{#u9D1zyNI?EWUg^6e_h6W5~P}gDiOKBdeO_{~<5CI05 zWgJ*7L)Qm&p($P$V%KD7z#z-OE_g-`R2Vz^2Z46h1$+AY#rryXfp|s?dQdOm2;hwT zq7sy#)rPu)AFI=gq3WSd1|=g<x?mwfv7rHjIn*r#f)i#5B0NE<1Z0l@R(s$<1Jej~ z9Vqrdy0E(rhb}_{22c<f34(4?_wsj&_jmGgbq<O5a}9|Patv{eclP%S3G(-eclC30 z@^NJ_Vqg~pDQ058r`XpqBHqc-&n4W`CBy@q`#^eF@al01b`FRSadc-efLg(hS9zGD zkEct#n~$S=FgSnUE)780$<QnwHQqt#1Qb}<gBVE*G;l$V0;$IyxESgU4Hyg=ctNA) z&{_a8x9I5u4p2W==MYbSzu@>_5C2dfm-v7nS08^z7X}mJwKzIEhx&&4IEJ_~*b}cS z*xNH8KEyvhG}tvL-q$ra*wNiJ7+i#bf)9J1$;?9yIZbGek;j@iA*!K)Cdt4q*e3@% z@joEHJhdpaIJL+(u_80KG#8xcK;g+r&=f-haCvNoo<cqSu_jP`26jP$YLOF<76T8s zu!lqxIG%8wZO)+0z#|B1^dPAPMLpIt&KYDFc%XF@NIBSG#37FipyCe{=mZJ}NO&TO z22lP3g_{D_aD!)Zh&E_6z={*>VU1Ofp#g&?$oZhPPaxMrjzUK`ALYD9a0UnY1$zR@ z$<IqiDRW`fEA|uwRStDKta`=nb`-V5S71<Wh){)9U<5)Hst@WkP!R(1H8ch@^GZ_F zixP7{dz*?&67x#H%@7>}J1Z;js0BF2K~aa@EAVJQvBb~-y+*@fjUn6`P-6kfS!hio zP;xak!ciDv_db#qsLx@AA$Ff&s5dkKm+2r!VNW6P@tJugW+o_!1XkDDV@>D?9Z)BM zvOOqpg@{saXaH`r7=zmpE}p>wK8}&j{(f$r?(xCSj($F#ey;KUK`yRAo__A}o_-;& zK|YSot}YCg#MS5s*CCP^taf(5>OgqxBeX(2W&tg3g-O!~t=B<8B7s$BT26i<s9=X$ z0}F08A{2uwH%JQ^dkTP=otsz@4>2D}O9NgTKw45O3i9((^Gd*R1oD9z(OL`*z%3Mz zCWeM)Y<&Z`+cNXw;TFM4NQQ>n#Og6LV6b9f7nBtMok0QCgqbtZV^zljo=b%o*ad4q ztF0KE{ry1g0aq6W0hn0BU#B2{Z&yDC6$W-eZ*avI5)kj~=;Pz$=<FRI5aj6}<QWnf z@8=)n>*&Lv3RT6-fK`>JAGo>$SM#8NF~u61Dfy*IIjMG5R*(n-7ds%;*c--ZstpYo zgc;Zc--81KT+=!Fc)I(+<3bR>m7qw6SZini_A|)h3+!Nnpuq!a<VVB@yZX7f1_d)H zL9+#RRUwf9uE7kT<_E|mhKB!Oqa6Jrq52ubq1ut9K$_q#W?%uwDO%|X_cqAI@YDlK z2hg@55$OO_)Ill*P~3ss$kf2_3+zZF|AsgR#5;w$`MCNqC_~+QfE8U)s0&<?G*l4- zBUllr5$@{e65#LY7XoSIfh>ag7|9+;n8v%f20I6N27p?o;C?DdwFx89!2oTifpjr6 z`~$lH$qrE9qSydyMlv+~MOO>*60&0uO8=lM_3?K{F%{NaU}*S_uGGad80sEa%a=hB znr0ax%^RpRD5(Xx`gnr-JFt?0v4Qyy{-8iEPt>3WGhrC)<{9DY5)W#(`#DE~(>f^A zuwbb3@ehZq0{I`LiUUIx#Iz8PApcNzkATn+a1S071B?x4{}Jt6Ljwj4sDlMCtnl!3 z_lQTbL5zW2@BwIX2t*|)0{r~_Tp6UG;?S@JiF^7v`}=zOxx?k4!2y!<4-Ikm2g$)Q z4|Je{h|FUIFGN929guIamuR4dlma}*Ldq9-m4dxk!=?q=kq6m>y%<B)1S%OIb{QIg zOR4R`pou4NWaOsi<`-4Q=NF}<7R48*7RDzRmw-nJK!#&4aWD;s7dxQF2uLILJc?VR zp#iuZ1Ja5sRikM}PTJPcLIzg~!>tvm#)LKliHK}OyH*}r+d`Y$@z9>64Lmh~ioZ|b z>$<>!osycDUz8i4m{bgEO2{y<3xXt}HbW%~Kx4vrB@7_5e<QRO<(Gm^e#kFREJ}&5 zN-fG~kYivM1Sx=Ohbf59OHC|FEiM6<&miMrj`J(cjZaD}PPMYiNGy(r*apsIphhr0 zMe#ZL#l_$n9k<HNyfn~p`;`o!Vg|Re!qUvtl6b#FKXCsUw>r=uUSbYt&pt>ksHVZL zHnTWB2^27?Dd2(=r=rw~#N-li(#NSJGd0=N)Dqr+f(8f?$pO)u!s|}3NvTEn9RVF1 z2DKz`IusN(sVNNVsO|oEMD&6h_ywuSnTa`>RjDa>qPQe8uQD&SxHvv3H7&m=6`Z25 zTU%0;SWpbE8bB!y8a7B)LK0tbNo7tdIN^daGNvj>83c|gd<qN=z=;jJ5|pwG)>6T= z3Zx8PDuIFuw`nkC_^m}QZ}6Chq|DF&9H7`OE=o+vtboTMGz)_R6g1ES$)-q&8{|<? z%-~cAN#G!d;Z+7pgs@zS(>!QG1dYSuHLw^dp@C8@$hXjH6U{deAA{Nrph5}RVsQ5d zvuJ{iWe`>hDWE{z7av*Bm@&ASRZ>)%3Ler!cR#vy@S+RUT>u#XJ-aO}F{e0{0nOBq zpiozEzXD02o1;&#E0V&npa8#kutHGNkC63<A`xLf*aV2Npm7aCMu18LL}>{MVthJ~ zk`*kyAm<<C;K?kGha@aeTa192(DD;zJ02rpi4bNe9;MJ^2vdnGDS%2m$TS&f%z%JH zk&`T;G=^S6f;zt-<8e6|Qci*f6G7!9F6SbbmLL<+GYxVSK(Y;*x6rzPpwTUqfhrMb zg9ti!79Zy184?VxazR#MpR$7*0xhFKDHo&`nwPO#2vLhPlm-nJG}YxGqtS-<Kpp~_ zkA1EKp#x$C18gV_+MUH|0Ytf>0Ruk+hahNQWPE65UWu_$34;IwhahNjHr^*cFCEk% zWRPLt01sruV;iAhkY(Tye4+*|3J}Lg`X=Tjrl%G$=rM2zKEo+(WtE+mU!I51#-PT) zA$Uoafk7ocq_QB@CAB!YD6;@`<Xn7eMM+VjQ)NkNalDZUgBb&d;4uLP2E-kqIhn;J z@tMW(MX712MX7nosWzbCR7lRxD=tycg3xvh5)2%Ipp^jNqR+$8&&9_zD8Mnu(U(D# zfkSYW1k@wJskw;-8KAnJmw`j@t}w`=Ttg!Z20jK3LC{2gQE_HfYJ3TUGy{jAn;KLX zXt_S}K~RPa9D)HjBylY62Zh%$eeC98+tQ}Xz#(`D8V>P^B_&0fNu?#J#a33SWvO{3 z@x}S2Maij-FmVP;1`fg9L@T$l0^N6&3-W0ygDC@t;C2$UmQ)s`#-}paF>nZO#ilJI zHK!o82*u51hVh9xB_NFm7rQZV2(BYvzm*lpxcF4C&sP&^PAO=`G{Ol^3><>X$<k_N z1vV-^l|hSvLvRT;GfFZ*%Ud(^(h>HVGjIsbB~GoC6<mLODg!7n%)+KIF+IH~H9fH; zF)0TrF@R!pGSSN6A*s*6Avgh>Hb{~yN=;79EK4my^-ntq8sIjmGjIsDVABY$?vQ)} za#A%B3gIS$iWvzxLdA?R11R@@6JlTp2n`Po31ZM--~i8{<C{N+OlyP6)ssRD430tZ z!6BfTUNHs^!BBYy2DEaGL6U((upL@P_~fU%W#*Km7D3hwg3JIF#XkOi?(qR3LEy3( zRQQC#MZ`hHE3D9R%}W7aC>QS;z@W;&A$V4nfg!#)K0YWU#1nKpZ%%4Ss((^eYI2EB zello-krBA~XBB3E`Y+xYTt3<fGB5;y3VR<{N59a3c=sUx&;SNuP-H+I8t>!p?&BF8 z!ob78Aqd*S7U1mR7zE~h14V;-sHY2qBLjzE1&9}42D$^fEHNIlh>nj3Nr6w_O^pXT zKDDSAQCdqea0vQ{LrX*GoHw-4X5ePv5Cm;a3-=EK4Zm{;_JK=j&_ezsGZSz@4fdHc zB<etE2{gBi6m{sc(2$q|6_JGmoDHpaA(aZkxpE8~;5l>19KEA+h-VmRs6QacHQ3e9 z*_A<rfkV&&<{emUF$h6D0<MxuGxJIe&A=fk#Kyo70E%gFrFf5ErDy>5GblEoK@AQf z(BeO*$PiZskmGL3L0cY~c?G2<&=aQei{eWX(;4I$I0U8Sq4M#;nYjfysqvt~vlv{F z+JO^5qA*N>PkwTCW(nA7Zv<h2PMIa;nZ>E`8HvRiHlW4>Yzz<FOaQerz{5N7jwSiI znaT0V`K5U!sYUT6;L4Xt24)Pbi_TEYz#%9v4HE{X;iA-H&|#4UiJ3(<5VOLI5)0xJ zb8_;NAp&3~D0M@etzf4EQ5RfN1R5tPOU!|&!{S8+I~_wi1{($r!HbeGOK}?yjxSg& z#(M@RXxS;)F+?zM2ui?%kwo2ARz;~vnRzKTSj=Vs<@HOjpazF9xczGfE<)H)0uR<V z21h!m8wm~quyW{tRy<@30@U09?I!@s$K!S_s3`^V9Vl$Xi0~a$J={NFJ_9H_XTnlY zYGG+&PJBteO<8_siXFJ_5`mkHlKij*h7tpZ;1rmj(VDr?abpGr1`fgVumFp9LQb3D zps)kC-s)kdfcxQK32+}99NxcSuFc6$&rFU_Eh@?{0-Gxi(}iX?c=;l@wpYcW0zR<_ zSpo(Qlmby`a?3AEElSJDFNfL$Dliba2Gm41i7x@$FCq)o0SejplA=V=+DT}!WXGV$ zz#(`Wme=EbOTiUCYIX<JM|rTU1@6LwGdnn=g8F3O6afhh<Zc+KuzDi`wYwOcr5JP= zI0W+v`4%=g&Y;4;A*hZ+HOMpI<zC?W>l@4m;Epin@(e>e1_uTXK^aM?bK=8NlS}f8 z;&EhgEXhd04&1x(fW>mWXGv-isO$iz07D}NP_3bhEvV6BQIml~uoLDGL=l9=PH+gn zhb2pJK1L}il^Hk$1#yHAJc2=evQI)Ve>>;rl_X~7r51smZNL!6z#;e#mZV^z0`3UG z(*U##BqPKWAf2d3C_aE?IZ(UmAuQUGGE*{(Qj<$E^YapO;5LIR8&GA0uUrE4D)FR3 zQ0oSscyXi-14zLb4hyBE#FY5disaM+kbA(56G2#U1CK9QMgk{(xG1*L7@Be<V4<9u zSC*KQnG&B^lwO((nzUHJz#(`GCJRqj28KqEkS|KiOUcg#?K=jID`&!zT}fiP4rZFs zfo2{oQm`fnZYecr{fCycA+e|jb0OrMIcTv1Dn2@JBtdYI014W;u%LwpYkWaT5xCAl z6k5=#9v(?0-~u29hv}dK0KCKr+#=AyumD_QvtZAz1`HVt9D?Cuuv`I6+u&$~1Ue`y zfU^j=s4K=2uaK|;YXKDlSX9_4fa*a|`ZRz$12z8{8Zme=a0u>!Iiw6+Dq%5-D9ac? zC5r-%;DVPzpm4JThZ(%k1dZ#0{RyrwTyU5GDthb~j2SotKf<yt-1j(g1K2JFNF}3; z!&qqD25Jn+!@>a+`k>+&me>(-0um*q&{lwWH3ybFKv^5?YH;#sho$M#ycCq$6g2kZ z0+R&Y<B^{hUzC`ap2`3!bJK8m1)BFD`2{o~3@#jyr-Q)(d=D0UY57Iqxks2c!Q~yO zmlp-Ix(IR`3^cQWS}BbvJ}D|ntc=e~Esuv}N(O%h4nY@Kof{8r$AbL}4MM08Xf^~K z<B%3Rdh&wC8?@vS!IF9lit;N!dqz0~55XLims(tsid=Aly1-^Qf(o7-K}%Q}ycswI z;Z234#Ny0k(0M(XdFkMWImC4!H^Gt_hz)J5gFOe%fM7vre1rPJ;J}9*`;(uR2Ckpy z;cyKoX~X*;{R|v}Vp6c8fz+M^W|3?M?^i&J8B)?OsFwk1&Ci9W2v917rUy{bQU+_7 zWfsS$mF9t~P;jV0nyl+#9zhEyZ~-tKRxv}G^O<>&-W6yEGC1(^N^^1wN<f`1P-XoX zmTYlXNZ=C4A4ed=qZ}04cHsDs#-S86`;wXh+3Ugp%8QIJ@2BL0u8V;BA2gzht7rx1 z?~SmOi|{?93jrFsz5?@4yk92h(g+SgZXC`5rz~(|EDT!%4<Ze!3Gc%L)Csu@0c-Mr z#*Od6?0}@qg8X7|cUl`JjMhm2XAdLLusSRvVYwPdDgrx3!45o#nN6A=E30^?ijqq3 zNET?gq#V>YECCM<fEI{@#}`1YF<(K@*c8%AMOVKt&me!l_%LGz0|pMk2;A~kRyL)1 zpu;m$bV1_<x}|mupdr%)Qgoo3QEUe;Rri60u)qUYPKm{-&N+$2#fUipu%AGlh|f<; zi!T9lLBnIgo>8vxAz&|V0moe;L=NQr_{_Zgc+i>;4)9K-pwxn##N^as=lmj%lp;UK zRy3E?w9LHJV(=ggs3GG59%2IJ7SN(&0!xm;9ST?22pVkJr>9?Vh$CnS2sEH52pZT4 z_V5o1VGv}1OuvK#z_vqyhgm>pbArnpaBIuV1U&M$2Na&ZNuXP-QXvx$pyj2YaXOeS zu*Icd<*cAFEa=Eu34=8QhhQ#9g!I8UJFqK3<49m9fkvn-!1=dDh=HLbwJ0|;FR=tP z<^$TrS_IBfS#pSxM|i|Jg6cJJBs~*gV8}_yEQ<#n_|E}8v>P;RSC*Iq9>M~}Avny< zOu)kex4=VR(1A=;<5bY5g+L<=9?-xK_Vf(^?b(5b4!DvBrzdoi5Gl$CY(L1WPX7L& z(NA!JV+A!3zK9o^HNe3Ps+0;!ic&JcNe~pDTS4&ziX}6XOk*Q(dH}5!1_vHurYpE4 zv81#ZoJhBULMy=61su+xOKHGLAp?P+`6kc+v=4Ly8Z_Vv+Ta=x=I`kOE^dE-vIx{m z;0)rCnOc-sl$=qC@E6!ype^I6MMdEB4>AUHk3u+n+*SdUD8U1Tpke3Nprn!mjU$k! zK$>CBGKK^bDCc<uxdw;&gn)+uV+f9?n}ZX_D>3MRE^O?~5j1!Qs_nr63J(C#Pzrc- zBwr4q!OE(ns1kHIOHMxMjC`<RSD}VkS;0($^>e`S{S7Yd1X}(CQ-iP(RP-GYg_#eN zhd1cK@!u>AlZQ_Wx|b#vrGV2iDE>i(sF?|TFx@8rI_3<j%D`CxwFHA?1kiZvRZuX; zBMpIr_Hf4+lqTh5CWGUQS%87TC%_pz`2ZTR$$^a?BN7sLs05q{z_#E_0-#s~IW``= zq1X&GkOUe+7ZPA#aP#zW1@{5c!S2C5Tn`<8fOR_Uz!3&2mvSM+Qaoh-7?goQ#RR08 z0ZLDxOOe3I$0t7>9BhSbAdi9l1(FBp2=(*}0Z(&)1Z<#rF2LX42b@Vj^9tZ;1yK74 zR9PVxe9#ODs;fX522{|O#)JDHV9P)m1~P2`F4KF385lt2O%ixM#}R6iGbq2qW;^1Y zL8Y}1eBC|+Xxs~QfF;-yAio(KfsF>$52f*-#t)ba@&|Ng7*x`O!W(2$d<od%bKn_@ zTr(4JvN9F|%_<j{AhoW+o6*1qf$WM;Nd*;=pauqf62!;f-ObY{#5D*!>I*7?OY>4I z3R06nt#rsi0!84I1Iod$3=GQcplk)Hb3h>^49e}$WDDYhO5}KGb_Y2e<d0x~XK&XK zuwfv7z+wj^4N5fenfahYc|d6hbP@`<AOWT6I?N;*?~|Wjkd&C54K57%z=;eg(Zl9_ zz*Qe;2R}HF!BwBJ5d*^)1_p)(7SMVn1_lAfmY-$+E3C50xz32F-|DvA$iQF#I?tK0 za?WkDXl^%e*1Y){wruZt7#L!~;wRnbztq-zkZ|Ny*Oc=ODUf^q7z7x#GyE-U&HmRl zJQQC%!`y(GfdO=WiU6b04z^j7*;S8rOkP*H%BZ%VfdO>afdC`B*o!pD;7R5WU(H?R zBb6t^zyR6{FTm(qJLB%hDX%6yi2ju2!&`HXfx(^;<W3K3mR`HGhoRLMmq(m9kvpA% z0d$9=0Hgo*6@K^sul0PtYT690)v9wD7<Pfx&u>}wzqpD|_}c}Ar4b)8jxjJi1B*{; z4gRr9vS)(9w)lnI*|wJ$7(n+z3NRM;e8}pV674%jHevSh8<!#&7~+^f_R6%BZ1>sF z-Ja9JCevca=ElI#3Ksu*q~^q_Jf@I!8mWgSRD&*7*a8;MKPshReL?-wpT!ritZJBQ z#=!6dEPm3-Ix+PJyU0?rA4aV$+jtomn3+N5uNKw+@x)$r^21xd#jKlt9%Eqe0gDS5 zFSj+zV@tkqc<0MytGBOVV3-FMKUK??&bDyItH_xfT2^g17s0^r8Z6%Vltq-S;79EG zsNa_Q$E}|;Fo5n*6kuG!(mJF1f%N+L@UU5qw|1C=&z4~jVAP#tv-gqrj!)wMIG29E z(W%M6uz&^R9>X<%rnkPm9y#~Ci$=w4r-uv-=fUD3Y0Xn#&NvbCeA8R54c*Np3=IFl z;>u?__R3BPJajI;$(ik8o-YG~J1fYXMXq<1<O0^XMw;(#u8Lahz`#%e7B{bR{BrBr zPrDV8Ti%~nn$N+&a0o2!=9et>IO2;AXMxOvdea~K85sE4K;}$4Aot?Q0qF?|vXf0M zEMEU$U`PauFP)wiw1wsE-Mx#|{?D4yv6z8jD_C4;fA+`7ss3BmZ_`Y8BJ4hif#CyK z+-WWAt<9?yOhPLXKK(i4wvB<ojvZwF$@(+K&s#Rw9iOx4Pt2dDMh1q7VDU@Umrwrx z+W)1pTV8x~Pc$0?!+o&$o?M+yE8cxZhC&sy)UMC^!@!`!0WxP#T!Eo}b!Eaoy+`ic zPd43RU?>HPt2p15ymPemF~>LF_3veUd>9yxgT<d6K6I`iOy|u_-pot7{{v4kFz|7L z%wdl0`&1X8#?Dt3@JhH`WB~(18d%&SOKEkA-^>{b#}DbBi``nnz_1=HzU0rl+#?&e z*Bv&gfBks1tt$h=Z?O0gpE}ET)>eMsHY>^<5ae3Hz~IUSGXJ(@w$;ji>%TJzSzpVz zz+=t8kOLOijmw<-ao>&kXU?4GJ%40E00YBTu=u3IC$qK$3G7$&m00<%wM>hF;W1cT zFino-sG~`d?G2AQw-T0c1_pj^kog8S0n7JH^0}h6YY|Vqn4}H^gDqG*|JB8(_cA&b zN(=5kbw6&|V+MxL3=9lC;Dd9lVhW1#(~A;w6+p+Q7suolmlYcs7@EeECC6muCFhi; zq{bANq(Fv68B&N*UICp;Axd#_ZemFWLo%AV3K|s_W|}eOnRzMs<;4ownI*+Bh6Zp4 z85-yr=ouOqnHcC9#FXZO)PV+!^fHKZU=H|r4u&+arJywg#WA2_8ccw;%|fpP)XTu3 zq&Oq7C^ZGAH0%<ZWY|=O9)%uEE-Hyh&M!($E-Hx!UvWUJM<K(tl!Y$H@?7xn1hKYO zKn4^IaD*Nxoh9ez!2&s%xHzjQNe87AqTNtZWSE?vo1349!xfOVM%0KIa6^(B2En5^ zIX^EmpF$HMX*4FiG&3b7HI3+CD=q;kCoW3Ll3}C2d8y?TI=2**%-{h4DL{yIG^A_- zT`opciBpjXUa?_74HuJ?By)2!^FXuA)UX&HLX?!8&@=)nI!lT{<ryW0p~N7h1fYgT zVQC^aH8;7SGQODDM1e@0@Z>?EbD*JB4w{@U$}ghOw9;Hq#haX3Tns6RiW3VmDKrx5 zz~Yjk#GK6ZJPJ(%$7gY6aSW)_mqe*y;5r&~vKyrap_LOU6c?0`=0jcyH62!5l9HJZ zYDuJJrc=dS&{#Az3<AX`XgH55W|gGmWP%a~_I4CnHBW^m5I9tc&HojpC7C&yC6&Zg zWtsWKY2_)zsVz%PNlgQlLsTm*%fX2lboM;x9u_tRA3;rN1_sb+wxD|lxEVkvU4mF# z4AqPb3?LRa1L&p;5Q~eU8!pxlWpOdghO)RB=0jOr46C6mZie+x78k>AD2tn6Ka|DA za0SZZX1D=maWR0-7X_WO%*|lH!oUDxaWU**VPF8Ad(F+T2g>4NaA9R&ILW}kz|G(R zWpOc_fU>w5&OljQ44{>rpz}$&8A{j~7(gs8aGwyw;%0DShlyoCS=<acP!<=10|x`c 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ⅅ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≠juVF10O2`!&7mF2GFVFFU1)eR9P7q-itFd7_l-i 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%0A+D8ynwQ}8Qwry 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	~%sF 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 N4PHb<xjHg%0RSa;_YMF6 literal 0 HcmV?d00001 diff --git a/ThirdParty/Vrpn/Lib/x86/quat.lib b/ThirdParty/Vrpn/Lib/x86/quat.lib new file mode 100644 index 0000000000000000000000000000000000000000..74654daf09c103054ea2d51835b7fa72ada1363a GIT binary patch literal 29682 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 literal 0 HcmV?d00001 diff --git a/ThirdParty/Vrpn/Lib/x86/quatd.lib b/ThirdParty/Vrpn/Lib/x86/quatd.lib new file mode 100644 index 0000000000000000000000000000000000000000..8b8d4e3ad994dcb0237ab3c96af4f6622c95039c GIT binary patch literal 70984 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 T+hSllN?_YhaBqVlZ(9lg0un`} literal 0 HcmV?d00001 diff --git a/ThirdParty/Vrpn/Lib/x86/vrpn.lib b/ThirdParty/Vrpn/Lib/x86/vrpn.lib new file mode 100644 index 0000000000000000000000000000000000000000..5d2ae8344bd891471aed79119fd3a3542155d28f GIT binary patch literal 1352250 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�)MX4%(^Az`(!{7x9ORNWn!K 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 literal 0 HcmV?d00001 diff --git a/ThirdParty/Vrpn/Lib/x86/vrpnd.lib b/ThirdParty/Vrpn/Lib/x86/vrpnd.lib new file mode 100644 index 0000000000000000000000000000000000000000..41e4ce8e4abb31b0037dd3fa862fa3b737d45472 GIT binary patch literal 3542418 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	oAXjSLJ7q6-)qrY(S|V+Yxb#k?tu3=DS`FftS@ zf~eyK`4@+IpB6DP6fcIT!)M;k#f%KTOCjoTnfHr<f#Lj8MuwBiAnN#WxbFoc14I0B zMh5ql2zA)}E5^vcaCapm!{=2Hb%Hp|`@zV-Fn2X0!_>79bs&4Onb*X?z@WX3kzwsR zh&o*U&0%C<_`HshA$|iy9XF2f1I7E<4U7zLpz1*B3S0bgfQ;G5$iT4)#9&~+6~7?! ztTr(+L_*c!GcR`&BSYzC{N~MLU|?9jnUTSD3q&0!j_|8tWMG)Tg^@ve8$=y0|H?5i zFmyuI;7iXUj0_CRw=pv8-VQMjmw!R#y@jg5XC4nD0|WOCMh5Yngw6AWs=;TT3L^tU z`c6iM?p=h<+Y41g$h_OT7#aTWCTyPJ9*7!z=7GY`e-9%=@?MBqeBn10ss^8V3XBX4 zoA)v@T;7M@ybcBi2G;$I488jy>Tu-`P=33-pONA8L5Mok@&HjzS~4&&_#R?pXgdT^ z#|BG(XytA^0|UdMLyQcHhau{4rTYv<1_sl^j0|&+K-7WUhb^Cj%zJ!<k-_OGL>(^k z5*Qg6!j3XBY&!-~htIq}#~2x+k3-bqG7nU3<R52bczyz+4xf3tCm9)fPD0e-GjG93 zMh1z~5Ow&>i#yH8uotQhmwBM@yLg(B!SXC&^XktsGTeiz!)0CxBLl;yvy2RB=kc4T z&cML1<~$?AWvDt_=Ivl$V0eC>kzxJ?h<Tvq2DbQhWnf^~dx4RG=^{iOD1TrpcP}t7 zFqm9qWMH`jQHRSs6$S<drAv$qZcuf&+_#5;fg$P=BZJsw{N{oDYjT;9AsVU<mw6!n z=3i!HP``rTylw^t2G=W$3>T2pVe@YbBLl;`D~t?9*C6JB!UbFSfy`TSjgdkBIz$~P zT(Ftfz{tShd!3Qt><x%IeCGYX!N|~c6QT~6c|D8_3@dIjGML<ksKaMo+HFRLk5F~E z%mewC{|+O=<h%II1GOiQ-eqJ^y@ybT&A&2?3=HA-7#WK1Bh+CFKMMv1hNbrz8SX;W z;c_1+et+L*WZ3)wVjf5xF7qxvU}WHYh){>keW3KG{*aO3F_Jo5<}p5EWUzch*u3yZ zj10n$5$bT6XZV<rArna*Hur)2+y0o5!Tt$;^R_TBFvLD#WDtA`Q3q<DV>3^Kk%1xc zDI-JYGl)9W@()qZNQ2s)&lnkALDhl68EhU}J>$#3z`*gGks<Us#5}k<w0_C~1_p-W z=Zp--poS^~0|Q7Mwr~M8-~(SUGAuz-2euc@yd$9c?FA!4+e?JKxXfGfl9Ay%k~&=G ziN0cFxcQ2(dEZ|#GI+g4sKaGm#%o3foi_+|xZLOUhLK?|k~&=G?S8|^Q2!R2c`2E& zwhE|yF!wDZ!!@WnT;=2q1_p*#Zy6a5y@QyCtK7(8U|{(2j*%hZJwzQY^CB1-7)stV zGMxDUQHPqY5dAHXc|so<8R|Yl)ZsEOgpq+^(nm&yXP+SI@R_IcnUP_}XNWpn=7HKJ zYd$kF@O*`+!)IR5S4M_?P<8msyY!Wj!RR|-^D4eGGCYB*!(|>Q{C<3AWC-|4*t}^! z85x*<LDb<gFNTqULF^YJL(y-DI$Zu$WME*}@tcw1CR80LUt&vtPeA?Y-;4~m{}47$ z@h>BT(_e@>T<*KVz`zjpmytp1A4DCl^apZZ%s)nkTBtgF?wkFOk)i%S#5{cdJ^G)K z;TcpNKKK3l&&Y6&0i*(V|I!4M@fevHOc){RKqR*C1N9d?7?~I{m_RD<n>UMziQybn z9Y{4U^ByrVF)*=!RNyx6FsQx8!o=_$s*VfRUqCNU85tO&S(zB**&*iP>aT*#>t$zR z2;hLI!)4w9Mh1p0983%)To85m%zMPe#ITebq7IjNXBZh6IC+>DuJS_E;WN*fkBNbe zAEFMQd0G5S3}%85b@<F%BFMy$E(B4B%REr`>9i0NL%#?_9X|8^iZC%85QV72Wge)z zqawz{@J1Y>4wreL^cN+;#Ly=JQ3oQir58~De31kb!!b#a3f$=hWZn-+CI%fTh&m97 z%RC1uCWaJgkP6)9?POqJm?q7{;4cGF2k)<<r9V&?zFUTg!Celb4p;sKnb#}F#NZ|m zQHRgGCV3_XJ4J{(eCD+%GBMaHLDb<g4-_AjN=yunDiC$}%xhO+VsKD}sKaF*D81CE zGBG%)L)76juT7na!CnKR4wreL@T=BfVldZ&sKaMotrio5nKncnF7rU{E7E3SFw=#o z!(|>Q{nqF*F|<L|fl6O&>E#Op1H%MeCWaP0!seaQV`8`hRfo^KdwNU^m-O+QXT!k2 zAYs775MlsP$AY8$1GS55444>}7(&$H@~<7J-DJqbpkV}2htIqKBPNClV~9Fj<^?b? zFzhpCV&F4@sKZsi=`b=d=$J4uM3_R<;i@l_85kJ4Oqm$oBB{d`A0YqAn=vuCn?uaQ z=e}NZCWgCEb@<%(+nk9(-4bFR+<nCrC^H8N3=9mBP&J^c6O5S*81%r(RNx&D2Sx^l zN=qh&omLR@ghAuQ3<eJ9>Ok>ZZq3B7*&3n_6dw)(nCd{|5x1dgz;=Sn1F1_YE{5?z zG^pPMqLFcffWrYjGSz|7FS1!6b_0XJ0X?*N7aax$hX2+~4B9pje?ZE60|#_<AotC* zVPaSaRR>ZH_AeImw%RZ;JcO#lXP&<;6GONy$Rq}EYX_ToAbYc+YCwJfVQlI^{wTI( zVwewAi_czOJ0=EEJHqyALe+rm1YvCUg2oRF?U)!cp=$YH@rxENAb)(dV`BIVRR^*i zn|UC0g7zR;kc|+GO<fEF1B0YJ6GJIftvDWgqaBzSk{uvsf=F!Uf$S}Zs)5+bz<^C1 zsGnC)ggP@&`<@7O<_ruB?}$(b8W&J?1i2pOI_&OK1BC-lbt*+L-69MO3~7!`3{_CI zAd|uV1(g~IWegyD`y81VRzlT*@|A;t0W=>W6bdjfFl=^YVmOSd4w{b;>OkY`XC0Xs zZb8+7$~CaP;Piq}C&R$N@WYXbLBt8<GW7g`s!qd+iNOV39hyI685kHMoR}C&q3ZDY zquz;$p&wNphCe{_PcxmE7#2a*fn15pAKRRm7%ri!Lvx=p0|Ub|Cng3?XOKw@4EWq9 z?99ZVjH(X9eV}?k*O`gIh=4j!INLZgF+@Psfo#X-4^Vo^ab{v@AVS>~XC{Uf=<3k? z3#yOyI5RQafvUsj-)GKD4Bt@IVfYs`pUU9E#31Mb@&N+_ygtH`t}I=c7($`yK&o;1 zH`9fQp_T}B6J3}XmZGb};@_PvObj=n>hSsZu?rK!XH<1q{rlI2iGj}*<OBTvHFITR z2!g5usmA5sG*>2uDk9YNxiT><LRW|8UnK?xhHb7)3^$<a@cH+VD-**fRCQSW`^S}u zf!7V>1N{Cqbz@=(gsKCn#^v8sHztNkBGmP|F)=JeSBJ&FTiuu#u0z$~^Y249CWeow z>ahCvw;K}!k2}Z*`2B0*&cqM^RR>ay%fBh^Obitm>PnJTJbj~J^#Um0^tdxIOn|C` z`olr5s3ch>1XbNEcP55;80tU)12c^Qyk2DmR1HkjLBIj(Uzi9)-3B7n?I2R!0V36% zAX420BGug>Qr!b0)x986-3KDo{UA~ug9j)zA>s&Iyn*U{4h(ex4tmZ(Au18hp)lQ` zbS2@z#2^Dz3r<%I1`Y}e3i@u2o<5##zMjFpjv>w-R!Z^CK_T(MAugW&@t(o{@!_5> zuJOSEuFjrro~}W`wgyTH`Yx_+j-fswKAuiiO6A2y@y14aIhjdHSj_Sbc8(8o4YD<~ zGyrMDu*);VHOMi<KPcYC)hX0H-p4h})yLKdi%CI{O$a`jNkxf8mA1YvDe*3qd5O81 z$>61>XpYJ)E=w*bDoH^T_6-hm4hnHW6ZQ9T@pJTb4OUVB1=B|c28K!o1_o;eMsTg> zW))LVl%JKFTv7~KznYYp2WDWbTP;dV&W5fUv|_LkWK>{aU}pgJ;4Vcoz-iyi<f8oI z{In7UjUY`0|ALat+{~)XymSTU{M>@foK$cV@hbxZ1E}i;i@trV3=AR+3=E*?28k)~ zFff=ia4>*|F+lE}0-DxkU<JFEfq@}DJ~ab+UW<yoy#Z*EEo{{-_}~nO04EpN<s*pY ziVomS=ibQ1l;)LZ=B1>S<|XH(mXK<ciXj8YZB~q+C35aCw}G6`0P+v0>Ai@RfnhhO zEdmy0M0Ti^6*7-OhCxUG6arv{pvgBFgF&D{h=Gg2O7O}5|Nq56O9&ab1wZ`%|Np-& z14BthW-$Xl1GgZke_<lPzyR8%%)rCIEy%;bz_4G8fgzbefq`2P6s{oY5=a!rC#R(& zc4IS$F>njM`TzevqW}X#a(-S~CPb2fkHJ!KJ1EI8FfbIVF@X6mpnM4d2wxl25(Ev# zK>1!!elb*iCX^3T-vQ-=<e3=!1sNDVF)%QImV>}N3<|ps3=9mQE+=St8A#lifuR8u zp85<74WOYF5I>iJfx&=*p`nU_fx(c0p`o3Dfx(D@p#hXuOc@v&<}ffYSTHa&tYlzd zuw-Cp*v7!XV8g)B02=DHWngFkEqQQYU}(6-z`)?bz|a61N_AymXvkw^U~mJO$H>6o z#lX-2S~=kjl4oLI@L^zR0QIJP85kOZnHU%X85kOtF)=U%F)%dzWMW_lW?*O#WoBRq zVPI&`U}j*5U|?uSU}j*5WMF8hW@ccBV_;}F$IQSG&%n^|ikX2Sk%6HBv{W>efuTX4 zg@GZBfuX^Rg@GZRfuUh83j;$Q14F}N76yiV28M<;EDQ{VAa}DcFqAVeG~8xkV5neV zXkcVzV5nwbXkcSyV5nhWXpmxMV5ntaXmDX=U}$7uXozBEU}$DwXoz8DU}#}rXlP<( zU}$4tXqdsuz|g_K(14y7moqRhfKm@A+(9^qn}Gqe{0tQFp!8nGz`)?hfSTSxdO&Js zf`+|trT03F1dnVD$SNpq5CW&^Kgfw3kyb$Q4^_wjvKN$AK*L-vP{Gv<3=N=VFKZYW z8vGa-7}hc{G=PTB)-y0PfTk%oFfcTLmWOU)U}yj>@7Rnb3@q6h7z&sm%?6OM6}+JI z$N_HlgTf$^36y3~!vLfQlx9Kn0bF4K+7JrbXAjR~pnMOq31kZhgEBIRW?*1wh2(os zFo-cQG4L|*AeS*z<bn#2AIO0XDiA;pK`#)*p#=+aQ35V;gc-O6U;O?5zl4E-A+Izy zzBo0n7+efZfeL1Vc@v<#EHH1*-~a!!?Ldhh<bW@K|NsAQ!N8D{nU~4{vgi&}ad}2& zat7GM{337>1RARa1yPnAqzI}3agd6j?NGk3Iz;{%l%F62;R}Eo2Mi1hF#R29eCX5> zT)vALVgO7%DC2@eU_}}z!-DuQ`Bk8tg5;jNP(DmP6j}tr_%lGY98^6dnS;y36;Nk^ zj0UACP&zkaU|^U76@SIR&;UwrpBWe$!WbABzCzRYHwK1=si0|HP#MC&!0?NKq2V6` z1H)eih6YVW28MqO3=L(B3=IDn7#bFW%wl9{0L?lxGBPxPW>1+I85%&d4J?cd4U3r= z7+4t@8dfkdFt9T+G@JqD2}Xv7w@eHSoQw<&e9R0CT#O72`pgUr+>8tjhRh5MJd6wt zq09^nyo?MD70loz?+uHY85jf@85&M7GcX7;GBiA7W?&FvWN2V!VPFtuWN6@KVPFtt zWN5HpVPFtvWN1icVPKG8WN7GMVPKGCWN28(!oVQK$k1?@g@Hkuk)h!<3j>23BSXVC z76t}+MurAwRt5$IMuvtwRt5$|MuvvttPBiFAosE|Feo!JG<;xXU{GOXXpmxKU{Gab zXpmuJU{GUZXmDU-U{GgdXvkq>V9)^RXJcT{WMpV4W@BK`Vq|D&Vq;*?W@Kn+V`E^@ zWn^gRW@BK`V`OO9$i~26z{t?Bg^hv1kP)*CwE-=AXFvc@844P@1f>K}`2k9@?r3Ew zNDoMj9wP(8L0shrcsEmgP9pe_1IW32;HCq}V1#vW7Os*MROd#(RWUGt>;|PTP^R~R zikpDqmw|!7l#!tUG)!j(if0A}26IM89c;<S(2&l+z+lD5(6A5Go@8Wb0J+^3OL(N9 zg-16x0|P$;3%oqt$N;KaQOi@19?<giP(}uZL%6~NbmAfSMi|hc5vfJ6qYsNQ0tG36 zumuXJsRLVV1IyQEp#cHogFFWk0`ZaZ=>(7%6ocFh3P+H;TcBbNj0_DRz9S<;18Dfv ziIJfJw9L*0l)gaiT1JM3E(Qh$cSeQ=(DElwMurAZk>$n6(C``*E{qHfs*DT_{)`L_ z?u-l!fs70dK8y?uA&d+SevAwZp^OX-!Jy@MpnS*3zz~5Y{6TFaP~3tr$XVGu3=9%T z;lC71oet6?!N9=Kz`($87+3g%j%9&tCoM550tY(G3XnAf10B+Eb!1^+C`(NSSNfnP z0f=8%npgs^B|sGus9MQnKnimYkm*niawjOvL8T~Y+6W{Z!^qG8a(f&jLxTaR!vG31 z1_p)%MuvtI1_p*iMurBEzml+o)jDYF8{`s@S?FN}TDphc{sHL$**BMgf#C?@uqriz zBv2B<N)Xz}2L%PFb_LgkkY+w8xM0BtYUqRbID!w9?~&V2Aa{ep4!Ql54h_2uMurB^ z^4u&&h6Z~E28L`#h6d1%q8vts22lSomyw|X<lj6jVF+4%%frIJ02=-Uh2b_H1_pHo zMEfZK+{Q-D?;t%O`#|(jTww_5^~IMM6~#kOZUHAckX;~qKo}`dsn~)7wQxWtgK8|$ z;fvs5C|E};QG$V?fPt5RTky;8|NnFB7#MOPZ5U8LZJIa(Lvm?RQEFZZ_<SG+P*gJf z`Tzff1Or2Eae7i|8Ur5#x8RT8koHqfY96?m18c_cLz_8vpt_oYfk8tY(u@Hur33jF zRvdxi7Cz6)z`y_sM^M~?(lMyr3sPGMjnh(Sz9?s8XaMact7K$oNMc}MsA6PjC}dz@ zsD|c`251~NGBPwAV_;xtVq|FWW@KP!Wn^f`Wn^IJU}R{>XJlaL#F7Rqm>3uYkkWuS zFKQZy!;%I-dO&FaL?0uN21<>JQPKd&E|4EV7!*?=n!2rMBGLdTMS#)(D4S-2Q^W`A zr3lbw7m%-DDPlHSir5I{!%_sKZ#@H~1&Tr83Q7~8Vxk8s)&orw6QOBhGBiz0g{FyV z&@?d}nkHsL)5IJ`h6YesI2T$^%>%U~85kHAFfueKGcqtN1hpF(85ou@GBliGWMEjv z$j|`V)v$sQ(x+aDCCz}+EGRGIDmTIyG200sJ)krLqK^|uGv)b3*~JBk$)KC73rkar zOGZl%0np?pd>jUvCO{M@JV9v%x%^lIO)DFqX=M{Mt!#m&m95aUvJIM6c0tq1ZfN<j z2U>pYhn63QpykJ5ENNjs6KJa_WNHHBo~zuT@&nOkWMyPv@Iz}ugY<yX!a61fhW)tG zLTX-dX;Er?YF>V6dPaO{US^3Aq(+5Q%5ZHA2)jYeAS{Ctpkf<T)RaQHz3}!5h@Z(I z%D@cou!Fkz(8dX<6am!>HHHifd8y@vIhn;J3__r~<NyEv6%awN7!v~<10O@2U>nHy z46F>-3_t~coZu-a|Aql9>cIU)Shp4=3knBN+<~@9vOr6P9So5Ad=~?xO|*xBp}`3> zUc<o95Cj@61dUaJ+IkEO4bwsG7-;|TC<8;o5(Wl_<DfAo1_p)`3=9nq85kH&GB7l} zU|?W4%fQe8+O~NPH0H&~z;K=c(muTa8h>GAV7Sb{&``+8z;K0up#ik~>?#9818BF! zHBi%%iGkrd14Dx>69dBy28IUEN}ik0F}6D(bC?(y?lLemq%bis+-G2D00rX%28M<X zCI*H_ps_wC28PEB3=IpI7#N;_#>ki$7@jdOG=Sp&IhJvq157A!%7ESvQD<aea6(H{ zAU&Y=`$i@PhQ08_fi{*4?}vb{28E;}q{c6}p96{)oax9?5EKO<CCbq1y%)q`U|@jp zPoVLcq0tJHhcypi{7N)==*CvKdC-Oba6YKZ53&NLKNUJT1LK2&7$y&HiG$i3$bBDB zIDyg}D6C+8pKb<7-=~)W()a0OfV3eeK*wh%F)%b-XJBBM!obiV#K^!fje()Tmyv;C z1}Kgh85m}P#%mcF80LV+Fc=va<}oldfL56;U|?t{VPard#K6$7o{52BDFZ_TD1Me< ziF43SHBfy5iw{s=9JCw)#0T}oK}+Cm(c&DW2c!l>pT-sEsd>ryDXH-#`QS<fWCbXE z&~SqgMFV%BkulH!AbhYNR^$}0Fff2xj-bZmm;e9&L-_?IMd0@3i~o?uWKwAws67da zFi?DfwynY(2=W^!zCdFRpz#QhxHuC-1IXVJObiX0pe0aDkg`IaiJ`$Aw8WB$p&<^G zD48JR?J7(R4I3C37*v@U8bDi5)R`C>7#SHDG?*9~v=|u}G?^G0f*2VXw3rwgszFN~ znHU<H85tOKnJ~vpKr7=xfe4BhkXz8>2~^gg_q#xPK<)+6X9&boS!&LZiYw&21@a## zu8{MV0W_`*p>bsdjVlXiTv<Zn$_5%&w$Qk;gT|Eu6GH>2Zg2$Y1C@JB3=PqY3=E)E zIPHuK46aNJ4WQEm+?f~}K)dWcu*4Z?7XYbo2GRqHGZ1~2K%6BeClA>;1Njd<&b*;< z<^zp0Ur^XHFfar|<17RkXW>kcF`)=1$h=h~6Qs_KW@2dIWn^H8VPa^oWMp87WnyRm zjXA|JF*HnIWMD{OVrT%Jbdbcv&;Z(DpNu8W_!v>!RiJzZ8kYj)J5YJ}p8+)Qh1xd< z=>e$$(I*JR8FY@(s3<=_7Z!PNEuf5zz_czLLA|jD(2_6{TrLt<RD#=61qgRCfcy=L zOVF}c(D)HZ>I`%|?<^x^9R3_5LxV8`1H&ay8<&BB;W8sb18B1Q3L`@Us5^L_k)Z+9 z=eohj(6E_-f#D`2L&H`E28KI~3=Ml37#QwiX#<1C_dsC>iW`uf=y3%a*Y`xLyFhwC zaRs7Jf;59PGN83rpmi5g<9Db=6*#UyV|ie2GB7ZJ{0)jL&{9xPxP!!BLgVTcG_GDl z<LUz=LxUIS2pvX-2GEk<FVML9%E-{LjDdmS8>kP<z`*d6k)Z*!)%6!6Lj!2b!*9^s z0|NuYKSs#h%6}|z*T)DM|3Z#CP`L-<gYwxs(3me;+=29f)PU$y1mX_SmmMlC5Xg80 za=rrj6BJj-`HBfzMlwUoNET=r$;JeUBX%Z+22eYO160;AFfed2F*Mv~U|`^8VrbxI zWMJT7VrVd9WMJT9VrT$0iutjWfj=1_>rFsowxIL@%2#F#Eb#RvpBWe!P!@{dTyGNZ z7wY4KchQLl=m`HnqF0>|XP}B91J#W*U;wXY0Zn^&p`}Yuc!8Fj-(z54IEOu5g58a} zs0AzpZX6@8YyqWzP?$5oSGIr}tH>)`^6ZFP*#hb`gGRDIxg6Gm2Mxl4Y;$B_VDP9y zo-;t6?*jP;l<q*Cci4Pa78655HUk4gIuk<!sLKuFFJ@q1$bhD^OeRPfkj=!<aE5__ zA%}^f0kqvU4@>%b0$R_6@F>GfKGgLCpj}_+ZCQ{W(0ne4zJxc7a}zW3a`N*FAVG^{ z4ahr?prz*G0Z<<VGz$Zd7ErZ{7~}-a)q_?KVIAlG^BZHF8#EvaiZM{X1T^gin%e?7 z8aArg1?{*RTY!c;ECrz_crk!RH9_j3C#^8R)I)b{F~HPAR{+A*mqI(TF!i^fe3<$V zP(IB3D(G}SO#MqJA2#m(AIgWR*MUX=O#N&qAEtgIln+yX56XwB_k}J8fT>T0@<Hlh z{Wj1xV^A1@FerV1(k^HVHEcw<kO|TTDQ9A60HypYCWZ!o&^SI5L&I7I28MbjhK8M> z!3QRWhNBD&49!do4ObZ$7+RPZ8bIS{txOCJf}rtyCWZzR(0D!*L&J1N28JGxK1K$H ziA)R)cR*YBnHU;CJ7T6XF*GDHF)++xVrXb#Vqlof#L)1ZiGg7r6GH<hGXujyCdk@= z#h`v5GXujCCWeM6W(J0(ObiWa%nS@Gm>3#5nHd;XGBGrKV`gAj!^F@a!NS0>k%^(f znuUR36B9$j3Kj;2txOCJr&t&mb}=zDyk%iv*bOp=m4RU&6GKA{D+9wpCWeMaRtAP6 zSn?n!3xR?fghAm3D&s+YT@W8s|AN+u1)`O6AUz;8QlR!5hy&7y+I9jLYF1XosU<<F zDW!QSiFqZ+=UjsGB*+S|PE-PE;u$3`fwJvn3kHS~aB&6dr-SA!VR}K%0L3>b*}>LK z9tVXlXe^G2p#kL9lUV#en+ekX0BxZHnFaE{B~l#+YUleSS4+6-xZr}!JOXu`pC9<@ zj8J3)@vg3nC)!XILk5}{3$5=!YhuvrJ5bnxwqi9fF)&;KMF1!O(b56P{b=<aNC=z& zKz(Ac7L+k$*h)@Nmjt=KYo}g)C&0ih2(lbh2qacy7Dq6EL_o;~CK3r20aY|GkthaH z25v#n4sno3aY1HYP-01{M-_Pb3RE|Pgi|1i6Ld@?0|NtS?Ig^9ps)g^PtX=Q(E0_C z_*Eu`2GCiN=Rx_Lfq?<U2eqd!K>M>7nIQ9tmzWqDu7UCz6J*W96;OG=z`$^giJ^gs zk%8el6GH>&)XG~-3=MLO3=H>}7#fTj85r&}F*F1+GB7+~g3LcYWMXLOWn^G@#Kh3B znvsFwH4|j4`3)0fuIVikLj&l9sdr2a4WJW6K7h(0CI*I&ObiWWObiU4u;d@mVrdWt z`3Horqpbl1Z5>Ci!$ImnK?|a9;7vCubvQ^l$O;e!6$T)hx>J|1Ivk$Vs8@$0Pjjd- zGcbVGo-u&dgL4bM`2GJsIPpO5_F{lcX;=!v2BTqhpfa=$hSh<fF<ww0fa*X{ou3Ak zhpE2`<-^p!hVo(RB|wEGXstAK?z|n!hpC?n<%872>R8wSJIG#8gn-gCD3^kck^+f+ zh1RjZp>^y(XdU~XiJ@UO=;$M6h6d1jR2F7P|DK&0vbLCm88W8L%?uf<;bCTI03AEZ z%goRKYTF1fGc<rs^AludXaMbI7hz^-2x4MjkYr|P0JUADm>C)#F)=X6GBY%=Ff%YH zF*7u%GczzKgUn%OU{GUbXxPTgz@W*@(6F1CfkB5Eb8Phvw7&ytEra|5stb_&JKsR- zjF5|NJas{8Q5op|CD2U>IF{LiZmS7GHjO|<K$M9ph78m<6I9QF+5(3_;|6GL0Z^EM z`aB0gV>P()GT7<pwE$QUTn~VHBB1aFVML=q0J@?dRJMXr7$|dsW&{^dP!E7oF{FQu zyfzBt2T(djUK?e|4C&_>Fhlw|AU>#{W5mqRu%3Z|!I+t$0krnS6iYfXM5)gh7(nR= z)LsJl4HS-`^(W3~;Rw<LQUe;-xJw`$QA$OSp`d_6!$_?tcz}U?kKS$q*$eVJD64}i zK#(yO%nS`6w^%Vl<~gjf_z`q6%O7UY`Z$md1_leXz8h#R(+$m!AU&XRA4K0H;77=+ z&G>@+;#6=N0oety39;Us!onYvpg=t~c=&*3i9i*Lf&c>pq^As?s|HQ&gSu@c44_GA zP-49&$iPsLUz`a#5gptt0F97<1VIbRQj793^Ya*_p=}H~&~}lW#Ny)k{50?dc$vwm z;6YX%%*9PCe<1TwuudOnvjxc0umXK5w9^MGph1;5NFG)|L)#soxh9Y>2!p~J6u+Pi zNTB&?keDMgq#xwQ%+LU8_qsDPG=TO6c!A1P(3lQ0WbMBXGebikD9<x9G%RFbVDM*# z><0;8hRkCHF*7vW1&zxyL)s-_%nS{`85kJCnHd^D^Xw7KkakEUGeZOD<mhN-NP8oe znV|u6QfUG+Lj&l9(L^li3v@yYD9&NY1U-HAgVuVYr7w^kQ2GMV_hA~*+oRxO$I1#R zeZ`lh=Hw@5mQ)VSga%5KpvLTFK?Vl!HSJ}IIpEX>%FdLeK67YlgQY&$QhQkHgC711 z9zp;WE#NU`&{`)@8UtZaJb=<3D9fw?34q3pplL4$n)Y&`X|Dj9_6nhCuLzp<N}y@4 z6q@$RplPoHn)WK8X|D#F_G+0K8iW}c80tV}7b62hJu^dt8zTcl12aRzRz?PfCT4~P z&?%)Y%#gl%2Qxzh=oHURGSc8=M$ld+)HxuKpJ8e60SRd^F*!LkClzwJ>u5RzZ;^qO zf}klpQ0jrDL(p_9h!0DLpwrese0V7cs^bWy!+vNwoB~aUQ=#c_1~eVcgr>t;&~!Kl znhxhe)8Ra5I$QuvhYO+Ua0xR*!(RplhNa954Wgj+e9Vw_>C2fJ8azP9)q>g$j0_B` zm>C*Cr`xW9roRo$3=N=DT{mJ$hwLnnad=Qg1o9~QzE9BUnM97m2c_obm!#qyrErKM zWzd``1653@Z=^BxjWnXZkt9t(5EqsP;Q0r6EbIC}=>)X@^EERA!$TZp55x|%wm3u( zT<n0#YET*jVNhELL?h-Po}lfn{e^RPEog=TlwQHRYavUuK}`aXaiDw(>aK#Ch{$~C zA;jSN1SB7b)?Gb_#s_VqLe{?!)P_agAqFZ3z-PFCR536xfWik<AAydc0nJZ>gkQ5j z_B*~{fvnX5@j-iFU$Q{<z`kOEw0S_{AU$tc7#i3?$6~WU_KCe`f$Zn`%)-zBIu89S z3qu2FZ2mh7Lj&lhj^8W{4WQGm|FS^#kNsz1Xy9XFU|?otXaJ4Dv$8TYWP$dLu`)E& zF)=W3vobX7U}9k4V`XRnjlm1BGBmtnVqg$qh3u6TXJu&cVrF2FWMycGV`gBGWo2lX z0lHR%m7!r5sNc&9**mMo3fVuV&WhR31&wjT`naGl0QFBm<D;Oi1gL)kT9@XJ*0uua z0jXIHIwFTa+CtgF8jqB?kSzsS48=%&6?lRIH7G#w=Kxg$qCjo{#UE(sA2bjL64Pge zjO81E!UeR)nU$ddw6N5em7$@Yfq}sUi~n7rbIu_BApDDufk72%-vwwa%?Hi@AU&WP zX+ZQ#0{(~Yxd89Ks7T8%$_3{vP#X<o8wewE76YlPJ3ze_&{{WmNP%XSKz(FT7X@Pn z1*m@mTJ(mrg95a;19@f%vQQSWW8wkGfymhi+^z%lS)mdPpfCW%11NvP_DsaEGBkj~ zCzch`w}@kftn)~O#!nI}Lj&lz>||DkhDZhmhE!ID2GAUL8Y^UNV<sy@18BZ6ixsj~ zAeWV)0hD+1Xb^v|h>Snb-ieVCe}&NaD}u&fF*N?lpz&7@jlT+L{8d5YuNoSEb<p^$ zhsIwMH2#`t5Pz?Uj6e9=j}egn+Mw~*4voJKX#90U<F5xAf4$K7>xahQ1ZezChQ{9% zX#CB9#@|dV@dw%u4H_?im10}?85q=%%1_W5R`j_dkRH%_D-ivLK>UHOH!m$nNi0c? zFG?(djQ@b_gOxupdnp|MA?a)YP_YXtOyR{YXnY6c5YWhdabj*kPHJ&LYEf`%a(-S4 zczg#me+4RflS<QI>y1GR0G0~F_p^b<n+`x1-a(fjgBC8|fC@qSKiq<6{{R0ED%|t( z%fVaT-a^9x*8hR6aR;@lK-DI=yauiPfvN-TF=7Cf*Pt;y*c#?JtdO<l^PuTvJ~X{7 zVr6Im&FL*>h3uDK$_m*Fx(u3Lma{T6fXrCQ%Fr;Gfq`KaD?<b5ny$613=N>`F4nU$ zG$=AMFl=Il>~GqPCH;WbG9b4zLH!vyq<yxJu&nt4>5&7ip=M-YcuOGt6s3YvP<~Nn zdS)It>myqRYUDrzhALGrXh<3qJ1A8zsQC)otqrmW7EQ-N9E^Guw8t4L0orp9jwjHu zhM@h1An|Ri3=JTE?|{bBPFBd6-7Z$hnB5*$hK6X+^);-J{pAN(85%$}_z_ly22eO2 z#S;FYx*RDOF!pzV(hmCgG)NC<T{UR?_d5dNk8^w)$x>`>K2WH6gFFqoK1Up~Z3n## z2yzD~EhD!9Pq0GvPn=|BXaF5~cZwCVU-JwrLj%aYXR(CAcjy>Bs0{<M5`B-$4+hYA zHK=1dAU&Wk0PQ<}Paq87TV0Yf67$kiVO#FO$q^|SaO`=3molKiJy0owvY{5Vq6_5i zX|@aukgdK&;M0jf&1+E04ty3!aB5yLc>A-ZASnHS{0J%_Kw%6z?**9;YXO4fK?MjX z%#qjCgZvE&bCBObeFKo*i_kE?#LCbh3Ywc{g`7QfjTN#F`X(#ne3@IUkn<1jutNG- z4_P7WeIKzx*7-hVWoVcW>Qk^XH0)<!V0g*O&;XiCdd14n@R)&t;Vmm<Z23KwI0WS= zP*{S(0^}z2I0W4a8G_c12k8O%1JuX+Odt+R^9FM)&H{NEqdWoS52yraFB-T!0fi5& zogT-=06u3So(&Rj32cyfOJZYaumQEp*&zGf(%2yDNHf_O8uCHMz_2ki^fNFp<gzg| zOayJ@V}s1!7P3Ls-WRiB_A^24d3^DMEsufpfZ_+VkL3e__@PJaY@|{i1FeMw#S5-H z2J$z09{U2#V_%_p>>D(X{e<SRKhQk(7n;ZZL-QC58zhghvO)3~2OA`hak4@377rU_ zY=f7Lq2Vd$JUKSV9z`K6ad?tIIf*Tgf%Jgl5Htq+g+LtACy$XEi=fldkYf!pcZ{6J zKz;?q8*(12fabAEXdbJA=CK-R9;=7uu?A=!Ylh~r7HHmTXM?n@I@ln4AG+Bfd&qmS z#1AOlP?E<!5{Msq<gwEOn8(DSaU}tbD@kZv$*@7{F$FeAJ*LP8smGMrAoZ9AG>>UQ z^Oz1akLg15m;p488A9`z2{ezHVTnUf8p0Qcg!0%|0&z&6JVtITl9$IOLE~*QG~T8_ z<82x=kIjVUv02bOHW!-5=0Wq=LTDaa1kGbhp?PdMmiPg6u<*qXwt5Vt2UG@v+ESkg z#1B34*i$m|7;HZPsNMp#9YO05kxN97|B%~?Ab*3(Ly+HLZAEKnT-iY5$`%?|4$wU2 z0?lKtY>;zR+}Ri!K<6j=utEBozHAH)(-;^S0@xtuR0gs!G@NE&U<hGjXaMcQ2xVhv zcn>;So{gaa<en%jaY$(%`$ixR>66FEjYabE*cxcOt%b(hI%vFYfabBy&^)#Un#Z<7 z^Vkk(9@`DgV|$=^Y(F%Q9mEnppj(zfWBQ<c21;My{GhXUc^E)zvOseZpfxSQ$gAa$ z*508WRRLMK6Q7)zlarK~oL%gIe4r+DHp0Qd)6q5F&(k4_Arje8v?X|y7_0)Brvvq! zBGLLFAir8e&nSFBAYI{i0=PQ~3N}!XfiS2U0-_O9cAx<!<mGelt|e%w3DmU&&6ebq z=7N_xfd;5ReAHt(TtL?vLrevAJwcNV=62v?IZ#gEfOJS$85(UNU3c&})B=b;FbVQE zsB8e8_W{~h01~uhWoQ6}g*9|M!xlR3WY5abkOsO&gB7wb)Rh&ow#bbYvUlE{6>^@2 zH)viAblwdsWSxgEXkLwxfguPq1^`;0!OGCk1UmnXm7xK&k1mXrp<x#2{5MvH2GALi zky!ebpxe$s{b<;X4d`HCMWpe~Mn(pP0JJy-=}}~0U;xqI3B)O+&mIpQ8OTj7E>28` zjB<i(1%(O-gW?86({z**>-Yj_)iWp|K@RK!jZ%UJxj@I679<uW=0eUa?SYO`Le6gj z4UHa#oahCb`JM9r|Nmp4b(#g>Gh0B@#vrd1B&MWf=B0y2F+rV8koRB}3v9zMjE{Vd zAgJPLgRVvb$%6(dpljVg=?P>E2!p~N#0Q<j2s*C<BzBaIp#c;x$Jij}x*TU?XwU_n z$HE4gpE}3J&;U9g{X82(LoEXX!$mfRhE~vc2DA*j!UkFUc9o5x0W_j_osFRZRF~Xf zgRFhK$p+b1d5evq0hHHovqAP(-eH66L4Ux;&;XjNf5HY?2lA8+az5cRHpsbzFW49w z5*Zm7Ua~>Xes~RX2O|T+8&G=^G}g(+(6EG&f#E$HL&Gvg28It<%Fb_$;4_Wk=g1WZ zFfbse*HX|qh-m2*qz4o(Ao>S!=@oP|1eP=l8Vv@8Gzbs!G~0qN&4Lp2Ny^e}CiXN6 z8jl5q4hVz78<a*RL1)i_1VC5JLeuD1Xd3+nO{0IHY4k5Njs63r4UisoNE&5ghm6HA zvqRD-3p*r@vav(bC_6hOjdHL<(kLf8B#m;hL((WWJ0y+rvNJTuGBPj-vNJU3GcquU zvNJR|fv!+xXJ`POKPSP?&;YtZR+1f3mP)ZRG=R>&kYQ(N=wxJIkY&dl`vLhAlrmst zD5+`kCvj;Kbo9kAPm^Z`Buy%^L&{Ahc1XFY%nm6xHQ6EMrWQM-+|*`=l$*NHG^r0w zlLpW<X$Vb|#?Ulr0!@>q&@^cVO_S!(G-&}%lUC3)X$MV{PS7;z3{8`+&@|}=O_T1> zH0cRVlU`WTB<Nf`(0mIlO`b<9CqZX6#-f#zAU&XR5=8$dE={5w?SUn6f}8-##UM<Z z0+ak&eF44_a>f7u|1UvOBdA8kSA&CVXi#4ax%~$ULr~d=-2SV9rn6dTI;(@Gvu0>I zYk{V-R%kkF2gNr714Ab}WNmskJLC+C9(IO?T?`Biz3dDPpuI?a?2vuu{p^sj%?a!b z4WMz9DeMdle?Zr=vP0IHOvjQ=K)1ewnk%q$g5LhC1)VK}mQFx=K<NZT{~|7(ARjA& zC7FO+07@btOq*naHUUn4ssUA<Am`$23!aCh8c^?noVH*j_Ied`mKG><Ko}J6ptJ?r zi2)mH_k*S_e`wkYfTpc5Xxa*grmYBQ+KPgfVKLA$EEZaZ#X-xkBxo6y3@yV_pk-Jp zv<ypwmSO48GAx@N()P<|XJ{~DWMC*@hqU>M*clo?XZsejGc*)|u8wDCXeei7U?^v2 zXaF5ZSAiu>g7OY%EC!Y)^#oDdc%Ze#QD|urqz9BHLG&Nu(j<Jz47T10$bL{*gD`DU zB>71YR5syEf*bz-|9=&d1c@oQh$**bL(|qAXxf?!O<RkgX=^bwZ7qSOt!2=1YX!92 zS_Lh)Rzu6JHPCWvEwtQP2Q9bOL(8qr&~j@lwA|Xp&d>lF7g^^FS{u$T2->rxz))P0 zVr3N{=HwX?%wWjCF8Edm6jxx;ywcp%qRiy@oXp(Jl46_WjKm^Cv-lD_E33@n_~Oj; zywns1JqCzD0uY06Ye~sW&nzisFo3FOAx^!a0fP?IQH)r1Wago|M-ytkJRa3hr)Wc! zauQT(Xux0!bp-=f#ie<W;7~w!juF%jXgH$<51KZpyG)>Zu)7PZ9zz2LU8n=G2UAXd zUOGy=X+bT)9!^l@PzT8}unXRj1C7u)`v-w8<qG!n_lx&+^aAmWz!3yWOW56uVw9l) zgBjGF1OgJO4Uy1{p$;Yxl2Cn6mxE#rx6|N3iK5BSfQWoxY=k2pV0RuU>p-<YT?Wes z*aHniy`cev5CglQv<&EmQSj(wNl|GkgD_N#fdMR*mY7qVimosuDAW~Qp_`*muq%?n zu%H0Hcr=AzF^EEtW8Vsatj1O@#K&jmm6(~JBri~E1O>c3*6f1N0SygMDFU(pnkX{! zN>bB{5_3Qo`V^NW=9Sna<>%+<7}!}^l_lnsrZVV56N3;@#v2+iNHVYs9+G2VU}gx& zFHbEBElw@+O{~bwEzJd&U?97p83%{mhH$$<#fE_(C@{SIo#OqSyj-0_;{9Ah;)5JR zT;rYn{X&BLed1mH9G!ez89@0Tq?m~TpJHFfh<GPQKbLS%mk<wdP6p{=!K=q5*f}6R z#L=C>lDG_o2y;Z90>vxHCU(3wg*p0oy2QKrIJyUeb1x`f9k2#GJVPNYgGR6gG{S^Q z(`RVFAOY2x0!iZFpmKI}2?_?sX%6Uc42VpKYeY!ApMQ|AqYqdUNQwzb$~7p+KZrq! zfn5-^!;ygnoMS-7fi?QL`Z0iF7UVeztd2~}$xj5;HBcYHQaBqCilIdc$ZYKS9cFfJ zVnsZ}d?YOmcx?b_Nv$Zz&r8iKVSp8qYD8->Gytbjkkc3%nz3bXxZ5)G;^7v->L`YW z+r;WIG++Q#Iwt5@$I~Bc&H-g{f@+bICa9eN@`fo^zo+DvCgr5sSy@4X7o6)ss`-gg zjTA_N_|=1A17ZV`9tIX{VFY&(NDoH9nlKWr$IyTQ79ETY%zyCfLykmHRSXIP#)h;1 zh}MOaFtLX;s4`W6dkzv9@PvsyxUp$5G+;1?W_|2oj;aY1h!DGwG-3~UOpWl+2bHCu z5Wyb$xHTFYfQw;}R$NhlrWrXNtfBtI6%V+z8X7Q2Gq4L@0eA7hQJ9jNmtT|{pO{n( zDi36!lF+&hDp>$p?VMM_AkV-qcoU(uD8Do>CB7uTJh3PxzACjSpFs|)0ID6PAU-cO zu?Td>gEG{3Xtf>hSDG82lvtc<WtEXw91pRLK?AjZ!m21fC%?FuL5qP$5Hw{3>VPmX zq@<=LmgbbiL&wI@uGUn=Yied*T4o+-d%hZ8Wrd}gsU`7#iGJXc3DgL{?h{bsJ~1aV zFCDBFWOWs|EfEqB@9gN~<K*b<9Ul<n=^x}75*hF52QHNuK!JnZ$jsvSBv4qVrZ6bt zbYEt1d}>8vatVVHJ|&r{$)={3`0WC>Xi|&t8<d-$Qks*GUkxZ2Qd1bz@j0ltAT>EN zF(<PsH3d)1mt^Ku=A{-F$0wzx<rk%b6B_ogDk(}VC}vQBCPd8WfuzaelFFP^aC!!1 zK}=PUk^vmr_!Jl#Fn}T#yAqTV2EQ_Rc>)S5+@`^l;kOpKq`+eyk}^XBaDZaBxF|6t zvjQH6(3}m<l$m)Y(A<lZKtUb_#SBh`kVFb{7+z(tL<q}}IL(75L{M7{uYt%34OEeV z8g(3y${B1IO7{WYFwM*>(XoIx<w02s6iQ4GeQ2Qo2`SKk0;qgNb}+a}1Pv>sk`C63 zA*>Wq-eL12y3z2G4Ai_q4-j<4i1G~7F@%H&xS8wd<LT}P&P5>aUSJ0cI{W+ixjKhH z`tlL+!LEKTu0g@zA^^9lkjMbnVDKmoA;*A93q+v_>VSbvWoY;hw%pM#5^5uZIJEjh zmI7G=&x=eA48OpdkX#(%91!mm>IQ1IgJKAuV~|oas7waA;s7hUd7&<F^FTE!ND=fH z7*H3%)z2ls-_tK7m;n?GU`ePykembwz<3weVCNvu08qHXvl()UgdAz`LLSsIh8X(~ z-DRMlKrs~LUx?bj=xRZ}K(-&D^bfjHAAffgQ(@IKuEd*J91pE*5JB)8-B1_LU}%8E z`?>}PJG#4q%Un=OWQ26Zpwgg37v$>W3GO6=$^?)SXm1TkiJNDHt4q9(V~DGtb0h=E zH*XQcli=)%7MkF!pIQV?>L4RoFl_bl4@WT&q>2MW6~y8Yk0Ae0caMP35O7@vQYwI< z)Wg%=BOXa5tT2L(aDrWgyD$O`n?S}iU=e^Ptw760F$Q+QhoGH15VwG0($C+|72LN4 zi9>@LB<|_w?C<O8=MI;HhA~LaKQzSMA0!8}8Bf%MGIMGQcxVC?1Nc-TH2??|i0I7# zP&E%S9#;@R8Uvub0&2G6as+ad0AwO4uOOH3$VmoL#>1ivs)|6A8Nurh&=>&7y-=5+ zjqZX5@lXcEKn@2vh8<GfU{?-ps=zWC)Jgc%8X7QwMrc7MGec5DNRXqmw`)**aHO9z zD1t#53?vPWe3-OjxT9x?r=NR#aEK$gxPsM(&;$fi7vvh?9~2TF<m%`W3AYM5<Oov} z;20F*>FC3tfL55p<bzy;T|+>YfjcZ9$1pTNiaMAIH%Ct&a59BRLaPZMA5b+B>>m^i z?jC^U!2JVo(F1C-fG&)TPs=ZgPt8loOw5Z1-Qdfhjnb6>s|7_zJXXaZZ_f~BU|@yB zOKxgzeo<w7eo;zlQG9V~VSF<9Iy)Zd)CkCSuz^XL=}<f2^&vFjqQzD@*lN(&5n|{K zmgJyGhd`1;j6Q;r94HX5&$l3Kf+i!-C<;h9v@pWyFo<$P0|re79>IEW8H>fADxgjk zq;+4U0&Z@DibSZV<DmnpHW=9hssPP$(2y=9dq9gdkk>%DiI8$=Sp>^X&=ACKI>cWL zu-t^#Xoy<q6a|vU2*eFyR2no2^A_hYImFotptJz-HbekC*#L?n?4<%k5lk1viSW@B z?1ck1El^*9T!%dj;4Nef_rb;#p^a;_a7Nb$bs=ox1-lEeYcezdkII4Eh&@h=GxCd2 za}lTo4GKH#!%8sqP&a|n7f3Poynw10I*0^v3xV*0=|f~~P%;47gFTDF{SMOzbseZc z0O`W+IvlzT4H)<tI0QjEnBzk;^Gb}3N*H(<I0Qj^e?1)iTzp&^1Q<93K_@xJ`{d`P zgGQ1V<QO;vK~vk{LJV5^hWiJ32M0JhyE;2D=rV8!-m!(2@6OOQ@$o*H#U(cJ$a)-| zot>TR7|a<s1Yg<_s~mcal(SPXg9HPIAZVo;hM5d93><=>5tevt11z9*s)C@^At;Us z_45od3U>7i_78G)0vp{7b5lrBVsdtB5%_$0(4iB8!Ey`?D)Awe1*tBn#mPmP1ts}K zD)FfmB}Iu&l_jag@kS;L3Je^A(_n!B4J2m|M?ZI0NVo<um@#k&o)utVh>tHzE-HyH zON<9CZI90cU7nkkT9lfXoC=;YS4hs!D=tycg3xwgw}F;PgS`zkEWk0y(U(D#fkW_- zI5Z@KQ*#pwGC+ePpa|VA46-QK(8z*;kAXuFwBWv|II}7>zJx)FfkSXRx?h9AXI6rv z@+8!a@rflRMVU#ZC8@<$R;gv6Ta%0PON)|I9bw`OmJA$%hlo~gWtCr0l9>x~MJj_S z1Bc)N610M@bBs@Auw&p5+=oqDMruw$Y7vT?%M9Zab4oxO5iWLP;1JwNzJ4n!ka6*; zV4rUz(wtJz+Ixf(oESI+H<6{)$_i{$d@6$$1Bc*RY-W^X6s0DD7QiFy1Le0R#HqEi zg6oe@1t*4u*fb`lrx&HBCzd28<sc;nP>jwZS~)x<^%*z>r(@FwNpeN0$*GxTsYR&% z=_5e{+$MDf4#7@r8o})eB%gqsR7-?HxXEe^9D;oW3khRzQCrBuzz`4`9vl+HAk4ra zD1w#~88jF;1VMAG_~w7zz;ml&3><<b@(c`UB@?)W2ert2{QcbH144qpMLMX+4~2_} zGjIroN<vEx*SwU1d{E2SGXPxJ*a$K(1b|9XA6G}e(13XNApg(+1|9|uLC{$<0nQ$d zK@8Fi9D;SQqQ@z*IMo?+{%~ksW?^Y6gC{73OF&IWleDt3Db34E%uP+v1!X1O6xgv9 z@rk7+`6;P6sh|^&<BL+0^NUjKz{Ny24tuPuf>ZNSLQ*SAd?EW=oIr!*pb7}=*sq`% zbPx4(0ek8sJe(nYoiJA)XD0@21`a{chBt883N5vfYX+1898_?s!rTHKu7H-u4Au-B zf|Vc(@f7ay@t|@)CqFqcCp8`%;;BW&3R-py+zcFoil9S{{exT>BpEmaK~vEXCxPau zgI&X1K{EvmvJ4!8o`MVvptyleBe?p7c?S9W#fKS!qnR08?w4fdrY4!0fQx=+0S1Nu zXGnqrrPCZe0+pGeCAiW%MKC=ZGJtXvXwDTWt)kD)LXs+|2?1J85g!`t8Wiv79O4-U zn)(O;_453jUBNXOXfqGQ(~uZ)c481=;1Cpmg*YskGAJ`}2!eJ3BP#~AEl?s$2pXnf zMWvZ}C5C3;R3QY)exQ5+_GAJ<Pa1#&5tQ(u6*f4wKr0=cB12pmlo&V!LF<)K+7{4+ zWEAA@@9XRYZW@5vA7H0I<&YDZ6S#%NDi3WqX66-?mc(b4fKKYoFN!ZoOb3_5b};$) z;7rg_Q1PJbQ)~k^6c#k`o&lirB+tMhXoX!lxU~*0c#?&o_Qm_;Cue7tfWzatAWYCH zv!pz;7<8yiafS`383>!AWyoOQ5Y!igsS8U@F3B&7Pt3{5PqqQiD8`4SCWFViak@|k ztPZRtu_V6;n;#VH6zst19aL_CmB%}l<mYB4$0z5P=9Q!t#g~8+&0QIoLtt}>48;r_ zf_tQ4!p`}*py|uv)Rg#w#LOb76T^!V3y|H6a0@tq6zm{Qj1Mj;0?p!;CFVdiqJ%w6 zt)U$Qs6agn3%rcP;tU(`sF58wJ3l~iB&ehXO?rZ39W+w__8wR{bP6;cGCeg1RE&zk zJmLvW5C(=u5VsU1=B4E4#)D3EE-pq%FFKfsLI*UFfhi1WV=8E2(E*iGgN6jmdT`7d z8rd=EF>nZG!-JV%fHK%Ha0pt!6D2|QpySh%GV@ZvO=3H6qcsnfVp9uC6G2x9+mz*J zrr3e=V7@FgoY1<P&~*jiJa`HgKk+Du8yxa>;2JFnW(wL+F*tfJ!>rHAPtQz_Pc16S zF9MtU78bo|c7q2j7~&W>1h2tk5t?1VO?-HqLE;mXZ$McIM`FW_JUehE0W}51VD3h9 z0a`B*9Eu(=x8#?l7NzCnmqUF5Dr*s$4b(X_i7x^BZwJhDP<jVVuY(r%!bXn3y(<oQ zy!w`cTZM41fr~FtLq!)BNZ>Vx;GzMXzd-}DNErZmEEZIR9}$7ZYcV({GUzaH2u8r% zgUh$D)np8s3><=HQcx2Rc^penGN>?c2+H9w802s8LT1nru7aj8&ti`AfMQ(7&<@-m z^@1grc(kkot~DRPtOA)03sdyy0@e4gV2Ku7sGt<YpnC8LELhRP0v<h}t}!><DbD$M zC5f4NsYT#y3|cJ5A$S+X23UpxH5CM4K26F@$t+4u2DQu*b5P?JRI}qN#6W()6UV9y z9D?wqfg?Z-Af;%K5Huo_5>w(+E0R+SK<)vD^#@og$;>ND%*jlNPb^9=%>^xJ0gV~3 z!BTuqYF>It1~k1ZGH?i{!(ss~^q@ros3|rBW-Hvrc+gRcAa5gb3$$v2yT1gSoP2PY z4vKQ{;$CnKrjB6&xF`~Z#~DiU0S(=A2pYpBQ6tpQ2%O|ua99jaUmzFQfo+E;X3+9r zNUj8pWZ2;_0hIpi7>q$(6j<7TXDe7L2IpqDD5U&WumhJ9{5Xt-3~hlOlnx6HP%MK@ z0S8AsEDlTaQc#L5Pz1}sB=bv4Kv$p?CFZ54f}4rKI4p#h5FqWKp?t8Tkq7d@B_B7; zlWF-y;8jj2tuj#ZFoIcKRGJ5Bbwd*uC=6>*d{R`DSQ(#}S{@Hcgbe-+9D*{iWD9F& zfc*=t4WLaAP)h+EFOdBdklGlm4%~DC$0WEO0A+M}Ea{@4D8B-9?Ffh9KA3~@Qj1Gc zk@FC!&uNS!sNjhPv{iw@n}I_RUM43c7H1~MLrP|FJVRUuauX~ufY{K+6o#Y0@eLYk z1P6X`Nl|KIZhl%CxO^<b;Tli^gttUNjjmF71b`wP8vLL_#|Tz3W){b%mF9s9FR&va zRlN<Y>4N4gu%jlxio|$uJ0&x(1l)WngH<IEVX#g}Y=N2J2*FafDA+MXFmMPe!x9sz zy5UVBEM|k93px-79EN$NIXML-pti9isQUx65bioytbi56MX|TP!TkYYm=U-en+*L7 z9D?iMAwz0=8;hUdt#4>!iIfHrsP+Zb`mQ+A4?H!45)vd{zQa-wtN{kg<dCR^iIU<9 z1v_ve{sBvZXw?hygbR3Z;wG#hNXZ8sYzj@qpfMI)B|W%MoCM46NKpxH5rf9?|H?tD z%Xq)c9B^s&2#0gPc@*3j`v(g(kPs}ffY^2n4h$TEvn63hk`XiD3g8wzV>u!BFJX-i z(17+7m>VDkLP35pgBJsb;1pPovkctf#FAzqg%46t6cyyfqxOsy>=;0OV-1)UXz>Cr z;fz4jA+W*$Rxsm;d~nbx*nvlbl}OWLWfkvKQBnyW5(JI?l!Lm3CE&pY*w`I7(p=?0 z1NlKAA)fGoG{htXST{&{e12M5d<l4pAr&^z1sVuTN=(kiG7|$Ggn$lEKqB`p>H3i7 zW<YZep!QI(XOwGv2-q7Nz;T@jnP38WF+MXdKfVN9FN1c61*I0`Bqpa8JLea9q!jr< z_71wFre)@(f{uTI%u>086BrW%HN-$;VklETNP}Vq3><>Nf}lZCq_wvQdGz7PQac9F z_<R&8I?&B1wgWdxongbMu%S9nzu*u@&}bJZumnNlP{AJlK_Lu+&>6Xq0N7qR@Bj_y z)NgR<2yTs<nSh&J!9>Io(%hUKgDnGx;0+QrA;l}GB-sH94Bw>UlEjkK67VP^D`=z> zI*?fcc0Xu94D49YP@4sK!0HfeHVjWf1dqZ(rUX9_;Yf&bB<F#eZ=lr&C8<TZnR%eo z+#v@a6@iPhU7);E93PL8dmKS6F>o_k3uYrUJ0QXhWh4<4Th9d;7;;iF%i>GG!-1f~ zxIwKw&^2hF={3-eir|!LW&-YGyFsHq*wZ(_#}&Tj8=UmP85-SDh%9Xc9x(z<bD|6> zg2p$Uz-BwbT@9V4gkF9EatA0Doc#Sk<M!YR!UF0J_@Z-Y!UsnpXe)C;Nl{8Bxaa_t zi=atf6k8D?;slQ6ji8hON(W{pnZ`!oTz(N0#sR)AV0qA~3*c0M7;gp5EC+=7d%A#Y z#72;6sOP~m1|FHIMTtep8I_0-0EaNhaj8W`-~t0Q^H2yH9tY1nfTH|{0d#T!HdPx~ znpgs!_jm(Nnb4>LWh{_EFee!sfz1XLm>xl{!J$4O;6~0Gf`h>3;N)~j3~DQ^QgH+g zdV*Sg;P8Zd9yAI7?f~|~asbSkkOQ;hVHu(r9HD#UAjVo*l@wLRm*mIi<R@pxmw>HY z3$@b93T7v)HwaEk=it)dsSlVMgu6hc;~Y_#`7n8SrxBb;-Uz|u;Zw-&rHMr;;DiX8 zHbF@e;4BE9e_Rgp9n3peDjLvyzX=0};CEP}#jh4AXM=JbsBZuosy8zMI~1Iqv1MjZ z+Pwyf_;{oV7Vyfgg3_d%%wz`80F*0i9>F<3FAp-70Upi)CrPlWI1?nOzgq-0ANR~X zbif5VYN}-i&JQ3D#K(h53Nz4P8fczJNPvOC&C|yfoIw1MvqL^;RKFzEKPf9Uxx^<w z8Jw^{U7Ty^sXZXS7@Xoj1#>Q>T#knn%%FLGPzem_1b}8_zY!5jD3cL(4ECU91w=#` zsy3v!11&KDxg^xnF9bXR2@<e^mPG;n{yyN612jJeo}L4Z#5h_&5@CE$YD#HdN@89~ zNKs;5ac*XDG3cgKP%Z9_SBaHXVQFe<Y6^5J5S%?gM>2!+KD2-brCpSw9aLt5S|+9O z;1LLLpn}SB@I)yn<$<S+n1mS^KyjD^o}0CY`okGi%ED$x<DEejyAPtI2aR2Vf&gqi zC`OEpz>PIf8>uuN)cF7pWh%ph8R|kP1!<U}I2E+iB9F8*2uX`}44}SX1_7-&<|biA zfN~?qJH?>I8;}+qC~bp6B_2}ng1Dd%17UEd^cXC^!P~9iz+4TUpv;A4X+0rO>$bQA zX)pr3<PscKAPeJDQbCn2sAB-1diC*lck}cKaSZ~OP@w9+G%vNHAT=2@r~#}0K~W2; z4051#0jLrImC%qT7f4nZ)B*!J7dlZ2s^jCKszH^^EO^{NE85_K%sjZmg8iMnT|>Yn z3uxjJrHpiT0xJV$_4v&Eq|!8S-v=~J2u=>rNQP37xOM_(3D9j-;7SfuqJ_f(5K&;o z`{d^rBqb(igBzH9;5bDp@?dkyp!41s7#JE@K%34P7z7v>x!zTh3s~bCX}-I;Dr&I< z1A`IhOm@a4EUh!DA4so{4-cE=cx#6_14BAk{G|K*m)e>S5{}&JnsUA&g_(h25?I`5 z2ivU4?5amQCa<epWmMbGz_1T2zU0rl+#?&e*Bv&gfBks1tt$fq=zcQ+#*nn;sV`@o zh<U#0E!T$b<`M=5D@Kred~0Xi{W#^-qzBQTvV3@J&M`26j^7br+>@)*X~nzG$WW+a zmfH1Me;61*=Mf4po~mU_XInVqRpiVKEvq)1i(p{*3^qr2UdOb4uX!nbsa1_UnIBRa z7(|&s=2!APejX~46W|%YQ2Yq9&m#r~Q?NL@*o!pD;7R5WU(H?RBb6t^zz_iz_poN^ zwM%;#T77YO#EBER(-|0=z~Vytvp+^o_2067n`XijVfRT4412-i^IMkvFRtPf{&qoO zX~c(&V+;&0!Qx+!)SNh##}u+oBlXaP>IN+a1_@@6dy0ELWc5sm_MIb}F#Gt8OA!nV zZea2Jqf#2y7t}BPS$y%zs)ng%3=CypaotHadmnl4_$2<1bLsaRotg{`C&A(;ovag6 zf3S-zHTz-I+Omz8f#C&Me6^_lk0<u3lONvtEoR;H^B4nzAq&V}0psPiW_fJMHxBQ7 zxoq|JH4F^RU~&KLEBx;NU+ejP)wCI0t5xSRFkAtP>&9iy{kZSO{4;0H^PWF4Apm^$ zAA<m+it}yBJ4ag|bA01n|6bO|hk+rV6=c47o#U5V&wkpiklgbAywZFQ28Nwrapu^* zPjvxm?0jVbuY}7*7BDafvVqi3J0SPs$pPsJ39^$-Ei7LDU|>iFi!Ys?7PN)s?cKeL z)&9?#(y^F<VLMp7<!9Od3ahMgt}`O)x4LaNGB7*?i&xIMZ5GY#=FOTnKf{*oJr4te zFgwV6r?srNHm_DN39U%@^yiG*HU@@7u=u3IC$qK$3G7$&m00<%wM>hFp&u;X`IJSJ zt>8!O`l#QQ`p2!GGcfD{iwma7u^e?YDYCucQRh~|63)Qz0xYhb;cr=M_P?&-q4?q% z<_63R42B#adoNXAKKcJ^|Ch>cdGXCX(QFJ1^<Z%;gFxq`DJoxfNGhG$>Dv*?z;G5U zZn);p^wzi6Bj=uX(Wsd1^pJt!4_G|^)y1dxGCCGY3+_L4KW^D$1_p0Vkon4II`+y= z2|RQzzR8*GVV*Ao!(_1dv%`nZ6@=-$xyhS(N%w!?DF%jHU~xCUWU0pyUvxMNWFFL; z{@BmJpw0y{M^$R_gFnKJmh6HXe$MV)q|LzK4i>k_Qd*tjH*<!<@k9FOVz-tsFiZf8 zPihVRu}iXNg2A@<h1}V;mlzmsfyE7M0+#QY<a0%B*CL*JF-aW;1`ckJ`A2-}EZ<pM z`F-20D0e`RYXt+tX9fm_Tc8Gaid9TOQGR++Vy;43W=?8xOm1;mv5|qHX-rviOlDqk zPH9SNOhs;PW*%swPcMUkC=F%FuyOai)N*1qCFdrV5NUo6_#`8SWHiSsXjE93X~vXi z=B4D97b|3EmK4Vr8o<3_XrO1HXJ}w#VxVUbQ<_{<5>s4R90Te%5$nW?MDSt<1HBA} zG_c*EHeqoLsQLgC@x>X5MX4!z8Pstas2)$E&@hOLV$w@9Q&LjXa5@|`pOFk&D~3}A zbpN(qG7hgN!`tsTjYx&AXiJ7ocM==!i1Y-X?ju?&cwCaWWLr^^4oZW>8eIXIm@**N z@FK(H{M_99JjxSCa(+>2a#2ZqIb@OtXMjVNjZ&C`z&QonkD`V_aHl8d=Vj(o)kIKs zp@xCQB`H*P8P!aL$2Y}AA1ofgP6Hj#l$M!JjlhGM3&|T)HZi%NGQODD>{(or0x2zs z%%703r6_Yk3)^zgQjVhhB4S-yQCgCj13Kn{sLHjXxCB&`6X&bU{Nl9o6pB1mnhUB? zK@|jru?Y>G;*z4ooXqq*3QYqSOR&@i&aXs;9wbSC1}~_Vh04LUQ*0cx>Y>OSa8%`$ zP#Cn(hyq1<NinE3gT1i>YY|YPwUZ25HA|tZ!3iQ4JkdyO#w$xqNlgP4C=>-cxFuPV zl9LH)tEq$-D5#_+6)4y$sHA2VD1i7T3fc;BV1Xov0EANv;aDhWE7&S9fE1FWQ9;GX z7;KA$f-cw=N=z~Un`CT81*0I2GBTl>QHDm;Gs?ik0BV?mijfJ}(}o5nRCFuCFk}m; z5k-)2H8X;l1vlT!n3@4(h9!W^s2M=;lmYjEp#j`el%!!u02vyXV1$sNfhqNZ2p-yS z_fsX?KysidEC<33hsOuyL1PXJ1i0bmFzYBc+|UR!;lQJs8pdPBDm*5rV7vjQ>kX)v z>Mb!s-ja$TPd%gHaY#vsLQ*ok)P~nnhA?-+lOI*AgJgSnTrn_!&d3IxRnErXBdD#& zzyP|d?mi;}13SY31_p*iCI$v>h9giG7Xv#Z149Z}j2p`0VyIwbU;ydhW~hO(xER(k z!t`!}vbY$Gm|*J6pe!y1Cn$@X!41mdVhDn=xEaErEG~v5D2tmR4a(wTD1x%M8Ooq6 zF7U`V#4T-bu{lr{H^Txbi;F>qg@NG#*q0el7B@o<l*Pqx0?OiMI0I#IF(|MyFgyh7 z$bquB8492*E`}ql3=HYua5({GaWPzGWnjnvi(QAZxELO>GB9L<#hyV~Tnrys85pv_ zVqc*wE(XxGZXlm>GqA8Rfc?zHz|Y3OkP22O3}taK9A$&Jiksmil*Pqx70TjfxCv!( zF+7E`xIy<Qf&Ib7@D(oh6UyRZU}cAy#|dR|fo{72>)>XPgo~*{S=<boP!<=1DU`*{ zU<qY$F}Olm+zg&j78gS(l*P>u31x9Hq(WKT44F_C7egtO#m!I&WpOdILRs9P`z^q( z;$oNz7n=!XaWQOwvbY(xKv`T237iZJkH9gw2Fl`Q*Z^g5F$i!$WVsncpe!zi0xkxI z$6y_Mpe$~N15g$hgDf{hmYYEl%Hm?sg|fIA452J823shLo52yv;$nz^vbY&ype!zi z58Mn4Pr$a>@IYAH3=U8h7sDASi<{vBl*Pp$!^^<%6s#iy%Hn3ofwH(5IQSs4+zdQW z78gST9|HsECJ1(hHBc5e!v-jei-C=wfgu;1!nmL;E(TG428KMam?V_N#h}8^z>otL z(}1$L7>xND7_z})=1>+F!y0~wZQKkSpe!ziJx~@m!vQFZi{T8E#m#U5%Hm>p0%dVC zynwQ}7*Yfn7@mXuy8+7LX4nE{aWQZSGB6Z^UBCxraWO~=GJwkoZU$K>i;F=+kb$89 ztWF2Y;$kotWMIe#i&;ZiTnzgJA+~Wd9D=gA7|uai+zgkXEG~w7P!>1CBPffD;Rlq( z&F}}x;$i@8#&`jC{SzSu1`vyz;RTe%#o!{$z)%Wyfd`bu#Skpa0503O8N#6~E`}t~ zd_GuR8kEJwPzYK|3l=MdvbY#t3B&Ao2W4?F{DQK$8U8_8Tnt<yFm-%T78ipGl*P@U z0cCM9ED>Q~cnNm>2Pli1;R}?-#ZW5>k>zG+gtE98wnACl3_GDLE{3B}7B|C5D2t2X z0hGnf@C3@@V)!A(!0-xen~OMv#m(RWWpOdghO)RB=0jOr46C6mZie+x78k>AD2tn6 zKa|DAa2m?uW;hRJaWUM6vbY)ULs?u5uc0h%hWAhw7sGETi<{v;l*PrsEdg^MKa|DA zAPr@4Gsr_(TnyS!7B_=Fl*Pqh4P|jN*h5)d3?Wb!H$w!J#l`SOf`Q>RI5aFIAuMhN z8z_s5p;nTCp%NVXjZhXBLysf_LlszT0+hwY09pWD0T!Dt$-n?&aWSltWMC)<i>-sQ zxENTZV0LgoSzHWLq!<|9fL-ta%Hn2t0%dVAXi76M)PhaXg|fI9ETkD2>cC>4%?cnE z7lXSr149j1%p1z$VhEFFV5kO*ML}6y3>%~&wsA9TfwH(5JY*Oc-hy2)1<K-Pm;q&R zF@Sc`HiAugD8s-2VsSCNk%7#Fb2EH^vbY$2%P=rBfYtqnvbY$yWEmLh!D4(+78gT` zEW|c$h72f+i{Xzf1H(J83q0f?EN%uLD2t0>mK*~^E7+8IP!<=%N;w7wP&<U1VJ(!! z#jrz;fuRMg4zzR*#NuK&F2}&o3>G^LWpObW$iwU~fwH(5R>(6jya&7B3zWsp@B_-? zVsKSpVCV#!;t6GOF@z{EFm!>%BA_fThGYc>h7Pb;I+Vr5P^7@X&<++WgR;07?kGTP z<7RjOWpOd2C^9g70J~rVl*P@k1<K-L_^-&o&<i$&SqZ}8V&GF^VCVyj2|-z046;fL z3_V~mMJS7lK}U&!p&Kk_0A+D8bSOb=<7ViAvbY!+lo=SlfL&mq%)rnO)?or=aWT{? zGcZg9i#0-7TnrbK85kyj#jZeETnrv65L37re4s2Yh7J{&c|A}T7XyPTOdSi9#l?`I z%E0gy?1D8=7B|BND2t1MQH_CN3fMMQD2t0hK#hT6Dp*Ve%Hm>>S7Tt93>H&{vbY%Z z)EF2hfyIoVEG~vAY7pDF8D>CPTntN~EN+GsP!<=%7AT9GVF#4O#c%}5;$}DjWpOcF zfwH(6Za`UF3{RjeZiW|778k=8D2ton2b9Idz@iRw3kQ_N#UKJ@aWhCjSzHV%P!>0X z29(9cU;<@vGgv@bTnsKy7B_<jl*Ppm0%dVCL_k?w3@K0+H$w)L#l=tpWpOi9Kv`T2 zEl?IWLkE<_#V`fR;%1luWpObqfwH(6RzO)?411s~ZiWL;78k=44F(3#J&o)P2AU8S zH-ib3#l^4&%Hn3&0A+D8Jkexe_ybNGB3cX#)4*{l0cCM9q-rrR%m9mJLRnl4d$brB zrh~-}Kv`T27TOR~xEXAqEG~u$ZJ2pAP!<=1j}A;-0F=eWprXsb@E7cY0w{}{p#;j} zVmPYHz%UzZ+es*ki{Xkc0|Tg!#LaL6%Hm>ptjoYK3#{%rl*PsHNtc0PCRpqnl*Pr6 zq6e{!n;`?r;$rB4vbY&~pe!zi8Bi8C!yG7!i(v(n#m%q=%Hm?!0cCMB?18el7*0T0 z+ze-+EG~u{P!>1C9Vm;7;RTe%&F}`w;$rv#WpOk7fwH(5IP_s|=7F-f7!;r^ZUz-7 zi;LldJ_7?Y6R0PwV8FmI7wmHtD2t0B&wznpK3J>>%Hm=;WWc~M4=i>J%Hm?MF@%`H z&ENoKaWOO)!pv)dvbY#tKxMfZ-auJg3>HQV3@l(5v_M(h3>{Dw7sC@Mi<{vEl*Pp$ zW6Z$73f7SUWpOj)Kv`T2hm08*7D3zxWpOcFG-hB}2o}2vWpOb)FlJx?^_969o<Lb# z44ozrlermsp)4+jnNSut!(1qfi(w^{#m%r5%Hm=;0%dVCoPe^p7-~!z7}&rrJppBL zGn|34xEQp}7#Nm<U8N6YaWPn#F)%Cvi`hY0TnwIO3=E6GV!luo7X!OF#AI#;ZYYb3 zK^)5BW{`%mxER!-EN%vED2t210m|ZLaDlS87#J)V7}&us^?|au83LdzE{4q(3=Av4 zF4zubaWNdSU|?7d7CQ!IaWP!9U|?7V7P|^%aWV8;LQLjnm<(lcG0cauxEU5hSzHY3 zp)78O%}^E>!wD#ho8b(U#l_HJ#lWBmcIgf)28MND+x9?NTnwz%3=EsWVw_MG7ej<K z1H&e;SPYcK#jx6%fng(9Y(134#qiIXfnft!jL8PV;$jH2VPIGf77K;4xEM~@KwQAh za0bfaV&JibxkUiV;$jH5g{g~%vbY%1p)78OY$%J1p&ZKMW~hd;xER`@EN+HwD2t0> zI+VrDFdNF^VgN1i2ZaVV!)mzLb|{ORVK<b;#c%=2;%2x4WpOcpHXUh!LsG?_fdRzg zX3&7LxELltS=<a$pe!zi8}<wg+7KNM5EeIs29(9cP~pJ9uninmHBc58L%Rb5!&b0Z zH<ZQ2FwKF1VGCGn7L>)s@D6GUH^V0=i;LkOl*P@!<Os2ii$Ma);%1P6vbY##I5IHk zfL-+j%Hn2t0cCM9SU52->;&6p17&eBxH~a0>;Q{-Ls?u5VNMJT+reT{P!<=%Iwy$9 z+zgwbEG~w9P!>1CAt;NB;Rck&&2R_G;$nz!W?;|-yJ`uP#m%q+%Hm@9;mp9W2W;CP zD2t1M-GzZ+H&~1t%Hm=Wb75fE1s0QnvbY%XTp%WMGZaBtTnu$k7B@o^l*Pp`1IprN zm;+^TF-W*FFzA6@l>%jPGh{$nTnvX?85s71Z94{KaWPzUWnee}7P|^%aWOn_Wnef6 z7JC9^aWTAiWnef27W)ikaWVXJWnkC`7GrXQu(%j_-5_gpxfukZEG~xmZV*>-Gc1O( zxER($S=<bpp)4+j6Hpd6!x<=xiy^|Dfk7Yaqa{!lH^T}ji;Lm2I|IW}unWFJSzHWE z9t;dez+!Ar78iq{2Lr=lu$U;6#l_&}0Wq1I!3)abVhDq>xEZ3LEG~uuD2tn+1j^!K zxZ%OTU;uWNiYJ7{&7c8gaWT|DS=<Z_P!<=%6ex?EVFr}N#c;=yfx!@LiiQ`2#m%4t zWpOcFfU>w5u0UB_3=g0zZiXjN78k<@D2ton3zWshz~K!uj|a-)Vp!nK03N?)XLti; zaWi~?vbY$g`9Ng38D>FQTnx*gEN+HXP!<=%0Vs=`;Ruw)#o*w}z+epaM-P<6%`gGV z;$krIgUE6-SU_1^3@%U>H-iV1#l;W;WpOh^Kv`T2IZzfiLjjb<#lYgvz+eKlEda{m zW(a|@xEOvxS=<c&pe!y1t^kM*ZU#Omi;F=8%Hn3wfU>w4mIOf7sk1YDfU>w5zCc-A z3^M{DvfK=Fpe!zi6;Kv8!x|`yi(v<p#m%q>%Hm?U0A+DAT!FH<7&3ww7(lZK><n9= zEN+G!P!<<MTrfnIn;{9x;$p~yvbY(Fpe!zi4k(M8p$E$1V&Dj2U@!-VPzaR8%@6@) zaWVXXvbY%-LLut77<iy8ZUzA;i;F=9%Hn2FfU>w4OrR`o1`8;Qi{VTt1A_(FHi<9@ zi<?0P%Hm=;1Z8nE9D}mB7%o9s+zi*CEG~vOP!>1C2Plh+At#)H!4_=toNxw)W8nO| z0LtQG_!!Q>a2zc570TjbD2RaQ;ASX+vbY%bN5J$RhO)RAL?U78B%mxV26HHjo532& z;$jGZvbY&Spe!ziACU|U9$;6wL_t{G3?5Jx7sHAu28L5$SFM4vxEQuaF)*A4i|vN8 zxEPK_F)*9~i=Be9xEQWRF)*A2i`|5>xEP*9F)*9}i@kudxENBSVfJQ1SzHXIP!=~s zC6vX*&<bU7Gju{(Tntm8EN+IGP!<=%1}KZ0VGESS#jqlVfx#2(%P&wCH^UDoi;E#9 zmVx0s*i{Ko78gTyECa&@uvk8n#l=t+%fN6EELI0)aWQnpGBBJ2i}gZTTnsZ}85quj z#pXa+Tnv(N5EpPW$U<3M44P0DH-j#e#l>I=WpOjuLRnl4Ay5`KLj;t?#b6W9z~BY; zQ3sU8&Cmm7aWQ;|XJEJjcEJ}Yi;LlZJOjg3uo!a!gvG_cm%zYq4J;-EWpOdcCNMBu z28$^|SzHV{2@DLEz+wha78k?X1c(c`88$*$Tnu}mEN+H_P!<=%StyH};Ubj9#qa{k z;%0aQWpOcFNMvB}2Kz`R3BuxLP=K<y7<!W!7;b`HFcHe)VwjV}z;FvJwgAfFVpyHT zz;FXBwjRpjV%U|$z;GQbwhzkUVo*<p*`W<(aWR-fS=<cPP!<<M0F=ee5CUa!G5kno zVDJIE)FlPN;%4xGvbY$wq%bht1>3d*%Hm=;oWj6x4=i>Z%Hm?Ul)}JpA1rna%Hm>p zn8Ltt2Q2m!%Hm@9kix)l8!Yw(%Hm=uOoiE73T1IIG(uV246RTW7sEs-i<@C8l*Prc z2Fl`Q*Z^g5G4!M{F!+LfbOXxbX1D`oaWS~1GcY^?yTA*|;$jF*XJB{?7K?<kxENB> z85kad#WJ8QE{5WC28IV<v2rMji{U{!#5Qh*Cr}m_!v`pfo8b$T#l^sp0aM2VWpOe1 zmNGEdGl1s61EDM~hMYzQhBUBP0hGnXFryK&`;41m4wS{k@UoGCL6jM!_brsg#c;8S zf#Dli>?)MS#lXVAz!1eCDmtyGQdMk%i)V+RvA2Mu|7p;j?rv!NC*qSb^T2y3^ind5 zVq8*_O4DPU^NUgyK=;=wIOk-h=9MV;WF{3Q7FFsMq$DwX{`3*F?;;+yi5s%t-b%qQ zAGA9Xx|Ns<dXWZns~}8Ga$=r(i9%6odS-D+YLP-gesLz~&@u(+E=4W|=&o0Ev(faG zrRL-(XO>iwst<HFWDe*Y(aiijQuRU?T^beT=jW2Dw=^%a#HctmuQ<O5Su0Ut1iv00 zNhj9uPfpCs%LfH+VQFe{i9(4{kwQgUeo-zL?l47GUuslLl6ttiaF}mZoLUlJT95)d zgrX?1B-Khm!5QMh;?%qpg<QxH#d@G9#~BVF_mvlAmZZXzTPc*}7Z+#drDIQDR<M*6 zpPT_c{tB9|tQ7o0eS8oBh%NkZ>rF~bQGiBXW?o8a1*vxXmzF5xrzt=d=Hv7)?d+$- z@07Zo61xXqxZ{o^!u|wZ2cuf7S`4B|OMgVhL1`Y&)Q=gG*vkYfJZ7M~0@)8%p!-$w z(&5=up&+p`CqFSo0emPdj{JhhE?T=cJ}5QUsvy4@C0i?G7Axd|j`7bdOI1X5vz0<w zY7VRnLiZewItyP|(%OGk3W>?dgWSCe$Uq}KzeGVbMMnX4Zh?YoPHBoJsIWv%XV~Md zBtKsvC$T6!6{MU2*;oZq%mqa;axt%fYAzn5FzPQWQ1Ih13)xRr3dpSkXtfASV+;%o z&^(0GdStV};RCA3iMAW1RfAzUDRx^aP|qyA<TTL13k*eQdCLmagitS0NXyJi0W~($ zGSk7krxjF-!Euiq7FG&wpz9CNl<6oWm6j;Ln@Wi(3YmFn`3h<IMcB;<N=-~r05|y( z^N?BrAT34tx!Ck51mqXTgU??=En^kJpp8~EKPfmSC#S+1rRZ`Y`SC&d`MKzIhC*mw zW=VWVemvv=C6x515R?jT0K(hnxXgg5!)I1_eo=ODL1J<$nqOdgVeNEW>d@MN82$)K z1*z~a%1qD9V_;zL$;?ZIWV`&lbcM`3<jAvv2DWM%2r@8$NDu~@38G;b%uiupK(DV< zv58?Z%N2BvxdQao7zJ>;Pyn?<)4-_-)lHy8r%MI^>4QWasI;<DP2pl-2+7P%EiOsS zEl{vh%}D`aE(W)v#N1Ty0sjy+0r|xs4GIb%HEB8usyPq>WF9EVK_snU!YB$*@<uXh zKMd4YfHsvuMxmr9D>SvB;svK#a2p@FhX?N^AR6CjY1|5y8zBvSkW--L5PBU9&9xA9 zAZNhUf%>&5{zEkr;Rv`61_p484O(P@-Jo8g05KY>2&u0zsut4cqE$FR^Fm%}Zc=Iy zxB$q=OwV9oKp9d%OE>Ys;48WaMIFOXH5*ipL9qh^X!Sm5PzN+f#KsWX{U+;w21qhx zA&3lUe!~%V-1W_wGiS~mcl`jOz~aV71A1M*q$~!h>Gb`O#nA1_6VUC;5!mhf;RQ(W zxa%Jf)gAf)G;+_t(Czx6+k>S$kfq!8!*Le@kc|x8z8{V^`hap60|Ns{Wm5o*<ND!v zLkNrmH4?1+2gp>Ia<CO34oEo*LizDV4j3o&!*M4Ike(f&eIpkibo+kz#4o@K68Xe0 z=)&l*3nYH<5y*ka5&{l8K@!;)aY$Tz*d2;u5?2J+hJz14-a<BsF#>Ew_92`S%;=7S z=(zZ(+ZDwMfeNsj4n7107P1vw6=1uwPvDS1_jU^-XyXjnSr|TV5dg`7EyD0TiX1bl z>mYKdK55**z`y{u2Hh_$0y`KO7{In*c&CL6B!}HcNOG8-x&X5ci>E+xVC%4W3P}#b zQy@7sPkq2+jQ}ImS6Hlp%b};87A}w!*u$8f(qM!JAr?=8<ZyWkNe;tPAUSYu@?eCV zTLz9JEEYuI@eW)L(>ow39NsCw;~kJ3F7JTknrj6ZN;$iEL7BJHSD^a~xS;9|6$tt- z3KDBR!eRXdT>5mnzG<#~!%%A0?J8gm&g>;>-M#{W5Dj0lm|z-Mpc(?e+M18>yaXM; z)*Z?b)b08v09Kf_9w>1F7jB^fK?IEu=>7uIi*Cbf8{!<${iQqf4ctR8_Z@fr^Z)<< z|DaOT_e)AAI0z!+nvaNBzX7|v`)TYU0fsYYLc8BIzu`IV`UO-{A9wu$q5goVPTxP> zu78d<6#V=D9~4^MzJIzWmi+twzuSqW+xO4$7Df;UEED>txoQtXiD<X$pKgymoxVT1 zLw^K;?P)&3((U@Ex#9pw*7r|$;DOH2FWs(RVBrTg$q}>#kD=T5PvgrDMg|6`MjnJy z4};tT#-ZJB8sC8Sw}gcU_U@hV_y7N$a~K#Hc7P;5ua1P)HJz@1K#us*?aC35!NA18 z(A)dv@BjaSurTI<#$xLM{uWa<28Q0LAZfUZZT~YeFccZ~wt_?h2u2`J^NIg2#n~7b zx_x;9p^j(i{u0m~$`b@N1B=D2+gVX{@b8<#3bL^K3r1{$+}QzAPK1w2SzjixGBE4{ z)tDC_^|px4`TPHWz)leN;6sMqDZC(l&<+qk`vja1_9WD?P%nry|6nd*eJKjD*Owy@ z5|WUh!t_un>&sUx3=B|%+0ZOvMd2TOz|`Br3UWvw*qzyjm|=W~Lm-ww9U{^EgQbM^ zWe*Dj11PHyiqcZnmx(OU0LVVX12Y(E5jPs23ysf-!aw+k86^a>FS5h<5Qjq271W^$ z%|F;mSYJM7W?(qpI^{1U+q~xQo(f_&A7bo;F!qAD%(bcAU^Solqgq-)LDAg{67LTE z@rhrs<rJudM^dok@Bja(3P5Ehl7b@`3P2^`>t+;(fGuo3z}N|4fE~h8s|+z1<dEJK zAY;JJ>~;k^<N~Pde|@z33#dFJm;zpa@>=T)P>RD6K0M7o7)w}Rf|gr#PX#GzKExQ* z?fU~9eEi!Ev>qtc0&DBWQ{r-fa@$HKv>*nDUGqW4PA~%!;?`h0_<OCHh)y^HAoowb z^Y{OMNV$!gBcSdFZC2{;1u1Gi$QX!l|Ap2|#JV4}*Nn)tTnnlILAjM0nc09592CT4 zW>!X8X6EG#pa=w&-=GTQHGg+2hz(AfU<SBoXRg)h?geqdNfVSuvcYj9(e3(!c><^- z0FnO0FUWH0^`7HkGoa>81?dClIWPlk9!sqr#2%1&t>B~%j>dxzS-V4jFn57^6A%R; z6A!-L^>PU)JNW*9q}I-fpyrS9f!BI37ybm*tvtll4ME*!1A4&?4sb$`h>DNv_Wfgg z7R+lr0;<grRox*D@RT{o7of@jRC$5epxgpV1Rypj<-ypXKmm7G7(mnZ<r$gD8S#)2 zSBAXOTriU%Co?aV0aQVr0oV6|$6aCdJ2<m}odKz*yFDx*O&+KiM|bF-?j}&LDF9si zgE~`?i~&`^1FG>m7#JBCQ1yY^hoCn6pXN6lpZEn_1ROv?sse7UfgA8J2`-2Pxb+9_ zkDy5)J5dIzin%)!t||g-E?5H87KVv4Ld3!D0Jl?N5&{qjutUIYZZrvG`&62bupnXv z+z1KneiImm2tbhcp}o{U%{2l%4E!yi@)8tSfh>@AQg;ZWNKm)yA81+uwSi<nd|2=H zPp^*v3phAi50nsD{GA5%VL>M0wnG7@9qM2&5-MU}XA$s(3Z)iszGiJc@&7fG@qswZ zaE2yVNc$8tqJY*iJ?;uhiwv(hyIp^PN)6W^&9y(6Yh}7YZBLGF*B{-be?IXGv>XG~ zqo5>m>h)EG9^W6Js=^nfhox4gJM>4lD-TE~M9(=;6oT|zczrbv)KKPt<sNYUfsAmV zxu@Heqxk?MD3^ev6023rwMyBc91`8Gf1rhzFWBDFAD{RISU!O)Jn{NGR-G)hD&3(R z2OqJ5^@58jkY0gq6uoETKph%H`<@5VzHfZP!@|H27T&w}%kTgHcY<!Df;N{Ct>tc4 zj?Pw)bhj^0r!P-;s6c0^K)0(%r>jV}uSBP>M0co6XQ)iKt3s!%LKZ`>?*~{zm!o?s zSfA^M&L&WlboYX}p<g;Dg366<h^de~0%k+A3Ams9rMH*i&;S2{P&1gIngeA1UxK#K zJ6nJJ{{O%GOBQ2qD@bVoR0$+^LF@u&FtFL(9wIQapruw9$W4LWQ$eN#VLGPUM}P-v zxf4rw01H%wC0IOM0q%^}10_m?vyJfq0!2M2A`k`2AsO(_O;C}}@Ztae|Df?BFz3(z z|DeO8LG0Y(bkHH?$)!a_sd**f`w9?=5mKHvz5$Jnf#UZAD1Jf1TG-<kBu!5Ig7qQd z7tBS(FPICBUl1D_zeb>zMlVR98(eLIn|feAB!htC3*<vk-49AKpj-?V>;|iX#ELao zFMsb7P=VJ9HVqu-ogNn5UwWs4QbbTUL|g!>&q?9`1<b?)OJ`ssoLE4G?^H0`g-av= zsxwdmW>yC%=>~RB041KFZg3KWD*_j}5GRH(@<1*3VCi;bff^&!?Ze2^jpPjC63@%8 z|Nj3cn1Vo2jgo@+<zY<(veFQ^KMhKjp!5TZh9OZtsK7HOspW&l$SWV3-zWrw3xrPB z2c51@I$d9My1waj{m|+9rPK8Xc&OwLr26V~<p5Rsp&Zr|L1XFsZCRk6lk1=E4iNX^ zLrY(dVm@$_5X^tj>B?bzvfGto7c&C`!}mx06ApgA$$i53cK1PW^XmIU{t1V_-{!s% z49@b+M_4*t-*kt*=?wkST>FKgl-=mSOD-k`28bD;7A<jRyyy;n(HZ)ox%LCZjAM)p z42WtI)*b-+<Ojqj#co*=*{(k%x_$pJgC`IIvO|AJFo%AD4f*h7DRjI3IQW1StO8WQ z26Tu1IQWQ_IrIZu&FjUW<{mgKI(>h<=Ijpr0qS6YS`R<0T{-xh&oeMEWc&V*VD|k2 zZg^gNgf!^RA_#H;v+Ead*c^PwfGo!Wbq}~5n|%UBjtlM*B4iIfK+((8?fc{4Lsn+r z57-<8@iMdP2e6Z}FES%LN#LancmVNF^A1o?i=hM*dfgL2?9R|9-L6lNhwz$rg2D`> z2Gn5yu{&KKbo)MlwGvoBsmAq7XA?*}IA%U{P6R0fg{Ut_Cpb_yFh(~YQ9vr)SQtR< zKLYJ-(4i2pkzLd#F}QOADVcr$bVG|}5qRy;?fa+GkpreR^be@H?g4hF3l|T_je#uP zUSK{$w+|OjcYp}I)B$VdAzv$ED4JwjMaZ{Rf_$wq<ZD$RU#kZBT2;u`szbh36O6tL zczj(3TKwWHdpljf9Cv*IYV(29okdWu>x+P1-!HK2!vo4bP8I>ZzAplMkxDICfzXZU z4@0`sy{P&Hz_}l_9}HE9YN7zxM3jy+R9)zcpkBnVy#TbtU;qv7Lwop;jy0MSAqIjc zIbj`bXxF?Kn~9*QA(%QYsDaqLl6{D|+ZUz~hk-jl;i>KV0;5gdd_)GNkYNHfLqQkw z{Qv(SR11N)FOb+trD-{-c??OVX`t)HVLej_P51b%0QD19h=^aPLW1!NRfjD$kjF<L z)3p%Gv6+b+#gOS@h+1ssBE@nG7ijhvqLffX<1rSV7{D{g5aZBnCOSEQPSXJ;0fsL~ zX<(412gvj`#J|{r4>`+2rqCg3vBe-#u5V!k&8S0^q6H&H#%~b-b>$&yu^Ee+Fc507 znTwJz5K6K647mhoVMM4!GZv9BK(p`=SE4B)I$@AgPJqh?1!(z?ulbFr0*<>r042ZI zoZY?;z{6Aznrk00*J^f$K7g0DEf-+pS}N!T?&}i>16&_~deyEV16XP`yL}&Y!zzlF zQ?NlUjI!kQ2|OW!+B{1mIj@ir9yqGREC#e1ga_eolz=no4*iquWPxbDGGFL+eE=Dk zW;p~&5@-qc^<IQoC}C&@aSUW6uDb)&f@MC{9SSq;BE&Sb^!j=?(E&<cc#_b*z><AI z6NwOaqlE&vEr6PR5o*yg5!hUm?2Ax}798NV2zYf9v;uEo1Wi>!oPf<(<oSXYE`(Za z<|55Gv<M)SqWg^4rU5zefw3Nr@N&50u5UnDzPVP0p+p0;;LQQt4(ay&(0FhGY()fY zg`Dr3=97$_zHhP^vKT;13_yz<U<*%<yMoT=0xcXn4qnjK9r^**t@&`=g$rUTc#)W^ z$R~cmh6$iiI?$@R8DQn$RdwC20-a5unJy$lG1royE+vtG4N8K?lSIJd&4Imp-+%@r z!4rv~))L104A&o^aX8QtzaPD@Nf6NB@*7yYmjg63k2;bY`T@Ms20Ef3(Af&I;}gFY znC|Wc@eaO}|HL1`auyV%;OTS$@bZ^W{Bd0%|EBTlALMTW-KqzgCh&dJ*#R2n1K9)` z;{=WTb^HEk-U$v7{uVp%OfzU?3}hT=G9SbS_4}dY-aop*Ba+q~pdjP#<pd3xg#LgG zBzHQ2hADgh{05D2hyLgWb;r8{1mOM1PRP*Zmn?>?|5+@(tssQ~pos{`@V4&{=;YCl zZV!$?kPA`60z85l1oA}($h9B^jNM&eW&jV|65@s*yT2e=F9>pj6QZk(=1zo%AS0=v zKf1xgsJ=hC19>3s0R<ys02MUS3ij7Tu;W~RbPIJuob1E{?~fDhPK5Q4@RWdi70sRa z!c&08;ra6N-~az#g3cBO#SdhB-1P@^a6BA6QGt^XsImt$KoJQZ3bzL5L;hZMP@)1& zLxa*@XCNq1A^Zl3ECF~p!UKV&7ZFmJ5d~VY_M;nZq#GVlNC}V!>H$X<P^y3qqaX&^ z$&NO}a0-%(5#B;_0cig8N4EzL-YA0wF?i}G^arTe3t#~`oy^G`EEz(A)G!vnn;DRN zNR=>txfQf-1^;3LP|=L&{2rbFYtz0#ntuY7LZAu~RNxUY|Ae%j05+Nj&gD;I53yid zA1(lG4I@TFp!1L@E5whxg64b}nrm$^tHc8sRpJwHmH32;RpKXp0auw%{DO^Ozkru+ zyQ+NR7i<F6$B>oGt~#J9bOode1*taysowzNhkn4QMYBM)a^t}rptTav+KU5eNq8E+ zeiKM*Sp~%K1`y{He<Uj?7QhRN1sg#^5G_q0SHWdL6}n&pNC>P@pb_LoxGc!+$j)v6 zxfm`BTHY?$2oi#t46-DRUk_~W{BK8Gs`!ycg<W5~R)Dw<EdPl=4#l0H_yt{GK-}Q^ z;uC))*u^lbU^KYpEy$wM9r^*x6len34sQN+yF!H;AU*)8@`Vb4BLbo-^h4tz(69k) zWL^d0B#@PY4WK3DSXaNI4*OU@S}fr9iUO>?@&MFc0c`~UCsA6oSMJUQ+3|^ApcO=S z`-0~FVXc!+MC(L>8PpW}(e3&MI;##^*6;y3rSAHpyJHV18FfzprKX^6*AD^RzVJqq zz}>koe*gauY5BB*n4kC~!D$N?127sK{Gc#){Q+hQK$8YY$QLREO-mr5P^b_z@qvUu zlPwXji2xN){QxV}nrj$At6?x|I&iBAck>Bc(~;bKqNM3Whk64`LkfT0jK2{D3*v6j z{4=BtP3^iFOOpzJ7~^kFQ9F!@sp&wO8mXp3nkOfvuEVy!iG==~2xjF4%H-hkpNjpt zZeM{;aQ}mZE*og|KX^S8TKx@;E5x!i+>5hd>rehLgVq-X_U>i*^Z)-&&}IRg<)<$X zQg=(B6WpHx6&s*AXHW;K#wLp)iwV?hLur{p*4{wUI%<Crv>Monk%8f*HK^VN^+3Q2 zG<<)63!qYnaiKq8s~92cfgr{~8i}AOzaPCmT#z+*Amcz6W4{D-$U)BV<>>UV$dc#| z1vf&Q4>-U|JJ6J|uLP(`+I%PiRul1nT8%t^{{IK}b}(D!pa23brIrcooeEM0ZXZHJ z{71KsfC$LEZYK_~cJKnKpzcOc_cWlp7o-;=4PL$i?sS1ytwHB0e{@6VDN&X!5xLrr z$(YdEB~T<I^3x#+22er<HBJ~n9zkm_g1Y-)46a{6TEY7@KwcPt^brb5AAVFzA8a7w zK&c#C`l!H6AE=ELP*We&SOhgL!Ht#fFTK5>AOy!Pq(_U~H3EehXsNhL0FpAy?i|)C z1Ed$6lt`*FXq99X7}5x)nL&|W!a)%X8rubxOt7FMzdQjoC|@#ylAr63Zq)LG6*SL+ zEyaK)G!TUfXe$P!JJJA}#=w$dkSlCZtP_!9uy#&CdIwXAfeuUJEMu_M&qVA$h7Y(3 zU{=te4iI%KXwWb&DCL7qJ?8p{2{gnD?&5&T&u-B8>k_C(!9%{F{t!$pXs>VM!8NcR z?=jauEXaep%{5#+45dWm*q5Ng(Lvh*p|#BiXl?TWvYsC-0~%vQj2FY}#MT2PW{?^a z-?kjE35X5bJW#KJc5s9C3x0qOWqyFIgZ}^-D@5$_h7SP~X`k;0xY@^D7$No{4R=F_ zBtJklCV<0C0JK39uBq3D5mM(9X&;i=$6dG}_91Oj#}b~P+MJ%@DFNyV!iLm8&^|mh zs2!f5V*x&}g4;Xb^xu4h18Y|vZ6hmap*y&>0dCJWzk!V~p)GOzbG#t{c`s`S@?KUD z2b^R<ds#m)lxTy-vOGR?`hMvS{n8l<+A6?M!k@(q+wRrr`r$SEaaT}r3|a(p+~EsY zx9^|kmylEint6W70rm!%sesOGJ|ci<Pk}d=K-$yIZ)C#4!3}6!t2LpE9gn+$?aX56 zb$tP=Lm&${Uvy3c1tQ1`p!p5ZU_5vQ5v1Yx2V7|IxAcJ)Re#B1>~{SD+PDDA7=NHS z^-s5lOdv=bxRD;v4QV=ehkilX_yHMi1utU*4Y&U3#x~qaMEL~W3WBj%Cq52k+~zR9 zJZQHOD6APkYcgPK=5Z~M2hTSTn($N@4NuSndMLHhr^@gMPZv<<sCLgzL0mi8dqE4f z9~^hR0ZQ)OzBf934?qU&TsgoaqP?L9f_hyazzP8Y&?M>^lu1<AGe`r87Z3x9(AEHK zVhUCy^!mO5cSkV$89LxDD@y0Q+x5nPH5r?axF8Bqq`i~KV>}O#)^VLdn&&uxBo1BU zmzQ4-TjvLz`GD3dFbZ6rh=f6lXY^(CprZH#EEXU|@du=$_)8}^+(2b2G+<#xaVxYa z233H6U^Vz3Xp`bkx04CDfJPY*0L>@-K`yhgE_Wt%o({_}0BU7>7}1AA-m`?K{KdO| zyTqvb3voU{OcaBP5NNOL54;hFV-F$Pe$D1uf&aBcZn6YzQEsj!u5}Hny{bTlmr5ZH zHu}?e5Z>y49rHR0bnr;G?;mhG0KD71L<w|a1my4#frAe~XJK@Af@VILPk<G@R)4KZ zxZ&M=;y<eA523b)ki#G3#9AV2<00c8BI9!<0|Nso@mT{3EVTHX0_%spj(Z)08J{Yc z@i`F`pS?azkVYZJF^Vlc6B(aF#y@n7PtcqxB&(4cpOBXQV2jT|=^rBFb2BV|8iLC_ z1c7g>x&Wx;#g?+?keyR`APIu<vKQ25pmKg4a9?2=Z_@}45A3ZyvlDb&C%9dNm^VjR z(Sfwb@IyCfz6Uhs#oy)v9vJ=5-2vjl_ZWWYZUXZ`dkjHiroK-=y9A%?5<uB$c%b<p z3;(18-*0dqgtfX@I$iHTXV#i)?=Y0;cl+My4t>%oh?JgOp9EwHbo<_EKF9)TBzK42 zX+Ff#8F~TKr3VeYGIYCM=yZJm8+`D6(CPc4x%LHQzu^?n*(Hz_o1jgAZ$Puzp>IIr zU%qdw!QLoV=nj2z@Db?jLgope3LvQ4_szkFEX=+yAc^Z_x9^AMogf*85<Sq^6nI%l zr|Xq&-z%NIH=1j2KnELcfYo=po&mY+45-@+QtkSp6Re@z7Zj466G1_>fw3EL(pP+R z^AQuIhA|6dwF7i~q$Di7x3*`eETX#sU4hf-3fc+U2^ywW==A;2Tr1;H0v#X3H}sd~ z&>bp6SRE*@zElK9w@9b!6!5_UGkQbk1ogTi8qK}FPXc=pn=UzyyY_&54Lazd2fUcQ zr@6L=xmK*(x2HGc>=G2cuWut%`}TmA)A@o_v($=phxYWkT-_6Zd~m_*+r6PvK*tXu zHPf1F=P=Z2f|ClqQU`Pf(d($!Vco8CKs_ID9Pw{E(R#8(25hG59B^yy2U=^6ICBY2 z#Wf!(L5f)!h6$kEx1cZrwa39Ld>I%Ro*?yYru_f^-vgw8fq|i<fT18UB_%U2ouMGH zC^5GfmM}nt6>R*e29!QpcFGfxK0Js@A0EV~576-i;DaZ6!0BTGC_M3}j~0;EK<T3e zoIYBbYg@qSqop_GENa>Ur4N{D-xhHC0I3G2kCtASt6MPA#}$<H)$7{>I_|0QAiNpa z4M{=J1aP4BK#3e!QRozK?*Gx<0m|dOK7z33AGMM|4N4M7BbWwy{{R0U017AqX#m{6 z9gTm6<|7=S@&QNu!<$(|$3LvOI3(gf0hIq2?35rP|67#!6ZTS;1=0EcbqzT4uK;KM zHOE~SfYL0emR$g@WfwHpE&ye2*9E;kM>n8U6rjuvQ|-C{Toiy*gEF`8g5Hp`Cs4BT z>)XA)D<GK}KHG+6>;w6vuI3{ND47nvb{4tZUGe|_f6y7pAZLTiTC_42oWBOL{sm1L zfP;82)xYp&EoOx(2dV(N;T0;ZI}K~36Ha`f4g#rFD&g{!*g6#)-w~kvv|^_i5&6l0 zsQhF=YJS=P&QDv8yRHBwOi+GW0nSe=nrl~p^V5o6pQAf4@)Jz8>k4pwf~odh(HnC1 z0!Dt?0Lf4AxoU#>DS~i*+VKDXf7tnUi2TIHz`&5m1UiXag@J+LG&6|h%D}*In~{M* z1ax;Pg9KPClYxOj8qAu(z`$@9EDNfu&x6H4OEMrVDMkhc2n%#<5rpLp7fXS&KxZ-D z2J4*)7h4Bsfwo*h^xlVy{f4u|nP7H+F2seH;?Bgt0AYcA1JPRxS2q*R0$rL7kp*3& z31Pi~%W^QoOp$@J%$Z@f1;bf+%nS@~!LILwi!Ft-4#HV?;ij;$FfhCV>rjHTY*`o> zo`c0ASQr>CfmtPR)&w|fDGTIsK{kf<EDQ{e;B(_ar_k<Y1jW{276yh`CQxi$g{ynO z!oc7JRtGvrb{AOP7r44#EDQ{wh5sT9LaYo755aM%%*w#v4A!9wI`S5*!<-dnvMno2 zhYu?Q!)~x_7+f}ym4U$ptT!93w-hd04cFTR*E<C+y9LgA&dLByYm98Lv?jyGz_1nU zJ}WpYl#PMm4p=On4d%WHY_PPufsKIyw4$4hVHaHX92)}zC`E}dJYi#C0JYuN7~Zil zFhIiP2VC7hHkdDk*kL*}*%=s4fc<OC4ztY#E*rtlz_1-Gn*^6_Vu!h)2QGG!oq-_` z970#w85oX&UH=QNj)eneau5dtLl9V990yEYGY8DPUbwp791IM>V0G-AFm-=8Vd~hp zVCG4Kt{?%cQ|E%IbK_!Q03Dht!Vts-zMYtXjUk2$78+@Ay*XU4(AdKTGx-=?_BIy- zLm1fP=WvtRxM3y>aWgQ4gJos7VJ53_!(64q4KvxF8)kAOTy`2a149H@?;>uPn~%fQ zU4*NX=V4%o1gq2LfvIEQ1znK|$`xF^FndLKVfIS#!tB-JWnf4JmwNiV3=GlW++)kj zzz_pwdBJr=@G>x@fz_q(GBBirSp~cd3>jcn4KD*jCYaU1%fJ9S;fal5Kgc|=tB&w8 zFdPEM^ktCAV6hu;u`eJyz+yk)V%&TT3~^vF0X~@CBt8a)c(7PHT<j7b149B>>^fZR z2_MXtI{XX_&%kNYgP(!nI@kq){0t0<U>(u?uy9G`hv~@XhlR@oeg=l;V7+VLdbjd3 zFeHKX?uY9=3D<ibuJ<E91H%ijUS0v1y<!3k49Q@<3IZ^DwFF@H8VJDb^?{2C3&PUS z6hWA}eS)yu{Tsvr`zS^TCi@u9dLzWZkOH>tn-I)424R>wHer};qQVRe+2DAS5{AXT zhA=GlP2oCRgc%re!0G~o85nZGtQcVi2GCYSHimh^Fjw6MvB0h}5rMgWrU=Yl1yLAF zQ<Q-r73@A^QJDK|;j+%6F!zOvGBD&rY!ijKFH02WzH+#Z4p9aM(2=)n3{ylI7z)8U z7Kk!16oFayL}Bie7Gq!l-4ZLpP$LF&3$r+k#UswZ0BZZOF^Gx7T%`b)RTGD~%2b?z zp%`qkl{m~*9^x=pg~D~Dh%+#hfYlX<Gcc5bSvBGe3}s-Jx&#Bm7I0W)!&wI<7#Kh& zkBKlmg|n0;VYRM3oD~gcRl-@*;jAri)+I?;E&f*$R(~i;!C0YEFrRlyF))DII&2Kv z;bKRm7#Q5Zar6l;_FsyD!5u87D-F|YCC$J98VO=!$bgHLN;5Ecg4HdCi*1l*VDJKq z-Ght0mS$k^28&6`z|2#VVPNn9i-o|&5@i?|e8FP<aIrZu3=Do?u~Trd>oN=s{$Mdy zS(teea8`mW149V7Tq}pO7RWL%1cSv+!dV~TEGapdtTUXI4QEY(vsTJ6FqDI1b)6h6 zMeLG;x!{Bx149K^_KF+>LnWB?K#qZ-3e0klhq)>o&T5c{*}D?Xx(H|eg|jpjVCq8P ztOhu1F`TtSfq|hKY};N1nEOsDz}$C3fq|h0Ec--(fdSN3WMlZCz`#%k77I{>xi1~g znyd)3cR!r<3eFN!g2_6;S-Ei5OgL)~oOMx&fuSC3+chPa`yMI5-1k9=fuR8``$vg^ zp%KjDP-b9g0<*f6VYZ!tvmPrmFf@Z@Uns-O`=Sgpk41%np#>}}pu)h=3TDZuFfg=% zS;Z<a|F*(e=T%^K$g09vCaMe!?O+|2sxUiTRbh67s4_5gfMpX@85lt4$+0oys4_5g zfyJ)EO<`1nnWqD1MZj4taMpS_>xdcyLpRuzlWH(~ud2c9eWJ#|&;yqJpvJ(^3ugUM zV_@h5v&7UH82Z61V|7@W7^%*{paO1jr>iqCTm_d%-RcYsp#Fvk!)$d1205_odUXZ{ zMKJ4uIs?OFu)6>1FnbL&VCMO1FfiN%%SM32z^qCQ28J_W)*KB6hR<MAmTNFDJOQ(; zG-0O9hqG2_GBAL8T5JrPG+|}&9=PlwO;}m{2rlNX1v4c;i-92vTna>K!StrUWwW$k zdb{9a@8PT;S_}-?V7*M*Fugq5Fq4I}VS4-FV*lVQb{z(W9I#$N9hhEe9hhE49hhE6 zxY!0bYo`taLoQhFVYuG2aM{any`SM?NxCqTvvnC5K-UYhF_h}U?5&5(w(7#{ovzEk zFbN#{b97-TXO%9j-r5e=aYUDaVKP|V1ziS)DPYzeT?U4!V3wL51H&{h%S{g!=Q(-| z47%XBtkQ#}p?P|+G_+2Sfk7QCdq|IgK?}@M(}$%YbA4Ey?5Yo|>5}vr7(Rg2HNaW( z;H*7x)-AY>7y7W8?w39T!&R_eE&~RJ8(@~Y0RzK5FiYQnf#D&TRd2w+5CksyHyXe~ z@__-&M}G}qshGnM<~~hB28OfXRP1U9v#l2{w$Tt~$4*0-9c)H0J1UJ}cD#VIJ{mDF z<b&h<w-GGfSdC%oxQ$`)rVSUH1!pZbW?(1)>s@OM)4LrmyBDtaE?msV1ZHxm2?IkR zSZ}-uOm8M!Hs1thZ=(qV18BT}jiJp1mR_cqz|zY?xQ-1b3=FftDPoTa1H)`E>x2md z!yGW{nF#~KTri8-6c)OgrVI>b;8-v>g{7BhQ&@V*Hf3Ni0L#{!GB6l}S(8m+>1C5C z%pdnnVR7^lE~a1xvm?Wd0erzK8$+!b1H%n)ylppQU;y1v&BkyBF80L?*5=|ghp{xx zVRp=dvlg2(FqD8pZLK*h)V9NA_nN~(?V>pY!ve5>ubIO_?TI-o)IP#>Fjz1!ECj3L zv0z|W1ZFu{z+B&9!N5=owr#Ej%=OnT7#PaHVsGGLB9<^W>%dttmN3_!g|n_%GBA{b z^**qKx&9Sg_JbwN^(<Bl42!{T;k1IeUfc@idKD{}$tG3|3`@Z39IO}^mV#LYRxsD^ zuwr1S0NZxf3g&utYX*i&u$YWBOw7$1=K44|tIrx{$A37B!-j#O3anSi2IhJh8<;vJ z8<^|OY#11pf!$(l19QEn4b1gna2+W&3=GS`>I!Ta7*>E;Z8i)H>%gofHZXsjvSDDb z2dBRqHn4R1#|D;8d2AUNEWxr0whRn5V3wXO1A`j4REe@>U~mMpa%>qG+`z03TLuQu zk_I-0NwzS5%&~>}W05V)A4hB%7(Bpkd0-3cLB6zQVBiLa!DqPMzi_?Gb}+prb_@)j zV7&o$Fujp>3=E*nC2S1Ib})N$?O^s6!}Tt)V_@(C>pcM1d(w^pG?>7^#&8*~_by!T zW4K-sdj<w?uwDaun7x+v3=Di=H#^(I?De&W*&A#Rb90M51A`A(?*h2qmG%q_{9wJC z;d=MN^&W=n{bJ9+;0x9(-~h8%(t&{iw5o%RLD>OjudV~kUSkKCy-^OZvb`2AyV(I2 zt7jcxvHI14fk6WtgJO;h44@HK5e7v^1_mdvn2sX@1L%wa5e9Qd28IXVlE%>yW?Ppd z%no@cn3#qW0|RJbHXDPH6U==!a9JlOnES$<7#Kj~v}_E~PO$Wx30GI)#K5o>?DG~U z28L~5)-5NPZTZeH+bWzH7=*wf+2jnftp_eU$r)zbGG_*c?O;<@JHu?-30HT*nSo&k zSoVrD1H(=*OUngj+kO|AZ6{n9Ktl}-Yz&uNV7A?X%RX{}+4c=23pVAq3(Pi7SC}ah zt_%#j!Lll@3=Dg~tSDDlzU+5}wVLOG#K0kL<Ob7g?FJeH2915Wy1`uF50?#fgSjBn zje%h=*yKDnm<wv$V5LPHT*nkQ28MlLbqm}W81{o%Ye1%eSv%Yq7!HD2N8A_~4uM&s z?yzuK<_>e!dUpl}(1ks03_IOnt~v~tJ?Rc})eUzB2GDI*Yz%kZVXk@wSNFr6f#C?) z4i*mvhNECsfd|ZvRu2Y-Tj0=`02kZl!N35TC1PVZ-~qGu6kPU#2h84Q9t;fP;8gMf zuI?9H9jH4G87WusWMJR}r+X7m1_oO&D-tf2<jKGQn&V|-$nk{PR^|zFUyUcswqCf{ zHctiy(2NTk!vVOCQ*hY}a2;Pf85sD%wy}7@?A7#wi5Yn@FsOoEZ{r2C*UbxNua6hZ z-dMO;n->FvBv{7;xQ<zH*#&SN+q@VUq`>M9z}20CtGfVK_r;5WK?LGHZ<zbEy<uV| z-V6-VU{mb8Vea$rhPltr8|J=vxLBJv1A`h^#{{^JS#a3}a2-dy85l&t_FjS8`x`FC z;={n84mO3)2WGE?56oUUADF%RaIr8S1_l|hjs&=lEVyg|Tt}M^0|RKa7aPL_xVl+z zbqnC?j`%PzNI~4^0}Gema4{BN1_n8>ZG66P_xZxz=L>fqTrA9&fk6YTBLS`>3ocs# z*D=MHfk7H<?-E~_y{F+~S9}>5G{L6agPZaKZpu5jDgWVOYJLn1pw&xk3<iEMms<J3 zT<YKlb7`0#1A_wC<Y+$z21PI{!H<DK3CzlZ>n(xnt%B>F2ht06^EyA6o3Fyf?)fn= zD1%LT0XO9n+>{@1Q#k!$t}^pyV9)~VaPWt@*$XZk;16?ii9Z8_BG}#*f0(_i;bL3- z85p#|rtE{8asqD3Ik+kJ;bPzX85oX%%O;5cSee}&02}XI9RR5>*%&qiKw3*|42J?3 z7}kSJE~7vO234?Ik^*71?)*TQk4^-_%zF~Zz@P(m)w@8L-+sW={R@QojVFkKK^Lq} zEC{AfAqZxkS`bW~R}ce3DA?X8IIAs)fgubmwgt{Q9mK!@y3$XC;aU&_gC5xA2XK>L z!A<@EH<>LM7N+XKFui)g3=H~Uy%xbRS2+d4T;&lAb5%?*1H%b$NG1luYJ>b>SRGXf z*U=Hoz;F_*Zb~o%!znOpK`;ZuX)tR|FayIGFzW?K4BS#>31MI`0K0%M1m*&X5SR<( zLSQb?31MI`1gkTHt8;*>bAzkP3W0@R6`Zv!1Qvc*;H+nG*6$Do1~G8xvWLP#NGlX3 zW*ExAU<9_;IuzzU*HD=IyhCB`iw|XBI1Bb$N+>LZib7!_R0G%16UxAF4y<lQC<DWJ zFl$LD0|RLGn~h;ZC<DVqu-J=GSPEkaV_+}_yMQkY<^qW@m<!~>U@p)JV_+}=t22YE zbAYRJgR9F5gNG2DwJZ!CLU7hIIO}&91A`1Cgu>w=6b=(J3};|41>0*K4s)MtILv+C z;V}2bhchr-0{bl`93Dd9@DPIQ=m}?FxC~Y|Bb<TZ3YfJdoPpsgn6)9Cf#DjM^&%V| zLJ<rMmS7j~MZjDj5dm|7Tm;MoIuQ&ER$z5zaCHuFb#8EV%@MHB*a&Bxh+trF0EfYq z2nL4hU>DqsfcfKj1k4{F;pTxRLvMi9@kBB(+yt{EA{iKNfmt4rFxRI<GBB8dU6mIJ zbA3f5%=LAVFxU4)GBB8f)lGw|TL4$L46g1}BrJY!!C7okFdvz~S>90$3`$@hg-5|+ zwF)lQ7{ve@8em{!=#GN9YHAeBRkNdDu38_(z;GMvqb*Ue&^QzY3ym{y9e1J_818`8 zy@+C9xC>@|iDF>52WBxuGceo-vn--v;Sv(fz+esbZ(KCY1sTyW7vx35Tu>9uz+eMb z*9KQN0j_QuT;1hpSQs$Iz*rJ73=FQ|Fi?qMV0Zv_fo2TMALcPIe>ld#><x%vV0Z{t z7Zbz4@CeMxh+$xO3}%7Wz8~ax$pG5(7^1?_>%`OT^}!gj<qdQm3IjyS^-c2wM*bF1 zZ>Tx-%|GzT7@*a(VA;c9E@*olnA;6A=L;5do*<d?1Y!=Tc?{Nw%bYh@%)#OwxC3yR zgUvly%-H}saRwA1=;pwV4gotB>}Sw&MFbDD*b2gfg#czq8sF}AeX<kO$A;g?WPG6c zFm&g{;ec+}JFwjo9Eaf{c?Kf{*co7JSU|l7$f^TStMV5(RzYp11aK+=t$(}*ZXbZ= z_aJ?2(9AzX2WT$&4_F6i+#jN&gMonoqGLJ(tXB?Ndj`?5mVtrcA6UmG1_lO*4$vkI zh>rVk9iX!qAUeK+f)ZSF{(|d}V1(JB&Iq%^lo8Up5n*s<gpCjcGQvg;k{DqrJDrh% zffH<A4kOG3pcP=-z`k4sR|jepaf8)?W{V*%4efpt3tH{O0CE(l^8|7m2!l`11TmmE zh?{`{w3HvTg#RN0149!7XkmprXzT&1f`I{~2c!msK?@Ne5{&WjWywV)@nwne#U+U# zMru)JT4j7<QF>`E_}akAf>fL2jKm^^<ovwi5(O;?ZO0(PAOuPm5Mxlu1|bF}27f^Y zhEEKTMm$U!<c0ti2Jp3WGEl(@3=9n*H%($-XaEgf9b{x+U<WUV0kOClVi*`0KrAi> z&{gjs7B|BQxEOemqy%{H5a#V<psOiC8&ZBiw(3A{5p#WmaZ*I{5edY4LQt<9?6x0B z8zDfO!a<=6lE^PD2}{gj$jk$gpgzh)a9o1Q(pTWL21><{H8!9bZpd0S&<dZ|U|G<L z4bTcaHt@*)Td)|&X!J;KWPtRsL2@8#L6Ho~Gax=Fk_8zV7#tW-BN?Ozqy|JE1r>iF zjSP%sMFn~BNtGq3@%cq5sYO;+87297Hko-PkZ1(uNw7i`LZLy3ftP^?IT4Y>6=2{N z1RXj68com4D<~~tuwdX2WVB~s!0H?;tN8dFBP%PL(!9LH+|(4^lFEWqU2q`VF@Veh zMF&VXScpN8fm;w1DIgJOgh0|9IMIP(0OlD`Sb&av1tmUE`wb+nz{t=53MW-Yh6Yey zOO27C0n`drXJlvqwY4-DA&C)m1}P*lf>@Bm2x4(DfYytHVv(C+2?GNIh{eUQo`Hb@ z6rbD-pbd#278k=l1_lODymK=gg0i?6K*!62QVKW2MFs{25Q~cebS)mpWNrq~?FS$h z7w81!<~IYKxG%vI_ZM(d1qCg(#Qha43rgJIz%0<T)psxplwhfyxX<B9+<7JW83U8J z*|8;VkaLJi+#ubki5nzBdg9iFCT=5W;x>jRZWCzYHiahcC?;4*3t~YMH;4sE+@M&5 zByJE3lDI+f2}#@_79??l;vJH>K`cn(2Bj28;s&uGi5p}xByodS(8SFXcHH#~X#d!8 zSL9ofn`=23O4vx*ai7=i%F}GYQcUEAcKdE$0i;UdM;1$O=#QXoSB`EDm@rRwC`UI_ z^8psn9#Y2cP@Zn4<`*oWOK=&ntWJ+>KEi`kg&-X@1S+;bIRI4blqKerrh*5gyunpH zsM`rylxxcXYXE~5C4<_SBH%jE53CNf91)@pwD15@p%gK|8tBao3=E(GLxf=#18k!0 zFara_b8zkh)s>L^dKGR5=zR1SU|CSZ=Ovg0awB>!1vP;{butKp+}|w-8Z=}9Uo#J? zf<PAmS))}!AU&YE9YpUz&!welX{kk^yr~0fQb1}SnBgD`K#l;>3=AaKKElxIMqZqO zAv3QywWuVZ1YApi%m=M9hn~{{s!Bi&7tjJtNN&?(;1K+82dkFAPQ;#H!O@4PjKF%p zG0MkaDF_-o0Xbbl05ln9DF|w|!uX(?3Dg#900}@bD11QG66gqTP!$OhKFr9_01CSk zj0_E+hQ&!nh6d1Lx>Jk{4WI_`Sw@Bi&@$t5j0_E+N!Ig>3=MS*;OX&(UPu$W0kj|Y zJ|jcJItK7k_lDgJ;3@Tny$lQtPoOy;v^)+{t$|pOoDX7gG0bLQU;w2DZie|#78k=R z1_lODYT;%8nF(TXG3<n<FKz~qxuBHB#o)jQSyIK#0NR)hF%NVUCWyriuHZl{E`|)a zI#81sA_i{9VLu!P<RJ#*qn)mQNG}%3!NmdxvBiQ1^k^gj@X<)1?H-`re0O6%WO0DD z|AI>dSbvA7+n1wTu=x-NsFf+u?aR|G*!+s4+m)wN09*Oc?fb|0EYw61>?H+gGZ?7B z1WF0uqy`?Khip*+HBKO92B<3zDGNZ$HX&sJsF?{VGeC=;A!P<=c@sn(Xn_GlT{XPS zn99Jwa2Z^)uYs2tpz`4fxGcEE0PCVZXMlBNK=~bF3g{HIr(ktFj0_CVz${S4MK3+X zz~)1yXhD8b-~mnEAW9E&Mg|5uw9*5l2Q<M0qIY30JyP;ZlX6m#3J?*H;ZO{62ZX86 zD#XCWU?uqH|NsAD3{0doWl1eeE(?MR9Z-J&RG9oFu`mHeJXjCBFaeFCfxH1LOh9Yo zV0=(v0&e6YmnNX_!d9Aq!V*-PfJ!G&X#(0r0V+*E-4Re}0xG3Ir3t9V2r5n5p`{5Z z_upY;XaF^2L8Zw7XlVj!x;|!PXaL<;`~+H>fELz5N)r$ZQksBRkdgzGJ|HCrhy^J* zK&b~(a)4M|;Qkya<#98B&M5$~xETByA(Ow{48c$q7ehRh#m$fmWpOc7Kv~=jHBc6; zZGp9Ek;MY3<w5m5G&}NuMVb$?bcb?ua)FLCgi5er=_n%C@}MCcP^>Uu*72ay8?wY3 zw0#NG;t>HaV}1wDEudI{)XAW&4v<_0s@dOzWkE}7K7d)E)Qq01KrscX(m-+`%R${j z(3B&H56Yvj89<wpP`ia7Js>q8`ZQXuD$Pp*S9$PS8PdU5z^t4>wm~q-l{2W)1r==~ zGN60{>I)h$a0oKPn#(XZ5LNAhb%ApVJSTwqBoLQD#y&tf0lB+Z%gE3G@_#2I18Aio zLk}ZE1E?JBXJlvqEoz?tP011P7BPqgNy#7<7r2uLiW6=I(BKk?#Rcx<fntoCVLJl@ z1Bk^1?&N{un494k0|Nty#l@h*$iM(Hg`2?u$^xg*ZdVRiT>@)XLhFUt!=SJNX%PX> zT|*KGD1y-w18Ala<Z+OC5DiKUpurT7T2NvDH40qNidc{ykQ&fxfrBI^29OPy7?c=b z@oOLii(gRx9F$B!Ew3C%Z3d1m$e<8xUna;jkb6K8268iKrVk|cf)O$(^pcUG0aU!d zVq|Clx%V|RqChivkRk`ff<zRE#l-*`-2<_>8Lluu#_6#I_FYNi11NzV2_Aj~EfgR> zutA=1#}nB5aRoL~jfRr>Kp}yN@rSn~3j+gEc!OG<lm<3vY7`RKAQmLBK`cmMgIJKj z2C=|_-TX!bIwFU1$|0g5mj!Axb#owZ8ip0Z9N<D2+7A1G(hkEYjd8W9;N>!?VufW5 zNE!r{0+1FJs78d8(4f-z3b?HTstrGaOJ2}WGo*wDEun=B4TD-wkkkPhbp8ZZ2RhK_ zGnfTRzUbL=9s^{F5=agdk)Z4e8pj3kLD>`32S86TAUz;8Ao>KUDF&2RKo+55ikd>O ztc_Z9vyxnNgW>|L3sH1~TQSIGH^|SRT!dbBgTez;c7swfsO$!9Vgi-jQ49>AyClHl z#-JPwNu?kbB$a|#ka8LnN04$F#DbL5pcsUd(;yZXcrXqW``iqmmN1CL#bCq8zyLCZ z8{E4AvA`)D_2QG`;NS)wnfw&{c)c701Gvu&R>#1=07?g-1(UFJ06Jf=1g+!%=>e$$ zElT18tuFy<h79F8C+6fNB_?Ob`(zfE*u;a!Q$vCroxNRy9G#t=o$Rcvz+wc|fk*K{ zt^ga3LV$`Heg<xE`}w>r14BthW-$X&5e{nMz%+o|dV>LVT>k<iLj%bD7okPAEWB<7 zu^{mSVsSBm?n?o&xEVmB5g-;V!gw(QX!`_ey9nfNkQ+f^EJb`66BWSDPIg3w?ktqh z1(n#OhOHnxY(XqY*n(JG44{!75R01u)TRZoXc4xcF@`og>6e-Ku!SaLqac5OU!uYp zO#_i(4q7UWNYUhkIcU*0q`U#KAYl$-aWR0-Ob4;J89+T{5Q`RJ4jO@J!4u{j#D{sP zpJ#|su&ZCNe-KeYj;fx>5C<)6M}#<}8Axh6SB9r^5DOCKAQmLdK`cm^gIKf(b3)~` z2=QSa=ITRKSVPni8OB>tN)qzI7<AYOBwd48kT3?ZAmucO1u3UNELw!|Rt5%!20ZEd zp8~AbAy^lN`v-Xk2RJ&r5*5<Os)-D5cRR}KMbMTJNO*%-knjevxEMh9Fo0Ox;1UJI z0*5#1CE<a`T|a;(P@s)#)MGP!KY&Vo2I!%d;KehL)8vl1{$T`jA%}~BFP8EB(0mYb zHWKXYO4koa=R%_1IRQFGXC=7ZD+NDB2h^el)i5I9gH=H3Lj-)d2dG9D0UyTz%9kPx zpm8fmI~vsTKyNdH+SZ`)c~~ri+Df_%EDRtUL2YIs@TegxY+5=#J~bmFF)t-2wMfO@ z-T>U}2`NfU&Q2|g4^GW1&M%6GwStNr90DC(9U`I_To{n_m*$mc=B1>S<|XH(mJn@* ziV;;zF{Fwqpaq_wumQDklF;%FC_F(6V?kRGAEV_RTmc1bKH`!F=MLmJ0>vXFz6=^5 zqpqN-c~FNP)Pe-H{F_ipCeXkDX!{g9cwreR9dR>&`T-yo7efsL1H&37&^9PgN&> z?e*1QG0?aQh{eSKx*Tg2SPV1{4PtRIlrTb;8gqlk1wnRjF@UxtgG}aTxWLH30Ag{0 zF4TpreFCL=76cP*ZP^cul}sS73V{a;K)aSCz${P}kOQ+o>!%@|MNpKmfG6)j>j~iN zd79twU>%n1^!?NA`ls0fbbE~NpKif!Cl2sgs(-o#J43%@@pQX>fejWxE(iG0Dfs#< z>ZBtm1UG~Gv7k93+&K(1<_L-bNQ^;xBcPTr$ZMcfbd3SDDG{}$4AKKq13J`)m-t!^ z)*Gn<=Sx^d#Mx~DCoE*A!JG)04+JG9&~QGyJ0i-!3@Zn~v#Owt6buXuAa$T2*_*Zu z40)*)B@9dqY|yR?sHF!w5D8{5$X}qI3uu8F=tw7!_*F)R29RH`F)}oOOuWv>&;Tmi zZZI-5fR4qu37w6*#mLYA3Xj{+9u6o8KuU5D3sRDUSX>P67#J8pEN*a*7sTRX04*v5 zvA7vz7$LIY(tRi-5YQM~K3XvY3P@0(fdWL5_yhv3nF*#2SYL{8(t!7+2qcXq=t+Z? z2?JDKKoSOs1xXkn78kfv24Zo8JHa3p7lQyJ0|SV~%^(704Vi=iYHhURNf=DTCk(W1 zos|{AM1rP+$g%|95hRdclI+mR5?Ur0(1ue;f&sB02?oUC0{19EEN%wSX~!TI7XxS& z28hKCo@oHFhD?Ha#=yYPiYLLa6Q5vEJEcUV7gP;ICKq@wmOyd=ZQiD1)uRIM7=u`l z1OsAmG5lj-U;weW8JHL$EJ%WZh=Hc2K&&B?U<kEMgo#fuke)RW2?e5%$OHoKf)hv} z`_U^PNN=51Z4*#K6;h&rSdat)VnNy_AQq%;0%AehCLk81Z31EqnFR8Pfq|hBPl@su ztqX*wO^Q4qKtwV@R!(GMfsY>$NGzZu9_Uz_fKEPuBo+`0l2|}2E(Y*~6}Za<Dpw$4 zD$rdI+~A4`A_ls<<hbh}(7*(!X9K$0QUKIAU_iYQ9<)&&vdIH935>hP0@~UP>YadE z=O7Fk69A3dgTz2R7EnLY8!gg7dO&JGbGjGMA|2MT^$Yd!fyFGc7&!VshJ!3a#mLhl zdC0>*ptk9E_}&E&3leZ37C84H&l&mtfsM6*F8DkM8HE8eA>%W!yS^}k3shQ*fOj5) zIu9b?9lM|mDgxfa2x>QqFd!C_g8YC!zyg{)1Bt`@g&vro^Ny3z0u!VM6qum>aiG)V zAbKGKaIk<wA8kPoSaf+J0~uxH02IieGdLir6U2f9GKhsGkg+5=A^4sj&_YYxNe(pS zh%b~tmqGZWg%U^)D3m}0AGdKNx!}~IGSChTNOKkub|6tALu3JZvg3f){vZ}4L_jPo zA=3QP0860ID<59N6(|Lnc^Jv1ATy810BJ`Lkbm%e2x3731jGUd2<}UMyE!_2A-DCa zc8C4|55aut_WjZ6`yq>`8|h-1Zr3lJu0LL11+M^wUGS^W?fRqJg9Uu|B@^h*MQ}KS zuYu?24E^!?7RmtXAr=NZ1_lPma1Chb7v$^&&|VeXX|kIEvX~N<E<rgLH1-7IgNi}W z4wG=SGzroJQUhANAVhrQ2sUt&UyxdqSdw343yuopF+WHV03wl#MEKAQXbgsffq~(y zEdxVZQGPCXQ0B}3|Nr5GGC~a8g0N8<=pB$qgEXKb9b`BNgZuy*q(NRPUB<}J0P<HQ zBSV7{0|P@9bjfrzbg-s|k)Z)pYJrx1fzBSSV`OLmoh{nL$j}f9x-N{7p&^=qfuV(w zp#ij2r4_oQx{Z;c0Tfp4&_NwZc-{iBAV~?t;sSTTKrC+XKqQDYh?5uOC>P3-*M0^D zh7df-OOE*D1s?VxHEqGic3^312720pkLtkE7DxakZGn32gC%M4!jl$=1xZ>U7NnOC zVnKTOAl4vGS_<HiZ_1L^DF)D~->5^*pj;2i;h@~eLwwRg?bcgak($cjJ$zUydybyU z;C*{oDgz0iq%!a@?_f!0^6+E^VnLD_h{eSKnl=HkxWQwNAl4vGW{^XdC`)F9Do6?9 zlNn@Cfb`@AA0L1vug&Pm3qCRcOI{#>!JE8<;mHfcf+Q~x3sOOXSda=5!~!QT<bIGV z2U1Ik19Yh(awjO1qxld=5Lg7-LvrP4KEMOg0_#4ZbdV0QfR8`}m6sym!=pfUihz$K z0aec;-~-1&$y@|{l>_dE7HAzPs8I#Npaux2p#^H#gZQ9^7HHL{A6iWa(gRWh8o}9y ztDTEBA&s7VK<0z&L&eDLD|l}RmV7{GO@iB3prv`B+6}ax9i|`TCJq+R5qXd!JV4?N z&~<r@&;}H!K?GWM-OR|)0BVwg8blyJfEq-g?iT2fCP;S+#Dc^xh{Xk7U=3n%Gk_Xr zAQnda`u=G=2s(HJ+7?FUp~T!_&=z!1Pgw+f7#iew2GA5L?l=Oi1w{@o^f&?)zvyEE zAU&Ws0v(oh5l0+B#sm_|k`jwk6;e`*ONvU9OY)1<!3|(!3qgSi!N?JWF(v@I#s?C9 zAQmM2KrF0b1v<<F5ms;>W>{%~D_zj+BsIbcv@gULEj=TL)l(c{6_lErUy^ENMRsWY zLRl67KD;y#UY>whknjSru!a|Cr8gqH;5^Lm0(FO}m$nFn*Bu<;1?&8i9bPD1f5>64 zJn--Wu^{0EVqpz0&?Z4dc)@v?;RWg~Q!l&-<;Cl`!V5euKz3+hj0-Tq!wSTLgcXPd z4l5GYRk?CBKVT|x2Hhe8T1nC!_$Me!pc{4-ZMQE+^FziG8PIjRPJa$QU}-+U5&&9l z^%8n#aPtw4Zr2aZFIZkHc0-qFb%$~^KVmH5Lox=U3fBs(Ly#3wYthzVfeyL?4TiCS zFY5pmAR^!c_94g3fL7LkWJMVI;e!vL-MzR=*)3Rx9FSLIf!0hoA+M%FUX2y+3SRbs z805mT94o*v!qXv&0aU9l0$t69Rtkaa2d!S33EFRrE0ti>stIMOpfXz_B{e6tBr`7^ zqZ~&b$Uv0o#4TO|mr|f(f+4GyKrsMWy#!)Gc8Y;yAv?uDEG~xM3=9k)S#E~^P!<;h z{In#@HAbLu4#+AZ&}b#-jy5*%nXT|uM957j-#?HH4N8-YCE^(Z91INIzJD5Df=WZ! zVFn!Cu77kv0w_8C5DWOgV8{qO=!iqea1`hS0^BJAG>8HUG7tt;f9UmYD+B1tG1RUc zNDrvq1r1E^!5)iNRtd$)i8+ZyxFZc_Bgj?+My`DSqgE&2nED7G3k0zsc^<?9=XunC zY<!7mtH6R&0T!GfDU{#@37`ijs2KyQ+(p1A1ww+;6MpOh$OGu3@u1B|AaM`|c?vx^ zyFk0x&@u%`4=6Z65p^DWaK=NMF_ecXN`nSc<@|sLDToCLQV<Jkkb=q})D&s}3sR62 zN|1sCumvfo{-<7$f^G#zA0|Z((nmOg6yDmQJWx^EJ)l;$AG~G)u^>STVqpzZP)0@# zQqnR#D3yYm2=oimTR4Ig-XNkpNKu+bpdjUh2PudJ2~rRXYmma5Lfx>8?*L1sASsko z3KGDUN<l3N>IEsGjDHnZkV4u_lm{qE>j{$a|HCsrhy@8!5DO(pcQ7(AFl3)#=myOy zG4StW;cEWDSi*M9^*`flmSe8}8M=J`gYFMxVCa4tdl;lB9elbZXo;mLc*QKJEJQCS zLFbQx#6e{w2!qN=Zs@i;P~!n~$VDK78+<t^NDW92NDXKOZUtP1F(IWgFEKYWSs^no zvm`SyC$lQGNFgo1NI@OkTuI7Ik5A1@$xO^s$Jgm&fS+;)9_@q21_R`*RM0j?P(Z+T zWS)Q?ZwFd}4CxMnSdbtDvA7sO=U0MQ+zfjd7{E)F!NJ=6h9fvE9QAx8(44yKAH;N( zVfUTxQjX>~0Xsp~b^rOi6f}PYnuYq&9mw+klJy;Eaq*+u12o6=`eb}ubn_7o=oaYi zr?H1vz_+$Rs(sLLLl71y#L;5{G+PCl*#XIcLRnD=baFZmc!MJ-CXRv*4?(N3Kzcx9 zxuE+i`H3H7gUv!EC+6hDLs$71gFE6N2Y@UGVNhlV(Kr?f!$wLj+k*C{r{y!i#??SG zQBXq}KqvTsri(!4oVEq+WCWdG2##6MU<gPUghBoQ4R#<e7d{RhNC6$Q0h);d9kT)2 z*aSLe19WrUY3QLnXBZh8K>i0Ey8&`C=)_-0N&vASDFMXdVtC5{Is2Cz+$@HOffl=i zSlr-ITM&!n)Zwuc)SMjP)BzfTjlh#Sq=`=*;7KHMk_N^^(meE}0h%|$mNcfplLlz0 zjaDfGbnZALWq??almTLKF}wnG$H41v-a%QAVOEeVWSAAiA~|I^fRA_`;FNKW0d$)w zYR3VT-(cki3-Ku<1hN+zv5AzNR03Za3@bol?9d7j(3)UusYKZhR)Eklm4HsmhNKb@ z3zAAeEG~v`43M+5xxwqTAY!0Z<scShRXK=7aw-`V<p<~hBJ|Zs$f<;r_*8;EQ%FuC z!I&+4i(Zs~CI_)4lBe*Zgr>C&=mc^|Dgm(|sRYF00v{?2VsSJ4WPqGh4%vGE5d-Z# z0I^6;B}1YOB1(KJflc(0lR7Xa`*xzI4$#~lw$!naKB)tAF9RfXfLM^!0b)VgARrc` z4FY08Hr#<&kTwX2MRMw}*a;fA7~q=bG?sxz<TB(xyfF`1;YjovVRF(4d<`(Hn(;!f zW<aZdv853$ST#e-S_X7_KO}{KSdbI~VsSBiW`LaS&&}{1%7UyY0LemD6o6RZ6cX0` zrQ4Mw;6JFd$6);h+!=|3c0OVcgBrsp!566u!-vX1=k(z2g1~YwtP3(h2z0&*;$%V4 ziKyu3l7jSr)PpX+szP)IAzePSqp`tV3{ZO?hCv!3Y|wBcr~?7&fPng(8TrK}Wr;c9 z4g~1VKai?yVQBpiiWqoWVt`x|gx)a}f-W=z9U=}1Xb=k$&>$8U!)gWw1`vxIe84n_ z1vv{H#DbiK4q|}=8hUOL2g<og@PG#S`W$$JC~?6H@*~JUpuRTf#4u1OfO>eKyEU-| zFGvk&Z0RP*B9KNLCy!$UFIX*@Kn`Be$$7Bg1<h`Q>q$bvDFF>m(BYPl-~_QC!3kn< zF@UBNKrC)>j~m1S2OZ%wdWx!P6f}p3Ef7J03`(Qbcmff0q%=k#f;57|5PWtn==?QM z{DIPFUMlV+N>reVLIV|a7C0nOK`cn1f>@A~9ziU~Nsk~FB#nYtkTeQnfdiUw8a+>i zGzvN%8C&qe(&%kcgBKFCAQF^DVZjSZqtM_5CsCq;QyLnaphL$X!3knPf)m7oq)`wH zl14!+aL^%7SGa=K!EgkErg{#7F7^Nys;I+~9N>KdcHpG~pd}Bu3slg#_@MLyN--cW zf^s~lq6Ue9a{LC+p;c(Tc90&B8qliuo$zc4sWD+wey}0)qSW-v;*!*&_~eYly!2Gq zSPnQ1gX{p=iHbpi45|@9`@P|#<*;K}nOPVZN{dsAQW8rN!NWPADg@N)f>o2CxBwNt zpd}<Qb3yI}ErtQ50FawO;*X$<VL(Tkg2Z4)np(rhjzKI)%z#*2;3KL)EN+G`3=9k) z7T%ZvU9y5RW}N8|GusD2%zzpyq{hq@Xv}~%<AY)bv>6{1%a-t%0kI%417bm92E>BI z42T7endUb*4w>)t{X@zL^J!U-!%@Juh<t%;0cfuM!B9%%k@ISxtpK4soq;T%jRL+L zogAPsTJR{Y7e{yKpKjM5olM3DP!Ezn!~tFp<q94a2PJ06iO!(ofgzb0bmjwSK0<^6 zbUyedaKV|zz`)=E)&W}B4$%R+RvDrLv=#%R19XBEL=2P#(T90KC&+^W99ATN&VH9? zK(w(y+ezcliUg1z&`vJUWjlhP1{WxgK^p;h8qu&}UU(@1ODv!}W<YKL8v`Behp>^0 z2l$=?yu|}(R2OEh2-4Prywvje)Vz|SN^lbnGz$*00dnwioFHfb7j$>d4O_^m?s*_d z(8VkQ&?X+Zzz2mXRDuB%2B0Bg&?G+WT=#B9h6Yf$fX*xgoyZJ2Zx(ct#3V+B2GH5v z(-;{VKqpR4XJlvqoxnVkk)Z)JOF5g7p#gMK_Z&ushPez33=0?;8bIgIE@WhA02RrL z85tTtVZ8)ep@24#Kq?dv3z9iNEG`BvM#%M?+zfnB78ipQl*P>;2W4?FXhB)r40=!& z7x*-HkSW{@9&j=6dF`Vaiw%5VIV2N-5&<<b7HEk`G@gtlOMJ!xkC2m@tKfs=cykqK zKpZ_+fd<cs%T<eU<tk9!4GPb}kf}ghXCRph#DZih5Q~d}oe^?JGB*P^l*Pp$4rOsO zNJCj%44_-XKsvY?wBcf)%Mu`Bpvw|KtkK$v0d@@`^=m6o1f}E2RBXg&DvZemGBX%_ zegSU=LvGc=sx8pG192HF(GEwoHJCCOsDlE@U?3JGgMnCF48owZ-oVpcplk&ZQ-+Iy zvK2(k7%m3BQ-X<sfs4ThE(W@T1fp)V)?%Pla}d<PNW+uCxQWkT=<_mU<}div4Bq?& znubBIz(7+r#O1F~xGJzg)hq<<(1T<!5DSvQKrAi>&|!)o7B>Uv0ud04i$RHzfdRzg zW>AB&xEPF}EN%ufC<~IoAnHIF48$6(!Dv{65$bP=6Q99gQ(9zZEcmPz-i!sB!9vei zpxG|sGS<E!k+DE~5+NB2#DZij5DU`Z0<j?dEf5RR-vY59{Vfm+(%%BHApI>63)0^L zu^{~|5NkAJ(J*6yR#v6psks=5&sfMu09jd)nZ4i>f_SqR@|YT|T?m>eBrbdT<7gKS zre+~%bQF@gKrBe+0<j>g6hJJ<S{4wCi$Q^rfdRzgW&oW>1Y&W4uiF8!xEV~KvRvRH z42T%0fe2!OGZ$GS>-JO_zXc87pdYFL8mWejtnVT)ep{LcPiAx+TZbH01{#or_0U0X zMju@V-QolC2j~_b&=@Z079Y@Xo(+5q7sP_ZEQrMg9#aRgxWR{CgIIWD2k+>*3msx- z$DoKE<gx%X^FdtffR3*P#SZBBT2SnOu6qN;jukw1KrBe?fLM^&0kI&l17d+=r}>RQ z81%lM51rtnaXMZ9K$a+Xx_;^Q{Q^3}7;>(THfZeIgT>mHr<4mc{LN(T%26T)R?>Wk zqcijiSRTAY`8+9u>x$iQtsrwdLqR9@!1m)cAK?Ixs|!FU!a>WOIl$+UJAp^Z@!ymP zx(N@mkq30WGi0a_+ju!>G##|93^rbVO^|^>8fm;7G+mT{R?UF)fTrR>W4Z#wS2M8j za-_TuYiWT-%t5YzWlNAtA#BP<%t7;=u)})FGLuU(bHR73f)4a~ZpXk-oR?XWoB<v| zN585NRHcB<Acweu0eo{PXnY)$^g#O&LE<Z*_p_~IWM}{d!+J)B22BPAh7F7i4WJ!{ zo1iByZ)Rj@0Nq@;g^{5FbobA8MurB^9`_xL3=N?9^xe?$^Zkqr4U-^uT{bLZU|=`| z9XAKvuL?@y((oh>VnLEPh{Xjyiy6e?23IH`78khk0I|3kEEpLWK&;VZ4~jJ~1|?xo zg2R>UL9@rPc#^#gD89iaF@l%k;F%@@k7kpd=1CvVhNXGXcs5#^|B64&GeAn<!Itd# z;mIDvf+Twoi;F>$k%0lk;%1PAvLMMGA_hwKAl7KI2PaezK`7b(Wnf^)#FOk<iBI+z z<IQAe0n$gDVOan);*6FBZV$;U0BW*BIu#%mBnyC8Tnws=3=AL^H-jdW1-a20A_khI z0kKB204Vi?F`+B~x&|u)PZr=JJ`13a2$P)yNFNi1<p9u_Fj@|HfIkNe#)gj~yaoWV zAju!Z;sW=YK`h8Az91Il@<R{{a`_>MHJbdvNgqTIO8$h}`(nf=f7o~}*~y;t5nEWY z2aVXGCHr?nFWHO2lRbz9N%kNXq`ePfLE8Hu7Np?=VnN#bAl7KI2c>v0CY0<!CxoNV z1A_Fxy15L*CwtV<RI(F4>Eo%e#19%zMN9nG@F)Jk+3p98gh3iTAQmL~gIJKcJ`f8s z*9T%jN_`LuQtE?P;N%b5p3VTd-j*LcYyuiuKwmTn+W`SiDxfvP+zbq$^|m0jpq?P; z)NCiTHUUTvNDZh5$pY$1f;BtF$LHiHC+5T#m!xFo#}^c3=9Q$y=NFV@=I24SfP<A` z5TIcW83rCfWw=bdKSWb-Nq$jcdMfygVNl(SJbDRoLje=St)Q_mkY-N?$Q|U~3=9n* zxA{PK@Pp1bfP^N91qn?Mi;DqtfDtHcxEVl$4j>j}5j;p1vIri;LJv(LvO^QJ&BYN< zXtLr8&En+5Jn97|c&?jJXa+$;GXxr%q0rFW2|rQ-#Dat-h{eSKy3r66HrxzL85kHq zEJ$dAWFesmVu3>wymvz+pxaj<usf6|2(;G-yyzNy9=AXcWZzNq5ebZ~N1%-spg0j> z0LA(~@CFai5>Uu6ALuYG2n&>c(bKvOD3O46VMA&3O-S1q7#IxEVh5xLWR?*F1A`<y zb{ON!(x3@E2fQR6Y9g2dDF-va+d5!dj|2o57~+FVic%AE;S1o+L1J$CMY)M3U@?&S z93U|tP)15+0L>?X&W9*qVPJ@NEJ_Dm9t|F{1D#p`vce2yQ7dwcg4_){$_kWEK_LZF zUB|@G0CHSC6GH>YKMhO_;ETBT!($Z0g2X6@#l>)sfq?<U;${Hd(g9*|fyenlEXXC7 zAQrY5&H9fkPGvCS6m;POC}lv7uR9EmQ;=UEF$p@>5W)hv9X(D#2VjEy1`0Y5jUK0< z%SjE;;uNF@WEN-!L<^>ofib?U7?RD1jZ$#*IhCfRr51ss4>V8-79%H0VUgqmk5Y_W z3UW7koR)Dw;<TKDp#kKdDh^1T9)ZUxhy{sL5Q~f9E&~Gth{etD5XyqYDMSp^2L!Re zaoYTb1N9gaa31Y-73g&R(e3*qFpB{t^EMw5=yd&a+!b^UDg)?pMC9{Iz~{ys1TS|7 z<yTO;5dj~0hdXXTr!|1eaS#T@EohGmC_8}S4pcXRN^f1XxCQ9}sc{0G$bpDkXl@1P zRhV%gBM}%>4H27HLHQCiwvLi7L7G8(UqDO9<AYL*OLIWi7=jKZ0o7f|hrEK^2#QD0 z1*xEX3UY)!GeZN|-OP}M=g!Ow4WN|o!pzWM58AEC%+LVxlN&Q6enIP&A$1yv1&Ln} z3vz)thy}So9K?dfWf<1T<Uxu|j-c)@S&XpKmj#+rVfR>~#%>(SaWscPS7<<@7nF4& zi`GzgJwT!ybc8?dC{Jc!U;xDrD2hSBlFh@wAc{0616otBgBIl=J)nK6Aq)%*MW6#y zKpGhsA>}hhjKfTZoIL}IG?0DB*_P<o1sy>HO3NVoK-&)>GkM@_iyYk`_n}AkHfDwf zkehchGc<r^BzG}0G<Y#EFzjZA+)%lPnV|vXpS{rNJ_OIsAQmLLK`br?(BVBG7B|C5 z$h-*y7sCT6iyM5KJV+Ln1hA$6Dr9F+kwIy81~nhh;}(=vz}bR<fnf$Hz(8Tmzz8X* zG2#|12_}$pGdOPX6w^e<H;(uPxe+~nuW~@L^9>G2cD~60$<DVpAldmg2P8Y+ffm<C z;qeP%LE;z0f@Eh93zD5dEG~vbCI*InCI*ISObiTjnIJdhf=;Vk$Hc&JjERBa|NsA> zJqZ{zIA|CU^0@d)tdl|W3ovO68gxt+NDV873_<{=h6y2r!J@Vrka-xEKm|Z@uyBD2 zF@VHCY?vECjU^BtR7M;JpVJDe(o?`JP%4}UW`V9Dnh$1y>g?%Y7U(?g8DJKu5}p8N zfr|EtU>2w}-~o3UK!+A^fmz^P<zN<Qd-H#=I?ycZUoZ<)4gUtSKzGfq2eUxSWHx|V zpi2NZf?1$tGMm6G8%73(&0rQTUxH!`=0lJ#(J?4AKt2cE%ghEoi4$~dGaCcQ=b$^C z*}$7qS;1}wnT4(&nU61JAge=W2ZBuoxnLu>2?#2e?}AyNShxpffok+uU>3+#ufZ(P z2KF~#7AR)kf?1$4^&OZ6ilg^n7U+nt4`3Fut<`W_KVirrtHZ^vgX{ka)=wW-_rh)c z3APo~@R$RNKwQqmAwB_a&R?)O^l|-sxUCG}6bo|w9x_~y?5Ra?Gg-i9(#|KKyv_=? z1Ju%C1G7N6o*m3WcGE_<o4CMoAb<8y=uc$xak00+?KJ?~OWUvjZK-Bs0EGo;3oje^ zAYF5?y`ToHDVPN+3yr}n(Ee9LFblL!1hilba`H83aS|K&z6T4iET~pB1G7NwAQLbP zw35UK%tH40VYqMo!E&Hb2CXy0T%BNLg*hf^rQnyZP+Xdvp#WWx!^MD2BYe#sRF#IN zl>+F*Uea~>mzF5xrzzy7=H?ewLM=-IcOs!C7UXB<m82G-NkNn-<mHzr<RliQrz)i8 z<(H;sfX2a)0|UYa6__F5U;!1F;b0a-hJiuP-Z2d9L+F-&2T+VKFdRWq1gj@N21TLB zz>Hyt1q*|U>jW?hl*n?xERYgdl?tnjAeMk+7#JWf0~Ol{m%(xcHucG1Q$gy}z$}O< zNIr2&EKYUKNh~hL>KB+(Kz_+YF#v23#PuM5AY2cYfNoy~$$%0gOe`O41jsc-U=~aq z9<FfLgyv-ymZoBL6U@6HH<h9o!%%_BMQW}ghaomsfKC~Pxdudo42Og@W-0*5!!Sr) zBiL4ux)v}CCI|NwG_`<_smAIhP&k2fflO;hF#{wD$6a74kYY#z0wo(r6o51$q5zfx zu_XwIV?j}Xa4hI>Z@484kkfA=>M%Wpu5L2eO(1pCz$}<NhUbF|GV=&}ekO_;Ftfn) z9IzB+o`*OV<avZ+LA`vi1yBMMln`~8o`Na?Qy_Iq!EOSnTLET)B^Z!$7cAx>M?Vwv z{%RCcV5WiTbzmvVybp0M$omNAVoUfCb(r1)I|NFAyuTgnCXl*aU=~ygqnM0`oQy)y z`+HGLftd!T4}hg8^FGA6Anzlb3p#`yYyp(O=dCz!6$w?y5Rbx}H4_9*f`*$wcdpu> z1>FXG<_(np0ZKDCNa(tR{8r=y7e@^(dX5l%JNHBAll$KU?vQJJeGzo~AOi!#2Ph4* z^8@Gv9xw-Vb}}1-Lvns@fnH|HrD#@0P`8zt!67X*u|&_nU?L+!14KkGr6@JIqzrW8 z0=U!0%*YQbLBS@02)&flq|$U1(7EuSRwV;7<DJ6{463kl1f+xkss_}e0MBwUGlCYQ zf~DYu9^{Z3Fdr0G%#6v<lZXCT?g5>52D+a;*xk&;)DU!BHTV=|W(F0oh>;<vy8+e( z6ETi~)+2B=rl8BHP}G=TKv!c4y6FvBjj<u<C<kN_3yTIu&>?D|IWUOrmKLCtfTYIE zzyfqt1hR;c5$L>G6cNh+CKPkbObid8ix{_{i&%gH5ZN44GY4i=b4)E7&_v9P_n?WG z8(OfS>M}R}gRaJ+0!@vD*$#9Oiy!DBmI|z>CR-X<po^F~po*9q7&oAcSR6qUF*Gw^ zLowOh$gl)m#8QAARgJMp2%3nA(E)T3a~2L%T^0r`XeL`2x}d8u*@CXdJO@>cg@MHr zR5ca`mUGb57#bZx6EQZPg6cvGW0NoFYRm;VQQT}{YT<w`Vwr;`VrJBXCSqZ<2VKPY z1*(XpfiVXcid~ilCMIwZJ@DyL;Ec-v8h~JC1T`*T%|D1Zhy<lt5DiuX$)^UUW+8BM zz`4o5+yK<L2C0SSTmy5X9CS6NGtfoM?x2ZSm<e#BxY@wMTmxOi!U0{xG6qe=(x3!g z#Bc(-h|vyo5#u}PA|_wZMNDOQP+e$gW`inXXl59JE@E1PE@IJwCSq<l0bRso0lJ9U z5_A#EEodSZhC9$jOirMSm|s8_vABaKVrjy|i{ev5OH&tg5wj3<5%Uam5sM0R5z8s4 zB1Q)0ThK);AE1dC8uIX=xW~xE!U0Xh%p?OY0!p=@bKxeSh=7hf0;N-=^lW5qHU+K* zoSu!%&5odpSbRVeu`rO~M{$p_g|P>^h-nGBi1`9k5ffv>Gw345KhQ-?RRmD%GBGm` zKoc=H$Uqk{sz4L5Fk6EzVtE8j#M1Bzs)(t9DTg46?WP763TPsR1_p2uy^_?55|v!= zX;PqhJ7&hR7zPGV8(Z<&1<;ihpcXS&O$8{D7(n+8Ff)QyDu9lWs(kOW1T4&eY!0Y& zVrB%z8b~heg?2jVh$;qHD+Sz=;bdT7U}k*706NkNqzW`W2GW6S4rmO3nGtl+D#%ur zUH`#T$f)LkoXE^Lg^_^)bj%gVBrb3niEIw2-AKqBkZx3ScreTXZ4_c=1g$IMXJB9u zKm9rv(_bJNX2utwy$c}6Fn~@yLH8G^QO?W=I_Ch?0JGn_Gal0%kPI^;=q@9Wi6El{ zFx&&06J%xtZ8rji&&K{2VwmQD8g|T#IgAVpppXKYBZOfNXvmqF5fq=GI>l4{;cZNF zKyy^gjG!ILAm4z@5y3DAG*yZ)XU)T75}4+I*14dXBZgrPs29M@IFEsW0hCHS`c307 z%>k{gU}mgA@|OgLIa1&>CI@mX0|UdonCmYw%>k_jWM%}NF%I*W6oxsV;df?6{N~7l z?E<xKVdltSm;*9_kU5}OU}gkOiNMT}!!QRl2|&mk(Bei^a}+Sl0j;(nWDaQc8fy3` zVVDEz8xS%Fbl4m-BWQ0l%wH-P=725{Wo88JRRX2wV9~W}G2=@e9L}J80m`wUs8vHU z2U13XCPbJSL7f;-iIy<s<XU7kkg^W6sgId4o&jP5zqXSrgaz$Mfy*dRjl|5D0iMDH z*~Gx0iDVbV9Br_B@S6h~SZ8KTKr%-g!yM4nf`r@ynv-W{tUxkH7sDKVBHRNS(nd8$ zAHy8b9Y}=S16pf^8a{>?<`@&<9?&EMGh+#ozl<@=0o|O$%m|8oP#JY?d#N&Je1TTU zF*Aaehr&9?rWod!gWUtVU<Z^AJKAKi#5-tspP3QVcZHc_j$sZcbulx7Qa;E%2WHG$ zj_DrIG7)A*&>c!Jb1X5;u?D*b=C8ZYJ1sHI0ZlTX`pX)_9MFY^%#7V2(-;^SUN+Zf zW10h6XT{9e!icDIZ86LN4Tcah2Q)y!%n0hGgTfG$Gwd<U0S$%_G6%HohnW#HaRf8R z5yKqN&4Pr?0Zq7|`pX%^98ioyMnyn&c~<hKV1|zyDD)UX6Vo6yAb+`Hm;*X2lbI2m zLKqkrR^C3Ug=r3GS{yaL+%e1n-NlG7CxWrt6Vn{f!Wq=`<B4I8H`vWE_w3pt){kip z=wMG&bG$Lk0bPuVaL+krp<S5ffZF4z{_@2z2Xy!=Gb3o~AJhtzm$zZTGzT>6z|5$D zl;8c4%z>2Qfna}uYi9-qhPLvM3S>2qvNs5<2JCVM28Oo_gtuba1uDpy84rL|f+7^O z5**1ch&iBPGiFAxO3?jpamyny%?SmWz<2~iLd^-mFeeNo3pZ!`-~20>=7fXQAe$40 zVGd|I5aFIFd-_E%%>mut#f;*f2n=&T8`BZyD9!$M7}FfkvNcq5qL9o<0q>y)jr2k4 zQ&3r_=C>0|yDk>&FVI2{Sl)?2G6xdQabPu|r6M46=9uqL!gLR)CS_)fKuQ~N80LV+ zHklb==9D)5#L~Y=1ltvYWKIHxIiTC+5azsn^YSgGdq9iaQ0wj_40BSzcHwsqXowfp zoD>XmK*uE`+=D%QKsOYkhEE!XIiTC15#~JXxSxjUFHpoXGsYl=PX>lLSzv#GTaus? z#(n-`Nr#{#E0`IdFff37hM=sGg<%dTWSGH+7lGoPe^-nKrh9V1c3na059VN)1L~wg z%mLM>)>z$>4>kwcJ$V@BfDWUEn1kCrg<x}#-BW;J4(McmW=2r!1!RsK`<6$T{sP@l zf!gjZ!Y~K4vKC>^Q(sO=OmjfDC!m^Bf?-Y>*v+70pFut6Yr2mgW13SARs&kr2<s1) zVVDCdfteZcn^Ork2Q)tiGp7Q>9MIvZgv_Z1n{x)KA6JE84(M<WLgv(Bm{WscP90bc zet*@2)gXsY9fmoe^MDDt2Q+HI%y<IHUkw=MfO_tTc*mZ8Ks#$t`*BSe=79DxA<V&^ zen6LDqngu#VNM&^@1Q+$pnlWwv`^bH(+}uSaAro(q9#xu4V2&8Fw6n<;FuZlo6`xl z3)!3w40F1`YVex_Zt;S{8RniY40AvSm=khOFW4?nyu-}t!7!%}tOmb(K-bx$hEE@c zIiMwygxoU`Y!|Y7CSaHYI#`C85tP?KlZGil3kosgYckjz&=z2rzb0Xr1DdxZWDe-? zcV<RpbEaUJGYxDPsJFrbnjiHKY{hiXbg&xaw%;@ib7p|mfO;z+b1G+pwzq>ySmeI> zOt2bcb7o+eGYhN++}dPdVBi)u&ck%iY_J;8!c$ngWfq1xbHHjqEdh|41@1;GG0m9^ zR)g%GIT+@EMzok2@w*3f$P+UovU}!%%>m^!P#plG85k76Gr<fDpj3-00v(QJK&Sy7 z7KN$?)FVX|IR)V&=>oOnAc8Qvo<X=sYCwCIV1l6dVPIeZB}4`WhDmT2g3fRSshI*7 zv4^Swi9&RRVThz)h!kRo)M1Fsg^ElA+Z7Mn8^gfBFbgaKvT+qu4d_N1CI;wkPLKq{ z9Jm_L;#{y0baaS;;Wt#*46vGb=rVnfnt2eB+|=CU0#Ka@5(9-;d~r!pPAaIy0uuqz zprw=`8iXN!2i;u<;(;(kL={4T1fa1DS|kYOg6#sa+~I0Kc7a6lF+@O%x<N9ClmJ># zjVc0KR1Xq~VNd`~dowUFJc62&1-A<-!H@?Rkpnfq7#J9G;376qkpj2~XmK6LWQ6Ti zP&EjVSr{T;F+@B;MF7|!m`}?wM3!QRT*DCgfFZ&Q%FHMxn?Xg`;J!#>WnehK%D{jS zsbgheC}2Yt+04qouz?p@<Sr`%184>cp^Jx&fgwQvS&a!B1H%Utkythch6RGiYUZ#p zFf<4wi`-^oU^pO(ETX{9z_36ZStOX9fgwQ(S)_uUfk8nQS!6b-GLT0WImFJu06O>$ z;pUehUCPL6Bsmxu3{;RsJUAE_8dQ-*N<rOza4#DcUlXAspm@(@{KyC?JHY`DC)RQ> zFbJq4oAVeXqJb>J4w?+mLl%hwi7+rQn8M?$94Zn57nuPSf!GcjH-;u~xZMm4JE3aa z;kvGKGB7Bh*d@rtz;M6-*>+P<#S7{e!F2^eMWWy$#ZVE5?Vt<lF>Rj$RpSfSwTX*? z;eiRVT`xhln<9(wgPPrD$RZxx3=9eu$Rgd`3=9EQ$Rd|Oy1@6s!(!(nR3rj!y9j8y z3>-QN44I6aOxWVf9ID0}t}7fWVh<PThl*6dMczV1I^ZI{&_VnJxX1#ihzwlhGE_tx zF2V+yh+|-2aE6OGLPhG}B1@qneQ*(O=tNo?TqFf5q68P21r;%bi(G(;*uq7)LDP2( z3=Cy(k$k8~8(icnR3r{Aq6eDLV*uSx4-5GesE8(9%`B*hBV6PzRHOzj5(t{~V_;zD zfr}i6ilo3r3_z29;CdQnR~}SEAFgH%RKyi7atkV=1{YxlO$;(HFqp$dbf6;saFIw6 z28IS3<TM5vt(xF~EV537fg!*VS>&z=1H%F*WDy=w28IvL$RgIF3=9sg$Re2_HEzfv zlSLUA6g-ecc8W4EEI<+A7Gq#o;EAjzUW|dEzzbPq3rNHpS%h1hfx*ECStJ1@;)^V@ zU7UeIzz<nOM1p}q!5>+q7&Mv5z`#%f53#dQkrud!CTKDfw8;}L(gqc2f{Q$rWMKG! zVzM%5dXs^Hp$e{MCRC&gE+PmTKxJTHNP>&hKt<%>BD<j?x^R(SP>}|>NET=cl!1X^ z0$k({R3rl~;s}}o1+5{3i_}6zjNu|XWf>SY1R{qIlN<xXg<xb6e~?HhvdA2eNI0^{ zCpiWNgGgi%cX<W|g=l1vS)i#@1_p*Oxb1tPB9PM94{OQx0IJ3lt_!?73|bySN^fD% z1T6Tx1z7$vg^KXOb%jGkMBpNIP!Tb>$Wo{X7hL2xR740a@){~40T<y14ak8Pg2QY# zgo=Rt1#zJVhDb7oND+oeBZkNX43Q;@kd*}N;1;7^aRq#B+5&J72<lvhb)h#wLto%< zV_<jyH3y<g#mCPCG%pBRj|3WNU}gY`fMye8!0jmT%1<9ZW6-R|5)={8tlMm45fji{ zW*>?OXy&p9Sp;MZg9Er71vMEo3CQ4qECQNdWJpIA0Zk?{Bp{0zf=q4!x4xj}7=mo? zK^6hqwHjFj<Ya~=$Rc1hpwa~Hcd&ahz^yo_$zb=iBa49D(|{pzL=KeZk#(Ix76An_ z!)s&_&~PQg6J!yv$yXH6&AEdt0ygJ2vIy9mFUTTbbKWSSoAU)(1Z<8lxK#;tGuRv+ zWD!G9N&p>$0uLW>$a8>Oo={!jP*q130mp>`iU`P@0C4LRstasR1hNR&oN{ClusH?D zB4B?#P(%0E3uF<nzu3VoSg2iKe=)#CKp8<viGcw$%LK^<AdwU$2Jp3t2$3~P3=E*T zN{EPxkDn397YB5aY&Qa>!xP9N;04>ykwuI^Df0nb1Y{Q|9zdfV5R*Y7R>}+vpdKnh zq)izzrT`I9@$oYRd1DQ@EeiFQA;_y+P((oPxr`zLa`PFu2*|EW$_xyT!LtOgo~Eb@ z0|V$}8i-vWHE}8o3|HZ5K(>Q?@y8s=@8I}i0k?9Y?g8f}0b~(y3>tvjy-+n^T^7h9 zU|lZAB4Aw!;Fb)st_)-mu&xrg2*}OLRTvmR>v}Z6<snGq4royT0|Ns>L|hfLx(!(* zNR@#B)Z9X-=>;v2VPIeggqw3rm4P7?JU;^qF%C5bhJWzz0ofIx#sEGi7ZHXt)EK~b zyCFnCDc2Ik91V2_26woKijN<-{3!vq$Dn=(r}-LW5paprfh+>nbp+gIL)LW$Sp=-> z2C@iPmk79BhpbBmSp=+016c$dI}^ZdKd3HnoX$WN0qeSjECTk$Wn>Ys?dOq2z;Sv4 zSp=-+i#t-P1Do>)Sp;ks2e_RHat|mj3e*`GKqF9ykl&@wz)*l3&W0e%TEMLxkS<UP z2U*sGA_B^ByHP|ymTg860Xb*`hDZmv)dVvcq-z3-2q;(XM-c(#<?SdUAltW~h=A<s z0JpwSOhyp_n~Wj?HW@_(Y%+=nNX?%Jq;Lk8{4C&h9n3CJ2_TOm0xE4}P((m3yb*<L z4#@8hP((m3<OjD8VJ3rYXGakMxsU}#1f<3%2H9kgIUy(_AQ$GNh=5#}gDe7yb_USV z2cT{txU~a{cJOE^Tm<9^1_4F}2Dk`V7wE_nP*)bA3v^ZyTm-BOG%AlO0$R}k8dd=7 z0tE&GXbvAP0`e9EXyy$r0`fWoXdV(S0@ekZNd|Q<!RCO~faXr&B4BesvvY6}urAPi z6sVJf&;^=-fs253fyVgZB4A&D+zc8Z0P6yq19CH51gs0>X1EC0Js>wjMD)N-Q5DeS zCHTZPW=7D>mY`BLPx=jL*##(*GB7Z3X)u6q_W&Ks0vT>}*MOAI2$5C|1_sdjFNDYm z4F>R5aD)htCIiD71_p>-V6%fYK`n4(k=dFI44~OCgs%IVkQj!DAiEiK>Ju{~Z1$wz zTE_^oY7u0#iWUO{D73(8KmrU=pv8#{4B(Ugm>H1GSqyH6Ln|SMPp_sdg{+(bX`2Yu z1y%zRU^uPCzyMmm0C5jUh)<h=L4pz47eU$#44^e%2sLv-%O2r=*GnpfxAj5u50L#S zAhRGC(kEeHcnQ@7Qp3c6tP6Cm9xh$VpyiVc4B)f(P<1T>`xH7f53veP#z1v})i5CM zeOnIJ1(JpieSy~eK=l>tK-SKK)G(pw0$q#&aUsk%kWvApaVAt3NDZp4m3Ztr3e^Qt zgQ{y4SQlv66w|H`P+cH3sJd3eb%ERzC(H(2jR4{)f|i#uFff4Bpy~ppU}i?_p<$y7 z2@Q}MR9$P~c44|O9jXhY236NOxGs>J684xlA;uPGKwSt@gQ^QOe+5~Y1}ft~IuRki z8EO|u4XQ5CrPR3M3)C(KO$UI~pz7L);=+S2@|zGY6b3E7Wnf?csX^5Rx;crN5mZ`% zR=1<N&_E9oh9EVlx;De@!VJS$s4kEiR9&Ezbr64n?D_v%R|w(42~Zb;)S&7DofZgL z!3EM)_t`lIp=&Kv7f21NE>P>7nGsw#GcYjp%eS3C=z0Rx1yX~mYdhFq;0lg`fgyVO zx_1a&QlRC@3=9k)HK@A4t9BWo15XT^91fKTUH(vAAT_AEKy&fTjG%SnAb%-IPJ^zT z0rA?Px<G1Rx>P_*b{KYnT?iV=M1(wybpWahq=tzByz>sCiD5Tb7s!R65~osYPcg!U z&!M_NYEbP0&9yQ!g6edTuE*^CeF$CP3Wb4z0i*_1*Iuw)pn-2l4F&QK%!Q($1_uKJ z14s?3u6<x#pn*A%T8~|i9wY41g6aaPLDdD?#>~tJ)0H6nXE#EZ2UHhG4QgnBS5z{B z2KYe!YF*eYkI<C?)df<6YS%%q3t^#A%dU!40yIN)fz+VtIt11Qnxp~w3ltUzyJkUk zfz+Vt0<H5w_{*+EunD1SBUBei4XVGuD>E5EyB<LPns%fPN!L}VE|3~jyFiE4F~ehd z9>c0L2)n*Pb%E5N>N*DY7iiKEWEZNxgh7o+1_lO@8dP1!!Mb4a<z9Bv3SpN4R2N7M zs;(1YU9dFY#G%NH&=m&N1yX~m3v~1zGb2nFstcQ;x<G1B!w|HZfSD0A5(x5_@y2`8 z5O%GH>H?`jwd*w4g|M{oi_fbCq3bME7f21Nt}|d=plK3NiH_>R=TKcBHK@AIf_1^d zF#rDXB!pdzpe8;80|Q76s;+ZjU9iwd^tJqi(4_*^1yX~m>pY4sR2POpb%E5Nh9Ri+ zi3r0=`87unb~QnDfz+VdbrEbA_Ap!k)df<6s_PP17xpmR1=R&ogR1K?SQqv%yaLq) zQiG}sw4xG`qMjY7IF0bvcc?Cq8dP1NQ6Ypb)G*Wp_Y5E-N2p<V4eUbDE+<er{GcZ! zhp;OgstcqB)voJcUD(609I6YX22~emy$mxW_As0b)df<6s_Q1$F6?2r9;yqZ236NB zur63SM9s@rpt?Y6P<7o#(S;g@9N@kb0|Q76Y8c)D>w<;h<&X>=L>QVub%E5N+66j` z7f~Lf=H)P`E|3~jU7%B$afM+KR2N7Ms;>KB7h(^?KBz8`8dP1Nel;RR{V$e-u5AW| z%Vwx9kQzvh^BgJyk_DMllC0wC3tC<eK5Lkn5mfeo(ilh{5k9}5x<Ka<Gc)KFl_aZ# zKy-mloyMh05Zw1=0G~_^sr@yeA|TTt?y*J@LGImv##j;ULy!)Hdt9NqKx#m~fKT0k zk5fhH3jex$4?<TgR2OJXHL9+s;E)IPQ$Y4yyeIJjp{o?C3#0~B7ib+B!Y=R2K@JFA zy--~sHK@9tquAAO=GG#FuBA|2AT_AEKw~8cyCyi^DMRSm3)KZugR1K#ie1toGo~YS zU4`lbsX^8C3PqQ1E$HNLNNh1MyoKrlsX^8C8bwzlzfB#&E>>vM8>9wR7iix!!e8ZO z%z+49vQS+hHK@AYqS$rUGZLvzF@@>^sX^8C4n@}j|0I8eUA|CVAT_AE-h*|4N>NbS z*gYX#6rn2>stcrsi9ydfC`2W~8MMKM;R9F~YHkAQ2jL#5F0dMgEoKZ1_9>}piKRIu z@g+rx$=Rtz@yTiF@oAYksquM<xv35g#sN+)P7L<oL*X*>O5#E3Jw7eJC_XhWB{MNE zz9hA{#KFPX1EwZ9Be4jVB8XA;@jecb?hyfw5uTm_X08zi4pD{<Q4IF>@xJKd4p9v8 z@dc$tsmX~sISlspMh=mVAbnuv#txB=U{k=n_)uiI_%Ns>L=MLD1RI!{TM!?gSzKI@ zn4HQGkN0K@G+D?I@UUwu;^V<4#m6Tm7nQ_k<|oCcmF6WgK!wwibMlKp=7SZbrKgq@ z!=>^IQuAP(c<7xN$@#gt`FZfW0~q4r%y^L3RpR5zK-QEc#ut|)7L~-8r50tTRmLY4 zrI+TW=9R>kR2HN<1Uk7mfP5YS3OKOE=*B~rUB)9FXb*L8aY<2La&7_4T^S|$c{vUy zFm7H+eg>EeP6_F$B_)};srhLsiIvdA5t5mkT9%mOQd*P<y43^Z4DV2oqO!ys2L}UC zM1ZxTsS8d`&d*CJ1}XQ$rX1vq6tJux+z60cki_ic<6Xf<CuOEXlO;$)L_`#WJxIF) zM6$9ZH9o&6CAA17=?O{-_8^0B%i_}O2X+ZAy%1S@1F)qS$NdF5x;lW|Wp9XGJ`^es zKT<NWv?M<zH7B(sH6<Q;yd=cM7)E<Kx_Wp7n7MldI7WnmP4{s0bMbKv3UCZ^^mTA> zh%)d11z~Y&UP?UZG>Z7#)Z*gA^i(|N1vt4NA|>1eY-)&WL`ZzFYnW@0XGo-j12`ay zQ;W({i{f(=GxKut^9yjB2#%EGoJ>%PB~mqdP&zn(0x`hJB>;L>rE`8>UTQKV(SbaO z9<~k+uu#p+%Pc{2n}dU|qpJrfO5i~b3ZT@YVw?)04uT$ihu1maWDj)@Ts_P+MX8A? z@yYplX_=4`7h)k?S)ik<M}T7}s9-5gb8rZ7ashb`d~$t!P9mt>jW0?q$S;EW2w5LE zl#%=cjvQ#}f%*$sIoSK@sU^@mdP<CnFr5++;OGbT4MJV15f-x|JYWhT_QjVN6~z~& z7M6nQ2}t^ZR5T6_!FZA?gFRGxsZlW{+RO8cvcUyCS%#$M6_*yJ#zRh1jW5m1EHNrh z%`47_B@TEXdOEts`+;);Jk&wuF?#sGl3HqBa(+r`d`Ui9ID_N^9KrDnRZ^CkLyWS- z<YZ!$LF;&<qWt_^V$>t~m>A`Vz{ck@`*?TMbP($33a`|mB{@7`k>wyoDpU%3)+nB$ zzyn-NqZTr#nnN93!8xTkwInDtr8F-kF|Q<~C^4@%H?z1nGd~X{b`TauzzQDhnjApc z6gAI7^};efS_mLyaRdW41un>82vraW^$%(R6%RR>6mLlR`9Z2J?4boQ02W$kUV}?Q z>NV8Jh1!iAi>NV-O#!OcAm-!p8o1uUTLgpaJRJUl>W29YQk=#Y<QGHhL|Afxoo*Tm zs$vlpVxW_sAvDv2%3-j^__EZT{N&7%O4P)I#{^ipfiNO5IXN{a721wMiD!bwphphE zhuEVBA&)EVAz6t~f)+(kQ{a(gVy^;rwsT@mPEulWc0A~EDu>W`uwY1#qqDbbkh7D6 z132O$9G$`pz?lYKc0$VjA_r280X2I9%-kakuvilX%95DJdsEkZP#*=>L@OrA=m<wA zY>sBIw>Kaq1RybNNV*ncq6>U$DOF+&*(4m122(;oyupkBH5Q4nh2+>nwg4jnVUnP3 zEirKjQx9@2@zIE>i<p>nbatjv-a|GCM;ODDP!N+aBS2w8j4dR`B(en<F$t3-HYQ=} zL9Qh}CNXsp6O$+xX;UR{Vlxp(n4>GDAcoP60)-tZwvrs<*et||d2~g@rT}z(Am0$5 z5^(E=_P!y#r}$uSKO`Pj!xp1erRYsSY^tG-f>g@*jD;vfZ@6JI65c{UZL7nMN5|6! z1=Y}KjTe|MShE@0i;M^LC@a$Pi*iw$STN<Felw&$5AJlvgL;r8D2I1q@S9$oS`uGc zkdj!E8ef!Hg4SL{b_%!`Qj`i(pI?-jo{840KvoKJHTIS&OckP~nx0u)0vfH&NX$!5 zg*7{{I~mk!4RDOW**F5XkdazP$<#6v-kzh(L|8Q!MO}xY8cQX&!U}RKyA{<~D!CQC zsG+i(u^Ue%w<Fyq4jS16l^#?}!C1_ulB=OzAEO|De_wDL4878%ETdpI9(524GJX{g zsxm=6Gt?0(_&pX_#<NK1lVP|6R0ZOw&@t4a2MJy61qBPNFeR!Fhv9sXS23Cr7^;YE zOJHaO84szBiRtIz)(%h5Bm^&Nz5uxdN1UQ6q##034I<4(lA{vSGK_dcRYGheqUr+q zg7_H3p%)Ts@zCM|WgZ7MW(8|9coQ?q4jN{rnqi>9XsQ`j0%@2+hODV(D)PWK)eMEV z9H|g5=tIP?*u*oEid6~fKpjj8bf7N2Fg~p)KQ}(HBC|L?F)uwQmBAi5dIY&q&cP2n zo$L|d7~tp<;0PH}M^)j0ssh|ZgQ_UagPP)@qT&phm<E{ynz+NN%nw5uxb1AO0-lKV zfHZECP^NJ`uo{G9pQ9sm-VEJM2+RDC)PN^-aogk&9~9yo@0^jEoE=<}n4BG!SXAs_ z!Qc=dU!0m;T9jE*8J`T2j8D$b&(2H*&z{3|xE6!v)<Im)yv!2N^esa?*u3D3(vp<? za?px^c;|`=x1z+{RFA~Gl$_KeV}|(n)C@>&FH*5b?bU(1e4u$j*n9-?L?~#kE<V0A zuRJp^1+*+7C$)rB{VIm|Y)8yF;Bo>uxe#yzai*vkFi^)F{62zDHQ@FUbfSciYlt?9 z2%iye76IQOM(J_-54=7GZ=#8Z%?IG=%X>IP5#ukS+(RG{VjTtnRj&kN2;1<5Lj-XS z2TcK^4ZVQ0g2JCr;Nj3}gqGDv7;M2)LcrVecp{64C`YO`aHSlgVw^a02!|qZ=753} ze{2wE4yX*KhB=_6R7hnxMcp!t)J=(L;Jlie0jec3^V0H3ttQ|_b4g-SPAVC?aa&DX z?SS6_M4N%f8AKPs1e`*OIryAIRLM!mEyNmv*CE)8GlEv*)P`aiiG?7p1WaNnh&34# zZ3eOjD9M!QK}eBV_VNA&p!IRZ!6o@cpcQ}ihW7UO7QQ+-SUQ-*dpj}^p%Z0MEJ7oA zS^;@Qrg6NV6KIvMIamhTO?7ZEa{}{0?P2IO%??DUf?c1CsTP{wi7^(3QWUc-z^;S3 z7OKJA35&ImyiJs~*p=e37NP;Wwa{!#oW(d4<Fgv71*_$-3X~|zaVf@QIZO-Ga%YEl z0~ap`SATauKW8sLNQclFd5wv^vAr?UIB*6yp1|7N9i08VJ^eg!=|Ub5L+J8waQF81 z_IJZ!6;@47J`P^KzHZ)b?oe%zUa-Bfy(#EYczaXm9q#sK_9~8!aJ!t{9X$NK96kKp z{UNp?v_V;>dHE&wrr-<S?M+kjz&e9aW(9HPrXT~1i`^Y8K-nzF7&(1AKn0Dk2^u;& z*c&)HxH>|d2h9>NEoibx*%@LF+yO{3P}?9*KoW=OfH(p}*wE3z*w_u~2)HaP5ka(K zS_YHHZY4|>q8rU(R7qU^L{&u~R$z*;L?N_@!I7gd;t{GG#aqyrfl49!37ZU>hp;I@ z@eR~ibO++|5~TP-*Wus*@jg7VU{*tvWAze53Y(XZWpH>2SqZ9_ATsC<#Ooz!v52k* zx2K>QuzL$CiPd8$a=5&Pq6p1%P&ss`;`1J?;6>Mi(|a%tSiJ|6#O6IzIUL?YRfOt2 zm>jxOQM_jkT8$kK>fL~fNC)V^8*Cg7ysHqj7ZG(l4lE4XY#5I`z6T!JV~CGW%PA=> zPEBEmk1tA1%yBS412A#pv}8*pkcbdZMbUvIo{R+G<{PJ_VO4K}B5D8{C<D94#K6GP z$S^I*)WpQZD8<kMX1<A`QL2TB1zZ<QJSi;+$(fdLcP8O*e^OeCVQP|vDU<+hdji{= zgz3(T+*}6}LsaL(?T0d;n}`tYMHSFqjm*TH%&OEP70@;`GslRCC`Sf;V<QD*U}$1y zY+ztvY-EZos-R$KU|?ourl4SAXlP&pmP+9AVU%QW-D4c?*}=d7+B*;05r=$xJctiE zi3xPaIEW3$TmmTfu7bqhI5IGRZXQnoU3kX8zyLaJ-+@8E33|T*=pZJLG6v8+OFnQO zScn0v4(TR&kZ39=1H&2&bq)^T(=$K{pcu5TPcV*wK@@Zm6axeJ#(M__g9FHSwStsR z7hzzKk7Hoi20pEWfx(y&bgoiB0z_Q}NC_B&?jqSz$G~6>y0nFXfdO<>vjPK59pug_ zkV4Q23m2hkKztBZ5C}+s`WJL0BS?q=v}5vGJp;ob&;>8hn}{3)1e_rDLhix>DFhuo z_oab>K^Jt%3-pcvZ03RXdpkBVFi3(fdciOc;XcrrTi#6!453hUpq<3n%mbbC72m|b z5DdB$27C@60|UZ+2=i<h7#L<YGca6*ssn{PHuFHYRs3ycU{D2J4ui)$(2W(@tqcsi zq3S@plChZwy0zkFD+2>7C}NQPi*!mXDEvUXLd~ISKzuM}GC(=S3M2+PPszQVf#E$= zEyy1Z3<eI!Cr5$Q!FC{n*f886;BWw49VlF3@-VuALEr$mumqK%P(hGA;vEbO(x9We zVChuAzyYidRH!1UQ|(}2(8N#&+Gz?^!~i*4%owT$Ch8#I;Gl=J^A#ixve&wUfx#ZC z7UW)#e-#uI^j%!t97BCVd_0}3l*)^Z;*E{;ax#;Y6!hI3J$*dgd_9AG9YdTwtd!!N zgF@niLtH%l<2{4@<HJ2&T;qcST%A4LJY9o=Z4H!A&GHQna}Ek|K@;`&aq)BXbq!Wh z0J-TS0|Nsn*I6-u4>(|Ovx+Gw%FjwoE-8)yx3-fq^S}(fl+2<Sm(--vbTBtQBm=Zh zOfNqvi@}P)Mi6u)2s`-P%S+La^DjZPZ)S2)esO+UiGoIurUIz5pPN~gnU}8MoS$2e znUh+?0J>)ccAgn1oIuBVfZPSbAU^1p2GH41AU?>gpgV6|7~DaJF@U7O7^DZJ26Pbd zKhU9YU{OY}^Mg}!6ALo(i&CwuQ27ip3_=1RQ^AT+i3TACeg<yAKmY&#KO@e-P?C{Z z%pk$QEeJ}CphM}B{YrC#Qj7CTi;`1|8JHOS1sOguFff1*^@ExOauX<AK{kL+-~tKj zGB7lN+^NIB&;YtmS&xCC0d&5oJ_ADodN_dY8v*4dkUkKe&&t4{$H2h=IyV;-4j}XO z8CYTAfI8R?*~AI=I%GmF0(_<cNH6FvA6K+61lb2V_6c-H-+$a;ScfGLk(~(&A&_$! z7z7%G7`Pa$1Yi9B{~zR8P=J0w4p2S@OF?KQ#UKH`{o7xV0V5ni?m`d8;|vT9Ah(`i zU}yl{je3%Sp#kLXvsl6rbpH`34nP>>uqAAux`c%R#0P~1=&Utsw6Fl_0o6C4B6cqH z%y0$<jPwLvJc*HvKn8;>Vqjn(Eg6Br1A5dHI6Odn(CK|3!%)KqbaEp|6of%;1%(f& zo&lXw1`@l-z|a74|0M<n(4o={*BBTYK<8*(XJBXm-CufxfuR9(Z|E%sh6d0bk+&Hb z8bEif-DO~C09AYU85kNset&=^JbyAWFo=LGfns+y1_pTs4tRKaGJ@_DK+T^ZJ)mF& z(Yerb?6HJr0XQs?4M(IVP+0OZ@W7Hg$a4H#P;x`bzoHDxaNVwq3=E*l1Q|dj6}RA* z|Ns9pvoJ8^6!;dWJC&v}Ffp((fPx=-q9Vh4YtU8imV%&*vOrdYq5~ukIvfR=FAOTx z85kJeLDhpQVUYYURfv8ks60%6B9#9dDnAX%2g!p=6-a&n)s-M)Ko}H;p!f!z$_cu= z3MBTFfuR8uzF!y^8bIFq&cM(BDyDuiFf@S9-227A&;UBi?KcBM1Lzd9ztDL7$H36= zmw|!dKLbMp6C?PBrv_6-1_n+>hK6WH1_nMxhK4-QZTE}}4aK0-OBop&N*Ng#gcunb z)-y6N2s1J?Y++<zkYQwK0G)^-%ZOQyfzF&jE+Ag9GBC&>r58yo=>?<*bmj|)&cmHv z%E0Lb*>GB=7tn=~pbMV~r5Dh}<Ddxn2#tTx1->9YEIoi4-5@?JJ%BDz1o1)f4N6a- zi_buOP<lX$f6$$=AYl*&g$XGBL0$#rVUU<2BSQlyybKr_8bHo8VPt3k-MMMW$j|_) zFYOo^8bD`d+A}gVfKG|@U}R_jo#5z+CB6<aLQW$EnG3@2*ccd;km4(lk%0ldyaee1 zogxIH=YbL;NF!!>2|7?A032ta<4(b9pbaP}yFrKnf2Ky0#mM7A4BUc0{{R0EO8l8Y zsU=~FISk18o{N!z0eaDzFax(Bs5-)$@1bY=!1F!m$WV|QVeteys0hS|#p`Dfhk=0s z7O%WW`4|+hpvE&u2`FAcd|18*nTHh5$oU);mY{e>&gXuN3=N=g_Ge^h0423VP=18; z@ftu$DV-5gerGT;G=T1V%wl9{0G-p9&B)LII{z()k)Z)}@>wAxLj$OTR>sKCpvK6+ zP|e8D06ImyhLNGcj*)?(mXV<WbiQsqBSS+KBLhPNBSS+yBLl+(MuvtaMh1q7SkevX zbWEhGj{&{i2D+Qn39X(5=>fHeK+TQ$xYJD@a$}3cRvS2UL2Wb8iFKeT0AY~5ps)qS z60EwJjKxoa1nN3{Mg|5eG(Um#fV={tXM-3Z3o-KoXcPgQ6=3#*l!5Xzh=w#B&=Na- zE=E=mM9K<zrMbR|6(~6YbksAnG{Tz`K-aH>ob(o2qJc_65FeKELCFlnhoyYbMIj(Q zC}o3EI_Pjo5FeEC;c)>9dypUqgTe{K2c7c_x=R=&<_E3M0vQ+@)WP?SF*JaVkPT*F zXaHr+PzHtu(4o&^3=9n*Ped_5%DH$3hK8M>{J_A_06G^im4TrFbdFv+14F|l1_p)< zXuXHr-vFKUgj|K7*H7|{3=FntaSYM}DsMsb9Ncl7l3H9+lwS#sW@Ia<8O_M08z@ep z=O}^V6lbdjdK&@5ZBt0A1a$2^DA-|f3TsBf;uLiCFi0L2r?6HKN}M9sQJ`=E#VN?6 zusUiE1Eh|c%fQe8a^yk=h6d0*)yo(d8bJ4|u4Z6p0G)unh5=Gntz%$l0F{U9vBVju zp9LywKp5mO^s)wIo)=o2f%JgN8Vv>phL@m16{Hc8FRiTLJtg<j#G({*J~#qlc7e4a z2&5+dEg=R-PmvGWQ@kt0z)+l;i|8MM&e?`(1-S<lMxgO4P?`pbuVsYv4_7lXG=R#5 zHH-`mpi@}aF@i7RV_1)+i~^YhavLbDL1v(b1?W6(d||NwHT|Od9i2~USb!2HD68+0 zV*rg+=NIKB=70kTR7MjDpRLgF*$fSzEzt1U1`VI>Si;8-e3ug_WFQz6KDrDn@P0HX zEt=r$N24YT@B|}LXByOh1f72Gjh5Cxc7n<)(7|x82&J_;R6D={j9glPA{XLxSdaP* zT8|o@@IVDDC>)XNI*?mH=?uB9+l3{ZKuuLx8Uk4d3MWuK39=sKPtdTH1DZcUdO&JG zeei{Z(os%+ayHm=$hLrNf?{kr3Aqw0N-ZwUDS@XIP(K!`lL6!okRL%~BcSn7koZ1E zNZ)rqBSQmdT<8EJLj&mK-$RTH4WO};!;FxzgCkhNA_%ov3U14Q{0R#SQ2FAH78W2q zAT^*0a}lAiC@HFpFUbcTYecOe0gs!2#&SV^2VszVKw$#93>4%hkk|=mn4E-$$th^Q zIm5`%06JRqEF(jMJp%*7IYx#Cke>5c!Ui-CfgFS0?4bSvVmt+O(l~lM52Odw<OlUh z7844a(mbpw1r+umKS0_>u;vat=_A*JpyU8*CNnTFU`;@fzC9>ofD8oHYM_k60O@NZ zrz?=VL1BoTt}Zh&G=Tha1=<$B%E-_FIt2O}BSS+v0|Uc#Xy5B5maqfeG7a(v2!pIf zABzIrl;De&u0VP~V>zJsTtX=9APe$+@{_ZJz_}$JoZ(>BfviMg<H~TL*adZ<pcxL- ziUSp9Al+zTg<M{P+zARR<ofJ3BV-)v4kJSYXr%8hBV^p^9wS2o$UhITgc0bNV2~q0 zt^ipHDu+PzHb@Lq4uS5_wnGaekRFg4&^YT-d5|s;W&{saLWZfKgTD|CMxcOHLorgI ze6@zw=i<=%{FgNYLqQtEjDp0XTyW|FRc8D)3=AbHU?Ffy0+qqYVFPj>df2>#)@9Ea zA!EVM86jghFQ9$9S6IR(mOxzw8WYvQS(hON2U;Blni8`|3saC?plAn`0~>IJDP%Ah z5+L9}C9U3q2QVnmKw$=I%Ru9S0c1ZY%s}xDidT?$G!vvB5W@t%mXslu2~tkQGhvQ9 zf!dO=Gz8L%UQU7Tk2gj0Ge{38Z-d56mf`SodOp~v$VP*l2(kjTXoC9=l!0IaiJ%Mw z;=?9Xg=`>AaM0*0$OumGDb}!Ya8Ta{BnrYHw}HX~bW%P{_giRL^bT5{zh`7<aAsg& z_`t}}0BY3#VPt3kHQxU*GBkj0lmE}i&@d5Hw=qHbOPpB34RqH%l7|@3%P7#8qd8i* zf%JgNs6GY;hUGZIEju$O2OM(9h9j}DWjs(wf$D6K|DQrTE1<Rphz|?NR1k-O0X$+3 zOGluN5LB1}<Tg;af$oEWji&Q3LCPh5CP-N>&IIXKN-!}rgn{nyWnyRmO_pdgF*JZW zLpn?h4Rs6*47yAV4WMaUeI|wmP`l57iJ<}HXG1LE2)ZK!Igx<MF;M#e<YiDf1{$YD zA3Ff)0jUAi#Vc@xV^L{dUS?i8I4F_Lhxr#rA_N5uxQ&3^HU!xR3LE6Mp)nS}fbs;$ z-7q^qegT!YATf|%vKbf{%+S&VNDoL2s2{TuhhGXZQ^5WJnFBK$iN=;Bu=)dJ7rH-8 zvG@bj7D6%~+^z%7cZ2K)`2&>SY|#7x(gRWhs@GQG@JC`<VrC9#lL6Q_$TlFc8-(C( zS5SKaCId1b<aUr9uyF|sCWZzO--?N$0c5Wo7QcY*c7&CSAhV{iGcbrFjnjhe0zq%1 zg7kpW7l_`7!!LQIxk;%-@%d@-1x5MEsl}i}CBfc8whSrZkve88!oV$f<NyEv(l!hX z#hJmC#h!U-`QXVGP)`@+6G<D;Y0|JV5V=kOxf>K#p!kA0CxZ#n&d*_DXaJS6xzIXd zI+id4*#OcD!XTT_({UI0#&^`YE07*gItGQ?8XRF(TAW(sl30=m4kwu5APbN%w!{pZ zQU;Ad7nJ#>mWRR&0w;5f{0edl$p6Us)d7n?LHPmM8R-55m5=CS_#izXe}eMsS}OY! z<Qq`^j$HPD>_hj96BfUK?n?#v1%yGt3965H7!dsp(5<KF{SA;FP`eD&w_k_DFD2mR z3vQ)($-x<^1gj>{umvd5Lt+Zr;sK5GfTkFQZ5S8|N;1HS80JM#TM^`Ka2z7H1wn2D z`5Tn4VdFloObiVm_qs8Gra2iH+?f~}K<V3`2{Kj|fF)dD(_*l20mU(>%mDF0Wf`bV zho1jIdO&JG^PuaA3zvZW;>-$gx&{S47Th4jfHiPHo(IJ_a{dL`5Ar+6jUfMlj0=U9 zbz#stIh={10pz|2EPnpQ%D?~{U<T>6<zQg2Vc>y}<%lsdFxca0|AJe;;KPX_F%Q~U zo)TXSTO9&E=sVsoB8tHk*#NZtb;KH?VniKd45?!bsJ;QEi3BDF1~;_&4HTxJF%uBI z87)oV2`+GwK#mJg`US-aV&O*!beIbN#0A}Cc^J3_5B&fCpA*zsV*v5){Qv(SG#i)+ z<~{lU|NkR#28Ln=P!+WUDwkK93$6%@83Y)(1?T+#|9=`t4d|qM22lQA1Jjk73)Tmk zQj`+_kNd_a=a=S{Fz_;P3tsvE|39RY2-egCH6|~=9A#1lG*{sX${e62D%^rKP-Q8Z zX^15Wp!O#yoMG)>&@DX3d@E4pzyN6vgWAta(D+}`__LwcSisC<1r-oT`g73ukI?v= zAnrwJf8T)G0df~8U4imEs2n&06<-DIzinoM^jEepF*JbsG~1XM8bEVE+nE>|K<j>X zFflZM%J*GN3=N=r)b=njG=SPQdzly-K<i}pF)=iN)^#3WVrT$OxgKI-Xi#NjU^vXg z&|t{Oz;J|#p&^)&f#DbvLqiE81H%a>hK4dm28NTMb~_^j!zqyYj0_B?nHU=OGBPln zWnyT!$H>5No{6F10V4y$1(5lS3=9{U7#jGP7#J=yF*N8iF)-W(mCH;F4ELBA8oZep z7#=b)G=wuTFg#*nXlP+#V0Z@VA22a6JZEBPn8d`u@Pdh<VG9!j!z(6+hKEcH44;@7 z8s0N8FnnfWX!yg#!0?5Mp+SzBf#Dm-9A*ZFA507l$;=E4KbaUBTA3LbeuMnY%)sy$ z<ZosMhJQ>94L6w?82&RcH2h{}U|?isXfR=6U|?ltXmDa-U|?frXz*uYU|?rvXoz89 zVBlnCXh>vXVBlkBXvk+_VBlwFXjs6)z#zcP(6Ew)fkBX&q2V+O1A{O#Ljxl#1A`bd zLxUtM1A{m-LxUVE1A`<pLqiZN1A`PZW<MJ=4+lyDAk4tP0PZg$*UzB!N!AQ*pduY4 z4aOinpz;DV*0u?EnG>Isp8}aZgBcFejl^ycVi1Ln&3p$B)__(df*WF>><y}#4}&r* zxMBvioj}?_=^R!!A&-}W+yqLep!PUu%mbu$9<*Mb&jgu|SpbT61_p+OObiX6^t_mf zp#fC4FJXeLt6I*)&;TlDKk+g!2r;k=O3Q%OK|?ByqS90bVW=1b16V9AF{d~cU13O2 zs4KccH%FgfS0sgDK>>d8XbQn%5QVY~?1Hzz0}0OlLGfX(LBXE>e(}DJULc+kgCqmH z;2}BCP00cI<*7xWHm7f5MP_bkE`v4$yP$y}$kAT@PVxRuUarm|@qVr$@j;FuuJO+P zej!2rKJl)8j!r(V3`S7JObqxG`#MI%J30EfgnPP#crfTf^|0X8;}Yx~5Fg^`&R_sl z&W=}kn4^!UOT3$pqkAxe76Xr<0(=+>9L%_GhhflW;1M)IRg3eM7zP;z9>KTpxg4;; zh)n?uS`6%hCg=g@>5nzs^odc6>?chI9>IECR-^1kU{GaX7pwxuZAd`8v!joXlcTeD zd_a(=Kj>17cuzmDxuA}sAgF~3_C|<DkgKChyj!TBGlL8R2UveRHth^%3><=I1wa#b zuq$73GK)*%GeI{Yq@@<6<|U`vfI?6qIX|zsL_rHe+cAhTa0r5`R<L#O=`IF71`a_` z{aaL=S(O@J!XUuFAqX0`cM10oa)}QJ31ZM?;1E0swJ<)hq@*Y_sk9`u*vcxk40KTk zWC5-tOq{`zfkW^R(aNo?Ko{oZg6vLZFlFEnJV1h0@V=c?20I20!F|}YWu)d5q!yvL zxy&#=F{cEi5#eGt1`ffU<m<Px0vQ*d3ikOnBF!lU-K~Off)fLW;3l%PT3LaOice+G zV&D*5i_Hv3TRSr^9bun21Bc)e;?!DM!S%<df)m3+Y#I~O(~DBm6T$oA5%z#$bQaOd z;UTHdz#%vtn>I+2D@sjH%`8hTLf8ZHPag>y;5Ml<a0qr{)0mr|Qks*BumR+xS|Sv} zP3C3b5G-V2U<e2e4-N@p&|u&Im+JV6X-MhG&%hxFDrkKC{oKJBP=tX)P~3)r!6zU% zGC0K5H{R3F%^#joL*eQq7&ruN1Q{3tK;?#ytD|3NK)id9e`o*$4+Do_0mv=R9*#j^ z-dB)U+(SKG7_1pM1S>&2_!Ux^<w<-z=ys``{N%)()OhF)<zfXbI|gnB4nai*1_n@J z!63`PA?PW{zyPuyR_eL>g?R?~`^ASDf*s5(3@W%l7e6JLnJ@@3a0r5W0^lME-k;|X zWENmx2yljk8z_Q6g*sBWp%>|pV3PxtJD>#(p~0>}@s7?Ro?)ILk?{dRuEDN;&Y+qb z;#9C@rI~pphGyW95CVk@C=9_xAt;o}65~NZ0QMYcD8VT*1fpHqhJgV&3P8Sx#T2;I zK4J=vC0FNAa7phN5)$O;6dK|h%m7Lapkg)HGs-nS1k42uV|e)ZJ3IO?C^K+?8w)|H z1v!bysm0FuMII?dex<poMVZMiscD&csl{N&f{Xx{%nTs!f&v?*l0XV=0|pMkU_k~3 z9P(CHHl=x>OWaa)L8X^&sT~8T42mK}2f7)>cHkuNNSc8mJ}EUlGY?X5fV*zs8_2-k z237Vx0nVU20jlVnVF?zNVm$qVLmWX71`0AkP~-%A_y>hB2tq5SkN{X~ib0rxL(q`{ z){x7|Pb@Jr0Vgw7P<n<Y*AfP41`fd!rVI@6!B`>&WGpC>;mN`R>`G8N@CgV3xe`=E zg8G}FR9lvq15PHO2@!BSn3*t0F>nZin%1Cf7wqX9;NuFf^ucODraSrjgEA!8DHiBH zhQ=D$hoB}p*eQqv3Q8vdVg8;jVADX8!l^|?dHL}r;1mH`3m6X0)*yF+Qlm$ZYjCJf z2sm^=DK;KC$$}gUTJ{67!^#S22}C?3oZbjQf)iuO5hyl5OGH6A#moepH$YASc?`7m zK=2wU$dQW)&<?Hmg3_d%%wz^*1`fd@umap|mU2*|CB6jGTmh9WpqK&K7#|M`c{7vv z60og80t^gpo<6SNhz7M>KzX^Kq$s|G0aS8YK|?pd-`@uulc3=9frK9@zk&)raJdHx zE>O``8eg1|Uj!N=;1C3<h1`n<HXRhp;NlhJX>e#W2{SN&T$2PY&+VahIfLRBR@lZn zgHo>#A`O5_IgmR+K^_lstg#W;VW7NR8lRJ&mkw?@<dGIWkZ`hN5M$sF1dVEdO^1}B z;LevL1BYM+0V8n~>oB81Q4VrAv}Fk5g5m?@e`sKXxS+5BVQ~0>k}o8?f`T_%08|`0 z!_%%XC^v)Dnwfw@02Gyw8_d8l3mOpzr({@l<r4tPf1px=59|{xl@P=n7LYw4gBchY zKzler;|8E%4gp5r+8K90PI)!yLG-6AAKsdCpna|k3<8Y0ahY>J?z=Jn%$f7N=Z{PX zU|;~PgA`y?alS2i=V<F=j&Ho{-^=>=Fo18R7hv3ztJ7)4yU)l_sA87d^;v%y7&yRt zF_>ffKGg-NvGbJ$yb>-KS-`-M02cr6^?BR%Vz-s=L-$??__EE6fdRC3TY&LYEn7O< z!Wpk3XKrX&wc%U@0|RJ0Mu1UwlFi;n-a9^t|KnWx{YIxI1A{yh$em7WS#ND#tzZ&b zk?`ry8Mkc=47p%&?F@g*TC@Lk4G+Z^&oDP&W?<L`7B{bR{BrBrPrDV8Ti%~nnhzc> z2bnYNfZU5G2c#z?$WAu3uz3B0fgy+)B))WdTF@4jw|Dn0R{K9|O2=XbhGk&!OVyW8 z{{PzlrLtRId~;7U8w0}^u(<M>j=i!|0uP;wZ*pdPnCHvDU;`S%V0?D?(7A#zoi{gm zGcW1>4?M-d&<qy0$WmIJ;x}`K!tq1;=VG^(Ffg0}i=T9|PE7s5F0$0@hf!<GHeLpX z*I;o2n}FqeCiz@Z+qH<NUQAMlfkBcL<W4ugWU0pyUvxMNWFFL;{@BmJ09x)p2jssr zw9S%`osq>EiAAX?dKnDKVCnRt#9Rf?&85W(8Wk31nla^>c`5nj#R}P(CB-p@1~Hj= z$vLGdsWFBIdIoxi21X_ZdImA2$wehG#U&}3`P48dIlm}1xu_(*oN6W(R~E;BvSSi8 zod<Ru^y)#q3<m7M3#r=mk|_#aNF2qamu9A<q^42R59P%rMVWc&6dDP2UwLL;YEe;s z5rw9e=7JJkQetr`r3OJ#B^5jfPT#O(nVXuMUsOpAw;`FBTu>QbOre?3XecfzO3cYj z&!f;Zu%B}iOEM@m2OOPwC6pQiip*qC8=O#H%V0=BE6QSWi_40Q3=B<U%97y)SXp99 zY8sV-9F$l~ib18QN{E4iN@`Mpf~|r|YG#1~h;O2xtq=zmNP-AJIK>c-g@U$%tpWo` zAvqcqRE&(lwip>G=z^`GqEQMeMkWx$O{ix$%qWE67F08wdL|jcjDkDU*obP*G^CzU zCK&ECrJ~`~^RXF5v>TeioX!B6hX6HE*cf~SU&}KvfYz&l*0QlPfKDy}vA7vP+m}Hs zE`|_B1_ls|n;`<q;$oP>$N*l2$<A<uk%6I`fq{XW;RKY$#UR53k>zGkfU>w4KyzRa zb<s=^9b61eP+4w<HYkgWVGfkV&9DH<;$pbN#J~VLI)<G=gBil&X3&AMxELluS=<cM zpe!ziMNk$uxZMcS%f+w<E_MLQ;$qNYVPF8A4!{mR7YD@RW~hORaWQOXVPKd5_S<eK zi;LkH3j+gajXyWTDJYAJ;VKIQ18A)uH^WURi;Lke)D&(8(5xBAWG)6pR)}rf460BT z7lR>`#m!&}WpOb$LRs7lu22>iLm-sJ%@7J@aWN!9S=<b%P!<<MA(X|<Pzq&nF*HJ1 z+zhQy78k=rD2tn6DwM^=um;NFX4n8_aWTZOF@VnlVrN(ZWpOjCfwH(5p0hD9fL6qE zGrWefxEQ{%F)&O5huSYFi;IDkoq++gx|ExN6UyRZ&}E01%*|j3WpObCLRs7lp->hV zLn4&L&5#OZaWND^S=<bzP!<<MBb3F>&<bU7F-(NAxEZEGSzHWjpe$~N4Nw*r0}lrS zLn8PjoCqk3n;{0u;$oQ1!N34I7lWGt)N=u`xENM(Fff2NyKytDgR;07c5*N<faWy0 z8TLY1Tnt~Krf@U-gtE98Bsn3raWlw5SzHX7P!>0XE|kT^U<qY$GuT2|TnwI27B_=0 zl*Ppm31x9J#6nqI44F_CH$yIz#l=twWpOjqLRnl4Q=lwvh8a*67lR8I149xxG$ue< z+zeBoEG~u*P!>1C7buI1L4uos0kq1WogoFv;%3NzvbY$QaWgQ0wy$$Dtb($*7`AdV zFw6j_lATZ%7sC;528QWiu@g`h7sG$3DclUqJP<p$7?hzbZU%KIi;KY+%Hn1)hqAaB zoS`gk26rfniy;`w;${ekvbY$Mp)78ObSR69p$5w01~0z?`HhR=4-W$aXq_-Sg9k5! z#m(RYWpOd|@-i@hRzPzzOoXzy80PRYFo0Gma5F4`vbY#l^D;1iR+w`$tcS9=7%oFi z;byoFWpOclhqAaCenVMY4D5U`d%2-3E(UQZi<?0j%Hm>BhqAaCw4p3626HHjo532& z;$jGZvbY&Spe!zi4SWm?pq10?41b_3ZqS+&uoxFZ2|q-Zo1p^A;$qmt&%lrdPA?n+ z5EeHB50u5lFa^ruW|#qGaWUKxU|<04h+zjG+W}gK&CMVn$N*lE&Bc%*2$AJx$bquB z7*;}Mxf#|%SzHWvpt9Ty51=eA1{NXkUS0-vh5#swn;`_s;$k=eWpOhcfwH(51cV`@ zEbI(1P!=~s0+hwYa0SZZX1D=maWUwKFfe3+{aXQLaWm9FSzHXap)78O`%o4a!(S+i zn}JajqL+(70?OiMkb$ze7&1f|7(gqg*%`J#S=<aepe!y1O)-cpH-j#e#l_$PWpOij zKv`T2Jz@+DptUmW3^$-GZiYKh78gT;I7F74AqC3fVpt*0zyR8T#m;a;oPl8;I1k=| zvbY#@Bp|Zf3<gjZ7ek^1OkFCJ#l<iMD$C6<1IprJxFW&809u>N&Y&O(VR194Kv`T2 zSx^=?LmrgH#ZU!haWm9GSzHWVP!=~sAC$$#umsBDW>^7baWU{nK@M+WXNZ8ZxEW%g zEG~v6P!>1C3Mh+<VGESS&9DQ?;$k=gWpOi{fU>w4?m$`G3=g0zE`|_k1_sdRAUneX zD2tn636#af@B_-?X7~eTaWN>!Fff3I#@QKipe$~N0w{}%;Q*Ay&2R+D;$nCq!@vMK z4v(F|L>9v0X0U*=xEN}nEN<{-V30a4hApz7g=!28><kQY5EeHB3zWsh;4jC(un-)- z!B7?#L!2CB?Ibrt5|qWokSoW)0NPK*%}@wsaWV8kP2pyk1Z8nCtbnq(8P-5qTnsPd z7#KjK@azmG@(>m`g9Vhu#Q@s90Fvcq0Iit@vA7s6$U_d_U}um~fUvk36re0Fh7u@? zo1p^A;$oPiz`y|7zrxP&0?OiMcmri|F$60@WVso_p)4+j94L#Mp#aL_V%Va{zyLaZ zf*o{_37Eyrz@h{Z<6_8wvbY&?pe!zi6-tmZ(bySoC^0aAcHVF^+<~&V7$lV$7(l1$ za5Kn4SzHVW$_xyk6IHkwQlKm@hULl(3~Ru#uo}wZVh~Y*n9R)}0cCM91gOC52!XP= z81hsY7(lxLxfzO}EG~vx6$S>-DK6X$jZhXBLyrmr1L$xPZiWd^78k>86$S>-&UtQz z`A`-Y!zvX9hLvEqtb?++7<Q^KFn~_K;%3+jWpOc_P+?#Ioe;y#a0bfaVz{otzyR7s z&dqQe%Hm>prozCm7;N4vD2t0>iYm-+GoUOkhAmJQH^UAni;Lk1l*P?(0?OiIxB_Ky zGu(i(xEP*5S=<aSpe!ziFHjaY!w)Eni-AQAW-kYn#l;{3WpOh|Kv`T2Do_?Tg9env z#b5$uaWhyzSzHV*P!>0X2b9Id5Cdg#GbBJ+TnsiE3=A#c8lnTr;%4Z9vbY%DKv~=j zAD}EQ1{O_-4sHexD2t2XwiW{e=xi=-hWk(!7X!OC0|V%M7j6b_D2t21L>n?6z|CL* zWpOdA*JfZi366!$P!<>X9Ihw^QPF8dm8xPBTs%7jjlBgN{ZE7DB#1fN&pE#+RROe^ zOu;!PGc~V7!6!4RD6yzguOKCf;q#}D=w?8Mydkqcdd`p;ym<H;A1f>Hp+8m%kU?98 zjQpGw(D8po(8Kc-QZiFh7`PmZi&Kk07Xc`wC1&QNrYI_KDX11JXs8zJD5$1rg3dO> zG!i^8s!*PoSpqUKEx$+sW~z=txTl}7kwSQ4W{F#VQE(>c3NinrtkmQZ1<>_-3dxC} zBXSi=GEx=N@^f<X%Rwf9&9hQaEyg$lk&qt?tQ1P~vh(uG^Aw6wOG=CK6q55(QW=Qy z7oqTk1c*XOz5--pv;us|x*}D~2W=Ks0DGM{^N=R{tgO=WtrQY-K&vh*6`&i_Kyihk z26;{%Hfat?GFDcgje%AQ1x5KuIjOk{<(VZJ3MHvUxtV#1C8-cK;5gIcf~GBq7)&2D zU1b(4<mHzrB$pNyrRJ67R4OFqWR|7E^&l-|2QMns(6mx0C<}E_$ShXy3-$4VnT@2b zI6g5i1!;c(NDDj-DikH=Ddd-yDCDOpfLD1JgS-t{)k(k%=ls%~6tH89L5s+t8H0-` zy$Jg=5>pgP^79pP6Z0w&E&%0maM%;=hN9G*)WqUc1-QvX`vVdU3MrW>dFmyg$cKd? z+$bw6@BxWdkkq9BJq-tx)8I*1k5qqSgu9MHQGRJ&ih>cy;e_%MIBbyIS74=(nU@AS ziYXObjwpa8w7^6PD0V?p^pwX7k_(9`=fG|x5Px7bkO;7{!nR>gLlasMrKTuUr55GG z;)Z~^kj$hDQiVtn3ZS%>mk&v0#KjkGb1>5^*e^(Ng2sm?p5&s`L~t<=PdczN-Wep5 z3O4{;RuCxPK}iJ?uW)TvR?y^$FSWw0%*ii?UW7=Tb!dLFszVcidJ^gc^c(^$_mJF* zlCMC?7knN$ram(A10?DwsHf4qW>o+SQCd{g3=DLwt3i7L(EV2i^Iw@dN(8_XOAw@l zg~uK-DF$Q@7=s#yYz(2@Zvv0I{yB5z%$ZK#Ki#f>x_vo1Il6uSyZ|ZccKy?QgvI&| zg!44^5DNoHB@zzpev|bdd}eG4s8`4k5Eypc^#e!&m}`7Apx5<F3aB~H(CPc3+xG+5 zDE@5+S`U;ef%SEN$zu913bGAk)fcdQ0GMn(!qM&fC8d)WBpDgkd_(}@lEWY?&YU>| za(@_Z5Abih(0Zv<jj%;V2VR@Qd<}6OahjMmFvfx0jVp*kyWcdw5eW<50djAr>zhv3 z51p=GI$eKsy8ZzL_?N8zpg{Lv350}!H6#E!UEeg;z5$(^S}qG^lxQ^9zF{Z<aY6ep zOA=m+GBPkU*S`7B-vSy4eaXhi!0-}uwBjyMUEO-A#4zJ0<X}3;h!*IGItB)O!7b8! z;{Qu#kTD>QJHW;qC^5_co#P4)LIgq37|@=omzx;C7BXZp^!k1Y%m8&Dy8l2u3Q1uB zSqvErf(#5$L5T0WL%#%pt-@yuPxqH@*DnDm8k<l2f9>|#9&}zTL+i;B!wextWWN(M z6BGciS-~C;>OLFL3r?2cv=|W;AJ=?D1StWgO#p=tC~1NY!-MS{f*<n>if>5zY<?pE zkAL*YXUJm27X7UUN(;NcWP!pB926`J3`B*S>z4q6eguV^?-$hM1`0PO;{#azjGXBR z`x%_xCE)&jftlowyZ!(L9LRgvyx!^hqOtY`Eaih4B`VFeFBnQB8*5*HQ@-NMYYd>2 z|Kfj1?90=jGxt~-85oYc{s2YBOHk59<bW*F6Tr(|AS02IuIq;Y;*+lLhd`pDAoN2J zM$&b8Z4XX+t)NT?T381*2|?h?4&bEA-0k`UYa~h_C0uyA1??xrm2RQQ7hJxg7OxE5 zPh(-FFSz{0TfVve>E`J4{n1?egRzz!IqE}y1c9QTBQOg+@Bis^VgXe=6)X&;1)yXC zDm_4<N^C9&{Xk^t@d35;Fgoy>X#*qH@I%h{q=p}!{0|BN^rFA@0NmGf$@_SGjhyxQ z<w2+Vf^rxGf$|QuJ#mbIq1*RQcPK|^APcO51;s9oW(BA|M@er)>F0nqOEB9bL^MZ` zS{dk#3~+hIaoqI>C_|t)jDH(P>&X(P*HYb~f4aR`z_moD>yK{N9|16bHXq?Y%6A|W zK>4Zp4IcAYHZZ=H$8BP_@1HJ4EXIP(1`!bVhT(RwH>%;ywLch23^T5gSWI@i{yE0L z5Qpg!Q2Zga$C_(77-|hO?vQAFb1esBDI3@l{LL#+c%r5^Nc%PPPq!-%s2uVAbKDWM zRD}VQ)t<&4LZlQ>Xo1VGEY$WZ5$OfoKrG>awPx`oACUW+-*8}!kLC&vh7#ghnLgcL zx_$oyg4#-;BlW?}lI9~k@W$c~P^7y4=yc*}uKn@9RJ!{MxYB@BFrelsq+JEc>R4h8 z5*8p5E&f0`wSt48%%%HF79%Jh2XdfRTdfC(Y+akYCeEuo-L8L*JAk7My=e`qbs*^* zTk-}6CnvOuc@3&-K!sJ8>kst$3N5`ja3CuP?S8X?5xsuX2@CJ7y#iWizyNN?e_q}F zrPuWaYVFbO`UY#&p@UQeAlgr$V~Su$G9ivC0;fkb_xW;kda!iE`d*;;K`Dm19YB(x zpaDf6D7}GtVBij2w<|{{s6+Rs`5;U8mq1V&VfudoksP|=nFF;812+uPe(iSUfc3{% zj1NG40}CRI^0x5}Xa!4Hc<<hX|NsB*1f2&B4Ks`m;c?dwpp$B{SbKe+fQ!%Lu75yr zcH9-Tc#PpSXSeH}<^znKu6LSi@30mJ!IU-sU@UP4CvbcXB93FN<^TWxXE^Q(+N}Q{ zrnw6&`f?fz1H<e2Fu~RX#2HwI)j*KwOIH?96BOof-#g6*89RL;4i6;Nno_LRfJ9&3 zV`gA@y#NtHp?8`OF?NPREFwLGO0e1l5`9?$vWesnD#mIcNc5#LGbn_vfMU4Y^$Mh; z((8Kw9P`Iq|1g3X{M$~no-EZp)>`!c|9{3~u74O{N-*LPq~hf{&=D9QBRgGpG}rE6 zDD@{MVHAQ~iPvzDikF2<3=CO}y}oO}PCMrMhY7|8CBbN7Y$|}-glr0KFM(9Q{LRR~ z0JEp{KnYRS<db9#NcBt563pJvH9@fOh0);3t&}KR^GLE4r23^CBWU?bukV~daF{k9 z;ehtl_*>31ApG6@gRzwL<z5D`V%Hv6`NILy*c;jt1k>Evn)3hu|IVoy|NsB*hOk>f zN85Dwf<!uf8=CimxXd*X#6(syN&W$;ejV8ShT{{z0H_>e_{1;Bq5^Z-OO^ls{~v2j zf+l0);vb|MqY^=CUc|>W9swPU1TBO?6&JreXrTru2QYw683I?F3=9mQQ-NT8JJ88Q zpd(R0ia=)y!PJ0G9D=by#|FXJpb&$x!RG^k&JqI8D1nchFJUN2VJL>SxIy(1ti9Lm z%F%4WP^v;Ws9y_o`*L&(c830eHI>n7Akb-Epfz(M44^w2K-c(*Fn~_^1+4&PV*uSN zb%=q1fepN}1+=10gaLGhrVdyPbecHm#u7I0DpH7E&;S`og$Tn&1_lO**loyd4h$j; z&q3#Jg7tz{HbeCOhO1*_WB{8k!XUs1SwScQx|N6lbRsSr1L%$uhz<irn8{{v9bRy; z9!3U+P_P}7;bM;&85lsfa<MVIU}RtboutLa@RpH*0d$5q8^d=-1_p@9j7%_-*_mK& z(PCm?0G<8I#sE4s2z06^8-ocG0|V&XH#P=4CYW9ixL!ZF-clw82GHe|Yz#GU*)Apq zhDfmcCc?#LF)=WJ&Y5RpSOPb19b6W4>JTJM4>K_^fbM8u1D$#V4c#Y9pmRGxarBZ2 zbZZxg^^OU0j~yH66e6hKn3!RH<6wsQO`aLD9-56og_(f?ba|u*gArVv12bd=H5-Eu zGh}@=8$&lU0|V%kCpPeEZb<yDWrq233taCZW|%Ke!o@BzGcbT|=44~I!wd_xXK>j! za94p&LxT8{i3R3n(AH1Tx@0y62^N@3)!?$AbCW<Tnb{Z|SRm`1*%;bbVCkS2uI?!d z0|RK{h>hVD3uq-gD6HPIFff2JEgQp67MQD;Sz-2avckg3fEDITbGR&M)i)$Aec)oC zRo|e2bT)=~R+xF2aM^sgd3CI?xCE{BhJ+;Oen8Oqjcg1{Siws<8Q2(Bg7z<h)5~VK zd3)jJ9fq5CgB7x-nT_EtD=dUw!`1y@g{*>RV_;!}tdVA8Xk%kw0G*J_#?Z?K^Y3Oh zm@jw1#ZIun;_^IP>;@YH1L&kqHik!RFkilb%YI^mg&HF}%$FSOFgqmJA*+Yk7-ZRD zF4cz1TChXb8?!OEutQcOvoW-@GcbV88fRnZgR5J~4s$7JbvPva_OZiUdK9ki96JMp zHaPrlu)|#X2rm1A9p=*SaF_mr%kptRRsgdx2y?((s>lKJhXDs<%`h8-4F_aJF&jf6 z2V@*vgrN?uZX*X|-Kq$~KDgL54#*l>HilOm3=EJmmXQ-w3xjUv6XS&0;l&Bri68=A zI}TcLD#DNqmz@J$2`<90niI0(RD@v{T=pj?WZk|90}mJI6n#)?7vut+Y6W76ae?m5 z1F;miVBw<01+&+H3l=UeaItJIklR2y3b+^;Kz(C2hEgsD2GGTjYz*~qQ##=~`r)Rm zgp09pL)N3RF-UR4d~V1MS)VDw;J^)87b?OK$_;Z%6F2BoT#&sz+%T6;gUin0hPiYD zH)Jg#8^bnk25{ZQ#&7_x?j|?rjsuV>_qiDus=+DZC0zCwoMp<xzyLZwnvKDR2j&7- z9tH+UunvD7m<uA|vhh4H7v%CVFo0@QHimMzx<<IVcDTBwa4~yc1_scnWo!&?yfE8> zc_Ax0*%%^tVW}<+E?dG2Sp&+((7+2>A<D+^11`(U2Qx*34-y(83?^_fH$KQJMK*>U zK3Ldy@<DbDiGbIWgZ5U4Fzn(3-R}nqt0R0c|DJ=Ja)l4(-?w~_{X-%QO#G0Y5+V%T z{0t1BbK2M#MEPNQ<@sT*Qssx~wd05B&E$ur(;|NGQdkByh8nouHn`p%xZb63y_ewj z-r)z`VF_~cGq~OlaJ}E)die!l_NoZL+^j1A+1Jm;U@ic2v!eja&F%s)Hz&aLRtrE@ z0kSbP3qV$Bi!k&EK-T?=Ff0>*tiu*z*b3Ki6m*~@11JYw7GPiiElXizxC^)KIo!6l zaN9svU4qtni!cZY!rZJb2#YOa&`~R3^K1pdi((nrz^8&jS~7uxFxQ6*!d#yVH>FY# z=DrTN*la;qXe<$AU;rIm!N#yo5EdFc;O6avn|B4S7qqG$;?nnUF*YH{ieeE4J|W0@ zauEh8AqED}U<@0BiV)0XJt3G&O@v@B^%8>lH%tiT(p0!uwGaaXXnsnBVX_d+%`4zy zJA@b*K=+@DFo16D0S$|=F?@mB_783wi!jVKDPfpxYQiwvOyOc4!VC<@z<EDNn1KOw za;FGGE?l+}uA>7kHbWS)u9l5qt}rbB?i7ak@`NyCB`zCy#{y`5FdM@IVaTdrHikFC zkhQ>U3_pY+D}dP;SVSP}e%TlVL?Eku*%)L*AZvWt7(zuD7^K1Oix+`~X{HFwwtNwo zFIz-lxvU>9+a039(d)$1?e)d@1h_x71Jrc^-TcJ>m-<19RIl$7u<l;p15kPmn1-3w z1sbcuFc8#S0^LC;!T>sd2Gnt2V-ROxU;rKEEy4i0><c0by2=7HUC0J*kV9laS0zAX zK?hN81_y*MTra320J?-i1iT3nl0-pUW*}mq<4GZULCxzeV7<)<z1?qO4}-dP=(jq9 z`=FqJf@1Vjn?Y$L4xAUE3ZOTwgAQE<VFUPag^cm=L$ko$zWB1#qRh0)_{5_0(p=Et zc%XgVSWn{v-Jpmt9fbuwqaJb-4k++ovLJVFU<94Z4k_J1;u9Dkr_@hk0B@gSs0Xiw z2DQFHEN<|AQV@%a;Rpi*SeBasbPFX!4Adz-4q4O!o=?p_!O#tA7clVeW8ne~-LM^V z{m=NC<(TV#hA!X#9iWH?Piuk{ffh%zfxBR!>ulLTYZfpr5(jk`Kv4j4DhPvunwx<E ztQORT1RXCEh;}e3NDoL2s6$l&I#33rk%2KGr7|xuH#1oQzSb(WNCC9qSRK3?2yqUi zx;pq=WMpf>CO`;y=z<Rg2c69X5r=ebKy1*YJLmv*5c>o)SV5_Z9o%&Tu^_<;VsSBm zavX@o%>Y`+0b+51)(U}y86e3I#Kaytpsoza78nMF4k&?voDK>d(86}~W7R==Kx#na z4lMA5=ok;W$0{)=9&&g`K~ZL2Nm@MUXvO@zVsLQ4>_DXz8ic@yYJ#c@h)g`_e)#;n z;^30}qQvx6__6VzPB%maqzjh706M%BQXPQAJ)sHFn}MML<Tf8@$bs@GB;-IWNXUU$ zT;MGops?WvZ>RvVAc+(t3rVCP7C1D+KucIe0=j(#0=q+bg5U$~-5xA~-2%{wmgXZ8 z(0QIX=&(;L=;T=jkSQYIY72Cg6dQOr0@B?89Ze5mfkGU;m;fEf4e}W*kUz77(k<f9 zd(dUhhG@kENDs&?(13#^Od|thd|4VaN+8#-fQ*G<ka7qc6d9n)b3wr;06Op}xTGjG zF_!@(2I}F0+BWfSpxgRNz+xctLHhvXeZU9vfscR(C0x+iW$}(h={}joCE#OsK_^Xt ztT02l;2k+eLGA`!1^`M~pb8$Ox{isV0pz%PCWZ!(e;S|%@q(_&fy5|?1&L7*i;Dqt zBQJ=>&G3kUfdRzgVgRi*0kOClKvNbV7C1&R=61o=SFfu8XlB^=M_?8MN<=pw5$JUN z16{cSnrlOuFb0)IpaM+<9Je4lL>NG|3GTQB9XbpOW)KGX6_oQpK?m|LDCdE;8|k9O zEl3YYjS~X{gA6F_K^hqtp)m{2WH95vGH`;Fcm*Bf54t=VB@RIe05mrP+QJnNxl|0C zFCkR~$fq#7KyC!ZBl2Zw_RNrjlbx6$ms>eALk>=MVTN2Z=L$No8nlR$8B&FS>QYGj zf>@CF1+lmoo-jZfBisz2*n)_G1{y)zN<mv0L80~^G&Brz4g=^EV+coyb+RNVbwPNT zB&gH{slk*%h=3|UYN-LmG-zWO8+h;tv~7%y0TjESO=WBhpn3sxi5@5%A@+j?OA)+I za9aZ+^8s{QAD9U${n;2ClJj#5^fFT}MYA&g{|_o99nw-0OY{s3Kvy<HMD$XMQj<%{ zKusC&Y7u5eP}u}F1WxFsq$ZW7tANHI89?X5Gc&$%WMD`E1r)j((1;!bD0G<_LFF=B z8qClu0v*K%W`gToX2w*|{Z*iA@<d`lH|R1jFsKB(8(UZ!gNp=E$S}i13_&4*B4Pxx z3`N8QbYwS*h&d>wpomzofUdR&*BMZ|EJ62iBdakt3_w$3Zd8CSVhkD{M$u&nY7!xf zSQuPD(`8`@T33Or#?k~7q$nb0DomjA9TZ<67g`z^n7E*en1Y6Z5xOi5OpG?5sWG#> zfhJ;Z6v2#YvbpI3bP<aH7F0DBh9A&H%o149)L8C76R|X6U_(`7X)1$em!;(sxCkg! zfc!HDE~1A>EDWIh#>@zkM@e)bP2g5NhyhjuNi7y8<^d?STUeNyg9aZ#CO}h^g_)5F zxE_UtvxSA3g$#;MEiB9pO3>6;n9o5|V_~reUBuD`B{VE7ER8@%P$1iGX?zCFWJ{Aj z=ptqc9LQm4VPR=G0ae7(z+eNqh~W)15ko@;PMA4*C8-r9D!HKj*`NqwU}l^y!oXn6 z$iPr`q7Af+l7WE%q6U<gz*~wLm>EI!7wAeiofG!{ps<FiftUlTY?wi3o`9voUTCL7 zx(3MQ1}LL5GlH&X0L2qXAqO~CA$FyJ&O8JUs53KyTHT;hM$K=h1g1Hl_Bb;m=+GLN zIb2BQK->drqA)Xp+NYq@k`lC_5Yrq`2ZEUqbVMWQh<}iKcreTX4WKhKf?6b?nET)# z*otWmC{&mkH5efw1u};Z!yHf*&CCd@5kVy*x3F;@ra7SQ1v4Y4B!c-%0BjD(L}-wM zn4rRf0dgP&n9Be$3DR9h6#*Spf+_;)@uG@=mg1s{fZ9u_BB0hNst6w_SfN6om||ei z#1OHCihyb`h#JsQLZIsr5F$m43=9Xr^_K$FUy~Ri$5tZLtO1EIg9hVZYK}27Fo4P^ zgqkOe3=9fv$Z9y57#JK-MAVrW7!uf#)qtki0yvOGs+brUK=}({@?Iteh6^ZaKnD{k za3bsa$Hc%;fFc4qvgiVe2x!_XfD2hy4KoA70Thu9;KYHf<~TD0LjpIl$OC2u1_2&q z5zrLZ1{4uV76yh7C?ZCn11))xbp^68FespiRDq5=LJ^tG!oaWrMFeyt(ghTeM<8?f zkWB{7t2>~GSV0ps4+AU)BcLLnBm_wtpvf!{4}>8iwHRvVKt=e#=ETEVyWmSuVJ3s7 zxIkubfYpFlcc8jJ!?F;Q-(!eK!kbetbBv%OTnq}})(iuK9~%RMg9yZ@pon5%Xn?9g zm^>XrWD|zSK@5=#7$WyEL_R}B*un16E3Saoji7NZW=2p61M=-RBRkMw2&f(9<7Wu! zRoZ~_4!Dl<@iPRCWVoP+fF_><kVQb67z{wy#z5LgK7Jrg3>L^DAWaM|$Rc2qzp#SB z2WA&Y(H|5M(3Cd^I9Ec|fNq>*0M)`E?=dr|`1pZsw*lu<s2Z^C9>^kKH9Fv2iLAy1 zSp;M`187Ym#AHy|NU}qQHz8pN5&=yMf((O*s6c&M08ZghlfmXxAd7%J!O#L10hyD| z4w;sNn_~>R4(5n3QfL^1ym|&%#0XT+S%6a%)GlzN*Aztrw5-4wMFiCU)khHlIY<*l z1mtK{6cJD$D!@fRZl24|zz_%?qJyRIo6spwh%Z2DM4`u5K}7VxiB1LFEC3z1%*+Tn zRsvKrN_ZNBPB;N+VPIeg<bX_QfYpG-DmWkm#t4xm;H%mo(}s}Tbb<pisfJMVAJnX1 zfT__-DlP^a2A-&3U|?p1N<#%9d7FX39MsT&s$pV4)&=UDGlN!!Ky@Hfg-~5!H4J)1 zCCMtDzMvUx@RTHa%M)f-2UHhm+L9TfD+HnoH0F#;*L<ihuo|!<wn0Te9EjN`QACjY zO`twC!tV`dZY_ef02ml9Lv?}FFfr&k2Zg9aID-bR!BdXt?g7~b!mpvaK+}@U48mLt z4EEr0Ok5Y`I5-%4I6>8bPf7=sMe%9*Me(V5DVd3R@t_UE4i3fvPA*Oi@$s3t1@ZCD zh&{3nCNM$w)DoY>;u2TTiM9>~Fj4d!k`9JOFexktI5=3qBtuY72|!4=r<Md)7MG;v zg02=t*bW}5aw|$rMF>Ggw0u*G!B?U<7{Sd(+g0r7U}y%j7Ue7hdwT<L(80HNLT=Xf zaEM~Cw>QKl6%oZ?58l7)fJHXm53I8Qo16zoXBkcz@HrbeW%EjNgP=!l6ysC`8r{Z_ zbaZqDUyEoD-JOhEfxQ7d6x>S_i&DTUA>rZZ7>4d!a0rp4BNXMz00%<{un~qhEd_;F zPJVK>11=R2AQec4;#3F;0Lb|pI2D0S%Sg;i$w>vBsR0=)i^s0q(a|*m9MjO`1KG<D z39A4z#|THqP;hub#6gGZJ2*H*g~GgyBnQz0@<@6<IKbl}dcfikcY_Ytz##=avjc~0 zK_(;)k&W~OSp~oE7*%7iBg8^%Cla8m1e*i9Hy2eh(9ty_z%c?8yEqjDID&&4vRfT~ zi7To(-i|P1(3FAiG(}e%09OqTT~Lu057CEy5{QFCB*dffcxOJK1z~)ABIw}t%>1PI zw9>p}SSeBfK5_-di-%60B<JVm=I6nO>>1+W%=jDzdwUgP=KLH2om@ap1O-q$*e~g+ zC7^>X^3zfhE1|`BNM>$oSz?Y$W?C9Zt-WI?NJUv<j)Q}vQ>dYX0VwprnuBvvQww~H zQ<K3rq(=CGB<$nkUBQxwnJ<tjAR8ey2~y~R&szb@Vo%fz4)H-D&hgF}sma;FC5g$| zVTnb>4i*d!@$to}$)!b^C6)2XAj$aT{QT@pNZ}3F;aXh45DzxMGcU8mDX};e$_>sa zElJ5Q&tr&>k9V%9a4Sm8g&x^ZWXupBpPB*5sYNQdi)l1fxJnU+h$yTEBIQF2CE&nA z3M4#9jNBV&LDeg{dJP%k<H^+vs=HG&KuJ9_FD;)y@FFWC6u!u6!QqD`fDvlIDo6=o z@a<tL7|9oB%-EyNRyx=l+S}tR5F8vV9ZcfA9icf8IqMk5`+*uxpi~V@#_$#?Bz41* zGguhZ<cvqo9^j0@5FekGQvy2IiXlF}C^a$1!8k3=02yG|jB<A%r~zjNDpnmC^v#SF zkb$9znX!R^g|U$-vZ#WBp@D&!nVEuuiII_^Ian%z%ZJgK!F7*ucvlAlcv243;6$Es z0P*=585nv%qjew-408!EAP*mcgb#!=FwEv=V2B1SEn|SJn|5FjaDu7>%?5y!fzK{Z z1}#Mg^B@FR9n$mzNE9?oco;*SfdlfuGe{k%i*r7if#EV#EofxRfx+MaWatty<Oovt z8FUwHG6TZ}(7~t-kd;pg3;_ucb>MyzNEriYQHfp#14A`<)jgz>h){<x4>V4(9jXSb zk%56hK_DOj>R<453`iU_sJbVEfnf!B5S0NuZ0H~$-~_Q3VV)cV1H&z-8jwB^#%3Pq zKA9gNb)ZF}&=n`x%mbZpZIsQxFcGQ_)OEpTUJN4x!_sU921d}T8E}`AfdQL&psuZZ zE(1d)R2`^eh|N6E@`mZT3=F~GL2OXx8M}Gj3=9l~c?=ADkknx_540ZTRvrVxynIlI zpqmF7ng+>$I_!J$85q7o)#36lXmFadfPvv5=%7$M;RiBCxR8ON3EFwaWgciUYFZ%! z!!yufpLoI#l)`k185ov8JIc7i4-~(LiWwMAfo5^>n0FX7v{uT%a2d2Vh5@qJ0$cd) zVPs%1FJoZ%Tn-8)$ZB|O@e3NvNUUIBm;`btbl@7Bc?ygS49hAQ7><F~OW+AV&?M;( zs2YgP*z?B&1_lP6Dh7r(paqS1%-hMpz#v!6z;GS3q!&Cajom!Z0wv)Z28Pq1`F%X$ z2lB6A9Rq_CXnq=xe^nS67{clp7^*-k2k^KLR79?+XJFU{RR=1Eu!SFJQsY291H%^3 z(ndV)15IrFYG7b611)ldE``Eo9%ynSu91PE4YV8$k9nX8jx$XR3^JhEXYk-5_V5Eu za#%GpFr<N26(Rc<X;>2!pP+Jg22>4*55`Oe49EjfATf|X=Cm*{+<>YD>2qK(aL_{< zG6JbX9WVlkFfcR-I2=G%2MSk+EP`xc5IBH53<Ht@&seuIFvx(myTHT6zyVzy$ljz@ z28JxCI#51$5Wudk4yp!ZJ_ut|2P%i!h)@R_+T2fsI?&MMSDflpprsCErJqh41A_-> zr6V*wgWU%j0757Oui1`iV_>L+ssn|mgMa}v{16I3gVxP$3=ES|)j`7#p$;@YHMfm{ zVHs2%YWN}4f#PFV8w0~NbaiO%11&Lo)yBZU3!2r0E)2otKJj)226a?*814hr(}wK~ z3}yt>f!ycN&cF}@Rfo$TpmMFCoq?eRT^*V~Kr6pzv@<a5gsQ_A&WGC>7%ro#!|(@a zO7w0!1H&t*I#B%qj$d%Q2{oKKIv5yKKr2y@(*c?~kUuOs7#Mso)FFmfL1`S6UlTeQ z7*e3>p#E@xw{Ag-pyg9u2LnS9x;mtRPLNWNc{Lpj3=PQY7z`W~6cqH`96fzJ-F!WR zeH}xbJ*<@Cor6N+gF{?A{o_4@{o}(uU0maX16-Xw-8@}`f^7|y6!cwO-5f)GLVP@( ztdz=&jpB`s^l~zjl(3lP8|)0a5!BYu(g36p!!FMd*C59b|DbpmSEo?-cpuj=S07s= zEG7k&=7Bok(6e@JeO*%GT_9^tT|g^w&>WRpT$Wr=RFZ-w>>C{B92DY$ChG6w;^*k= z8my!M3MSABGtiOR77UD_322Pt^Wu{-^T5a5>ZN2B#egjbbK^r&D@ye8ld>4B7;FR? z6&M)U89*cVm!cu#^&r|eGr1_gI6tjKK_f_00koJiH?s<KD4uhEZb4>FDyUom%`L-L z`GKMiv~pSmI(iS{|Koye0fD*o7Xt%>3)*TpkRH%B5fI%2S|kM0$iN8h@`0QgADo(( zl3HYCRh*ia5}ykh-32d_1K9*tj7l^JG4O&fDS!*(=khaf3xXEKiP|tQlw@QUGw?BR z3xW!L&;_%(#pw(n1)$DGjyMAYXdO0#00XxmsPqFhta4JzQggscK+b_(?+P{pblMY0 z0JNExiNRkGvdRur&B9y;@-t|i6=)5E3sjJm0emt%Xf;IxXl{syfuR9(H!U9nLj!1y zJ3j+M187A7XrBY9B__<k(10Efx{RRhC6MimAY(!CV8*}#UNHhnGfs>Q3|<VZ;55Sk zx=0y$1O+k%4i5St=>6E>@kfUMCzk-|(64iTUS4W4=!|F3P$okFvRP<j4X{Dc)QXaL zBF$4VqPmHOR5uZ{#0?adptXNKXlWW0{-Ej`bQoR}wlob32rDZ@I){m2q-{{{0mUK% zgFu520~dpp;EVtN|AS_&Kq(WH%B*2Y7bE~nx}Zy$8F(1D1wm<dzZhsEH7FH+VqjoE zPJ<w~qNhP|28ISu&sB_pp#jvo1o1&D8zmSR8bGTVB^ekRK#TvSKx?!a!Fe1b4T9`I zxSW9jlm<a7azJ9Ba09hQebK@Vqz9x1v@*6Cf4D(TT}4Ty;D7@e4+$(3vOx%(M?v`< z9$28zfaFQIRnV{jg$Jk_17&HDG4fdQ7-)wHs1OD<3qWejxj{$2BUW`kV_;zLK=U6+ z59kz75Zw>A6sfF(r2#7|$cQFNc?Yr$WD^J@d9xLgCO}>jV_+h!>=T9-b<8Xb44~n8 zP!k27W<VE)6fp2Ia0`MK66@PCFyy9!xlexo|8HZ<z>r*kw0am6cOaL6Fvx$PFhnlb zlo%KqKz>(YU}yjx8=%g>&|t^F09yao0NOgO%fQe88i~+jU}yl1Am}qNG=S2HmMsH= zE(5!uf&c@9JwtIx3iyy@(0%6dIhnbcCB-)J@tJugW+rx4Rw<e3nI**x`cUOUL@75k zV6bFh7kmp^ih)%_X<l(=dR}UZ0>Yxq;&_M{gBjE=2V%8C-Dm;TCrp|?Ljwj0sLm9~ zsmH#K5%EsWjxIsL43Z4&f}lzYdd6^wYeY!ApMQ|AqYr}=1G}IcsLo;m7dRkIU}+y$ zKL%~6ff87qk_NgC9TB#$s9+;Pv7rHjA=GS6yvlPEE8-#Hf~2K^pqA8%g8aPHyb=au zs4Z$lYcVunFoJ4gXlTZks$l-k&CH93TVw*)bDLN_h6W5eP+g{2otKhdnv|1@2w^>_ zYJOr=Bl$xRzj~A~hWnibn>XMt0_nl<y9p!FdJGL1U?IlX!2AclKICwQ<toO8v;T<J zWoW=4%fK#pOAfT8!r4Cv)R+(U^!JPRb@T%9jNqvedqjY4P*;Ha9g-g5Neg>yVAEn~ zz+euILhMn3stFXv5WA2xGGL7tOpWl!0hM5&5)yml;MNE&{6Jc9#Sofi<Y=;n`V&_) z;nr$sz#zrIBM539gDMQv5-XfRnt@&L3b<wk$9_s`UVc$-d}2~DD7VW%B^e<J9x7P? zT8EKW!XVGUE_f566?~yUd`W(JVo^#w==6LBIj91tc9??rywt>^)Z!8bWvKBC5aZ+h zN^|2u_t%2z<l=aUZ44TyH3n8i@j3a$#SE%=RYGqpsAN#XtE{jzGqoh%FVT-d3$Hp* zrIeVHnU@Y$3-ZZZM74(G$jsvSB+yL@sVNMKI1S7!j!&&fOfF$i!lxuNHQChE5*%tc z?aIt6Nli~J!f#M+eoARhKDZJ)BnKMC56CZ1Eeb78E%HsQ$jmLx#jhRY_0$vwb$o6u zE=WxVpRS*pf+q$`GV?0)Qj3e@lTy?2i&DV}2D{fviV_Qo8C0MN3Nyh#(pGUvWlkzM zU4pV1rYcD82S)@x1%?LTw1iy=N+|-W&<zAZTc*7Ho#OqSyj-0_;{9Ah;)5JRT;rYn z{X&BLed1mH9G!ez3782lU_dnn$V?^%d}e~$6;6(RF5#XoAs*mn8%PfeUOg_s&H?cu zj_wQw4D5m+<?MKshdKIqy2QKrIJyTj2r;k=O3Q#e3U1Yu6qTle69Dcog89eLfI%3l z8Cv$FCFT^TqMH~J6zYnu(9O{&*cC}3=z67iutHE)$6+;csfn-{tQBG&DBTj)YiIyY zjo1|yC8lInfc+0jt<d5PoasSp0U<>gQpN|l7Oz4`<_9?puQFKXhLvDAErw=rQ0l~M zAaX7RH3UHIRt`vE47RH%F(*DbKd-nXF|Wi1-Z;<9E77sAv$85n%qdL;7ZspTVuI*H z3k66>X+jHnWCw#=eVD~Ps7;3MX6#BKg+4YvqN|4&{h;O{A;S?B04Vi9LIj-V9eq6A z{lG;K$h#NV!Gg~IetxdbA&|CDM0~KTpNnfyFg#GOs|tw>a191$LPCxK6}5<32Gr{S z+0D@KA8fg!UnJB<aAjqJUJ!ZuV=afop=}9dV?a)V7f?(M48On@Ao(uDIUwFC)D6^& z0d@Ka+J#(rfTACtPm!_;s3HY<@c=8j143Qk4gj@TK#HJam!P81)z2ls-_tK7m;n^W zU`c2oA^8CkJMk{A!OlUR0iZ~O=V9c!0y+7>Yi3Yu0AlPvbeDm`4#iNAe<5oBqN@e@ z0@;3q(m&`*ef-@~OocUsaAl&*;&^Ba0TBeh(G7L+42A|sysv9;u%o*xxHbeOb4Exn z7b*=((Lt_0p5U4bRN#P=FkvWh^NetHiT7~~arJYKWB~c*Em|`OEi}R9N@@`}AAyWy z!7$RtKODtCkSY!gRS=6qJc9f~-8}+AL%^*JkWv8*r5>K{9`Q&jVI>_4q{ITd2zN;b z8ts6Tbg&4(lUASwuNVWn;6u<D0K_eznDq1aa|MqLfW)Ce4HEbCbN2W3^mB*HLBkj% z=N}s4?hlfK*^DRZK_x|M3b-KviUE8ok(y?NN?Y^>8mIvVG9FhDK$>ZwyaMVN;Bo|V zV+~{?D6b$_AIM1tQh~st462Gilo`P*C(sxQ$h}aP<dx<k4`+cE<=a_VA%>Vh4hK1g z9g;GzD~C2BVVMl-Bz$TO4Zsxw=#U~-h{?IBx%owv@%cq5sYUU{sfF>$#U=0x0UEey zCYFO-8()IrURba|y+<He3{ipw<WB*JYjD~G^(v^q2PubU7y`--4ZtmMP+o-kBp%wW zut9MEC|;ln&`eCq&(DGQ6Pll3(MU)+G!ww05gIJmO^5mo7L9m~hNy*h3#!0frjUSm zXGb3&Cr4-R_<$f!{~*th$aqgbaJ2^>szmZXfp{^12McHj2NW#W9S-rG0w^6oLI)xM zA8Wy$Y9WeXx*$G*kF{V=yx6oD8i0KTavk=df;SH_+y@&ogtjcvq61wY)P<(dMhbQp zV%KD7z<^euq1jcOkza(GgFwwkP}0Ue=mb*_brUEVf)r!V2dIjnLrg@37fc_b7y=~& zkUiM5C*1EajZoKt3ImWX?5@M1%g}&91RBx`kisB7%*it(7@VkZJ029rhGuA`5h(0I z4#4hgBrQ+}gL<JL_1GPZq2ADdL5qP0JUf9jkOk^+f#y=s_f;`yGw=w4=9Q7uf{cvE zs#u1B2RbbQQVwo3Ar=}lfXaxsLZHqsc#I4!QDx?#CMi%O2;?n!NO)pZ4GjTU>cc)} z4>1^`)X;!IlYvLD9^AOX;zpDu$qb;(19C8doC>i3k?uev4<MIAQv#aH;VB5B4dO2N zs55piVAX?^O`#6NEFeKufDWQy1m!%Chp-onputa+5)oDbV2=W*a;OJDsTRp-98N*h zouI@33MA|vMlqZCG83u|5f!j9lR#8J^+CM?igw&igU1DmCg?N}C<LI9ffntcOk-?> zBdcR~9+DQQ%V1d@d!S*cH#C4ZhOoytw)sJR1`a{cv03q<nRz9~MkNfq3><=>=~fR% zKNlZY1_1^RLD15hc%S^dbWj*D$S`mSf@<@4Y?V2K8Uu%5up9$}N_<FVL8?n?adJ^+ zK}mj*N_=WXNl~IxWl3srypaim83TvlS<u;E@Ph?&GK)*%GmGPkQqxk4QuC5iv7RR= z!N4I1n)n5mHV`)k1vmyd`Z9<za0osUhmMxP_jiE(vt1aph$Pq0$bx~7fkP0qE~cnB zvnn;dgh7{qL+~Wj9r1}JB}JJ@r6sAwR#vHHpmPn2^Gl18QypRA43-QWf`^D!Ze;~J znJyP(Q!0Zg1Bc)N610Mr^2Dby*fDSj?!%@nBQ>WWwFt${Wrp#IIVB*C2p79Ca0u=s zU%!<V$hi1au+O&<X-+A4hbuhLoESI+H<6{)$_i{$d@6$$1Bc*RY-T{V&1L4LBfM<R zz#+JVIJH(*aQ*SA;KZ;Ho5sZS^rF=CMDVs9ggu}bokg^Acu49qa0pJvrVWzhilB>{ z5cYul(?@~^xJ~K|9D<$LG=h5wNXZ)Hq*@{r!c7Kc^FD&v+!&nu3RxH!0z$)sLxLDI z7&yQ~==jFyAw%b43><<b@(c`U#RvnayaH9{KK_30@c|)0-~tL%fQ7<E#2GjQLnWaF zfoon$K|ZLt;~BsJDm!ch85jaUC6|w@qhDx1ynB#;XaEBb1BW2!B)R}+562(|X$B6# zI#@{p+UDn+lUQ6FnwMEvn#$k_O3V^a)6pcYtZYj2K<k=PbV0dBHzgjjOr|J4v9u&V zB{e4%v?MLQC^b31D8&w3B6Q=h$I1${t`M|-2)be12{a$(oS2gXcI;PBWVwfWx-dvF za0sfx41tbLLCZx3YX%O%N{~uCg=~C0Xvb&{_+-U+a8RWd6)R}jF>o_*2!hrChx-S) zFi0|R2!fVwfQw!5%8X#wFjr9bjX{=yL(o%@fdLe#u)dwEUzlf*zh8WqAvk`R!R0S# z&1sUE3AhMm7GPiqaE2rbP+B@gFfAD}fKoGP1QjXqppVr;(vBRckd|X$hz|{R4T^Vk z4)F{F^)my4T!UTxoLw127&rt4U_k~;APhoK|AM_(nweK(XvP3aN(MI2$Oc6QbhRfq z4unAI8kFk5m0kit9~gjr4oYTaiSeM?4jjawWmZm+A+8J{SF_4Pn-iIN1*IkNnI)-3 zi6!|(@g<4r;KIocCLbT1nOl&P8V^cl#Wr9k!#oo2832ktc?J$aE9}ZaEeAUWVFnJt zWMQa%prbXjGfTiec`gVObjmC#&n!-j&qyrJumM&6u;m8~84MhP`eHD3VX4U=S0?7< z<R{yJTl?{0smb7J3Y;#~0jmRR0eKOd9~A5q?7+zjl)u5s;~h)#b2F3Ulk-dSN>YpB zOTe}MT^X1|U~}ON#S9#Rd!%8)pe4aYsl~;qDe(n~nMF`1h8HCk#Dg6G5dbs6ZUG07 zf*r((@xdiUpc(73#2kn^)Ub!CHM9e#mb0+H1BV%SOwJCRdmf-T5>z6AX1u_$4q8b7 z_8wR{bP7KnGA%m?RNRQdJmLvW5C(=u5VsU1=B4E4#wR8xgC>NL(~AyfqR;`&L179j zfG4XIw6N%aN~u9Z0%kopW(|$(81xu81he76OfWzhY#2BME#Qfgpn5B-qSU0!ycBRt z&<<SG<-t;HYGG+&PJBteO<8_siXDRz1BYO~EHs?Z8spG4GYkq09D=7{@e_}dxWOTB z2QK-OV5Wd4<-ihP|AM3UGR*p%{PfJ^c*wqbkhyPR(Tip`s7q$Y5XZnFcnuzl(Ch*Z zc6c6##3v}<fU**f#D*DpcHm3`Y8{Ee+>Pb}cn=0L@&OJ-513o>%TkNda`MZeJ^_`C zh|C7+5}3r7fWvJE%ydwCk1r`o1g&g@jjl2%GH?iTz~j}o6x>jPdktKCfhu%eSRjEX zv%y6JIDdnNy^%5i@<=zRR6ZgCjn`suPGrzw;1G;}xd)eTVVxZYO$H7@GbyMEh&+xZ zC>c~3I0WTz7!2|^c<_cnm4QRh6y{l+JzsD?$qSZT;?c4WxH5YHvkGK3EKJd(3sk+n zf+bpTp@LEnD>HBiK7j=*T3EoN2h?TbhC9VMKd&S)GcUCWoUB0$HaP_EqSye-Frb=Q z0Or%A%#=*fVXm3^d5JlwaSN)t@D*YpKj4XDP=Lad295wVfRv&^LePjzN=%7Qtw>HS z0JW&VVf_J?N;31x5_2+B;D^(L+kI@X6rYotmtK+qP4A#|n+}Tww9o_Re2A?xV79_- zj4voD0+-#0+ybqd;O;L0Cnp~qrh}p!JU{@h!PGG<02f7~@Hj(BKA?4k9D>GhNz@26 zGy*4i791AC(-+7Ec3|7#i5av&1(GX4MVcKB6F}+Dj=>nzl!v7ac(#J2VsLJTi$cn8 z1v_v#!H>gOXz>K<#;3!A0~E_(Q^3Iy4~xT6(2g6VVhhx;mw`#<mzKomr^Oc~=B1}H zfU-w04h!KW1V}q*nhES^<VhxQ$;S=zWLka^c$FS<Eeo#NjbK(6K{i%F6Bj59YfyYr zRFqg5pO;!54@ra!{tO&~pbIj<7Q@;ZVE;mE18CC&)KUP)OEEYkA+<4B9ddI;!48}c z<guiSf};G2O0eucn1k|Ci%U|G^AM<SW{e}K;E4t_ipk*3z##}PlamsQGn3;XB{P!i zK&cCs7(i@jV+zC3-~<R7U;>9hG58?({IoQ1`B;X-HJ}6tZ;67M=%w%o07W`9_(6q^ z5v*j)ECwHl11c=Qj)YY8Hn64(nzO);ngA;j<H7Be%)AnC^Q8<{l|Y2SIw7$IW`ZLG zOWmSi#}L85A*c*XOr+|DH-)g64R$UwBeZ19E6vF%C;_#N9YH-Bn1yiH!D0m*;BZmw z?Qd{@Kp18O?#3oVKLdy0I(W#C+TO<ECwS`{+E^l`L8N172QC6#aikx3Y6c}FNW6T9 zr65=X43^0uQ413##T5#6;6(fbmITqN7v$+ea1C`6R)3}B=O%*I<ADyY1DAWaN_w#5 zBv^Jwib`;c7&LPGR}Pve;{7snz@^zE9L@pfQE+4IA1u^BLa@XFV%sq|FmMRYmV_Be zM$CXKfLrj4<%Hb7gf%)q6~Gjj8z2QjL4GlV7Xydj6j+b54BX+wl4jA1Myx4|0n|6v zfLVbSFW?f+2s8)|D;!`2Gmgjy2aSRqcz{%iG(A>U@lF*bmEch_&`?V`s9RV99u|O& zae*Vv6*QO;9~2Ve2_JAmjI4uogOtbTr=`V12Jk_xl3>p$*Z2^yVH?09o>&4-km<1T z4A5XwQetv;Jm~%m8_4NhprIXSCp!j11`a_7Tj;<C9)-{ig3eCCU}u0l5ucft9}ill z&H>))5R_VwlbD=Z?3`cZky7LbSxe%QnwFWDS`6+|dBNNRvKuyX1sae8dBTOz=o6^v z2^xJunT<dielh^fM}Tf1!#+HPK4MpD#{e3wjv_?|x*5fG;F{JMHqr<i6!Y{84sisH zKY^xL1VMvG!5;oWAq;}hDVUG|*p3kJ*bHb>Ejamt8=__=;E^=Y^=9$DNyR0JC8;G~ z5mwOn9(4Gw1Z);)L<y`BG>ByZE?Yn|pe3*qEMbF^;M~3ol(dRL=RP4NE=N#91stKE z>)vuwGRxvY7p!oA_d|e&@yZf&z=K(!vkt&fWM%^HSGqy{9PH^E;NuEk>j7?tffF&h zO^9S{1U3-lb|-&-(BLe%bhCgO2wyb<jasnRK?lqfloWw(B#wu8eIqE|K!Iasl4)!N zPWu-@9t`kx0S66eM=>~PAj5m0R0f*s3JCM}bOC3MMv!W#Bf+D-9+{~{iABj7l?a!D z9SX8LwWtW3)Ir984%rC@j~;`1tf1Y8V0%Dm+Sv&_YW)TrQP98y#W~0bup;ox8`xA( zHueZ|4G#4Q0av|i2o5TmgJbcK7&NQG1_2#GLvf(C2sohN-Uf|EfFo*;97Kba71EKE z@g-ox)<O-lvVxfg>wSRZ@f=(lJR}WMgRl{lCFh93%!kRtJ1O9JeIo>uhtJf3kMRU2 zI#6>EG_Go90#*x7qNt@GB!Pm8@oS(^MIOQiuT&@~P0GnkW&n*jxWWc{5qrYHJ$P_T zgH6R5&!8?&5!n1P&=@&%)E0G)657Xx4wPxxfs+}?1M%^ojA8~FKLL%T3kfhVxOw`x zf;)x&$f+zJG>}`8>YtRAnp^@pHnt?c2pnsmyq*im>hX}g4w|?GWok(C4m1@45()M6 z3jt4sfCQ|d879Er-v^xjK{Ey5i2~5fC#ZZbjR*I%z*d0rFL>ev6x`sxOenlGM&1w) zE|5Tp8o8DL4}voZGcbTWngpKPv4`6349dW;*_C)_P^ssGC=Eb41mtjV;s^Q1*a#f& zpaQ=%9@HoUSEhNS1wAAR>=;0;-V6d-aZGx^i~tqTAO}L{h(TOXl!E*jUjoj|ATB7( zKp5QoJ_bu>@ERH%JgdPoAGy$!tS1DThb}Hb>UM!w)_{EvvM@d+6;#xMnn3V59Up&p zH&34s*C25GfJ*Yxywr+<)MQZi4LZLBE<8X5Ob)bs0ToH0To0*XKv566m^uLDT<8o8 zsAP|ass?!wWPPx|v$tyq*fpT^8lRb;RGJ1(MWD0Bz@-}~&xOPMipWy&KKc0tNr}nX z;Hr-g9Q>d>1Fe`~^GXa144~tqGFU*%f*2SC7*9G`C#L>j7g=id!>F}o8!zazdyshk ztBX(XWppf*7Tka8e%!Lhkjr)j7=`v{e~g^!zh(V4&4eey?vo(bObRgiZ(ree|NmOg z_p7GO;99LZmw^FvUAq9|^NTVf6V3mrn!G7~FE9C{k%2*i5oErbU$WHWh%Y*v1u_rn zO@HiXU`Pdv@5$BawBp@oWGGZIOYQosKMV|;z~U`G%l=nbWtDTC5mCR@ZM%_y;UQSO za?WkDXl^%e*1Y){wruZt7#R4NK;}<6d@^fGkidRLUx}6PTFbN;7;M1eoljXr*$RHd zu8;a{sej!1IRir`SX?koj^(JMNs;Xhk2<#!mT(4!sbKMEhYy`A2-A6UlQ;8{?*G73 z3=E(fA_N#MvXoY*_|2T5aQu+|x!A2G3=FEEyBin{*Zi5@`u2L{-19CP6|<clGBAXI z#gF*ZS-!Kj^82<~QSN{s*9r!Pd0_EVwQT8Z3unBFoVlT8)rNBs3=FTq;<}S;_CE67 z@k#t2=hE*tIyD&>>_E3XFgmSey|sC@f=Osa!lyrH+_o_=^nk@DwFdv#CD}8<U|ak` z?rhsj3=G%6;wRnbztq-zkZ|Ny*Oc=ODa;HEpo?4t7>#zY&6>=vdbDHmy2@2XwfzhX zx}fXB8MQO~Eo;sG*EKv8Up&LyfSG}z3@pCL^{$d!z#7*`^WDu=QHvcI7?y*@&FdV$ z+<NxYZiVEQ_ve-7b1*P`1dC5QAot?Q0qF?|vXf0MEMEU$U~pyw#mmy^X+c|9-rn82 zSndC;DIJR$7(llw2rvrI>zLN>H7}(vwW^UP^Ft~F!%nbz-MGxTANSpuf9A}2-t$K$ z1TZi#v4hOHRDJp6|F8XDD!b*yH}^!dF)##x#Z{bdOWrx!`k3Pz@A~($K0XW#i@@T{ zv3;NF0@T>~$^u>qmy0Z5VE6?VXBT^sCK)`*{Nby)t9+#LWEdD^IY8zwVQHOF{Xlws ze0bO_$6Gth85n}V;vUv4y>@92L#r<?k2rB6cRB+@4OrZ_cE;V0Q(jGa5dA63hqvY& z1H){v_>6}0XEv#`*!P%M-8H!J;2s0R4zRfLnU1}(Qvwg2i*Isfdzc40Gm;Zz@BEf! z|BI{mguh)-SQ_ym;}`>j4p@B2pLe-OHg2ywY*PRF@oHOF28If-_}3#fCr;%tg{;#^ zJv5=ZL5qQ5Iau7lCSduVNj_K9b}izm7n9UsV7LkvFYft})iWj9caChr?Bh2sMKCZh zbAjy5KPshReL?-wpT!ritZJBQ#=u|<77s~lp89geiJ0e`-g0f|ZZ2V9NCu0q7S;dp z#9nps!&|?_tebuwV_;YV78fvHZflmumVD#z&X>zpZ(qZ}@R@;uK^AoORGL*xK~X-a zk}U=wG6W`|r!MPdFeHPe(~A;w71A<uQi~NdDlE)2W6Cr0Qu51-6|yr+ien57VlwlR zb4pWEV+;-S4D<{Qj7$vl3}Q-?i%MdW^NUiGi%R0lGxPN_7*f!Ti^(l6D>gDPG>s`s zh8t3r3?DIs4P{f+C7=pRFM|Px&p~G_B~#?@;*7+i)RY*|@MKAG3N@TwTv;3ga&;21 zL0DXp0vVJiF2pM!1C>N7E-lH-$t<ZPQgv}jN=j-Paf&nZi_^+eC<^@2Tu|c7E1^cP zCxg}z5F6x>@XpN7qs;lBJX2hfl9LIFYf5q-G!>?oW`e?>D!~EE%8=ATp^;Gcm4l|- zit>vnG!0zV<bntLh>fu1+{6+hOQam|ku{V>EI3_)$^>HFSCN~WnFpHMrAE+DCCb2o z3@gwfGeXpG8<L611(or|ILl^G=p};|ol(P9@Kwna8U#(l#U(|FIhpBs6q<$-yyetz zABu@!13_D`(=yX>25~a{h&W=CDWbN{OD)G~ZYp%aVKQu%9j8i2nBtTM-K0p3a0X?5 zqP++nSEnrdgUj{G;uz2{9I^IRl%$j7%*2$`G*Ip#s+Cm%$-oB0)yx$oMTU@@F^E*3 zSOQv-W<ZUo0uLrp!ys5eQ=Xik2X2n4gcvBOq$U+8*ea-`W)>)b_$CV43UOe8B!~cn zQw-r)C}=C#DlmW)lA}>U#mEF~i=ly;fr2jBB1#N1fEZ>3HA+Fn$QUAGh7f^RXhaR` zAck8&&8EcR5R(jH&ZOKZD*Dd^=064o2GCh{praYt7<>e$DljngFfcHrgO8mC9XJnS zaWmY3ig7W34iyKT|IN(+I=&mk;sW3D3OYNSo57rsfdRzgVgQ}w2|Aygo576{a;G*I z1L#0^h<OJXA$D*vh%hlQfKGH|X8_$r3_8=1n*nr#CWytwFoB7I0d(pzH^USti;LkA z69WV2RB3L8XHXUwg9$U_Za8iR3n+_=VGT3HWNrq~4VWN1xES6sGcbTm=4SW=WpOb$ zu)x%TZXSfFo52FRdG867#m(>n%Hm=OV1>wXGlW1{TnrVg3=E*t0ofUjKv~=jC!j1Y z@GYXC8@0I^RM;38KrAi>eKrOL&`HAF48~9v7lR!e0|V%kWNrp0D2t0>3LC^^ZiX39 z78k=w9>}rz+ze--EG~vg@{l9)xf!NGSzHYJ<QW)1=T>qv9D=gA7+%XWFid6useKP+ zaWR0-e7p-5o2<aV0Ag{0Z_<up5EY$PRH-U9!Ns#f(AZnR(f>5){7E-(Cl}GB#&({s zbAC~(0_Y$a1?Qa1)VvY}=&{3k1u01kpFe?;9cX7B_;zqG18hI&+KSNbH_dNEcAPnL z=1iySn@-mcovvRxU4L}C{^|7n)9or^4LTW{p;WrtSHhYXbl_yEKo&!9=!YQCrR@yO zM>t;dbi0alx_;>PmFV>S(j6)g)a}X>(CzyrusifaP`4{bK)3Io?m(7qCzfvCKfOMT zEMT2M-Dd-OL09#GZ+~Zqh-y9}V*Lgz)%`T~kO%|6JlwUQ(@jCS2IO+kIl3Un!f<H! zo2>t!gv5}t5F{Va{D$MW>l={tan}zZ3M_1VG@#e@OUh!9l1|?b$6Y}eZZI_03NVzY zcDsH!4oa8|4BfsTnh)}T9dX?C4@hmd@0;e6jGex3vKYEUd7$3;08;^qo^Ia{$3Zkh zcjyO@A3a#QLq8mM;R1yf#6S+P@?)-ln7Vx-TDx68bbGLX0>$-1bBzEGLy1GT?*|Yc z6i6SsLl{MZx?Mj6fc=FgBLR|u>+batfQ099SJ2s?|3N1Eeo5&Bjm0oTqJ}9C!<jQ@ zLc8At9(Vl%3K(z%|2gge8Z2f2N74_F2Ymk=cVYYi@%*3Wmk{H-ec{aJBP@uBIvm>l zrtuBvP}1<;y$^o>|GyJ-GX*#~eO?U>`A*kA-L4#+u0OhcMLK&y=Z1ENN_0+r@%#V( zZdZkXUf&Oay`gV{dRyQ8{{KG!99Ydq1bV?L1G{~HG#`Y7pz#5WL=)fb`^We!SWDv( zkSh=_J0t^7KOidw!0`b-t`sx_0=kERjX@WBBL*9T6$1l9H2BbJ(1aoAavBi^P>~A4 zYz&~w5J1N)i!k&vK(1*PVOYQbDSp`)K!^W=3THNkV+@cYkB#9m=$;nv{S%yw3=DI? zED=TqhFGv2W{jYNctOWAg9_|vVA&`}28Nkn7HE(hG}9@<P{_!@kP6l@j}cNZu`wKB zWMBZ@+9Ja6m=Wd{7A6J;h$#|GFjJJ77#KjubBi$OF+nby7Gbbpg6W85VqmxhwrvvV zQf06m%R!eQgISxIAVnh^!wx0}28hp(GBGfKF6t0rxCA%l0TZNHWn*~51Sx9S7`k2G zG(TYEZvkDZ-JJU7A0$t`1f{3LU^WMsjm!*D;plbZ>Gt|!d;%PmJ3xxTszCQ^#(|v# znnX(hv-B8X9<yhFISF)bHmELTWAJ2PU;y3eA;J*a{U-J>DAv&r#s-&YAS<94bSN?C zoP3a4P)P|olsFFU&|Z)pkQxv+03V+M(#%NA?QP(taF9ta1uY0|2R@}3WC9l4AcS<F zt_G3<kQ;6=gU+>t+~WX}n!v!&0CLkL28IUE5znCePT3hE7#J8pEN+GvD2s~$bVCkA z40LESh{Xj8BDBH)WF|wm>!0qY*uxHV{}3pg!0H$<4|JZ(0IJ~KL9=2oB@7@vpo&q7 zfq`KnXzc-526Esr5vyJjb8?aru`i&JVGx4lYp|IJLILTl=V;i$*pRcH89;|$BZn)< zeH~1w;d+6Qp#kLPi;R$P1?5LbxPn-aa0Rir7(h4EfLPoNPe6ASflCx{rOI>M^$Vz& zJ?{DgLLn8p%@zzL+Mps=u-gezGXCin><s;q#nbKj1y%%dfE0xO=oEZ?w)qGTqGUS^ zx`7>ZQ<exrIJ`IlMGAUC2Ne^bL;(vHP(lZJ7Ni!G&`&Xd+E%EM1=0gj1G-mu0x6MI z2cBrg6QAHTkL(<nvltk##+E1pGdvk-GJww225SJFZVoz%I>m;8AuqL}gn@~H4JpGQ zpFj=r3n*fdPoTca$j|`t-!(?aNz~UF85%&B{M=w<XmDp>V7SQ$Ia&V}BSQly3~oac z0H`R1BmfW#k^n#~E`~?Y@`#%OblNvWjE50YMsYI;Kv@`>&G!$isR626p{)+ox)szs z0^Q*y!T^d0NI9s5H^xENZ-HVL98y@aC#XG+eoj3|4=AaF?r`V>Sp?P$$)4cdc!=}J z6UsniW(weYV@pB1(bU0_ifkiTGnhb*RJ7yP89>PZbkh_hL_sV_h=N$yLh2=?QP%Cs z(fok1L?ok!4b)is)BKVr5L{z4AK~bB{nPw{2PFUxu`qyw5M-zb1E|`7WE#+#FVHno zBH(5>dZq#0I0o_%2!s3q$~2(h0r5eZrkjC*Aq=f{0O<j#v1VXk=p_(@#mR{|iA4&K zeX4os6bB|KC_!x&NKk@Uke~#yP=XS4<rPEr35IS^m@x3~W8rH4!C1m}%=JIxYnEfK z{~5Y`|961fjiACGqzL3CHU?1c0QF(mum%_CA|p`HfPxByLBYihz32rLT%Z*XfefG} zYam$&2I&E*0o`a`0ng)%2`P~KQ4~P87DG;GEmBC!FH%qk7cGcWPt@@xI|g|D2`=d2 zvBAK=0J7HuG&>G%M?l<i0$Oo`DoRKYf>@9s1hKdnK&=rFi<<#-X&s0K4%X&39Km7X z*b4V<j!xen&9y%mN=&-%beD28z5!KIJ6RYR7`p#_UfLb{qnjz9+xJIzAj|(t)_1@O zxZCwdw+Bey>tpe8(alFV5XJo=7VvF@kQ57Q4MJF;Ku1rzpxfv`9VL()$a^i^44@O1 z!4U_FjQtD@454Ug7o-PNGlM)f2_9OI?2o53x3Wr3%*lbRax4ay10btG)`Bo7S%PRB zg*&Je2Pu!UVPF8=D#{=Py<q@UtRvRjSPFVT3}FB*U<KFTpxPU`kO#RRy^uf7$j|`t z(+Ng~22gANBqKuusK!49E!0mlGBki%KxY^k8bJO&3oYb93veKb0K|eM0uYOf;W+~X z1Bk`V@EXeE0<W%th=HOO!~!Rbz%Z2l6|AfF2h!0q>i&`i>1;uJ#N8o`JfH@b2TQjj zsE6Dw)a}E_)9u9b|AO@wNZP>Ge~v>b=?;TJ1d=X5DI^J;z(Fp8h=I}rdRhUs>Otbr z@MZYS&A`CVfVjE>G&JIbmR3M|K<#=^rPPg<R?w;n(CYe}{QLrN!a%kM!Nyua@G)2l zf{Ig+vy{X^jWT~ha7G3-dO(68401;TGvt;`6OaHnT{AR*+!n?FiSuv<h6Yf1AIZSb z0CH~>G^6K$huc6cWDpAy#~>CL!+Hh=1`vyz0d#c*h{eSKYAb_S+ze-+vfwywe!~-n zt9jR4%fnEr4(Ymo$zu8sDoGhYu?2}uc<ZkD#Q)c6S&)jY`3Os=>z8iu&<m*KAXdK` zs2B<5=?r866(GJGogARj#r01&N2eD@cj%vP*B_ls#s}h1+K-1g7(jP$ECP4`KsVTg zfmxs~FeJHvf*N!ihX@1cjv>$;r6LTV`%ssH)q#=~L<dMU2#YX)y1x(|JMp$pK-W=% zN(NBY2gRE$4+DcdQlbNmxkR8PI*=ZD1_p*r3=9m7Xo(JQ0acWmo>>gqzz!=<K-~q9 z?I4>$7<*ELcNehUivlXAKxTl-Bbd1&NM#pj<5_B6Nl_&OC?$g$9Uz+|1VCehae{sz z4g)JgvJHrDDG0sQlmR3UD&0VZ8z?Nn$`}|JKz;`mZlG!zRH1{!yBQf8K;hBP$k3q5 zz`!s8+H#%5$k5=!z`!t#k)Z)p2ux>WXaHs6nT!k#puX{JMuvu|3=9l&7#SKs-LwUa z3=Jz77#J2ZGBj*pU|?9x$j|@^<0a6-5ac#UVF+SDG75;r#Q-YqKrC(s&|nXU#l-*` z+yJq-!E66OEXepZhy@wH2C=vpY#13BKrC(s2Pg}ip-{S^py5M~Kyb4dGV%k;J&3VE z4)E=SAVWkL)bS=aP}2nz$*|-GYMg)?H6SrieF*Y)5L$8r=>e$$t>V=}OKxao96W(R zFC>H2h8SfYDB2(xYnexMLW3m{P^N{L#{h1gfyzSAC;+Gl4-)rcfb?Fy85kNs{_ug8 zeOd6b55$5*DTu|z@PUDW0mR}4FC7K3(4)op0H|3A3OV$e1av_XNE~D{2&0EGXgCJ_ z5+slwP$+|jQgnz6Wzg~&NJ9hJHjs@Fj5TaQLB@c2!4t@SP^f`MZb5922}#gU0$sfe zN%$ZZB$PlbE`|dP3=AL^H+VD!!~%y>^BaLM@Q^3Q@cAE5sqXs))VGJU2(>}wv<Hi| zFHb2KsHkSLcI7A$>jo)lKE%-(`UNZxZU~+yr6N%5hHC|x+Zp-+G?efGUfF=_00E>% zB?kj&kaIq`L<ilt1S!!$t#wF=4!S=VQlf*@fGScEa0LmG1w{aQG60qQpy-5UwhkT! z25F?S{T+BH3U#yrq(_>8fdNzwHJ~K}yk&c79z65GN?}mx4zeE<l^_gqBZ$V)0wp@r z2_lv5Wtqt(nYj!gp)ddc|F^YeU?|SZEJ@A)m-e7$2FONOX%0ztpm`^dC<uf63o6e+ zNxudp0P;H{Ljx!b)-ggd>v~3p2GDrN21bSk(75I%=!nE-MurAZvt<jk@w%Onp#gNi z)(%F72GEe@ZfJSGpOK+q5(5Ln0Y-*~Wef}qhoI&BVQ9GyYA{2RH;4sE-XInigBT-Z z1voc@6qLoqU;t%tGnhbG;3Q9ac@46H(()QqJ%!*YueH&V5L$VSlxXN#VndPvp)xxF zT4o1A%j_U%X#~ogkmv%jAkhV4ae+%}5R01uG+P5=fujc0UuA%d-cA5#Z%{@+&#a*N z4`})WQ=l>%RD*!jf@((4HO%O(e~=!K8c+sjf#)>G_;~RCgLue-pn{^zypptd(2;!k zd63c?Yyk!VDy?N0cmzQM`w+=^(EXzMdBwpc`9+E8so+69P=g3L<UnqC!34S(hJgWA z+j&CAz(KVg$ZfFNE)-tdfmo1`1F^UmKuupz*l;s|G6;wT86OA9a)aCaAQm_@!@9q8 zyNU#K`w9fYCIBIwG7px(Zh;_J>s|udSBrxdv9X6iQx_mpM8NI@4b-xM$DkkuDClBH z2n!VA=&=L34I30Dut2`d!vHQwL25y<vyA~%@1qu_AUz;?&~Tn4Od|thd|4VaN^-!> z5|FVl3{nnZgCYaevIPa70BB!HF!+oBaIYNH+BFA>x#bt-CYFH3K<0CR#6VlAa#9&U zg(;{S1)aMU?^u)$+UyE05<$IhkQHVE(5@V~FNYkXAa^f7i_tnJh6a%1>X{fCK>lf9 zf{en0ia$tR0I?u33Sx0F++$z>&w6l!hhrgPpj-iBaWg==6`*N+@W?y|>ZlDkK6_mS zz%!IT0ueL4V2S1<0-dgZj=O?P1I>(}jLjSdb?!hT36SwckZmFipdky~aSQ6HgMt}^ zK_LUmd7z*J`4<$optPxrR>pz!fYgAl#FPPrJxC)1BQ$2g@d`5zECVM<iC0h@f(F)6 z;t-T5KoiTL&PRMuYH?`}XuutIjV;KhFuOo*1jQp80|NsnPC?@K%nS`+cQZq}EY8df z4Hls5f0-E?K$CZ_%nS`6Ke;hO;uqB5fW$9|1&Ln}iwiur0%CE4mkWScT;Rne|NsC0 z53&h{LG3vZTZwhDB&e(cv9V#0I#7s%$~iXha5QL{3mXH-wV*{XY~UgHUU2z|O+T_2 zsFMa690iROurYw50@MM6m<#GSvoU}o4b)zQ*Z^u@voT08Fff2hZBU3I%)11(6XZ5f zV~mXf6#5_&!DFB(Z6YfxqzVn%3bIo0%U38aP0mn&3UER0c|g;M-gwf`v{LX3_3<HH zmw#!ALVlV8Wc44YbOsNLfxQEZ8_;k9Sb%|nVKvxyAfK-TvtZ(S_Ksm-AHsL`IY6{s zMo|X3ZXKirR3>dikpYQ<n~{*109~q#8m^!a1z}J+1uJG?VAu{e0_2)qU=~aq(>0KD zDY3c<l$1akL2lZMVhp&yfa(ftVS>vQAVXmoWH@Mb0VE}zM6m|$T9oDvR=2{k1jsnh zfEKFbz?Pi{n+*ynP@^1@nh~K1ivVo?fVdA7nh5uSECL$~B|v<LI#7;4r~^rZx*P}x zfttq%9%z)7jlm%~Kes?HGv!h=D<df1Gc!1(r6!i>85m4tWN3hh=%s+p&ng3DK=1+( zW=4Kk41p{GW4)Brq|$U1(8v}8$VbeK2SOPbU?YiOB@9qCpq>u{DA<@8L5*#Q9E{W} z0&Rqb@IWEP%n0%yh@YCi2iy(=u|ah=f(DtzzyRu%gK{-k7lR(c7zWTRKQkjp9K+cR zt`K7&Y8doDi<eb$K?5NSppar_{LI9_0BTPyXR`n;G+|(XssW9cg06RGU|?nh?Lq^o zUV5}+H^ew(b3krl2JIdMONG7AP6yT746x7uhZrXV$Q;lDDv(=23OT?oLN*6f5->A@ zCR#!A_hPQU#54yq1;oq<8bX4Z!-ZiEC_I@NK@+*4c;eS~a>X<UG&si07{dthA;>-+ z40AvoE@nnhTLKjRR?GI4V44FOJ!WPEP4a-$fXv~;Fb9-snHfO?)F3rV)}VDXAeTW? z3pjj0Gg{1yp!F6YH6U{YkjzN|_Yy&85HK@>CZs^R)%<o!V7dpi{h65&v@jGFK0-+5 zK;j)#UokU+`c@!wHUvrR!88ZdMqy?QKnfob40Avii8C{T(h11Tk2!u{#xw`iqJ_j4 zXhI$2FEI>rK)Iip5mY0BQouFc$B!}1kp!n7&;nIZ3ILfSfng44_J)}eG!_T)*IAEA z?wIC)I?c?C3XG6>0FXIS80LWP0A*$bg%U{K{K*y2=2B3;Kq>)b!R`UA<A8;;42C(N zl+4Ts>b`^W&hfNQ+cDh(8kA*b1WmKT!bc9n98d?9kiS4>12ZFN@h{9h3K-^q+SSaA zpfCoN5-C9o3NhUSDhZewL96><?oq-p2h@jRW(2j@Kqbxx|G-vEb3lX4%#5HV$S`wM zFw6l>C@?dE>Q+$t;TAT|!!!ppR?Ez&gA`wCU~@n*18O;eXwcSlP>e$scA<)Z2D3pT zN(>6%Qk#JRG$8>J0bz(PQ0@isKo}x&8^mM)^%g<8;$dxO@PZPM2uK>-&}U#^;DDPf z4GLC}6kJ3PDk8+70Im-h7`&h&2sdY8h;(6yJjD=khB%Y~Va{|65zy*8uyf$<`G%oJ z02K6KMKFKqVu*x6ML_Lahye?k8KCVHn67Kg3=AI_L5qW7B441oq~NwYfszZ@#V|FK zpdw;$HQQMj7#x_8&G`XUBLP<fTHXzEvK(Aw6*SR<7QH}R_#G<31y`dE%7hFI3_Ng= zaHxn3T%-vqA^;az0u=#;b0#CGM*}e*WIqfagR0?!>v{?m0qKIM|AQeS4$ByDU1}I2 zrWhhFC?YC8e&!%oK-P+aMmSV_{6ND53`@W*GN=e>%>)Bz-U8$ZNVG(-GcbT^Hg<5z z)GMxlw<bVy-jKEg$mF<-PeB6`ASMF?!%V2{5M3a_2kek_g$NOK4hHZH3q(Z4#}8~f z=x_vx?J7Qg;6~FEa4bVzXbdvz16)K8>>L$P)xrQ8)<l#x{nk1lXM>b8FfinCFo1hR zU^QT|4WPyd0|P`CgI-cGr~?I-0WE@JW`s(EMIfaOi1`^R3{t~{qDvcG&cm}GNHHAi zf*Lgp3=Cj349M*|9k4D?Jpv6dXl#JAx^P0;b|5uOD7ru^iy<zAq#2NEP?&+}0;n#K z8dP1N=|YGukh)p?&n_bTwFv4$kQ!87`d}A=+7cjLb)TJc5W4n3b%E5N>H>|yFf)P^ z7y|=CzkJ&Xgs!hpT_826x<EBDGb1>mf>umVU-u57OB+-jfk&o5VvsOY0j-Avr%q-@ zP#A(jBSHAjZjcI)YZ(|4pt?XwfeF$QhG=2{B_w7>Q0)wgv(|;p@(5iGP+cH3Fc(6! zff6J$BdDDQ(pAf@>V(iW8>$PW22~d*VKXy=ybW?8#APtnCa5lu8dP1N&_npku0^m3 zVb@8hE|3~je}O`enGsYwgIqZ6NF9={w@_UmHK=xh#!V3Zn#Zu}48krxXhRC522~d* zRY2PFAiGfgr47{uQiG}sv=jj0FZZ&WRtUR1pt?Y6P<4S;zd_nsu#iLO%7f|xsX+}5 zP}_r<5!B`ZxiCVIqX?mEHdGf#4XRzX;4}}5<;U#(eF$B<pt?Y6P<7dXb%FZ}kf2~d z=(-Bk1yX~m3p7%N2n~;2j~*j*eSqo$sX^5R8ooe;#)->H%MrRnK;0S!1_qECNLaZ; zML^C1nNyOi;^_+-SY!aLR)mz{pzs07Bg~0{>H@1_&?_oQRtbUV0*$KS(p3o61y%z# z5HwW>W`M&(&p9YWCBhk8S2%-13{-6+Y=^0w4K)X>hT$*|1A{$y2nTc=TfCotxPyan zDCn4pvcwz*2Pdc`=<r2Q{e*rgnuCL}2TV<JMq&~8$R;d`0-Ri&80_th93mY993wm( zq8RM$jU6H#BcQx^ywef!@tL^=@$vETiJ(J7GV_zb2i7vcg&}hoke#XUk#mN4I5R$n z!QNhlm{tD{fle+CAa_MXF+k4qN>42Tg+_i_N@690y?uPVD>$?e%Nk+I?d=V~GVq}= z*x*y3qpL#%$is%%<wK$J@X<Z^g(#`;OHv%LYxQ(=_3#KVbN2{vj0goQfgTbGzV^w% z!6C}P0~FRNsmb{%sqvtZhj`c=T3S(lZhTT{T3Tum4%59IJpvqE0vy9lz(#`;2<&PT z2ZsPh&j2SEkm<##c_}Dn<1i28+5jgPMC!tBFgSH2gEz#*!`7qWHZcMmv}i%^-~bBr z04J9K==db!G%iq}FxcCp#f5_dEEYhkSkY{AaPW0>^#Iuek0OwlQ;UjmDg?>HLK>n7 zJjw^Uw<fg+>^hGCCl?(4M+6WkbfL)#tRJ?f8*G9DVgI3Ng832d4Om)$jyfZ`6k$`S zqbn$R1(>-<7=%Ld1SlmqJApzH<Upk1Y^s=t8t0f^0LM7Q#aMzE;c#y}*@D3y9tIGT ziX7}!z^NQ%$lU?m!=Q9UbZAi7WR#V=#5*^_(Fxrbpu)(2X#YYBFVfV*gBQH~2W!HD zWh(o4cW}sK#x%5Yu(yX6y7*MMU^64o(G`?h9O8pQoa3D{Qj@cTOA?c_!xD>%9V{3e z;^T``lS_*-ODf}&L6Y&w`T5zIsSYL#phI7wI$Vnjpj^+q%o0%P4&?@Cl$NCAm*+9W z$HzNYRJau-=B9ci=B4DM78x_d$ERjM<6i|<GoU#ie-RZQUz!IxU@NUOFF7Z*ge*f; z3>c_lj3IT5F#?AQ$U~sD<7D{=?hx=TD&!eqkG5jL!QK#5uj5`0;oxBDU=r``2yF`? zSN+EEexP<uyg9biXXXSJ1tl5qIjRm04xknUQEFk02e1wcusLYS$J_}l=j;$~;Ns=r z>hJF7=j`PN$!REsn7y&RF;W?wfzame;Oyt^>F0?{7d#VZB<3M>c{sRxdwcu4;jjur zQ;?yfgS~;HgR3J%2U2)gfWjll0Lv_*14POg>~jnqM%aZ79UY8~-O#Op1tr8pOv_;M z*sX-gLUf~9j4FxCpQx&!jVa_KWE~uEBo#!^phZ54ThZi@U5Zr-&7D})5amjk$G~aB z98}WBgK{>=I}Xr75>{q{dpV%K5u{{=m7QQ=Q0FHexhw{k!Wg+t1=KWyZZJ}Da4-%q zbBu_Ha%AArw=_~f28JeP#s&r!#zv;dq6!Lz1_owkW(o?1CdOvQ#vr)_E+58f2G>2t z;W4)u8Gb=JbqvUJk)U1^XeQDJG_3>Tz%Z8p%Iq3Q*y0ugL$nA3!(`B!Nd^W6e$YrN zgMbrsmI*v32~r1|k<=7N?U^}%)FI7Fg4BV=`Z_VxIXEECJA%}K`guz7j0|e>5Hmrf z1B1Z<<e5E?I%huy1_OCUhT>e13I+y!X3*$pKmtS^c&HDg47^|5vzL+KP%lIsXmCS; z0j3Tzg9TCu8sJsygQx-VL0CZ`AOY%M@T?k03^eDc-N(ov-Vad=(&r!`-~_Q3VIF9k zqh~)O!zrjb(8wJ&^QM4~mz}`Kuw){{JkZDhHuFGhL)0cQGOV5iQHRgGkCPY~T0sUg zFfiaU59B`fsf-LAQwf`QZYm=~(sYPAT;_q?_hdRFL*@*KI(+V1KZB9Mc@{(+F7tjd zFfbgQ#mKOKHbfn0W)xfay<lWu2%W>oU^@??4qN#BV_;yoJdcs#;(UZUZ05ZI9aXb{ zks){yLLD~qKnqo0E@EW(zZjwpG~<fRydR7V3@eu~GAvvMQ3vt|HuFHsXU&&0GVELq zQHLx1au^vH{x4@_$X*Fi2O9jrW*%rJ@a9TJh96LMpyB|V`#^KwJgXQPL{>x0!<C*v z=DDqAWJrao!)IRQYDR{}HTcczVqjp{yoQm%b}d95F8>xVGB7l+Wn}og4x$d9e-lCL zme)hn;d9@V^^6R2HbB(j^6xwb28MGR7#VUlLezoAWwC`{4I=}?v5kxjPMaa>aJdh( z?{ULsMuz+?5Ouix3tHp1bqgcI+N}_ExZDRCXT86bkwJVLL>*`z2AlgpOF&GwF*3YG zQim<QfY#A*Z)ao(-j3fq(ClX6c18wW&?GZxWDYcjh^71k6`0;T7#Zdvsl(<z&>Dq3 zp!MTB5%wb72U)2ADtAF6#PfDCGF*qM!xg`vwF<9yGBO<A1u+j-_<=@yzwTmW5Zet= zhb#O*Cn}iiW@L~6EfxT;=4D_&xDQd@gUpND!^lt%Rfo%cR~Q%=ChuWnNZ$*w7nl1$ zQ%E!SGBPZLsspK35D>tqk3cJ=R_|qG2;K)$0h<59?Y_c&j0}^I)M1MckbgJqV`P}J zA7UOTo#OKEt^JG)zoF{z`Ir9yBg13R8DI>MbrRUj1FhE(J;=y#;~>Oda6OHs{sjfE z%^^mHABQ38aOF49EK%AKMuzF2!)m}|$_xzH{0myUvHA!j!|9_C^KiunX#K`ts2Wgu z1YvCEf!1&c9%E$qcnrUJI~f=ll#eqq+<~0j1YSLb%{)-{kvPG~aN#7xJY4Ys@~_w_ zMh5p&5OuiX1GJ_i`V=EWJ@{ZR-0=Yl|Ba^^8FoX}flS5bKG52Zqo)}ecAf#LfUJMQ z7QdkRlmBNJ8LZDj)PdT0*vtd1@kl<)$k2Tbq7IjTLF+s&o?~QCJP%QaEB}Jldf1<5 zWXQe%QHLvjlNlHo=7Q8*M5x2%KBJ3_3{jUL>fr7}n)3#w4N(4F096CxgE5l<1M*xn zNDQ<|cf}<}27${E^FTAS4h#kk$aBpgbs+OVG%{`wa5#Xj4q^(jDh7rI27v>Rxln{S zC_VdJW@Jc!+6xI60|#_<AbTfWW@MNJRR>B}4g#3!K&!6SU1nrB22}_42NreU8Q3d~ z402Z>E`@|2rg<QHQ?4*F<UrNovKOST0jdV(J8bR)sp}v@9jKm}K!iHboa#v;)PZJE z{}Z7Ow35v1DkMzs`2)1dDG;YR$ow-%KPa5buQD=BhN^{!A86(ap$xo_b@^3Bh9gjQ zAQw0Y7(mktLLq3L^W0TNhI^>$py>sn4%AM1ag~wbBUBySUT}X9p$_Ce)@zImiq}9k zLgo{}@rLF;&>XetHAaRAs5+2pT<%M{#>h~Fst&__pmbhyjgg^|fI5)-y00-ZEQhMY z<quFk+I@|Y;XJxJG=G3r96r9r$nXcM4xc~Rt}`--T?eUvtYim=3tISr`b`Sg85wk; z>OkcmHgzC>cwc8^NQbJ!=a1^^j12ums9SuUkzqT!IyC=+RvDhY&dBf@st)8ET=Dkx zIwJ$?4Uh`l{spbU;J?AhpaWHhT5h1GtD+l>41G{_xcmzWmqj-i8TJvO?$QlLhIi=d z(EJN(|1sTUWKh0|;t#C(NcScqgDt8$jC2Z$U-z4g3?Wc;_~N(dCL=>1R2^Rb-ehFh zM?f7YJzu)X$ncB^b-!*hGVtAk_!nU>V%-3!90JwzO1Bsp)S&7>sv+sL1in%Lrq19N zBZCQsI#57^R6sDO9Jhn2frx<GyAIIsgNcCFQ8F;NVN-{+vH+wS<UYS!j0{0gwP5!# z7&s^>DCoO6dir>}`FaNXI)*rVSSiIj2Zh83hq!q9$9o3*$A^2mxW)$uxH@~fdAbG# z+Zre-=)1VOIfnX#_;@;5DU}x+#Ty&x<zyx)VKK`$*co&Upsk^$0Z1c;U7jJXL5?B* zLGdoGPNDAcKCWS|KDI_!ObUWrMhrb})z;S~CElenFEKYW*#)%40L@Xk#bwC_MI|X{ z!oI;_&OsqAXrlf;E`E-_uE9#6b1lIq2ZIi>vSeTcjdm~)b1E!&Y&$r=G%rOjKPijB zior&ZQ32FS1Pwu6ie_Md(Y~3<Mft_~X(b98L7EDnZJ4>4RhfC|3ZOe?Gjmdl7#PsE zC{AEt0B>r7t^r|?<z`^eWncj}r9s=+`WP4(oETWaZe;*n$b~tJ1$G&s31|;wGq6u& z5o3-DsEH187if8<4chiPkY7NH@jx4{^gv}NC~Yz@B7zTk0VmiZ@NPR$g$z~%J?RR< z7HAM+;9{^6eDnYRf6#(@&>=^lvuhh+2M~e;KzYbSfPo<|F*lWghk;uV6oUK3KnH?? z&ME+Hcm*vBf|$s_0CF4X*a1-030k%W66a!IXaKpFlYybZ4Se7rLj$M@&CS5j0NPN- z!@$sh9$%oXBcSXC(htI*_yTQ;0EvOZ1+-4j7A;&rdO&JG%_u|c;Q~4J4-qgR<3Prv zVWiU-;ei42Eo5sn+-L>{@D>-4e?dio2-Fm3EdF`Q3R!vyRl=~48<ZY7;747tGJ%#? zp>B}{=>f&uRaOQD1GuFq@eH4H0?k1{wl5=l2^4uy8?ku_bmR-DuLV+~EDky11(a!# z`Jg@Q$o#h;4yZp0RS)WefrMcClR+VYBo7^GWq`>;s|q+DbjUZdet%HqfTX_*jSpK{ z4l@tBxE*euHK_7K(qD$g--yP4gT_~fh9AuQBsBh9H2w`VzAz}|BiZkV#_vSqgN_7; z`5%(Rz*~+%Lwg`$5C)|KP#Oa@LqJmsATfRhh6YgD5MW?v0B!FPVqj<hZ3GozU}!kV zzyLZ(umQA<Sd4+80d(@ZI0HjN5hLh$HHHSzD5?wtLj!0yT%LiU0d(}P0s})s91{bB z5(7iSOeWCw1BQkxOyK3z4gAdDMa>Of%nS@#3=9pe%;1H`4F{M(Whg_#Z)OGteFlaG zGZxS`Z-$0K76#B_*oHMM3=F0W3=Pj&7#Pe!$6T?3&$MfZWo2NnW?*QT!OFm3%fQfZ znH7}w85%(8+!0IOImyJp09qOj8cqcHJ&YUmqz+F;1_o!evH+w9)J+1>M%eRCY9459 z7`QBe90>p}DnS;3ECFF?)Pk4|LJYhNJh18kBtjAwRFeMr|NlR{G!bUt76j!^P|*sy zS`1vg@<NMO1px+z%oGLz25v!692eOzFcgETMFu_wZb48=kQZlQ0Nug};)6<W(B^=m z)Dm#{eCPlF{~&%Q1IW@R|Ns97?U2qbC@BJK2b}`~lFmuZW8h<m69n~PK_fe$W3rIa zA8d;W$fuw%1lbDO<ODkHA0+0%067H&baW4Bu{P*11JHtFe+I~Tq@ZIVK<hz4$3lR1 z{DnZ%XD9<h!%7AQ&`Gf1bQ;0H&;S}n1RZw<O0Urj3=N>!yjTW?1}n(X(G4Mt3=9bj z3=N>;r4tz#8oC)77(j>LEM){A6y0zLa_n@&eMSb*xnB)`K+`e|3=NWy`vV%xm_X;o zGBkuSfj2NWR55|ibZV$&0-qm(QTNC)L6-Kz%5zZN14=@m<N&IBKwE3j(;G++NDYWK z1~EW^gjy#<)*_;(H_%uJSS>0+YI+03HA(^lB@I{t10@wuf&*3EprnJ6;6N#?1ayA^ zB*B3^-3w1}p#Ah97lKk`L1JZ2eqstZk--ujB$0vA6euA>6Iq-fXdymoq5`!OK*Q}Y zUxLC3l%_z2gLd|U#7h|%z=!ITF+k3`tz=+m04>(7VPI$gO%c>V+Y9v!3=N<o&KnsR z8fG&vFf=hRG=R4JwlFX>fXr%TU}$*C06r4D0W>w($-vOS%gDgc1u`FWswD$MgE1rc zHj4((f#!V-3=NTt44}i(8}b;zZJ34@Mh1q73=9pRnMcrJ)u5T8$qWn)pi$ka3=9pR zn?7eSFf@P;HJ^#4%mTHiK<Nb(<RHI+(h#U^0ulqIA<$Hd3tE{4(gRWhiV+j+X$ZN@ zDoV}GFG&R#S|C$FwxD5bbv`H^z|uuLXu)!BVh;E`43JAf(TpMpatbKLzy(1?1Sl>c zF$}Q}<Ze)0f@)IG20f7IeCY8o3m72v)IvOA1hNFA2R)3=f{tFm6Go=k!w5N_(IAXa zf&&zqAm@WJ5Il@Pf}m`K5}KfZgC6WfDD0L)!)^sM>{en4JJ88^p!NVLDq&#<8vX*M z1W@_{9gt>^7Iq*#AT=P`413rir7uqxaMA)<0<r)NlUhEZ)s`5=6{zY1`2`eanJM6! z3X~v0RTrrA0;va;G9W&*l;IY90j=pkRT(IFLFp1SH3@Sn$e*Be2^wC8HFMX3+B*yk z4C@#mr&g_JU}ylv$3_Oo=~bH<7#cho7#Ox-33JdLE}+N;xf5guD7}K}L|B+#WME)G z4|9+nkQxwejy=qg(knE~L6(3lK*OYlIVjNZ)(N0M2Zb^y^=77k+Y6vTh8N|aK!v7R z<UStAFQ9M*wPay^yd4aXBW!nq%2);lhTYI`-OB(u5@#Ql@LULKXM)cu26+_}o}le? zu<!((;N^gphCzBjYCyCF_V7eX!!D_5;6w~7l|Z&2VNwH>P$C93*g%N`(O?6GFsP`9 zCTq|^Y@k*wh+C9ekeXNmPU)b)1f^_HN(a^351<Jfdy@_nMIhC9^8sjT5$01+Sb?kn z4J(7DltJQ0q3Qn^G=4zmN`sn$CmA3|-JD@yXaJqDcb0*n0TkcoLG6A928Ig^kW)A> zF)%cM%)AV$0~r_?t}-w*fNs~m#=y`Z$H>5NgMp#Jk`a7qM?)|p1H)~QIgAXT+oBrU z8Nv4mH7sOgV7Sk~&;Xice!#%caGQ~V;UNP<!w*IV(6LAjqD%~+i%A-cm>56@>NEr~ zF)%!1U}y+sVgMa*jL~lU$_Tom1k|qv`H%rT#seA(hNUM~Mo>QkwT}(b15yK`EwQI3 zr2Gj>PoUBrVh0LIYI-7=K|u)$ltB><GEjm76%WuX3rbKR$AGxd1O*zS!P7iL%F`E+ z91rq8C_cp*7{G@`f}~zEFf@R|<_)yWd=F|jF))A*-vqbIJ~1#ffG(l=%)rn9+Uxoi z)HY{eVED$s&;Z&5{DXm^0hHQ*GB7k;WdPs4-T*p|`Y!`R189lWKL&;dLC_K<28IUE zR5Jr3q_4`v$j|`Vtj-KNF_4h~bbf0?8E6|mBc$!m#>fCpJM4@M4WJb$oQw<&pp_n6 zjF{s{pi_51(FzJhke@(h3}{*mmL^0Q85kVV${3IykQxwe1JVrAh}xD%Dq{k25-Y)l z3|u8xIh-IhQ4lI*Kq&xJ$bia_%oOn1jv&v0xX=^;DndYM1XM_1D^ftoj$k1IE%!l3 zgu%Q53J*{k0oe{Zxfdj^3%!>@kCCAPw5?d5k)Z*!$<=_7p#fB$7%?(5fR1o6W@Kmp zo#1K0$j|_~7snJ!T!9W=1-TpK9gx|exB}Iku($%<SAiZ^AUz;8Aleol11Mu;Nck5Y zS0HOZR-j>0;|dg#q|~sW><Y3PDZ7G<07V8`rHkH{0r?LU_Q-7+OX#ujR*aB-lMN%J zEn~~b&;Y8h?HD1)mDytnYtT_fpjr_Wm!LoZg*B*Ng@v^&BLf5aA-EttAT=P`4trQb z@&)KPz0|zaqOjDQ{AAEw*`TvdLAHTxLc^p6Iic(UYJ7t{bx)9ip$uj}C`W)&6|Nis zDl<{XO+ZlsQjN2c#gacj;R1>ykoB<q;S4<;)rFCv0W?nH%E-_FS`OgG$j|_4lX@~j zj(zuHWM}|gSLMUV&;UA0$`?zVO#~m451Fn4g(4`<K;<(m&Oldpp~o3W4@eD&w#Oc4 zko<u)&OlWQ$R;#QYMg=6INodmiZoFCII<u`8b}u?8sIqt`Gy@(n;q1b0iUYD4W7aP zjcR2gU9STkM@8-rfWiP2Kgf9~kP%YH1u-%-fXoYFWM}|w`VM7;j5&leGBkj87Dr%- z4@O4tI4S)2Ku~;u@&_zFKy?dxA0MO#qy|J=VUG{gJQR>$4C&+3DgS^%9h87`Y#0~{ zKz4)j4yZH%<pylE3Hf;kw44c+vOwVhiW|^UGSJ~^AaOou-r<Ml9RX<G5rpO)5oq2K zWn^doO<RaFGBkiLypw>Q3@^pV(6E((fk7He+=0f(L8%+$RghhvxC7-ASlof?8uYjW z=>e$$(bm}G4mB^q;|^pK$QCqA^?U@1JWxI=fkhrDatJmCL3IssJrD99C@w%@11rbm zp!q}|nopFV`9v9-PgEHpb9riv3=N<|Dm54(^AVa@!XA__K&cs&sz4zE3VTqVfQ7vx zmNpqk4@eD&cEBF?kbDCkUxf!e$QqCpXqeQ1CsgTx!W|S^@Js`0q=CE#YL!8UGeBo! zQ$G)ZhV5aV1BDGJ-ayM-L2WFMcnmZT#X|E?95fHbL-SA)BSQmdd1MMBLjx#3rh?ko zpc{P|85%&hk7h73G=L63%wl9{0M&2VSmF~j?g2{Spp*x)6BM7Id;*J4Q2Ih|w}JG4 z)PQJ5?C}Z7OQ`V)vIb-Y8YVS9LGgvRLINoOc?X`6KoJUSxn&X@1BZ07K>h}8d4f3> z<X2GqfR??%_C)1F^Hl*fUll{!&!vozdA%}dd$|JIE~sQ=Xqdvlz);P|&;YtZvj$6i zfbQr8C47(vKz4)T1C)1Q@uA5Gnzu&n2ZQv0)PQIw?D2t=zXnai4iqgQZzAP0P%KeD zpCQL1D2&kKu>qRT8lm~D37XHEq4}&0n$J3*`K*(Xp#gMUFX(m@(3*)JEb$1sj~0~R zK^}y~BPh?n;t@2r;fmIG1?d5)0nyIb;}I!ep~NG|Dv&j3nCf{8Yhw=-k)W6Z^^8c# zU!bxJ=3tPYLGc1w?guJuLE@l;Rzcwbx@`v3zMBfoU!dD&K=bA^7$Iv>W<hVE0o^)- zz7_>EZUhQS*wip6KY_*vVDSJt$`d^vKzcxGK(q@;GsrPG#}HgHi%UH7((>s!jsS`V zP@Q#IkbxmLGcO)=X(@Oj2ow!q!NdxPAn3jz&^#SjFf%VcttdaQgaIT9@)%e&u>vXz zibqg5A!SI=umG+M2`XnnZG4bC&aM`y97V3@Kw%1sXXJWr5p)~^bSn_ZLeQ;1pmB($ z&~b?6pfM!|28NZ;@^lp=Lj<<kgG}4Ko-R7}h}BilAF9Km)d*-C^kIU@deF87M43 z(FsZips@#7I?%;Zu7dP{)PQJLP;h}XqNW3+{D_hcK=A-pjY`loKVl>VP>(DZIU#^b z39ukaLI4E`SQI58faZ>%85$PR@Xj2hiUjx3kjqw3IDz68xsC+gAOZ@*t<Z6fZP0NJ z&`vN=BWowLY~2MKF9gj!FfufN(#u{(h6d0&v3*#|R?v0Lpy&W$Q22u45|m$IaT$gs zE<t)gYCyCbOe1PsBGr-3`FW}I&ePJ+RVAQ2nVg@O8lRb$ms%8`n3tZD$^eoCr75^% zektg-F^D86H-jP(E}5Q~na2Ri%^;5=<z`UB0+d^^bp>IO43fv0n;~oHKy6J>xPve# zJV9}e-1j>I&Cf@n<BG?i<u>T5M9{b*=!!%y1_lPu)rg?BF6e4RP<{qojR;y3aGsH& z0kka>bTKk|J_g+;1_}sJQU=)%ihEG{g2lZ$mbeG$0jUAe?w}w6X+({Cq<oAL_aLjl zs!<85=VMU(f|?4Te26ph;gaZ)4+;#pBs}s#Ndj*U29?doeMeCEfZ`HVv%va}pgW5} zVF$Xi7!-7%yNW^MH+L8z<CJ%y`S%_)|2|-3XaHRa`4CIK1@-4aX21d!6nCIJ35z== zEaR3SJs>q8+5@B+91$pE#7OzpCBGmiwJ10_F$Xg40@nc61t&<2K0;kcaipx90(L@L zBIwFua2^Et7AX&c;tG_<D9nS%@dgST^muy;&4bUNdGI+j559obsjr}Q>KjIehI9r7 zhIfn%4WO$c-eZY3(D*gT7oY?R3PVu5fzkvl-aa#6jyHq!fYg9!Pk1z-#2ZqcLytF* zZ6KS_FsbndD%0?G6+saP@)aoaV2wC}`3HH7669A<JRpxzeu0kje}&e6-=X#24`}}R z1s&)AjV0Vc@d^q$SZIL49h4Vf;SM@D8olib(gRWhqP;+x!9j=;?nwE?wa^WcP(g$I zaMfTfaDvo8CzM%`+pejFw9F{z<r^qWK=FfIzWs;h69y*892g@LWDbmp2{H%9!o<)3 zs;k(TAo+xY36f7ZnK0)oLGcfYD^Q981s^EBKzRTbU!e8B=<x;815yK`z2Px{5?@I9 z1SP&eR)MTR!=%O+!At^*Fp!r(nFJ%k@MREC_!G(>d`ytFC;Uv1c`!jH$UK-Z6Qq6- zWrECuiD3zEP<(=d3>FZe@CK!QSa^fR)X*;$1L*;&0nt7n&EU{O32&tQ5dgk#kB*rG zv}gd7JV8yl0<h(vW*o?a)U86mZFfR-h!hiKEvGazZ^%INhAcF1$V2mnA~bI(L-U3T zmbe0?Z;&@Y2?-SBptu61dstk7#_ZAK3Zw_521NT}k1M3Sfru-RJs>;KFx4{#D6&BQ z0c8x-$ikN^AZ=(u`9cGlFEpX~LK~VdbfNh|ADS-=u!J=zZG(af77n1W2BmpeSc6Vy zLSF+7(gRWhqWwUc!GVV>Uxel7l;+a4i3OT{hh>a1i0w4V8K5$YP`)sM<_lA3zA%I4 z3v+0`u!QCdYiPc(h2{%8EO7-&+n{&?r6W*~gW?L5=3#LKTFZ|fS0FtgH6Yp_dt4#q z3#7OLSp>2K4O2a1fFcXzAyCFZi!6LO0~Gdz@`V#LUpPbag)1~)xIy!U2Q*)JVhL-| z*e|FH3`$3!AOM9mXxtnY)}Xa-?r3AOAUz;8AUXhhSVQUypZvrW-~5!+9HjjyAj?1& zp<z<Po7ff=XnY2~JpeTI3yK4I9NSGm)jq)uCV^m=voe52WFUh+pg2O#AE0nSZ&Ud& zLDuK`F+t|z{h1gVK*xp$F+tW3g)lKRfG%MPWnyRmjh{y_F*HnOU|@*E5@(=wz@RP@ z$SWYnfZ_}^CJc)+W<~}E^f&|Q0jUAef!N~=l0UG;8OSn_MQE7RI0FSQ-mV9%RRxM4 zc%*^0Y=AN;sIrG`*#MaY8fFE>E_7ffP7rkC1j;52P`n`L9gyEa@q*kJiDhB{uL+D} zf~=QFU}9(h9bBKp1X(Yd!UVbXHx)}ffc6Q1!W=p8fc86p#6WA-mt*Mzg7kpYfP55$ zJs!~W4z1VxgA*|*tUzNJuqXz(6BJg+dmyryAlI5_GeP!1<lqSt<g^L$FDy(z>nG9I z^nmOFsR4yaF!nG(Pn)z36HrP7IR}*J;QJsz0YywW6+*+Q2pUesSi%XkmKZdz0NNu4 z3Ul;5fOd=w4Cw1MKzcxX06}yJ_HaU^oq+tD%D~dZ6z~)b$R?02APkBL5Y52AKxzgi zROo`TB`7m|uwh^*1lbKLa6z{K;u_omE$1L%of`6jDbR#iC&V8hQ*J<)m}em^m;%LB z14Id!1ce(YO@oe?04=Tp36?QI_WhMJF*JaxrV1v82GAuml}ro`pgrp~(7LmhiJ<{> z4Ib!fT+rHJ(ABuzpde&|tSe|_VrT$e-Pp{;0A3T^%EZv{j)8%p4NKgE=6gT`k)WUg zxdBvugQ61@GoW$<bWACF+=KLh)PU$v5CfzU+juRg{6>j;kWFC4s068T4~kp7g*Qk6 zDAyl=MLsB6@T}EAj!e*je$W^J>4I&9L5fUJT!Ly`m?uEt0E$cGIkQe^`=<-q7VTw% ztWE4=g6x6mXJTjot;L$a#Lxh;Z6XsxLk|N3!z3n#2GDh=lbIlEL#8q@G@M{yV3>v_ z?m%e>l$$_%JV9<j&$l*M_U?l8!18Sv_P9gMw;@HD^vt%PTnb8y-$Caj6lH?9aDdv_ z1CeV%@k}Vs&V=UKS<pN?8=7b5K=bT;Xr5gF&9e)cAnW-TF)=iN^6X-0o?QaXvrCy6 z8bJPC4$ZqOu*5qky@7HPD4am?j-F>h`!Uh`Bp^MY=myc@AO=VyzB~(ycaTM3wWtKu zvn(j$L0R@VG~z*dk7_v<(x)esXIDe>>>6mET@TH(8=!f1BQ(!$g67%H&^)^ZnrF8{ z^XztLp51{Z?m+X{px_4`7YPbcP~3s~^|10*3QJuJ(gRWhq9Z_>K^jrx4v}Yl6H8Ky zG7}*;yu%fPb-)QyBacvB3+m~E5+kUEl9>Wt=m3h!pEe8(xiIH|;&%-L0|Ty%3@Wlg z&1jH3v>A=L3lS2Jh(o0r7(ihHDtkfpf%+^UKkkLb-##YDy72wbcs#%aSr>kY39>Hl z2opmC=t}OROpra#$Cwxz7BDa{9A{!^0Nvhvf{CF4)PFj~#LxiR^K}|aeBOkvTL9S) zvKthipuRsWK0$kO(Cbf-9*`Ok9SM&jl(8J7HYO|pL8F|YW+2EGG)!uIg2Eba{RwJv zf_!uiIR-(o3~~UzAp-EYCGz|;$d91-L7soU039Q^2+ePop<@JBnHU;C=geGVVgT=b zy3WMVP{_c*aDxf5-t{IELj&l{p4&{2`R6-W;sbPq3aCy5xgHcs=yf9K*k<&y5u^uH zCxYlG?C}A~U%{y*pk{1XYEcP2>qJm&fU=j031|g>QAuWUYB9KC1bGsa=SmXO!F*8c zfbtJnbC<|%AkfY;(3N1&9RP@CF|s1i@d41G22f#*-s)vzfb~(3(*r1s(bK~NXdU{H ziJ<{>eA^=?h6Yd^K4xNQ09|qT6k3NqXJTjooqO?u39|O&B@;sfXioe!G~d3#k{&?o ztwB{7D5yZ`0hB*MQ4GtUwpiLoAUz;8AUYbv0BJ-mZz1^;Jw1Rd0;@$OXqG*%*q|i{ zPyzsDPf&sYWpYq~3Llq1jypdF1_sbp8E6C}Dq3Vkp#8@ng-}K4En!FmW7(?%3O7(3 zgVHQ)ox(?GUjGCwo4-KI<Znz24In$dL(AeHOprD1zo2>kH<maBr6ExIfW;|#9?xb3 zoi~QM1{b6Umd9hT$0<CIhZJRwW^r&5CMt_#l=+~r2E{*eng1V}#~GL*d7P0MlE;~t zA$gpI88VN^#tg~h?97ln&cO`H<6O*;x|y39b6yve-auIomLAaaIH(_lK6eGu14;%U zIu^tL`xi?c9GqH$oE|{-fR&;WG|S>Q20<1F^@E@VJ=oWvFayOea{d-zhRzQ&L*^uf znIZjMQD#W~7Gs9AwZxer`CF11Qm0E{iBHfR7br?Vr5VUVP<(>gzpyeJw0{zP&jUyg zNDYXN18D|nL@l%7`5QDO;qL~n!Qm>w%Hag5(MhO*EP=EDDZd~!FEcM4y08M&EC%@# zxf%xzag$w*gDPDtWilvS(Bn)F8dvhnkhK*G%#gJeip-F;70S$zwH2z&khK-+%#gJe z8d%~CG}i_42XY<+wQ*r_1{!}tk28=SkQxvj5044#c@QbiK-R!x3c(;X&Or4e-bOGe z(m>t;&5~h{G@Ml}BoaXR26@aM<WEo>AdmU$GDFr^=t1+30W)NMg%LAkeT50MTr|ZJ z=AbwQ1slkbpm0FXC)no8Kzd;LBmtxuq!CX(8HnyAti20vxxl(Vpo{|YC~`&tr3B=R z0&B*A&h`LBFW&hxL>wWPZJ_W0#SwDZW(mzFR?LvIHm#xg#0HvA?3f|@@a>^xoFg+s zLni3VQ!H@?x}FE*Y!C(oJt)pVc>tDASg_2Of%JgXfapZ*aRzUXg7OJUoWU#tS%!qE zo?AeX28tihd>KloALIa7Mgb`Tm2RL&gimFFVhW|93W^!@yaVz(C|;2BjvF-ZxI^=f zCp7PPF*7u{GcYjtFhj;#eX+y?JM=sgkdr~d0*VJSq%&(la~__^=gs0cvo_ute5Wj- zqig+<jly$uEpf)F7%@=UKtpO92%5hG%^$2{U|{e<o3jUnJ*e{mT5p$xEj>d+0r{w1 zs1Uf)2BjcSoPjVX-+*Wa2H1(apl%9i77vuHKqv101`Q}?WEO*uU;<@pP_Y6&5)#yF z1;sz	hev5^|Xhaw~ee3uR_#0G$sU%*@aLI@>senV|tRzX}pR$H2f4#>~+0h=GA2 z0!z9B^<NQghMc1Vnr{S&fx-(k-t3JQULZXnHK4v!D&FuyI)WEDz(9sW0ttmgI>HVf zNU*#Iw}yd%0c1ZY3_z#P!oofZi{C(3xPZ2$fC3q0(O+%`20aEA_&K~nSo&okJ)k~5 zh)#oBiqr;x`oqeqASbaBykQlb20-?J>;PdT@3lfsT?W<bVhl{A9V-e-FhBnP{|^rf z(0~`nFQC#2=`<M7bPdvJFrZ3jsW9TqP*9}<QUW?T4Ri=FC<lOCsR2FI7Zj2pzJvhi zvIT!ZNSZ_5YX=GokSgT8b_vjaQYtfKj4YiQvL+ytnW14j0|P@2GeZMttSz6Jq2V@Y zm=#O>fa(@d{K3M@gNK1Zo&j-AGH9JRdOr!I2Xy5ah)%~FKgA{a1&H_o*#q(=2!p~9 zM1!U%Nj&Nm6epm_#1$u?RspE)V3t8d04PF`BVanzZde3>wn2e};1K|-Ymmbq<X80Y zFJWeA0EI&ZGvv&*DrV^Unaq&$nCh7!^L0(kkomf1Ea7j!2s!%{v<D94fTcX3Gl3D| z4;uSN4}XvzB?blt5S@WH{6Xi3BElcJpGwW}2d$|DnFlIFA?N0TatWvuh2|1a6%VTN z;peo0&h-LC6R0dkZmfZ_8gevk00jvH0|P9YKs)0>Lhxt;k24^*)j(kaiYJhJKxHFH zbvH9Z11P-unIU_;Co)6kStm0?#`LE#Gc??1U|^WZ%+LTTZ)Y(xG=Q#7nvEsCK<NOK zj&bD|(B3EXv3-ypP&xt8nRw%?G!He#KsJGV0Ky<2foK}#7*JFo=NR;;Aedt?%Pf$8 zL2-dxX3dA@nZ?jNvlN<VmP7N*DrlZr3(Yg@u*3l<jzPf)N@1W7Vd7<AFhVM`Kx<{u z*O!6x7(w$)7DzKlBXS=HUZ)hNmVmPi(i%*-dIrQ{Knx5F^r%=si^`$PF+mvy)Q~Z< zMU-o>lM7)L3#ix!`3#m}Ku5ZQ`0xyaUao<{1wD>7LE~l{GebiV0|UbjX2_oHUCay( zpeq6QGBY%Q)_xykhRjPJ!V*WITa`fPCcxq-o|l0^2Puvcu<ZE*=>hE}2GQB@FvnK! z!{P{j?g+>#kUv2fDWgylLs-UdKzRaJtph6KK%NDS3>4%SXO?8<=P`&uPZS3U<`-qA z=9MIZ#X+si9O#N5$a;ny|NsAgr~!#s(2By6|NsAkPB$q@%`HetO#@HmY=G*3MYap5 z@r6`6MnU<o$OgrA2Pj0K7!<CcxCXTwL1$ipgpWhVc}_7iG=T1LIKvE?XFCgR&z@t3 zob_{_8FKdX1!jf@P+fJAnW149=-O6j*?E<jp#gLT?saB{hCt9cl*|kb#h~*hLFO<r zFg(DLMkE*+7(gp)U=g;Dmw`bIDUE>kN_nESdqH|YV-+Aehp04ya^?caI*_+P7-lVv zb22PpU>uNk;s5{tDSD772j%S(Xwka}<Vd9G1qC}u2o}BIx(~UH0typQ{34gPPoU!z zFPI_gMqfe4Uf(b?G^}S}V0h2W&;U9o<ufxw!(|2rhA&v+$pacsp!H`U2cX9j=$v@; z{v1dTD4sxcE>ZCW+KZo<2b#tN&1w%oL`gz#0{|7dpe^{|V;AC6GK)(XKvJN(7%T<b zh!2qhjR=A|9$+cx#(jhgD9FGv&;uVJGN9Nd6#JJzA&nIKpano6A$aU#*0-RrMvwnr z(D?ty3^`Ypkp*%N12YSx&BMmR&;U9MjEjY#0kkfgn+0<&1vFOz>brxy337roA8I~z zXJlYN&!-?gp!f&Tc|^rO${uczbs(!im`?c=R91rua8Pt1Z{r7v!{Q!!6E~<E0tyk3 zdhq^jP^^L`ylv$Xc^VYU$PL<~AP*tMDyUlq5`xDnsLV#r)1dG}k5fSw$b5<z3qu3w zEC&e|$eIW#7KR2;vXNzhv|klj7#hAYFfb@#iBnL$4~iC$k3kMVZ$rsoiBpgsSQ{!I zq#2|UZyU-bzX1EjZaT#&=#&MJ4?#N_Qt}Is=2s|fNTJ6QC~VN<NsR^4FVtp%w4-!c zAnho97DzkFhy~J)GGl?Xqs+;OCs6+oeZ4x!EwFehAS#|*3&Rp~N-;Nw(J7i>RU{~y zQVZkDz-|F$CrV=pvy23V4SGCTL*vOF8c&YUcyflulN&UiyrA*qO-4L{_O-g9wPiqV zfyGlHQSpS>F9}ypzb*-=n-9xOkgb!{i6V@43@BXC<H#QxN5RlI3Wdf|I5du;pm7uj zjiY!haRj<S7_@f@ma4Dvq4r5Y_uioAC6FFap9Dk~!2=yfp9FTME4*6*vJG5FQZJSW zbxS~b3FJXga}%W>0*X42AbLNf0NU(?^h5Ui|Nq|@+Q9_%Ln^TJL$*M5!1^H$(0&K3 z(+N7u2jpv5r3NZ1k^3Q_umr^~az7-Q1v1~9#scYwWU@f|Az3VtarJB#NIxWp1=0`6 zWr6fV@>n4KkOCIS7-ta+Lj!0Ip@fB@!IzPNp`3-GA)k?fp&C?2GBPmKU`ZDuj0_B* zbxp7_oeH$}4QRiE4_e*@=>fHGKy)#&=>nxI0<sYlN+1l1Fc3}ct_X5sKslWG%K!iW zdlV4ulrv~i3OdRM<RDm-g0A}k@nKPlk!L~S0E$!OzDEPJozlVrSv%0i0$DrI!NSn6 znt_3#n}wkPG(a(d1+q6~B9^$}fX>Om;s$+u`ahOEY#=?L@iq`$f;VnJn^Dj=fP&h3 zAg_WjQoN8mISL;yfW-x9loY;s5LAMKM&9rZf)X5g1LZH|HY3R2=y5TH1u|AW16q#G zVu6fR&tZX#RnKREj8!jUVQ4tbz`(E=OI(0v&_MA3!l2Lr&5wfeFo+KtHwEnnMehfI z^nlcWhJQ<mj0=)B&tVN;_&hRb>I$4zkvkM1H-W+jdGFwI7RcVg6)cdwgDbK4A9Ozo z4<iEu?5;o)e$@H{G~S7RRtQKBsQv)aWd!{XnyCk^CI(Mufvf@rGYBIkL`ufAKz$aJ zK`f8}$ZV7yaX<e3|8D}V13(EBG?{|jiGdA7zzPS@{3gheu)+a7J%aoW3UB1HVGXpr z-@pP{cfW}Ra$ms~7KR2;CuutiL&I|h28LZM3=OY9XUyS<570P0XdOPt{>f<Z!GvYs z1jsG0_$VhTK46<(KsJGF0bx*(foN)%*Pze_nT@>DN#Otg|E3hg24))=6b9(=u@4#_ zhoJFs1R5X5pz(1M8Xsq%@o^SQd{{6tFo4nq=q?ga=zKzp574+gdj0_E0mTQ1t{@m6 zD63dNR)MSmVNjrfXlh3YXd(+_Hqt~Es2zo|i^b>v|NmxqA_=su800=!mH~CsL3~)2 z0hdw8WjH82(BtSLG>)#aK<+TO&ce`;%D}*IlLc~C^c@z+-p>0hkiDG`u*4ClZ4C-$ zkS{<EK=1eSVVREy>4EiADnXh-8gcdeK}8srg_NK`1Z$)1v<WD_Kwbk4%J{p1N6qQe zhkOjJSD!=sCoiG>lh@Gx$vbHO<P)@i@)=9qfW~h@`<P&16)1o@&W5e857Gl_hl1!T zLU9ACT0pDV!J9=uqpTp?ps~ULvz1O+2xH^Q1kenK8lp+sfz~7?I2?|Vhd^P1o`=3e z+oZo)AmibGSs-hX|Fb~G!<kqi<Kb+qknwPKR?P8G&{_=8$R8}k(ATsmGcqus_ZL8V zU~5{c3B?mA55bB$KhQnkptu6r2#YIFiwnx8YI6XTeL%i~7I&brZBT9kHCbWn_u|3J zq(BuFXiWu0i(Js#37{}Sk1uXk$X)<`R>&F`K~~5b7hzV&8W%BE$Ql<ZR!IL(8cTeE z(gA3k6y!5dsBJ*YSCUxPSAz7w@>LC?_=0W*fM+X^Wgv?{7-s1}Wvdnc|Nl2fs+ks$ zoUMq;S8}Y7F=-`MNWM~Gh2$$WR!F|mgyt(<Xui_J5>KErEs;_-#+~h;`?k^7i-Yul z`WE2~3=Fk+<0&^WGcPAUzX05}Mz#hihOn)E1FhEroq!99OeJyT^;yVsR3LYN(k{qg zP<sZX+K?5}moQ?5>|-%zWoQ7o(*%p(L3b5_^ul_d=zS~D+#LEEK#(3#-wM>%t;g&4 zqSWNn%(B#w)QS?{)Z*gAbjVOI$U=}q(J;190F4EK0t#FdK#c(PXhFpTXx$^c#|07u zMF@r<$Y;~U85rOyvG&bCegcIfa^K9J71B3zV1@Kyov?%-=)Pi*cSJx00|NuUAOiyr z(mF#>V=)MA3<snK<bKeu#yY&=mywv4l9L)wL@+|F2Zd;Z5O~)!DAbr)7#K>6Q;Sj( zOA^8NIfJaVv1MQ=0UtLDTFqu*%fOJE%7C2O)NCQC4OC7dr!|nfL16^43zpU_SQ#2X zhFY?MPEBE8u!5#JYgWjbreZtL-SO;#ppxC5p|~W)$||okH?=4;IX)*dH?ySJCO$qh zuf)v6&dMq!Gd;7Um_eTbqFjh5<%R|fLJaJJ(lQJTj0|N(1$pr$MWv|>!cZ{=h*(-; zPH`%_!jPa)S9FDLjy}PzND9M(0{r696oSPd3N0Df1>XvRLLHmeO7n^{)ALeO6cB#Q zERKhWF_=NU>44RnShPZe#{#NPm^6Kc1`HBVohgto@pX)dcXD=g2?}PAWMCJ}0bL0R zkqL2)2#NRe5At>NVUS{A7nB2KEEaI!f;54peO&z*w4nw{V0B7bPJUtuB3gB!irI)z zY-qq>2vyFBS2<|D91<=_S{evyNv$Zz&r8iKVK9c;qDHh9LjwjQs3wMnW^Azz^Ec>> zeYiy?a6Pw))njPDpaa!qiq&~3`K3uYsfZBPgR15yMm3T@1o5j!31hh5S+IEn?jn#L z48NN&60OJ3fB_a_j1A0x@axOWi-+3<%T<gGXa5nc%g}&9mVsUHmK><ubM_C44|5F) z_Vo9Q_jU9F@r>Z95qm`B<maU;!2J$MkMN|0JvOjuF*IN>hejdxC_&W(3S)>}NE#Wi z#tWuKcz}UQFi_!)J#uhsG&Ep<X~h*oXqu6u$r|cUT+xJEtDymdGy}Wf6>zr%9K$K8 zdHF@T@rg;rpd2j&m1Kk@YN%vEQ7Twgo`GHPCPHgberaAxd`W(JVo^$bRccW_gB(-= zR69&Td|ql|QEG7sgEG{328i+Tex<qbNr}a&R#q8_#qki^7&K681+0qVbMlLe8C3DA z%*;#6%mdx4sfJfsVQFS+NxWa8AA=TNb)bqTF()%G9jq4QledVf3(1k0#qmj?fJseZ zP{e6qW^sIKMPf2&jS{=yAvp#HW`=<L^3<Zx;?yGF#EQ(^(p&~5e7ZAJlTA%6!2ycX z8JT${sp+Xj_zlX<PbtmG$FBzD_0$vwb$kvgE=WzzOw7rwN=?BNgC&`Hm3gVf#qmk0 zY57H|-~@x+{Ut?-1;yYx(m)W@IPvm#iuZT&a&-=g_j3)24{{7~jd%9<3kmY~iFfsL zbn<a!P=TgC%+v)*h{Yw9IjP|K2V^7@13n``HMNtYpG&x>ONa*psP+ZvVZp1%CD=J2 zKE%<T0hCWbr2?iyASDii0Ry`r$UJtu=7l->c)G;9`8c`<gOd_IBMl9}xdFQpl(G(# zX>copmu#TOCaes<wa8@_9`lft85)3-1a^yy5>qlO;HeN=#(;BPW?l)j96`!`AdiC5 z7EXnb90+n4US+Us1S>{xng`8FpmrTz1Cg@|sKx~~5IG<vBG|5?#GLr#{Ji3l#Jmz4 zcvChruSCbf&dLh1&IVLCfI^80q7N+;AR(m*Ep3q<3~pXQ!wRX)1r>cJ==sdkA8R%P zHI&f(huv66DGln85HuS(tz!#7bPM2xJE)OI$Tf%}9@Mdc1UI-n?&#y`?guV6Kw)`- z9W3bV@8{?090F;<M8pTX`nk9U1%pdS+^Rw%16+f_`I?YpK!quy9s%_oK&CP@{0Cd^ z=obmKkwF|<%OgvHtbu2ArUr&zU`<Fa4si~McM5d_^)EotkIykkSp`&^fn0Hb72Uj0 z7r1$#h66|ubPfSjLc0371o(UUg#<Hzq5&)k^#_uZAORTf;u`E6<QV`8S9l&qE+CO( z7+yVs(j~;$f9Ng)1qF(sApb(t{zX>{@&&T}2&I3}mHPO*qnHY7jo`{enZ@zYx)>1z zztIhK@eGCrNW8CWaImAhE4V-hr9^1A8!8P-bV05@p5XcnRN#P=FhTm2NJ`v1BV1kL zeH=qv{hT8iK)!j4))qkvO>nuAS_Dq&AR}2YjP&sjM==njiUUIx#NrT-ApcNzkATn+ za8(adDuAKX!_(a(9!Vvvq+@}USYQ|7F6lrc8jz9>76EwD3bf!AV_+A22<mJ@+yaV8 zKYu@0a3>rj4h?FMxTl}9zptmCJ6sML#vnQW&=7ZjkQ~frJW&tI%&95h_5mmc@To*< z9}y}+(OXHNh7HJgTtNV7D}nL~sCACZ5y*`okcptYf?RzdCmBcu0*f-JDgsev1h1Sx z%_Wd~p)NrivP#ZKEV8q*LX72r91d~}J0xXbR}O7C!7>@tN%+(n8i32}8N#6ByTN^( z+|=CsqRROEqLkF4_~O*U_~haec$p0iTr?BQL9UGl4a6Ya3kw#g_Xq@wAxf}-{3(Fd zp9q_vUIo>gAmz{ugVSLU<%R~}W+x~wLVXes?MT?5H~<tcPz7ivCgtbnK;i|OpJ35Q zNI5hUz@iZvEZ9wlIF<nxjd+cQsD(B$tH7P4kbrn+M;{+2M`!Q&fFMu*AkUD<cuzlY z>j69_h~$3)@nQfE7SLG9TOm*<1Ds0G91iiF0w^6oLI)xMAJo8}Y9WeXx*$G*4{Bgf zyx6oD8i0KTavk=df;SH_+y@(+gSITue1)zL>Oxa!n*+NGv1>9kU_dL-(CjMC$S*?8 zL7)~MC~0FK-GQlxx(SpFL5i{G160M(u^b}83#Jc|twG5EWDoZ23HLipBh+=E!T_WT zyX$c1GBjWifrhjKq%epNbMg!c1}7@qjt9lDp&43f1PXhQ1F$<ANek4$puQ(aJ$46U zs5dlV&|=^L&p?0%>Y+0Npbi&kS|mO#zbHO6FC{ZEFTMmc!lTW=BM6#pLQ)GdG9Ig9 z83rEc_&-QFxY3l9nGQ9N0aQl3#hEQL^H7tNCIgRPJ-88s#Vi%jKoDefqDTeYUIK-H zJS6DRQY*w@Xkft-D)w=7WTl1%44}*daxj6M3ekl~cd$WWXi7kH4m<@xv_ahkORL!3 zg;ftyHibG6vw#Fu0Xm3+5tQ>l9>QLtgGL!qN<>%%fIVEH%Ap<rrCKDTaX1B0cY+cF zD9*5Z7{zSj%S@;?L{z}aOaf5>)d%$oDB5v54IURLnxOM7pb&sY23oX(GL5kjj;xN| zc}QBIE`w!t?16@%-p~Nv7{VUo*e2rm88`$%$27!;X6BU`8-b=qIRrs7ryh=eE<Uad z0t_62!VC-y@jm%^>7X!RkYV5u1l8v8*eY|-R${?mIR*xm_>jtiRF~A^<f6=ilKdi- z_|%G$qC}_4lGNgOBNGNQ1`ffq0-%ZMvgD$Y__D<KoXp~q_{`$?qSUn1qSU<PR2z^F z6~H4Y3R)1_jzNNfLoiVST8u&57!=?b<mk&F%D^G`NE|8?oSK_hkO3N^)MelhEVczX zs5m}8C?v$wDX}=!IVZ8W*s-W6u@co?77V-$9D>`0LGH>mG_qjeW8e@3O{y0aXI7=g zmoR`#I|+4md}2vSQD#zUNoui`RccvkUP*j$erZv1sv}IC!IFVP@DS0;t*r73N-}dn zHl;F{GH?hUAVF(MWkG6uDuW#Zhu}VJ+A>me3P86c!`xPEWmRSvpO{ku(ui=e8v}>n zPV)6zS%Hj;PX+sY8<FOeg4RYLoZ!U3A-IVwtyWfGqvBH;v=}%9*J3lHB%>%bF(orE z9bun21Bc)e;?!DM!S%<df)m3+Y#I~O(~DBm6H5}4a*z@OC`M-ytsEYb`V1U`)3IrT zBsu8vh$2+~^pT(eZj(9#hhQf*jo=Oil21TRswF}p++;Nd4#7TxrGhay_Z6}*Fa(5# z2ZsbPXfSYq$Jz0X^h3ti#TYmQOXL|C&`KQ!Q1J$8RrvV(xyJ{D1cA#lP<a;$7ZGIO z5PS$a+!eHZ0(=MwgE#|+V5lUtC~?h8DaZ#km^=d*gcvvkLCeI!ZJm&!Owf@!pc2VO zkbxlpR37@cI{JkM#JdOihXye4FmMQh_Lu}XdpHI$NHcH<*1^grcp(&;mswbv%HRn~ z^RQwKP14HBrZf+<05C-tl(}?M;vp+zisBPXOF$Q?rGk#P0IieBFG{fk7aZL<?6I;6 zPR&a}T9M?GUz(TVoS2gXcI;PBoVtg4x-dvFa0sfx41tb$K}%Z(YX%O%N|4HU+(mbM zJg8L9$p>999S;t^)S_YqEjtEo1`a_*1_p+3{~#9zNd^u<(8>!)aDvud1iOa0f;xo^ zvJ4!8o`MVvpg@K77+w9sJcIoG;=>HV(Z~!grb{w&Q<Kb0z$G=a00TpSGbHVRlH4hR zNzRY~l;}aj+em2)ec&9D#N<F_xf}ySd}y$1P`smah-Vn6_Zkr78tm%l?8+d*z#%9A z3o=-u0jC&{f5BcX&CDw?Gy^9u16Ya!MMgX*R#J<=aUcXr{-DGOu1XUK`T(@Dg+oxs z7MfbY2^e~;4meCe2@qPlf&(A4<jN^B#FYW$A69v2^CdH{ptK}Dvm~`Bu_V7Jz9can zT)Nr8<l}=ga|?1(<3S0q*aqwwm>1(c13(cg&%hyQg<UzQ9=Br<X5bJ^7KYjv?~|XL zomm3*<8winpi^c^d1i5Hd`4n%h7G8(0b5tVkiozqs4oUn7nTaTG(0{rCnrDI2Hfe7 z4@*r3PmADmp$=FbSPRID*!-Yir(g$8c%T9TtUTVaBtJJZIX*eRG_NGJD82;T%D5{7 za|mn#oS~S3LvW8YOxQU;7c}QyoSG6}keFEnbz*o?Vga(75pDqokb)h=iSfZDMWAWw zvcw#yMwGCJsWr3%r=zp5zypUFcnr`EoUb0BI1*HTfoAH#u?|{30QMeOIdtAW9x}Z; z2UHM=!aU*$O%Mi#Mi93YCFZ5%=f)={Cxd2zk<*I~W}?sm&3R!8Lz;35T3B>IrPQDy z0ka+)vxY`?40;S4g4yt3CK#X$HVhns7Vtz#P`#B^QEF0VUJAJ7X$LL@^I$19wXifX zC%z=#rYt`*#g0LVfkQA~78*`yjeqE37zPCf4#88f_=!hJ+~AP61J?;jFjK&jfM5x* zf5Fjv8D@P>etKqdd}>iqei7K*x3K6%vm4X}v}1^4;1Ik9k40#90k@>#c^nd-pnL<$ z@Hi41X5`s{GYP19B?fahnhW4PCdfz&I21i#Zpkl8ElSJDFNgXBRAwSF8>kCn5?=!L z-wv4Rp!6PJQj`c<EeRWAWl&_`5afWzt8Xc|r3LpIxcCCK2y|hA1YQ9NE*il38#K(0 zlmU=O)<HG=5fNy-7K3vl=m;&r2$*|t`4-l>V$fvZ5Hyp5nt;gTSb~y4g@Hp*4u`=Y ze}e~$7*rWJ1WjR{#o5ya_shIs$t4~w>wv4d2QaHZX2Zf1J-R>@?<-iM1s5tP1+g*% zhu{-fu%d+pJbFM~L~giKob&Ta5;OBsi@?bmQeWLgu>qE0Ky|hN%%@42DVas7$)L7P zVh(EDf~qcjg&4>Wc;Xlopzx%DBR~xxrD%{4G$NA{Q{q!Al2Z#n?g5AO2Use}%qvUG z$xMk)EJ`oU1+BsYwFuc@DLyAPFTErKn%+U_HXRlVXrTwr`4C%Yz-)!v7++9Q1TMP~ zxdmD^!QEd1PEI~JOb10dct8SNgQ;U!04|C|;c<qNd_W5XIRuU2lBf}CXar93EI2HN zr!SBT?7+6e6EkSBG9*`mib^{iCV<kP9fL8bF91s$@N5N3#o*iw7loAH3U=Uff**&m z(BcU+Y>*BM4p1zEO#uf-JS+}N^HNZXEl>o@z$EiaOXBm>;)@dV(o-2g*&`T-h42yr zq#ZP^1$H#@q!zg3<A!-MEx!o7G!MC!1y}7xFsqA7^FYmCXyO8eVGW8;Km#1{d8y^` zkVMGf&%hxl1538Bb_UqL(Aogn^Z>OK!0}QH4oOID3|0qjI)P&nTn~UUx;&P2QBag$ zQ3=i^`(O^rOD!%*Mb1N@&Ydxipn@kF(5NYcHv@+tyi86?EY3`hhm_1nt^>IVmKZ>6 zXk!Y)(clCK8qfj<esM`rYGQ7FS{k@~EW_a%Py&RvL_vMSQg{S_A{`q1phCw8Rx)N5 z$ETI%feSCNBOz724Xo*c<}9$ICcuiscyK!<Gp_{Pd?|xfB@kh-PDpHlncxV)Qnx7B zF+?zM2r9!86REo4O(861gPjXHw+tMHd8Iiy1tp-iu_LH&2eT0FI#{fL6~jfbx4*&t z0b!UCxEq@c{R|v}>);_nYI_@tpWv-;Xk&?#29b`T9k>W|#gTsCsTq`zAo21YmV#gn zFjyvsL@i8|6jvzNffMl$SQ135UXZ6J!K0`*VFf`-K4_N~G!=tJDR7na;6iZ{EW0B` zCAdWl8Y%uO2dysS{W5dFrP(7K&H?99aAWKrEYv_ku*3pl+c7vWa0t$pgc(Uj%z!I^ zTkwqKgxtS`H99~Qz!aDpAO%7}eldd=1Bc)gSdX&|+~LHMX3>jAtSJk0wzr@L%nG!4 z0he$_3><>Yu)+aWFyn}PaL_2&fk#-CNYi6w74KA0QVAYr0}V=)gSv$!;9&vSAQ?E) zTtUMesDtH*k$kXjkn;Haw6ypV@VE!)(A0Ra-$AD^fkwqZ<LIEaO0Z{?YkUaUiVfg+ zNGt&-({$MQ2WapqDKR-a9(0bA4a5-89vf#TI|f4r4nYUl$OayT(EACTor1xm44@G@ zs6mh+I*?;P{*BMf%ZK*iL8oFv)PP4!Ku!kL-Jo3%L8%2fiOH$O&iO?iDMfye4O=d$ zX_<Mc#o$hv7tHM-cfv-+K!bfC54#W=*#b3QK_goz^Cw6{TLugqg295Ip-iO35(s(p z(ZEtW2GD?c6e&8;%_z15*VWFjQB2r?o2OrJh$Coh3lxBYpn<7i5C5PL2GEcx$gd#* zu+1Xia0i_v2TlawrmUF>c$97j$YH)o#U+U)sU=_$R?yfXbZD>yY!+xt3ak+{KxP3h zoj`NJC8<TZnR$sNpaCJ!R=^@~d9e$WII+&<fK%pk0S1Pgl+3dD67cXBX!9eejZ~JH z1Li9;Fff3l$jk)XGj)UdIoQ)Tz{eH7ItAR217`ztn-Cen2y7t8?N0vwpn+d-`Dg(( z5Wda@8g*c=gAQ~lC@D(G1m_%3Fm40|4=8ZVOfrp)z?lh@G{K<(Pnn=W(~BT)2l%>x z15A(sI@|{tPz0qt(41XBn7^kBID0jMR70H(p6v3-Of5<*O3tW6xF76%kc(1_iop2- zWDMw<&v5W~HK->H+ARro3Mi#JJAsGO-+-eJ8pI$kfQ$eu0?#0VO$8MX9zm|bp*|tt zDt!&XVN7#y+#V8x`U^I==m;9(1GRC$!3Xy?Xp{q-<UmL0fb9mIvH;4&pn>Z>au8Fj ztV)V1<4f}6bMlk3<4eFctcBWOWd*YW*3|(=`8l{Wcw`)=2H^})?wunFGan`o?-7BM zz#Ac$JbW6`y)>~X1)M%XZBNkfu9*o~EjTr!7Pa7cNpPKU4HVSzNF(XsWf%peNjaIx z44?rHSJ-&7bADbPq^}GfE&xYA*i@X659&`9fz8J~iVyA3Lr3Mb?7+zr6y%VS6Bg#6 zL;&(ud^{+pnSq9IKq*#8fPuly6TGp5L(m^NLFR+Tl1ozkld@8iOMLQ^;SmffEOH@b zMLeXi08PGvN(D#@6EvLz5()M63jt5(fCQ|dIWEB8-v?aLfTl6PvlyV+TTr=Q8V~O5 zfzuGE002+^fFc3hoeG5)=cyGX@j;MX+eP5y1xo)Azd|zrD2p%&GcbTWngpJovWMF4 z3@QO&Q$O*}pkmVpQJjD>6UgD<v<mW%u@N{mfJ)KQcu>0#T%YHW79o&`v10%=yfX-B z#W5oTGXm7D0UfXdb|CB+3{Zvw75yNWLnpvNTu@wt0wBHwTp)nBpuhxSaHzox1aJZ7 z=>qOA9D^lQ`0N&Vx??qX5+@g$8}x)gGw;PENc}|c(j#zKfm{)vk_sx>K|N@YYawxi z>|D?+1E@6u_6Mvn0&3#HXS00#-Q7HWLR^Eukq@e8O7l`H3R06n-Baky8n_Sx6?8e! zat;*lpwb6Y|AEq#FsM2Nc^NwQ1gdx9p{hZF1afV#zq7Y%2-xwU%n+ZM54sQ-ls7;( zpo2?U(6mW7ENBq9INm2ezaS|wIU8It^MT_QsT_dKsDXpq0ah7+t6gIw1_scnSq&_p z6_E@K0*v{uE<U}N(XmikaQ~_MamyYvFo4cH5?~bCpZzg%s{fYt+cXoN2)j>WVCV+j zq0RX0@S$@BVLESa@@8Jr{U3OWfdO=Ik^rMcmeT4JznL=>jvvxL7rV8DfdO<@ya1#B z_7#5j|F89YziQeHuGOk@85lr!I}0%G$<^t!;@xLtC{!^^?fR@g3=BINLGC$K%a+cz zaK@|1nHySGZ8#Ufz`(`?62H{BNH+Q5vaK<(w;oQ7x!1tJpaK>@^Zl-PzLenq^eYzv z8n2Z<VqkCriwn=|nAYz#FQqTFs*xx2Ln;G93Rt}5XW9P>tE_UaGa~A@x@|WyFiZxE zSI)U@7R~ME&6+nq!<Owm4+Fyiu=u3IC$qK$3G7$&m00<%wM>hF;T>4K^C^ocTfvXm z^-;eq^^aRWXJC+K2Dwu(O^)TLqe+qN4Uamv5|(fV26wPHyV#2~$>2%m4`0n)<s+3R z!@!UQ7C+)sXZg<B%J17|MY#ilTq_tDwt&TbYiHd3IOWx(2hpFhe0XclF)&;PiyN-_ zGrjfg^~kyBT{J3YJ3VAzU}6E;>$H~j*5=g;CZQDxpZ=V2+s42U02bGsWV82?_l{5E z|2UU^ztO1)K1Yy2fbpc0bz<rdc9ErKKa5&iw(&AB90IG?&hWRaHTz%J@KAj5408i! z1_o|ckol8ZgMaLj?3rM&Eq)<)w(TVbhETBhN%#3LwKX3k9J$ps<$Oa5GXp~dSlnm_ z+pNj#sz*B}ud7^TRNK$Mum&uCsrvHC|6lvRRCddYZ|;d^V_^6N7FTh;EqUi?>tl{@ zyzAe~`uH#~_^^TOHLr90a_iYoyA_gK-k(>R&%wYj4J^(a+xMw1K#iTREZ~)JxyS+r zhIe4`X$Rz9JUJjeAwhPssfESs9}El*>>zWNPEQNk!t(a+-o<MFXHDr?%)l@OEbd{= z(rcIYFtqyO@`w{Ba;Gye>;sE0a=oi07qG@P(tLMwRn%e!28Q=wapf}|du68t9y%A_ z<jnRk&zFJ0oC9S3{FY_^i>vsAzg<vR8u20H7z0BxSiHFBLsrj}Xx}-q3A2yixD>&_ zFcB=igr#*x^#kek@!?^!9B=I~XJ9x67I*VYmU<lVMTfIM=0UybkNpe`!ki%Ub>lMU ze%yCs{+To9dCwo25Wv6?0~VjraQ@6Dbr$;`^QyZBHy+$$V5kI(FZuH>_sGWWb%#yr zUq4=L>&n1z6fFMrNX>~;c}yYeG*S;usBX|=VE6(S&p#@qVSPdU(x1f_udHgAYR15z z!UeL|z$Re%o=HAe)OIc6sTY&fVPFUXi-)8&PklM#M9lL|Z@D&fH<vIlG=arei|YS) zVy`;+;jQ0d)=fW;F)*A4iwhVpw>8USOTKY<=gVcQx36Jf_{_k-@CVcuOty+CD9TSS zO3YONox)kHpiyCArWsS7nU|7ZUaXLvSyCKhXb_W`mz-0Yk{V-Zpl6_GXkcVwpl1+M znp{*8lbm0anp{*8U!Iw-m%)&NW?W2eaapmEfuU(kSu)&^vSj%1C~VwbFN1+1m*j$6 zoL54rF<=jYX40u*5G-UsH8M2}EUqk$0hyIVp<%@tiAAX?G3lk5DJiLGdKnC9;8+7S z`HEve)iam?Et$(pAt0NKLoaBYIvKQ-kJvO(T#^ErQXwu0RX~QBiBw!#l9>bAuTE6z ztSBx41q*RTXXY2Dm8akcgk*TrpTY<OXSCvyl$=aZ)Z>UPaHJ9&+>o#a-N{2qwu2_5 za?liFQGO9Md<id3AQ6l+`9W6uQEDT&*Z`$fN(}-P9J%0eS7KuzIXAI{$nr7=d?FD= z1tc`4ic5+Tb28KOsNr3tm`VYc{gk96XbJ}{uc4;fic3;5^FjGAEi;{(=0c_hscd3$ zL1la~&IF$dUF?_)o3kf2p;hGOX6AvGOHjkPphQco#gL(S;>ytqNQfE`ry9|K$V)A! z&|A=)0V)Jaib2&K6_PO|KVUDXOHwPS(o6w020){e#KuNNNjfQ!S5Z=An4F)Ro1aHy zlq9C4rh!r~adm7Wc=etEg>eTiHNZn*)G!EMpe5($feSR15Ca93)T9ChTLqQW%mM`v z-$X%MAr35%1QCF6iXj{e1#Jae1qP5pax^Na7@0t9F;UP3TSJLa#$cl?peDi1HZ+2Y zP;Ry{^^7ut`55j_Bbdu6cPHE^xZzZExv?2EJmH3$7(hiRce$Y{EQsNz8=Ar_q}+Hj zm`mZNo5A9Na>Fs5PDPi)jY7B_<`>FcZfF8advMbc5ka}}M&=liYGh8mNHxNAy%9Vv zD0jV~1!mw_!aPI;<1tGDLwNqBg7F5hWP*rV1L~!DSkQnSs#la4oC=!S1J@VO3IwIT z0M#ax)fbRL-jJH9hkAt<^-_fqEY`pQOJ>~)2`hMHgYIYnokq*X;3L?jz`)Q0y8n}b zfq|U?bUi^NBLf3B1L#~?5Q_^uWFG?-1Kn!^VsSAPFfuT_X8@@yfwH(57BMm~fOK#( zEQ7MR7`{Mdxfy;ySzHV@ObiU58)DfRI-o3Wh8`%3i{S~B#m(>n%Hm?+VP;?extX0I z0?OiMh=H=W7}i2r+zcC`EG~w<P!>1CK`4uh;VhKJ&2SOQ;$pZ9WpOh+gtE98-a=X2 z3?HE^E{4BQ7B>SU3&bs447^YlHv?!H0?2(_46<-BMJS7lK^My6W-x@ZxEO4qEN%wS zjldASzHqTXD2t0B7RusgNQAPu7;>R3ZU)e{G>G0>xL6~U#l_GIWpOi1gtE98=0aKA z3=5$wE{3&G7B|C2D2t0>FO<d2a1hGkVmJ$BaWh<mvbY%TLRs7l51}kBhPO}_H^WCL zi;Lkel*P@!$O;cXD2tmx5X$0WkcG0i85E%`E(TpFi<`j^%Hm@1fU>w5e4s2Y1`jsK z4JYgjQ=lwvh8a*67sGuv28MWWDt-)Qae>F~6To7h*ccc<EG~w>Yzz!>U@=B^2#bq> zhn;~T7Az(JWpOdAWrx_t&9D*5;$k=fWpOi{fwH(5c5pz(oY@&zI3X-<1`a5Ti@~3h zfgu@eaxj#|#Sq8Iz>owMOM<ev7;-ro7!tu^g-{k30}~g_JT@qci$Mm;;$~2QvbY%j za6x9@*cm*yAuMhNA1I59;RTe%&F}`w;$l$XVPF8=U(e2v17&eD6hK*A3@W@3S#Aam zD2t0BhL?c>bi*h+!wM*in_&%<#l`TRmw_P-?E24878k=mUIvDAuox2`gvG_c%g4Zw z3KkQDvbY#z_!t;cz+wte78m#saFA`>3@v;Rd$|}c@G&ra2bW<o{16s5g94Pr#gNR; zz>oztB^}D*VkqKgV8{fEl|flt42}E@3>jdtRw#>$;Re(cZiYKh78e6(b3W+yCw7J$ z0mwa2+zbU!78k=70S1O#uqivBEG~w_0t^g!V6o#+78k=M0m!^0Hv?!@MGhka0~Z76 zRH<yRx~BpR3?LR4Lx&*DjvgqBi=jY>f#E0Ezk8r8ZiWL;78e7HFarbVHfC-H4k(L@ zL0FgpTyAqSh(lRi3`)Wb44_-_xEa)-EG~vM!Vr_W88$#!TnsHD3=F@(wq1a-xEZcM zSzHW~q6`e6dVrfj7Rusc&=6%{C<XgN2g>4NFbAzL1&dijSzHWmq6`d0U@<Q!i;Llc zD8x2yhAU7O7lVNq1H*5y3u>S&ZiWUZi;Ll?7z0BE*p!n{78k=6F$RWmu-FYKi;Lkg zXe|v`>^YRh#o!|jF`1ho0LtQGm?O@>@CR($3n+`5;SH3<#b6=9z)%e~#RkgaVsMvW zV5k9$c|%!T3}F%s3{_yUC@71IAytBbp%N^X31x9He2{?H#?9~r%Hm=OkYr%^3wFUA zD2tn60hGnX@J5n>p&o3?2Plh+;kP6MLmgP`Ka|DAz$L}NPzx60gR;07GNd3Tb2H>X zSzHVgpe$~NDNq&{!viS>hJRoe=tx6Y+zbX#78gT>Gy_8u*yI{0i;JOMnt`DiEY=NW zaWPDjW?*Opi_L<vxEPj7GcYuO#a2RDTnsuga66zZE`~WW3=E)q{n!~^Kv~=jZ=ftL z1`}BZhBmM%7El%!gR?9HLn~O!9m?Wj2$E%BXaS3bL0Mc3psidWlero8$U^MkVvvwy z0JnA68B(AuZiWmfi;H2c90Nlq*p!V>78k=FIR=I<u-E}8i;Lm390NlKSnNEM#l-+x z!PyQLyC=uM0Ag`56o4*k0E>b4h%<om{tI~q2GAYc><lIf5EeIs1(d}FzSW`^tfNtZ zfdRzgVgOy;*aH@u0BXm9O_{C0z|ajAn-67iF$gHa%oBmKxELxF85lq}qp>p_fwH(6 zPC!{)44@M@CV)*5RbpTOvA7r%lo%K$g2hyzEG`CpB?g9mu$VEF#l>K!#K6!87IT8K zxEO9IL2Tn@xC3QzF*qnQFo4$VvorKSS=<a0pe!zio5~CfQ^2O&g|fI9UMMp#Oa_a+ zfwH(5zAG~@OahDjhO)RA3REB_b2F4cSzHV!R2UdQEm(F25mg9_n?VA~;$lctWnh>N zHYF9x;$kRJWnh>A7At|WxEShH85pL4#hRfkE`~l;28O9%u}M%C7ej;^%#Ii+i;Llc z8Uq6>BdDD%qYhzlGblh=Tnw4&3=FfursP6dTnrWJ3=FftVl_|}7el)`1H(+PST~f# z#bBZVGtUCb;$oPi!N9-<w(SL!#m(>r%Hm=$)ns6p2R6kL%Hm>h(PUtl4;J%)vbY$6 zH5nM@g2lq2EG~v5O$LTJV6ikPi;F=+3t}5LgASC%#V|vQfq@<Df+tWGH^U1ki;KZf zn*rQs;ASv|vbY!=v>6x{f=zaTvbY%hwHX)|fW?BLEG~vG+7Oeu8Gb-nTnr&P3=E(f zFWDIuKv~=jOQ0++h7URn3`@bLe1WpK82;-pfcq-k49vO^78e7bE(607usR_qi;F>4 zmw{n1SWFSh;$m2%3$cxxVFQ%K#lWM-z`zOiZv>RZ%@6}+aWSmWV_;YbHf0Tz#l^5) zkAYzYSZp_x#l>(;kAY!1SnL#(#l>Kv4>6gW!2-(SVrbE4VBiAVb^*%bX1D@naWTjm zFfgnEo1zG1aWUu^FfgnIiy1&!TnyF*3=FHmV)jrL7lW4p1H&q?m>-nI#c;&{VjDNZ z4JeC?!Nib(fg9|C1}KZ0p#{p~VmNEaz_0;q%0(!Pi{XwT1H*c-*aIkwi{Z5)1H(G7 z*n238iy_1aVlp>F1eC?au*8Ugfd_2c2Pli1;R}?-#b9O3z_1x?iXD{2#o%eoz_0}@ z<_l$UF+><MFl+*g#XwnH4C%%U3>(2>*-#c2!v|xCZQKlBpe!zi022lVUa$-1Kv~=j z3!p46hG!-W4BNq`yn?d07`~b?Fl+;h{e-f(7+6dh7`B4NIG`*ph8$Cf$=nPDP!<=% z9#aMe&@FuI3>;<<7B>SAl*PpmY{tN_3v5a_l*Pr6WX8a-8!VOvWpObSnnBjMaWj-c zSzHVaW(*8F!0K9{EG`BPbGRK)78gT?IRgXe&SQ3lEl?IW18B_<NQ{f&zc~ZLKCmgw z77!K}1D^#0!(OnM5R}EmAZx+Eum>!r2xW0Gv{*n)=4R-CvbY$oSb$dkfJ#RNO9+db zK?Ta<V#v2-U^oair5MWMVyLrZU^oO8Yl5=47<w%k7!H8NCPG<U409|Q81{q37C>2C z4188FJA|MtE(Q%Ki<?0Q%Hm?^uwq~k1jqRmD2ton29(9cplr>+a1?B^I+Vr5U}Vj} za0D!724!(EI9f9>90rTILRnl4%dH_Mb2F@lvbY!yKv~=jN1!Y&1_2ue1|hHuVxTN; zh6E^!i{TBF#mxX(1PxNh#h_x#z#t6PQ2=FeGn7DCTnr+15Ls>p2`Gz;!N-n)K?JO0 z29(9kFbB%wVt8W5z;FWW`WH|Z7sF>e28NShvF}h87Xy<$1H*B!7#ozu#UN<Uz;FyK zCJJS7G0e1w*v8E;7s}#dH~?jFGaP}kxEMSf7#Kvsu9^a6aWl+-vbY!?I504r0h{~; z%Hm>p@4&!t8Z7o1%Hm@9=fJ>l3M|It2w`zCq&Y%N=4Qx(vbY#}pe$~N2~ZXn1B(*_ zgBaKa0Z<k<LkN_`#W356f#E#Z<oQq*7sDzi1_sc*=G+YHpe!ziolXo4=fLXrLRnl4 zC!81<&Vt3xKv`T2{>~8FxEX?>EG~u;D2tn+0?OiI_~XpL0J=k!ox#He!s2G|fwH(5 zCc7{&Tn3vw9m?WjSmeUMa0x8749enS*yzH*a1kuF70TjbkZ^^WCj(`1F*rb3+zc*I z78k<~R|W>q&3Nn#EN&1MHv<Qh#l;Zd#=vk5Y;p*c#l;Zs#=vkLES3yqaWUk%F)&;O zixojxTnx2t3=CJmVvSH17Xybo%nlwXi;JPdoq+*#UmrWe6)20F;Rck&#h~E9z;Fv} ziVBp)#h~xOz;F{RW(;L<G1z%9Fx&u(IYC)m3@bb!CUY~afwH(5Bs>`yK(}tPGo(OS z+zc5|78k>MPX>m&U{f|jSzHYJJQ*17fyE9%SzHWfJsBA8fW<CCSzHWvJQ)~ngT)>| zSzHWRUJ%>38S<bkE{1+6i<@CGl*Prc1IprN*aKy8F=%*0)<Cl}lt5YB3>8oo7sGyU z28M@V+YUonTny*D85kab#V$cvTnu-;85r(^#U4UgTnyem5R<tX{Glu^h5{&yo1p~C z;$oNsWpOhsfU>w4{`fF3$bj>ahcAT1&ENxNaWPEtWng#$wrv`e#l^7Dmx19aSZpbj z#l^6}mx19iSZoWF#l^7Smx19CSnM#A#l_(32eTs(%Hm=ug0i?7%AhPRhB;6cH^Txb zi;IEBpMgOZ?9vD*i<=<^%Hm>J<j=tH0&LqdD2t0>qdx<~bFkP}D2t2XfIkDnGqBhZ zD2t0hF92dPH-izB#l;W|WpOivLs?u5HBc5e_(E)uTeukR1TZkjfnB8$2w`zE=s;Oq z426LV46nhql|oru3=M${3~#_<El?I0Lw_Ix!z-}ZWGIV^VO}5u!%MK(A}EWC!5|1` zhY6I$#V{d=fk7VZf;&(aH^T!ci;F=un1SIv*c44Di;KY|n1SIPSj+;-;$m<PW?*;= z7ITNPxEQtsLrmso*a2m6F|dR%Fo13WWoHP0vbY&Spe!zi`5_DppTMRphO)RA)`c)I zd<Khcg0i?6_J%Mpd<2UfgtE98&V(>9d;p7GfU>w4B0?dyaWlj~SzHV|LKzqo!Tx0l zgRr<6IG`*phTt#;hHqd~!l5iKhNLhChOc0;G$@OUp)iaAJO{$fPzq&nF?@iU!p-mn z%Hm>h2xnkW1>05-&cN^;Y)T1~#l^5YoPpsNSZqI(#l^rA!NBknEG7VDaWTY3Fo5S- zxET_mEG~vC5fGEP8E!yXTnr+SFgqlmEG~wONSL}DD2t0>M<fG-8rW4VQ4kh40|%7F z#gGGKaWfP^SzHWLq8J#|!8#s5S=<aype!y1vuFl}zhF08L0Mc3uF(t(f52j%P!<<M zNHhb(Z?ISdl*PrcDH>ujH^Vk4i;Lk9l*P?(49enSxC3QzGdzH@xEM@g7#K9bu4;g? zxEWfYEG~vqF$|z<#u&I6&OupR3^!vK82*D@a2LwrVt5h5!0-<&_6Ex0Vla+{n9R*! z4rOsMI73<74DL`C7efq`#m$faWpOcViDh8W1iOkM4#MJQV1cr@7`);b7?_zrGi-iP z78gTg90LOrSS%LG;$p~%V_;wei{(IBTnx9Mrf@UdgR;07UO`#h4DX;UE(Vr(n7tfO z78gTGJOhIk*i{>#EN+G^P!<=%pLod57;XlJ1PF_ZfjfbLffeimekhBJK`McPfdwok z2W4?Fq$WU2=4Qx*vbY#Zp)78ON+^qqVFHxJ%`gSZ;$nD_z`&plc9lsYgvHHZ0cCM9 z^d~YfaDr`{3}taK%u8fo-~fv)g0i?6)+RDAu!F@mLRnl4+(|I=_@OK=25BgZn?WAR z;$kp?vbY&6pe!zio+Jha9k8ozKv~=jcc3gT2E$|q1|G0&rcf3agF`X{120(21<K-L z@K0u7;0B8YLs?u5amfq}Twt*zD2t2XM>51VZiYWl78e6Y3QUX#%Hm>BfU>w5RG=&_ zh7BnU47y;K{(-W%85mL_Vq6T7sSFGPVB2D$EG~wOR0alquviY1#l=vb%D}(}7ORG` zxEQWOP2py^4P|jLJcqKl8D2wKTnr3p5ZkyJSfDH}hKMu<20gH=mOxqD3@e~4E(WG_ z1_oiUZER2$7lU9r1A`D)OccuEVo*qDU=Re0sX$p=3|G@3CUY~~gtE98o<dpN3@@Q9 zE(V4Sm^v0Hi;E#5gMmRG;wmVMn_&f%#l^sw$-p26wv83a;$jfUWMB{li-|y4TnzG= z3=AS*F=Z%=i(z#p#AI%U^-vZU!)_>xn_)kc#l>(1%Hn3Y0cCM9=wvZ47=T?>0cCMB z)IeEW3|F%l7$m{A-Gs8Z7@lM?Fi3#KUO-t~44<<Y7{tM1-=QonhLCKC$=nPPP!<<M z3Y5jokO5_JG1Nd=+zbs+78k>nYz78Hu&WeuAS`YM6)1~~p(clcK?ZDF1C+(Z(4E7; zAPpAlhqAaBX5}z2NP)%XL0Mc3zo4dYGyH?HxEQ!{VRrCASzHV%P!>0X29(9cP?O8R zU<7v62`G!3;S7|;#h{eOz#tE{O%2N8Vld2OV2}fgnL=4y3=Vk=46<M`7buI1VQwD8 zWNwCqP!<=%S}2Q~VI!2q#c%@3;$}DlWpObm<TEfBgI$#aWpOhUKv`T2C-NB>l)$!~ zfwH(5uIDo_D1*grLs?u5&+-`<6v1Mzpe!ziulWoN3ShCHP!<<MLjlA#ZiW^pi;H0b zl*P?31<K-LSOH~mGpvEKxEL%785m5!E^UFbxEVU2EG~v8g$xX8VB20mSzHXC3mF(x z!D8Q`EG`D7BFJt@ZU#0ei;E$+2x2lfLpYSh#gGhTaWkYtSzHV?P!=~s1C+(ZaHWWW z!4&K&g<=Scn?VK2;$kQ$W?;|+yPyQh;$o;TW?;|&i#0=8Tnv513=HaEu}M%C7sGw1 zDclT?p)4+j_fQr$!)GXqi-DsAW-kwv#l?_N!oXk#cGVgvi<@Bsl*PrMQ3{deX3&AM zxEK;j85qnVI-o3Wh7C{_7Xxb<1A`9OeVkAh7lTL{1A{hLOajW{Vo)w)V9)}KsY6*@ z3<YHnlerm6pe!zi1}KZ0p#{p~VweGCaWl+;vbY#Nlrb<^fL&!%4q<UKI6zrk3{%P( z81%um&49AF7#5c^FzA8BmP1)w44cXs7<9p6+n_8ihJR2~xEYu#ASQD$@IhJJ3_?&A z7lQ_r#m%4tWpObyR4_1Df?ah6%Hn3Y0A+D8s8%vC7=dlmgtE98Oez@|48dX+P!<=1 zb0q_V0a(l(%Hm>JTnRCmn_)SW#l^50%Hn3&4rOsMoPn~q87@FsTns8z3=CFaR~0~6 z+zcg978k>@Dh38qux+QHEG~wtRSXO!V6mG}78k>lDh38)u-FSIi;Kao8e%dxgA<g+ z#oz~JaWe!#SzHVmP!=~s4wS{kaG;uj!5Zu;o*D>?n?V4|;$q0CVPLQT+m-`maWRzF zFff>d#j2q!E{3)m1_m>*SQnJV#qbPj3OB<mD2t2X8<fS(@C(Y~Vi2f>*((BNaWQ1n zGBDVHU9|<u;%3+ZWpOcx)G;tvgKd+5vbY$O>lhfUz+&o978iq29Rq_USj-H{;$oOy z2QitOVK$V-#jqU8;$~P4WpObafU>w5jzC#l3=;JW47Olbr9fHS3>i=s7sLK~1_nE@ zZHJ*OE{1a;S+Lk8D2t2XZao8dH5)g>Lnw=j!L|WnGB<-Gl*Ps13uSRL1VUL{3>i=s zH$x7T#l>)-fq}se>?)o{2#cFR0LtQGNP@Ds8PcFEE`}N?i<_YV%Hm?!)5ySJ4>pCP z3BuxL;DNHZ7>+<$+zcn6EG~vWO$-bUU>zRK5EeIs50u5lZ~@BVX1D@naWTArvbY)E zKv`T2o8~YufTqj28MZ-LTnzW-Fff45li+4}1Z8nCaD#T^gF})Z%Hm=OpUc4T6D$@D zWpOcpZnckM5EY$PRH-U9!Ns#f(AZnR(H}It%ixB#Z!<nAGY`CXQ!gd6D8?l<sWd&t zIlm}X0dzIIf^$x0YF>$gPi9h4Vo{}DK}r(C=T9F&`#s~q$3Z~PrnXW@PRz^8FHtBj z$}CA$$W1K<T>_v`kds(xrBISzT%4Jg&ILI}g_inq@)J|Yv9B}_T_^EwMc2s)JHLU5 z@JY@9oj9lf+LBXRjO1`)!*^8wX!xb4lAnIi(=M^;j^6r)YdR0hEGj8Y%&}5XE#`t> zlm#v~6nyd%Q$WY+C+47(ClK+V)ZF}%ROB*BArxGMp{fnYNvwq2z6miixFo*-m7iEr zT8yd(bZ%cN=yd0R{Nhw}H)R%=faStcbMlixo8wXSg0&#hkOEv8l9)?oafxSMT0XKn zob&Ti(ZyWy3)~WuQO$QP3<C!TvfhBqlH?3DcZTKXl;(mQk7O@6Jbgj;Yd}L4yBsWJ zQNk9iHy}T!G9GkB7OI;Nav?>TXzl>Z!HzRRlLMI)AC_8Fl9`+eiUMRmg%o8Xq>$VR zc7nefirc_q$aaA20XHVt7(%<>Wc>#RPRc@%a6sU3*AHjToH+yL86OSkb^VgE7$no_ z`yq>=+m$Dv+m|D-+xNo@kl=Aw&^k_r?$8g%nLzw**ALwuEZu=D-L4;wy9j_984O5j z|NsC0AEd<hOG+m%NPT4U5drHrV57R9#vbAUxhL?r>mQH{I(`3iyZ$-u&;e4|?fa)Y zu&3LJrQ7$<aTi9=o(hI;-#^VS3&5J2kFX$&ISkSb#i8AA0>i?QO#A}&Y`5zlm^=S; z`v~xKhyDSX9l!#Tump>Qi~PT2{RM1#x9^`$M~-f&R)|s$7LXnnE*`MUSh~Hye1>ix zE}rfHG_5@3YZV}0s|fj8CCJw*L%vo8^0lgvuT_J5tvcjuH6UNB3He$r$k%E^zE%hF zwYre6)q{MkKICf+AYW?;`C22$*BV2<)&%mkrjV~S!}vga9KQ0t`He<+U~lb>ouKy8 z4p2Std37YXGT{gS7w64KSXj3*Ffeqwe(Co8(&_uAJM>EsOs3QIMt3V{dtSHijZTj4 zsbD5kr|Xk$U!K6;&@Vx~u1{db@Emu&1FD=}b9VdQX+Fr<>3gTS_6~Eca(C#R<~JOl z_yt_93Vh-hWKrpL{SwgY`y>!*i@@u12(6)anh!B{hJv)R)GBwo!n7XMfN1so64)F1 z1m-{#t*&>P4={GR!nFFrw4U{VXhn6d!0U5?pZNt^cQ7z8d<MG;)o7Ma`~t2O5S^&* z1$m{lfq{VmB8h4&NYXU}B7<rmSf&6XgT+8l#SW3gG_Z97+%`-zTW7!}u^77mE{Vn1 z6>v!`#%_R1q8cmE9m)X<f0pJ0i~-%Q909$k1_*S!z6t6+8_+8XN)h0Aj);nHKB9qW zmmJ!|Fag|3VqjqS^8f#TaO;SHf#C@fI~R2AM^0)U11Q~|Iddko`%Uv332-XzbbZn3 z`li$ML#OMPPS+ouu74nj8k~$J8eeW<U|@hHFqTf&7u}&e-L5Y>nYw)izzG-Zrsg9Y z$6eomocNlv+w~1N`MhbaeZyQU(GAK7BE2l9z+Qu?eti?6KJ*PZrGnJ6)Jk@{zUlTA z=?yt35d=!!a1A#Q8hqb?a|KL8=$md=kzSt*7AWp{eWTk|gcTGqC>D2ziZma}Kry=8 zSETu10gC2sSCQre5tteiFf~@7Yh(qbXmqWOhd{{^U3cR_P<q5L0F(|f4FDxTGy`DK z1Bw$SWF0)l2QX4i^AQQ8L?Z&)y#k6blr#fQCy?}k)Lu3|0BJ=-6Aun~0a)UK$Tz={ zfu^q~IFcAor|XyFt}j6871a3e4Sj*^J)RvP2`s*lLGlF$LmJk!{{kuPgOWYWUoanl z)4u@JeOOaIq*R8bKCHos+{NGk@3z4gp3QGmp!VJAbbZk2iX&9Ol>{VUKm}^I?~6{~ z2i;Rad%S~sU0<L?a`#k_5)5IibpWXPK-2*okOI>81#;RWt`1OuXhn@I6s<^=7O3Vy zR9X%Yt*E|$RUe>I5>kDj8V#;Kprt*kd%^VptYSe48L&(O#5PpZz%sB}1;zIu8KlYx z)sbLHP!7grCUV7sX)Gv1Lv&&>7L>0cl9*0y1(jbANmRcJbh|#lk~dV4^2Q!A^9Cr7 zfb)k4G`-@g97K>44@bAF0CM6)st=ILcTjx*D&Ki}MGhiob`IqF088=C)9Z6V0>!%5 zNc90yg#)TUKot&8ugfV56!*No(H+XucnB1rC^mQd@-!dJKry@9m8bbY0gCSKP@d*P z5tteiFf~@7Yiv9Osu9rjHXa0}Cv@$spb7!g08j$LGys%xPz=CYOo<?+2?2&Q(5^t7 z<rFCHK^PqW3efn+U0AsaKuRjmxfIZnDwGGKJOVXyFp4g$$yWi%sXPq)@(kG8HH6A` zxcl*z@2HIz&;S&u<wbOP&qJ;9-W6I4g06pn1R>Vqo26E@+x1SjF9)Opz;X~$D4>=Y z0<X^yE*3b*30H7>z+WEVXr4)QgPLbNy*w9CQtIoQ1k)<0ZU;?iff6fnyB57JhsQTj z^{cA`B*{iFFfiZ=Z<<$^gd@s^w&ge0_yU#BIN}ST9!GI2fl_R}zClC;6IB+G7{4x% z__cw@Z+EBzMv;Ugk0E!Hq3s;BY8SbOjnqvBB^N|D8QQu+&z$E7$GHQUaZW`3B&xrL zTz#U)Cn5n5SD_P(e*$GFDBfWh>_6i2H?&GpL5hFODhWsYQ>%<6x$Xk{4}bYeWc)$; z+dP>4Z6czBxV8Z(PQdOZqJ5wP$&AR6p@E(m!3}(@Sq9YVc7={~q2@!dj0B_(#B5T# zLh~+K2E?BIklP#@<kXGu@W9*NkU^>b(Ayi`p#o^lJM_jiYHq|DnaKT72_o7jM8uy8 zB>rTOGLr&r;}1v2204}#u#b1)YZrpkE8h4)?Ol)>KLq1LggWsd0*MbEr1$_O9F)#4 z?)*eV*b0yyw#21>I<&WmNYA6;hdM?KYfFRk$7uK=53-{#A;8;K9SuJ$gHg!!5rMWI zIQ)of-yvq(nh&soCn+FvZOBt8tgxvxmQL3@-L5>{zIQq~z=P!A88;62d<J;dC6ohP z_aaZEVViYnK7u^D#({Ng0@s`i*nb4ucg-(Z;4bTQeFJi^>l^S)3rGgUC1Q{tdAJAM z4ke}!4O-8FSj_?%@8>`r&nGk=fOCGd6*SWTskcC<??F1<SjL3F^%k_Xhu(7Y1y#?e z(*uYmJj!^p%W>Bmpb>-DoZX=}!1GEsnrm+`*J@?E-jV3_VO0PLgC|j0E@Epx3cNo4 zdM#+3H$(4K=&&71?TWPyMVpZOgEegsY@ZM@ABQ?C0UoD>Oc}xkuE67zpeDf=SQbDU zh(#G#wL0z!)&vTu7vO+;(Omn2xmF?D^^HWgFHdg>qeQpsi(Z~XC@t657hi7&2M^eC zl(A02lTP5VCnD1$?(_t5HY7bgL23tqGBHX_Q6oJu*HSS(g@UFXQJhFjVtPVOp9Eaq z&@(+T*HR@tB_NL>Q9C^mZr`-7fvn#+?)qX0zNEzi&H=rcW8I*BX)9<IA*5(QEylo- zQ{amMFnhGEbKsJgo!VBAi?A7sH4!x*LGCfFAT<qv(+}SM5^8%M93E($CLZv73$zSH z6i3~@Jd{m+5bSFaXluaxE4bG4Ku3^LkWv8ABS_AO>c{m4co_tw`q9kxy(7Ww%R#XA zIq`ZOws8uy8it3&aYAr>5>XzY#wudO4`s;L3{i9Vz5uVpfYcl^*`aR|m_vE8U0+Br zUkE~;PkDXy^=_>3hP)(!h<F3V9SDQ{Lm>WqNRL0}+TkC6%(eL9&x4NfN4Pw89qq4E z(qBLB`lSVw2|x?G-gNs4boxH&2G?0As|F#J8KgmuB7t@78EVCXs~p1B4+7;~5C-R8 zGU}IZ4&=rt_67oSx08hVZq)q>&2K>MW{^|yY+QhrkIl6L3?)XOtqBgGB}<^43CA64 zK%J0o-w%xkK~Vr|vNFJTHN0s)#n>782J5~DQ0q900TfN3)qvf;ADRzVfOQ{p{lnDl z`vG)R9|L%2gi{6B3M^YAAbSyfKY;dAz_cHC{ex|r1Zr;)<X<pG?GJ+XOElE{{|`ER z8MHm(xFhIdXa>+u1*ZnkhKJBU$6dHUH9bfc>{{?93LY>M+oD=<{L6$v7Z_k!3I*LK z0$z>yqu2FK0BD^oD2;ae{s5cW>G}i|em_79HNXPRM>x8_WHI*oz6tCO{Q=r`0oqIP zquYf`B%s^(M|Yq|P`B%kZjX|{?tp@zZr3LeQ5KL&-yhu}j67gzmTpHDkaD4JA4Z;T zCx!nPpu06%50ofD0`^N5(|_<t5y)qdtsL;q7M4mbuG{yI@mZ)FQ5Ubl$CTdu|NkGf zhyoO&psT&X;Uf|j4h<mm6*!=Uk)S1W-M)Xo=61S*5>x1(=0gRr1*MR{aQzYh-ADr7 z;?f<$2nvNi-5wHw;Mgk(==LfI><)bs1lpkj-C~1t>xu$=>k8R{0a{~?oaR`tkBfuC z0Gtq^1UNh-;NgK~#cHqXhk(X6phaXmbr={JdP@bm|9oDGNHws4`T<Hcf6!A+Hz>29 z?!W=1nm^rv9FUNKrJ5h;;mHFHI8dtj(@kco>Gu85>HDHP^aU*TSh`(#Fh<lsVTasa z+JOkW4@m1BL170DFMR3e19ZO?a<E`aKOl8~KpU^n(vJXY`uPC~CCC=70ZKpUVE|1! zU<w=_3h?xUeMJ*mnezf1M3D71t~}tL7ozZa04k$@VCFZFrXR5I0+lMD{Pv^U!v#_( z!SdS!NLd64uOHxzVURKlv{md!H*~8QRq`8h>4V%SL>U_djZJ|jm5|Dx#y6m@YFKz+ z@7|pM|Nrk)Wnf?c7e}90N1}#QZ^{4v|H0+Z@m7#hkRh-6yTNQw7YM=to5E5n)7=YF z(>)bTf@XIGST20x7j!w>^ZE>mey}=F_X5HI>u0W&hw20y+U?8piC+M`7^>we$Q7?o z_J-~V0@a+&Z!C85feM1HAaO`p0INARWHEI6{s67{2D=(obAWaJ0M%!pjfS9D5rM>- z2BfMe3F>w%2<Z0R01;&YsSE{GFg&0NBM`D#??*RuvmTWruki>dI&iIz+wuSZf6$5- zP|$<?YXM>~Fff#)<`$%+rZIrZ1aL-x65#w`0gBw(6X0ON9<#0&z<B`N8iCilCqN}A zmU{OBda!^>&>!7_I*_yuD?v{{0+aUjZahlGYk?GW9H0?ta0p%a|NlQ|aRP{g97d#t z544O>0hbX_jtnwK1et?glz_rB6iZP83VUoti2)>>VMWOaNbu6TC_xTS72?9v0G!?~ z>;x4wIMUk<aC##-2ru9$jX}m?3qljrAiOXzL1=)KBxMkF`Hlbo|AQ7>Ag4)idK}35 z%K|mThCuz*{AM7-%VspZy0H~%xY|b!LoU1;-+-3tgNn4h1)%m3s2agus`XYN+D9Oz zpo|S_AA#85_7Ru?HU->10&%;if=N)j6V^VO0BRqBM4|e7L2PjQ2+RQM2e*$v-0oH| z=?j{3fVPi7t^l=<_5>l?Mj$cNw$T<Gwfi1O1R)wd(Ar%AQg*^>_bmfayEh&IMFmo6 z3Z7?#?H$<j|NnnjdkExT7#q251TJ4qK#^H{W+&(f3G6ZHdIelRA-Vx)a8x`Xb=WE% z6-X$;>h3d;z@vBFZGse3EbzMf%K!iWLAww@$qTtH1ZpyZ!-w+zWVb7>{-g&z`jepR zQy8#zt5Js}5bI!Z^(j%u#~|w^SWwqXG`<1ddjm>Rd%yhq|9_`5&i+&DkAMIF2Q<C` zt&Z4f2kNtwa-e3)FW5UQQ$ZThlMuAe5&+4Fus+KdNWw#8U#j$3x?Lr(1Sg`$*?0sL z21u#x2h#o{kmEsK#*y9{-+%@g!QsaPDqn4Jho8WIaQHo7U|`q@%H6%hh95{Hj_?Z^ z9N`BF1ElbKfE0cp$Ai3#GyFiCL&4$a0SZ4o+~MZ~2|v(wvYi^>^v459f1ne2V4Y@A z8pKkgw}Lf8JHVhpBBVi&2uPxXm3CjygPI3AP)pIEN4F~nfiwsT2c$4uf)s`z$Ajk8 z(Zdj2-VJ2?F$Fc~hD3Y20+iTlJ9dK3lf+SfPJq;(p*%r|I<x~vi(>*L2oOaUw8aqv zNk*_1M+YRM(tA9i0x3ly#uFy||NkGfZUAd~B5}ThBM^1mh1B_u4AgKM{PP_N;PkU# zrv%QD%5?>n^s@j*`dNV^{Uo4<%YuPPKM7dV&x-&5|AW>oU`an{=Z%3pP57`e9{7w6 zbeaM*viYaiM}P%9@(G$zz<R<NYWoH>o(i7&0&8kM!U3B2LL9Fq!T>r?BrpuRfVA6{ zqto?I_ZQHHC2$IEm0)3D2<Yw=VPRkh><tBti2vyp0L@D|3Bae<P|w~uB*MbR0J)i- zjX?@@(>)Ud0~>=i0|Ucj1_lNZ25$xihJ3JCJOcwm5tx<Ez`*bnEZfGwz!1s^QU@yB zA?iT207Ttk(BUXxb!Xw~J~J>dfJV64!1u>M^nz|VP-6hu8^Z`Q4|MmmI#>*J?<hna z=;ldKwaEs)tqURsx`#;<tPXT@1VjvUTD}%o%!3JLUMLd-gEm;K87>Ao(E>Dw#m2A? zE_RxUfk79n4s_x!#5^`;1_n^A&c<NE3^UJ>nSntctS%oeR>RD|U;q|d1sB`S%)np> z7JCX8`^3z^U<4LZV1b#Z%fi553>J%qi)FAdFqnYFroqJ)voJ82g2h1h%tPFFkA;E3 z3@paO3NufVm4U$=Eanau3t?qo05#j#7@FW>{j3ZOmSA;z;bNy)85pd<Vn5(wtZWS6 zRKdnz%m%Z=fsKIyG#JjtkOvp5W@BIgwIJCTR>H;h!dV~K7#J>tQv??~1H(x$%bcBo z!4;f_3fLJK+`z2WaMm+8i;aVU!5u8CzyVWd3ulGHS%q*`ADp!s&N=~SJ%zKFIAP|= z!&%y#Fqb-WGBDf%yA*T_J?N%;HiigJ28Lj;TT(e;p;5xgz!1j>O2rMF3=HvLRu3lw zLjss}krU?MH=GO%9$>vvTnr4JV3s$WRRd>D=3-#*0?RIgi-FF>g6KE{7rPH<eS)*t zxnU;D!db>}7U-sXh$(S!u_|r`hTC9Yc5*W?B!b=C#|`u4EN+-DS8y{hB!OkOa5FF@ zgITsbuo(2`f!s&W#t^~-)0@Bp(_6p;xxt=|p@s)?=RF%k2M^?adp3rXJg{)N!2`Kx zo{ixy+?1DaQ-1J3Zl-5rVBv+_ThGQ2&kJ)w8JxAA7Z$6p;4D=>n3yXcEH%Z$#VX;f z$#B+MIO`Og^&HM(;fI;02xr;BS<!G-Hb3OHdNzgveptBF@WaBThaYm&JsZOeeg=kI zaF{OPXJE(!v)=H-!sQQ~r6mB1-)K0i2hLg|082UB;bN!Yth;d52RMsa5N4hvoTU$E zxxiUba8?1FRWHcEkPmigiy+Kz69i#?TOi25Pym))Bgnu|2xhSf!D34a&e9Ts+;q>z zpf3b7#aakvijNQjLorxygb)Km37C~4#K2GrW~~&0h0sno>x2*kLm621EZn@CaPwXW zF));aWxoh9FjRn91;VhnY!ZgtLeIv~E(~+aWMP<FmIy=ct!HD{APl+bo{eFTFywxF zHU=pXSV(G%KyH_3V=xebnPMXXGsQ;)avwb#Lxc$Awt6;(dm=CwNQ%N(+M<x#;Mo`q zMB%20!c7r{+#k=z5FrY=ah{DKMHF(+JR8F)QJ7nP!&y9H4B-3T*%$=HVCKn+!OYVU zgWM3$#$X`^xj&wbVWt=?wl0amT*WI6W66s{?rdjcP!WfjXCMwU&p{k=-#Z(Fk2vIp zcs7Ozamc;!Yz%Y6Vexia9PUy$i$?--Q#%`jpajfhSqYfQIuZ;Fpu64K7%U_p_r0?* z%#?t+^oj(`ea|Eyx2>}=yoQ_d9c~JTB;<Z}HU<$%$UW|C3<{Evd)(O=VkBYi>ym`I zZ?+`lK6N&R1(GmVt&xPeYL6u326i@v6Oxeo+1VJ>q+qUckb=1?3eGBlv-;qyc~X!Y z)7cmnOTp||F9oyXfE478bvA}GQjlBO*%)p}LGEH_V~~`Fxmi;h=4MMc%M;FugtIcF zAvdP8G2}|aY^#)p+14QqxnrG;VTv^526i@vXVNeqG04DtBn4-gz*#Obkekri7(8WQ zCWp$vOiq!3+?~$GP#^=jZJmvwMh0@nIvc}I8JIs#%E0__6V7@GXZ?_Y+<(r-@E2|e zr!34430cUE>1+%tvXJ}K*%-=XVXmJb3v>MfS;!scYz#|fVJ_VWH|2mV<koXGhBLB| zd(zn$ZpcFJL}z1=l!LicQx4`*3pvOw<!lVLaxn8e<zTLgkb~T7&c=`;2f6i}jbWP{ z%vBfUV6J)~2f1mSjo~TWl#g&z7~~;$le01K$U|;3XJe3%humS##t<nFb5*81%vBZg zkh{d$7;5EVuIiMBxoU<y<o0nkh9&ZlyUE!YzRAN}C7=Lvm4X7~K5#Y$RRx$Sh6*rK z926ioh_f;HC_wHUXJd#^fZR0B#xPR>=BkwnFjwtRfZX`a#;_M|-buK5HxwXugtIX` zQGnba&c<M-2y<0{BFt3@ijZ5o*%(q4VXi7vgt@9g5pvHr8$*vG<YsU-h8c>G`@q>4 zZYsiD^->Y$svnAwd%4*d{=&`URDzi&p#-_fn~gz5339tP8$+BDti@OcXEiCoT73)Q zVmp;!?a7l$kej#J7|tod+<Xge#|tIMUEOR9Uz8xXd$TbxC^LZX^k!qQR)(1zuMBIs z<tan%(Pm>PR)(2ZuMBhZ1ZBw0+iVPTlp*(WvoYwYz(UeP1s0MqaIr0Lu`4PtH$PE< z+*r-V@KOb4$2S$29W1JlJFeLn1XLlnVzV*Gs6y_-W@Cs~g@tpGDlD8^;bNEJV((R9 zKKiE$xs#fWfmsb^8^0RNHU%}veb#IYI%<&HuGtvs)L=fEp$7BO8n_sXI!sJa9p)oL zb;w=QYz$`VFgu*pVRnS5LvE*LV@Obk+-J?kkfRQ{#hQ&_y*kWChty#{x(XLl)_{rG zYruTurvbTFnvEe?17=&i2F$hs4aiN@Yz#FTkbA1x7;b97eDp~J=4O6Pm_KyjEKfKq z4bCdlgxnX+#!#&Zv#nhdX4?!+$PLqM3`;a2cT%%4Y|w<<M9s$VQWNI4f0{7Yi)g`o zqy=Z$!&#wlR*Dwn=4dvCOf8tbrCKn1TeKi|O|vmf&|(1JM9s!<TMOn(BW;-9+_WLL zKeI7-Yr{;5(1w|kp$)k&nvJ1E8*;-m8$*LO<X&kuhW*+w*K_K?+$^I5xwn~(K~V>0 zo~{neJR2RzP0wr$9y*YFpxGE^>%d&~NeAXCHeJY_%4`hWx-e5DbYZ4w=t6E`W@9kX zh1}cB#^9g}xviOvp<Wl}s*}1fSKZNt+=k4?@DOg^Tex|DbRqXAvoUb!L2g%OV@T73 zxvD`A=Bf#LkeiCx7^dpMT(wXS=Bf>Pkh_i9820EvZbN2cIH3o*1DTD1Qy=CkNqv~B zH1r{N5wkJq>ch;l)Q6epp%1yen2jMsA9A-b8^bbvn5*{d!_w(_eaL;nYz$Z6raXX~ z@<E>gd;>8X!ykRfoyBYn90rh^irE-E4PdTHFo31Md;`dh!E6jA1~6AO7{FXL!2oi{ zFdM@h1IP`;Yz*5BAh-FlF<draV0aH6zxrvwz)%NfF&i>4G=f=zh71g#NgfdfV?zdp z_u!tezaay|b1*B$kb$8TtS-%vfuRD-sxo9?s0Op@4I%eJu`%=+GBCUZ>sV_DbJcaY z-iL6#U*UTH8Zt0|M*Bn<IE)w=K7jQK8Nu{A8Nu8fXT-qp3oM&&#K3S3%sLNOcf*K* z0d!n88^a?b28J`>v70w=*-u6c4Clc*7>yx!2eUD-8N<R)*qDJK1U$|lYYekj#~5<& zFdKt~G2~WaHim3t28M57Q)-N1F1Q2N@zfY}8!u?|<GnG=1wY}k|BYcT;4^{T6U@dS zYyxwEq6y4i0~5&2!fXsSpn)%N=uR<VVE6>Kcc}@?URG0>4n9)`2GBY;HU<e(n7vAH zSq)Q|y;i0S45z@Rc$q@(1ZHFKH-)(%7Oo@56mp9&8$*RD<c?uBhSjDppYJh+xj@DY z<^okS1_sbd1~vwLGnfl3;j;E-Fc<ilL2mtJV+b~b*_#MgS6~LYCzy?)#td?IFdM@* zGg$23He+Dm1IN)DGnfl}%waAFHD_P|Ex~1Dh&PA1AQLW|Zw_-oojK%&Up9tjbC?Sz zn!{p$HeAOVbI9$$Yz#ZhA$JF}F+4Dbx#hDt1H(ITNX`HaCW2kH(gNlxPD_}pge(~t z_`xYr#uDZ#HMp#fCCpXUmXO<g*%%xwVXpGCgt;mjt|P}1auYBcLxm;e?qD{C7E8#D z!E6k>EMe}uX34<71a{SPOPH(NtzfPSuwq~k0J|#63g)U5xNMdc%vF_EklTFO80xHG zuIjOZxoR3*#}X^ZO~7mn8$c$5Q|v7(m|N7W85mf=ZZWrpxn;UF%q<J785jh?Zdqjw zbITUE>@I7VTTX)1flWSV4RgyKYnWS}!F7DGhTQ)P8I}dz4$Q`&Wdn0drVRrF8`v#X zHZZr`vVpnfu?+)*5ZEnmZD4Ns4wwCF19J<HE#&52HU>dkm|Ns+VQ$g1g_&nz3%T`| zjlsnhawjkwLzykiEwgPI7&yRgSz`-x3y&R4uc#dZgD}`F@^&z{Xu@Un?O<-PvxD5% z%f{er2XjlH9n3A!a2+{zkh^}_7%J=_HvzLTEVF~T<+L3G0~gpWckEzpv9X7_#nm1( zy8$ZK{Ow_GiG<6>+r!+FXAilhmyMy=9_E%tdzf3g;X3BnLvHwGV_0Dix&N1q;hH_n zEx+v<7(gpIL>PD+U~b8AfVrjAfq?<EABv5k-T~&8PPlBp1I#V+93Xe|vN0@nfVpL( z1I#VE;X2MZK<@QrW4Pe}x%HQgfx!{x7GXzNKHuWV!0->8<BvMRT&3y+bCsSG1A`bi zwk(`ru5yCQdN{#c748JNhnI~Z#tG)CEGL+&%HcXXoFI4jvN23?g53Jc#<0K%a@Q{# z!zm}2`yM$lFo13^5@Go41anoeGt5;n&I}CVU{|F%!(3GWmo0OKxvJF}at|*XLzgqm zRWqDnu37}wvB4Q~hc6q$9%sl6zibS@of#Mez$u5v1?GYr7nlo5T^JZZGpuY3^)4_M zbi!r(U0^O)=mNQOmyKbW3(N&u;OdUJKyK+}W4PeL0KUVQjX}W`76zWK3=AS*7eu+j zT(H*_=7M9c3=ERsFu33fbHOdR>;qSr3qH6)Zp&q3`05IC0kaz{3<TU@<|(*AZrWvI z&~by@!^_5y;0AL`ryB!<7}zbd++c3`3)jo$&H$cYWMdF;hq*<{9d5Ea%q<4)kUMhO z7);$^ZgF;pxg`LuBf%YVzb+d?jyvS`T{eaV?l8BUb!T9Z0K4U$JIpPP9x&UyJQx_H z!Qm3(0dq?nTsFl6=9Ur<2Jp?eYz&niFt@aOz}zwgu49P@<W^lah7BH&J9pU_o_WCB z!tKexAP07fj3>-3HJ&iHw0bgt2GJPU82UY7ZkY*}o$m>A%Q{cUeYk84n>}G}Ip_&< z%W1fdJD!lcblDhQctUR4Wn<v-g1JS_i-AE3>=tt`m|LcM!Q8UIi-AEF94@Q8U~bt0 zm)+$BbIVCD$St^R4ClOHZn@(HbIUWhjxS!28+6$iK-0*e`*qnEjJ#oP@$+V2Pyo9n z-W%qY{oXLQobYA<4RA5AF<kP7x#bRA_K`QtEg!uhci*xxeDj96h1mz@7G58ic``nb zdvn<sG<+bp>asC-`M}(g=EJ}s19nTf56mss;d&qVfCpX}*ce{<z})f$F8j*|<`zz0 z$c?vb41B&Yx5)Uy+@j_SbBl>D1A{HNK6mhi+@;IL&<B@Y?90IL2wd8(hl^eIWnciU zduC&};mg2q5iI)@F01DUGuaZ(0&i&M0QE%}x<gbrdYyQ>y?z*<0ChDOKr{5<ZVChF z3Xunl{4JoGzd7~IKlnasu*Sn+Ln^>*R2jIDUoebhhfn&03O{Jaf`Ne{8SG)ub+-}V zfOcSDV0Z}j2xuJ!q~jCC0P758Gr)qafPsM_6|A?Efq?;{H?;dr>|xLr@UIMzZ~-mj z0AW@TfrLS`pUeyl;M;OPGB7YSF)%R1F}Q;oU2s((Js>q8YyfH+f@K)v<I9qZO5)2B z<BLlYL5$R*%(Tk*#G>@l+|<01_>#(kRGZ|C#3F^{{Ji241uY0|#~{NX1UCh26oP0F zVqjwM7lia@Kr0zwQXn^g)&hW*Qp2{SOkiMW0J&)r149F-hjW2}fq|U?beuMb#mx}I zz`y`vaWNc$vbY&eKv`U%i}-L~JOf@i@}t}L2g)gEST4Xpxys})$aNqW|3KOV3))Z( ziV2W-erXBl_QuRS5DD@g=yoL$@Uj8WLJT$rP@F@i%|USvS-b%9kS92PLF>7^z${Rl zdxKdZqtPR|kpWV%g5*Hff+87IY=QWoNET#dU~oW-WRM<^8W4RHl-fZW85qGgFD6x% zq{inLrKA>FS!I;u=h<ZDl|Z5ql!CzuQ3!<wAqHLs9^^zs5?6qMTM)Ddy@Y{*Av3R_ zw1mNefkQCL7JBI;x^t|o;^T9StgLKG^YRjNQ&V(7DNh$1$aV}Mvp~@S(hU}35M<yM z1Vsu+1R5cbGzacPgJJ;Y8BkcvU}RtbB|cDZ8zip4$j|@^Csjs<24w~Y1~o>82GCL! zbw-8;(6SQ^Mo41x249E`iaQVsk{CfOE(XxzR!}T*Gk}%^fmmD&>lqjrK=H}Vuo=qY zV%W#PzyOMOZiYip78e6(nGh(YaD$6D5Q_^uGyyW18=Ut+ECPx9Grxc<$7g;)*B{-k zKVattuyne<xk=pw4q7<`N#OPj3=BTt<m$ozEB6E7E1p34)E6uZTH56YW`UyKAIt(J zTJ!|oN+5v?GcqtZp(SvT9#F)A=t-c3T%g#*mB7<-@)PNj#6igok;G#tO5z~hs7V|o zf}F%bqeLJZ!Cq%zU;u>$z61_hUj|CxptVz=1P)pU1xw&Q@B|KGK@vEK#l^6Qfq?-O zi`)#$pe!zijSLJ7p!now09{N6VsSBmZk_|hJ2$v|2C=xnqi~><!VO*p1!6%GILKs3 z0tc}OByf6_-gm*ZGiWJbBsi&pf)-op9R-#JmEO@{7O3=&0kg0rZcwQMDpx^rpok*1 z^gf5D^v)~E&ls4}I|W<P204eQ(i@~3HEDxHkdro~$pDH0P?&)*C>+rfw=T5wHiDMk z#?aE+1X_BVLQC%ec;W`JAc-5qf|TB%ScH_`AQq(b2E`|&^aimYr8g+vA*DBn1u4Bj zDFsq`gIJKn4Kf*$xIrueiJP9KHza|BO7B>3a>Z48$AM)*rFT4-1uDH0z${QArgrIl z8c*pBN>MfgRC=dTl*B>0QIj}G1UZQlQ+gvOa8T(DO5mW<8<fC7r8g{r2f`CLhy_XD zAQq(b2E`(z^aimYr8g)(A*DBn1u4Bj@eV1yK`cn=4N57H(i_BrByf<)kOU55K@&Jn z*m2h{pe=pJU4K9*@U7U*wHyp3Y|XVi45jLz6vfbu@06qF6aQc5fewJRU@0b2xjkq( zIJleFe1xUb^+y&<Zz$;07>;iEY0Ny`p&Z>z%?DVzeK|TA!N(mpzhLS1<>_R^cC1qK z5gx=E`osM4@QsY1h9@WofQqBC#GKMp2GC0EUU1F;t!0MHLxENULz?=aoq3RXC{V)@ zwECKjA&CLjqt1c1n2H!+J?dsqa}nHKoW;Pva0y%?fmW5<gY5wIb|4kfRk&WzNwp4O zSx}eK5zGR)5j~fJ=F&jDDi8*_zfBM{4#NWPDQYl+);pv26hV4Gy)zKK2fZ39O-oBH z0#!abpiUvA{{S-_WC6$#Aew=J<o<&&w8H>eYnPc<oLW>8Py%k}gUl~sVE~;v0=j$= z)ENMEJrx8%9Scw=Opk#>&=a0-!A`_pA%UY0(VYP60mmpGgC%Hc6zp;d0nj{?rC<V> z$G`yMgZdVroC`jb3@Q!^A5hf<niT_;l_256j0_E+usgxX&;aTho@8Wb@L~Y3?r895 z0I$Gk2xkDVwP>gW#XloMLmdNnoj^k`19+yt0dyM9eMW|cb)caGMuvvnpj`@#3=Mlh zLk`fY4YZOR(n|)hAUPkz;$oQ1z`y`X58Mp%p)4+jRSXOapwz<605TKA;$qmzz`y`X zU)&5Jb3rUF1_wsS+%`9Z3zWsh0IJMDCUb+kC?FOWLk3iqn;{3vqIPLeN?K{)76__P z1;F<`!U~0(v7kc1_eUVO7=ZPVc)EQ#x&@mLv4EPF0^Pnm-Ga@pK*wWs3J@+7K!@pp zVwv_OLKmp71uhXlsR2?VfaY~w!8sjNx<E<<P|plf>VUlM29^cw@pK2XK$#J}L;%fj zfHD*agZzSCB4{y!b~d1v2p~P6R1KmhqSxEt>;|c=2fj==EQnktM37M?fb|evCO{gj z$fW`(jHp>EfR1Up!^qG8x@ZzqDu8-k4;dL6K*I@-85tTtqhe2>r2=T*2&7a1u^^=a zh{eS)mw|x+lqR?tK<Np@;$i?DP7O*i+zg;&?m#Rq22fc8N@Ls%`xzJ*KrAi>Cq~E~ z0&eiG6^MC3aIr8biwj&9fMmJBE8#&bXsI9)2Hw7jb}cl>Aq>VxJ6->f-dHFH7Y`i7 zHWoafCjdci0|4a|hUOz2cVj<farA;u>f`8ULN6dVkP8ToZdV@c1q5Pqdh-#aUH{1K z2hgT}&_Ea{w}C4l@Jt9~jSgtg3DS}P?J$D0B;4S&JZSh3l-ETV5*Zl4H|el3fQF1A z>Ocd<ki1_Fs!71DhN%n;4EMk+Q0zj=4N$AW30xk4_V+-_4bXZY$e=Z7C=p@`sKMh5 zRtK7!bpf-ml^~GWFUa}=ke@CJg7&&0+7#xD3=DQ?<2E2Yp#5+ldKdOKMM{2YQcfyT z5h4OI9Ew5ifG`zWg&4RPtOWo3|Nmc%fr+#sN>ZB`mr;t7Fk9HzCAiEZ*u(%uJXjCB zI00=p19=0~qyRNJGC>^BFqi-XWXK%7jR6WTY^4b(EJ1Ay(4IR`8zUIn#sIZA&oVMJ zfZ8tS7#SKsGXdur85-K5Z46MG092ZQ1}H(L325{NRGNT>BtfMKD78I-mL{M*YLL<d z#DbJ2AQq%O0ZJc`_5_FpX-|Ms52QT-VsU}T=|L%v8@yHv#NuM`XN0Wf;|A|6gO~@} zMFwJVgLhhiSX|)UDj*g&Lk(01v^3$t+Tq9oRp{X3e1E_Wz2xb3<>=;UKFHD?%F)S% zJW7hO!5_8l4?ji~vz`aF=^(kvk%0l+HWFd*1F^ul1r!UA`~})Y3dvQV_I@B(7IeOD z5SRr@&FJ+qD5gMlGDr@TDnJ89pxIjxACyO5GcYi?pyeu%9*`OkeHtxSmF6XZQz^Wy z4w<-7z-+REY=dBuo9v*bIH+h7kpWe^pfP>}1`feESU!QdfnZJn1vFR}IH!Ob+Ze<6 zAU}d~0`f3^Eh9q%$p4*;3=N=Nsy&Ph4WM$gpOK-#15{!{Q?f6-pA2F_QZk6e1s=Qy z#R)e9sD1^pxWI$=pcvz3*v`Pf0Ag{02k!%zKx_YwL1UYXL5Gon0b~j{g8`HUPNAUP z&Cn_a*4c#iD`O9X!V08C1iWAYl0ZNajGh?eA@RWgQV(K+5(8+G45Sv67(iVG^uz$t z15yK8q;im?!~n7Z6N3^1EPf4yVDSr@cL60+P=723Qk#LJ3(^n*t(1eA1ac23!a!~Y zO(KBAUob)@`(83KG=PftSBwk|Aosq8MigknD5S^%u^<rzVsU||06{EnhARw^1+&-! z`=+Gv0hGW7l{S<Hc0U6HgBx1T19=V>*f&8*5ac`PJOnJ&BejW9@*Y?z27y1gK_`JD z2REpmpfs>SyKW(Y4Prq88^nSHHi!iYY!C|^*v)UqEPKJdvmYqEGXh00;>aXW(Ev(9 zpa6rUH$)i>%HyE1C=rHG1_p*OaM=o)T!)mwY4COwsCOO?mIbxcBfu<>ndsRL)awEz zZjc<vK2Wv;MJ|XB%64zDqy&&2kQxwu3axKMC?$aG0@;I#K`DW(nO4+NIEk!M7_19X z3PZ9r@_;<ZpP+0_Y&i@X^_T$7-k{tFNpT<+B*lSPT;Mq-P`q%1$0|T9F7O-^DAu?c zKw}jk7Gw<oD4ro}06;7*aOn#&g`2^IkpbMk0H;>8a`-NK(clN}UV|2nkzWpj&WUr! zQ#9<yRSqLHb}23!99b9`kje&X6b+zl^N@%Fu^<rzVnK=q5DQW?fLP$bZhnLHHoAqN zlnw6VWr6xr;P%-E^!6DCxP1ogqJ01#Z40eGF;8N`)!l+O*+6Y>Sgi>uE<l+R(%Awv zmLZKdP($rLxSIrOC<lWJgjD#Xb|HLK4ya=VNgW*^F|ayNha7aw1{-(~6}<?V2R0S5 z6bIyaP!R%J(gZ6)K!b+pDF&nmqy|KTHgtpZF`!o_xKa$L8ii;;CMoJA!D@Zf@+5)e z@&ptYU|mS%2`F_U7bhS;V=GQT;Q?yafhsvrv(A+PyoI>|RJ_BA6HpF@q*4$Il1f1= zND~eeN025Qhy`iFg}|F|AQl&R{RJrYxfwv6WDtvs!G@860b~j{csLZq0;h1K`wDk} z64=ED-M)W5@e6>;K?YEwW!wc4KKO{C+Z9DzU?)gC`yzJnix0a)k(Ik}Nq~(%_yBbG z1(NwLj1piAvJc^uU`BP33+TeVKiyAb4}-?;K7$i4XaNj_1sYp`u#y=V7$7XrB_j|P zXdD5;0*x4d1M3APVf5q<8YKdW!_pooxr6p-fW$yGW;p}q8V-;ikQ&fflP>IpNCw7u z@G7N%{NhxX)HEwA6fStR8OThSJqQ|9Tk<n-gU16vYyV3!GK&#?Y2>5^vKQ3K2gMjD z96)BsGB7lN+#=7w&;V*fC@?TIfcnUa3=9pR^@B>#RcWA|AdsX6VnLD`h{Xk7We8$% zGwfl2tRzQIF5SL=kZx^3<)NH>bQrW?Kn+|ifzAnnEE@!!v;!%EK>kM$e^B-SiG%zC z!sy`-YVUZXRZt*3AU}i74oX3UKREb<^Gowm;+=CcQ}ar!tP;wS5{pw6Qc{acib|79 z@{81ojELVh3=Hsy0JU;J^9hjf1F<0C2V!9fD{$H0?aI;ofU!g*;|Ci9D7`notbi@z z<LGw%)BK_WCFBmVfOmC(=E6k4=O2OQ%tRPKhhO3jJ5cKp6m}qtE$l$Ea(-xG2hsxy zJ5U(vV+%VgtAyg@#GJ$;g_P8s)RN4+bTWdk5jpt4`@WRmJy;M65`G{SmhfwQ3BMr- z8j9i>EbQP=gh(L=q%KG;dQeJ$h8n=h5R^?ILFox^OoM_8JsE=PQ;;|aV+%@9qcIdM zC_#EaK?#~JO~w|Kh-654h@vD&$W}T>c#wivkRS!IP=XYE#B25mhHlV?6bAl%EL_b$ z7)#iWx&CK-&2r53KSP)A{|?XuAOonJ1t|h8{bd86g_VP|)CA4p!-5JHT--?OcR?e& zfedcQOE1BvSAo=kmM2!gWf&7uD)SO^Gm{lE^D;{^6LT`FQi~MQ@{1JI!TC8UGd(^v zFC{ZEPaR+0Wq>c)1&_PHV}k*5Y8I%12F-oJ+8QUIrQ%KaT3rwe5`-WYq*Mg4Af+OR z1rFA*?k}KbIpn${=tW3z@D4kupaAvm*}&VPAQ>0bdV{b)0fwIL6hWZ}4LA^UlMtxo zg&2wkWnpWybO+J{G7GeArV0^|kl;dFBMUC>KnBAwNF#&|s&|B-GuEK^%E&J+DND>@ z01fMc_NanXWeXz>>mmm#$PMU$Dg^B$fu{5zMJ0#@2~-e^i(xfrf|vm`2nAYc3K0WM z|A1JK4iSh24rpj=ngi4@Q302z%||%k0S)r?b#OzKxZnjfU_kx>)h?h>4^Sw8YWHFW z%+&)RuYuHn3Xz*2i$EHojal?HzZk&_RtqMOgBLW^3JYHFU=yejNhmlapuq{64S@tF zhy@8w5Q~dp3v{l88(fD&#F}41_5px=Xa_C=K`iuS2MZ6dOF`!fLj4I+3ksJ!1_lN% z1}3N|OcjXcU|^0e$tcasj<o_OIMn(!H!(9WCqKU+Au%PZw74X{sM^rTpcayGLAo*V zf(9l?V+UMIfM(^`89;Ruh{eqSYU6=e;3Ppf?}6ID)XRII0b6`|uNodanCsI)3&1cE z2PkwQAplAopn*tGJb?0EUMlXahf$z`5-57!6NM%g&{8=_Vga!ri3P-hOnHD<kSPxk z3o;l1VnOmAhy@O4!g&vLqqqooZx-RA4dh3VuhH`!X!Q`b;DzPA+oT3B$Px%f4qi~+ zg9a}+>k$>4($L@pb+IAA31UHl6U2h#JrE0$_dqOY(BW85*6I6)l*MFeS@638J6*qY zgD$N6(Omn3=*4JipaZBwc{)MIoBjYTAL9TWE$#ZJo1@c<19a1!>yJ(*;{$Oh^G1g_ z7(mVTc5t;1YPLhBX+d*-kZ1;VMnDs6A`GBGvE$$Z7&J)P1=aytPYlsf1#fGCn(q)D zpdm1bDWGhCULb)Mi-BrSSYiP!>X2tZ)PtZ6q!DQKAV?2r7<&@~14ARcG==0v=fs?x zq{QUxc%RJT5*tWYEW|Y;#M#Nt%Bm<eJ+rtZwJ1I#F)t-2wFsP1LAFCu52yx)u|O#a z);WuYHELm#u*@tB45h`XMJb6Ti435s6l8{%4FdzrToDFtLD2ATiVXupUTS%KYF<fE zCAfkG9a9Rj12T^qCkUE?1MTogwt+0&0u{h8c~G(iRT!YK1c`w#$nT&`2x_^328Tgn z-HZ$kpzr`q9)YG;L8A=r4B%tX8bAf<G)9I7&=}El=yd8#MurB^)!efg85%&{<vEND z4WMNf3!sZN7BVt4fEHFPW@Kmph4B(-rT|UkK{5r11<4d378iI6J&45(-ZTzkae=qJ zf>_+(jh-MD7lR5T0|SV~%>Y`y2Vy}+EkG>Ds0D}x&QM6B7NG02p_e>1ALM|x30R<Q zg6^lWhd98yB0*Y37(lB|aVIy>KpH3+!jc=PYyvgqL1Li#59IA2wB!cT15yJjeznk& zTS#g}NqkUha%yH7Xm=7kf#s$a7bm8tq9ins9iZq!#mEWGn&gBAOCq353o{qw-UG}G z450E9G#CXE_kxZVcr!47j@km%ui!mvpsj<DC<U<~Q3_&lfloRCvA7vPtFk~W^k@NJ z_JDPlAE>pB>|69ut_4kmp@lL?4=9vD>mzlD3}w(pt732_Mz#&)UkJt;wxA#b-7e3- zzyP-fT%a*9fI<zqw~z$wEr4cEAfW_eK|%?{f~-OYu^_9EK`d}6HNO#ntsMH$2`<CI z_qYD(cKrh?)qTHo3wDNr%k>g%$Yrb6zC5K|prV?|+Lfb3tQ(}H`4C5E=ohd&N2l+P z*XK#82o$^FT0!P^hJMK60o^(R%|0C9IzRv=6M>fMw17)={7ZE}!%UFAHK;X@JF|gG zeo%D6GF!S3Xj?a;Y=6hVzz~I&3_yB7O?%LAR|7nLh$!1j^Wd2eRtkeQdV=hSBnIl0 z?w|%7taLBSOfJdH1uypf^8f#TTU!Q(;=Ig~<P30WkFiPy+z0`U$iv(O@-L`72PJ*b zASOtB1$1%1Iz~ulUC+qS09v@cfsvsBv;|@lBLjFz?q)`Y2GFvZEsPA{(dF&X<uf~= z%V%~&%lrL|3=NYQz=zc}fVM;(f|m23CBLAW>kYg!3}Qi&H;BarJ}v;n;s$R@2eBZN zRv;E+(h9@^CwbD#Ymin-%WF{e6oQt7K;<7OI6>vLHd+!wE3c6f4LwV2$lN5MGCKfT zW(Pvc>>y}q^a>tbAQmLLKrAkBNeyCgGk~s>0kObQ0~!uyfb7T41ZQthX^GwtgZ2DD z2@r%qWj3e=0jUMmjG*B*^gWFrJs>rp49)`2X^!#nIr+(nIq}6MDVh241x1;8C28^b z1tppJd63c?WIiSamDVy0Jc6KYtq|FGe~6~wlKi5?^i*(v5!4_;4mpq;b}*sVcAn6k z*`V4E<Tf8@$eo6V9Eb%8IS>o7>jV@wkX<Jr7NnB|l7)1VKrC=*f_tN&8#q8W|MGyZ zSOu4<-5xA~-2y?75hBpO>@Q$p#2^u9*al>Z2>7G`(7H7?@Tv8X0u;1M2Eqb`IC|`W z)&_yX1Qy8X!$sQ|K&RNFu6+jS0ht9_sVNE52%4=(gGNaXxatHM3&SAg5H=_>KrLHP z@CgVoFvJI!6s0ES!dtuMAThW6qTIw1uo%dE4v?4+DC$!gKuu*(m0rNYz!2|Pln!c+ zgNsDaC?m)UGuXmGaFK`{qab&$Kx@C$F)=iN99Pc-+3wuH1li_%4j!W*79>VNEH3a` zQV@$9d{zU9#Rbk4AQm_HTpADy9HZbX?veKZfg`ThRiM)qyayk2wHZ=GHy;t`bp3PO z6_m$7Q)7tnDcDFVXxG08IBr39h=9j6aK~)`0|R)u6ey@cAp^>Jpr8Z!7nJir`&o6- z$~cf7kQyfj1_l{W*n>1OFhXM%9Ir6rz%p=xlz0WjA*h~1i9=AL0IgsJbw1*QQj1G- zO2GLNQl^1MaA0<U+z5(C(ESylI0cE@Geee7IWa@JEY8df4WJnb7iNYA&^|v`W`+ik zpWK)s@eArgLRwxR79@T_EG`DnJ|Yl{8+<w+hy{zwFw_lQ(8%OLicF56?k`!4u$;;Q z9nOWVqehM0IMnC`t@(mPFDS`EdcCOqWJr`p!+XM@XhhG>povRR{D9;@!6G9BIyef^ zG6MC+bkL$4qz5!i9|F4O1F<>-l9w@J9A+|PHxnq*K=vW$TB2hYG%k$XZAEH8BS$yL zedy7>jhUeV<mR2s4B*DxE@sH4qTS344S@^{411Uv8bJQp3yp5j!6}gF2C*Q~4PtRI z9A$tUtHKSwlma3KIt~)V;sz%M5Q~c;k`Z#8<p2Nw|ARsnMuXTO3~JtkXeHLklAx*! z#Kwj}>Og8hG&XsV7)TBj&Y(+C*ucY>KfnjogEHn%Fbgz&{R_+jE&WOZSH7Sgc?y^X zG6Nf42bKky3|g|u1}+>x*SSFKcm_TI2$bhRg###aA<Wnd*QpG)6(NJkIsjJ-8ZIVe z3&>CQ1kD85@&s-!XaE<txuDJx8w1E(Q0I~jd=wX`$%5*m=Wx?Nn>pARKt&H|JOo68 zQZ#rh8fDPO$_lAf2ki=2Dfs0p6qhDvC_n|c7_ezX??Gs2S}FL2`uLEp%fGZlAwNwa zH#IlEs1j-!WK}cN#De_Hypq%+G%1J@g}nR{g`C8q^i+k^y!_Ji3{V?~0kp{h6uu0w zBn=vr0}C)PFiZmn6KLjQCYS{i*RyvF1N+n|u{hN^C$YHL0ix{%iZa;2F`(YS926O_ zL6gBkpaeM|%mNES36LlVgGzg-5W^y{Dv)cIf>|(eOxJ|wWfqpEVs#TJcY!p5+_VD4 z7>3oTTm}ZLVS>vQAVXmoWcWs~X`l?X1<ZoU!CecU>cHwoSP23$W;=>zm>~?iz`~#q zf`lR{(IP?-7Vy~O6yh#WC?ebiT8R%gngKE$3{i*aesp!9<AK<~XKNk<y9p+b>QCt0 zHHLRV$3}rLNEgVvCsE7*iDJcPz{)`0hXe%3`{%)8AVVMl0do2!uo$Q`cnD^JybX~B z84D{DumuyuTOjoaZ^6<IOg*Sc0Wt@Kv1JudG=PE@rXG?<K&lxSuEO1O1I&VmGBCh{ z4W&<s5pE#m$jRh3iXk9bFun&C289!;$poAGK>kPe4<Y}9)PkJ>B|vcl30F|uAi@>Y z34|&EQ@GTDBthHjVDZMl5RRqp_yB70fs`_UrrFsT9Fp^M3-mHmE=994f@*JO28XoN z#1cINgNcj`4G<B%l%mw+k}}Y6Hn>1!X5<HX7HkTP&`U{8Dos}bEz@8C#Vj+U#VrN~ zeo)}TlrTWmfEpj*fl_8h(0WR^G?<|W8Q=%AL7JHvXF_wpYbDV2CLjrwV0SYU17lF{ z4ZNz7nE@hVVhU>3f^|VfOwB;^B*-FWrl3(SWD#>S(1Cl%B9>;L>#2}L3=PZ|Fha(% zpmrG=89qQ0F*Z?PLRDj83OY6c*&I`|1!!u_%pahMSePm>qncxBl7K2=WMBkpiX)k9 zWN5koO^uPs4KxvBQvntflZ{NwJkUf;%{$;Cps)tn0XhT_L__^<WM+N>u0{_$9|KYe zno(h3U}glV#7G_tptcxD6=*pf%p7wI4pvn6SekmEh!`82nnj?Cm=~anSahI^Sk6Hc zF*8_$E@HR`UBu`Dx`^=`bP*FCHe@#&8=INRpo^Fppo^Hhpo>^Upo>`Mpoy3pG@y$Z zPC*wjT7fQNd<0#@<O#ZnDFZvIFU-wk&_&EG&_ygl&_yhB&_pZ@8sH*&C8-r9D!Jh4 zHBhO<%;@aLz@X2}!0^Nabnzc3JwVhz%0f^^XJ!N)bO366nSBLaG=)$DF$YwaF*AZv z5lANNg?2h<(F_BuYyp=)oD86J2pZ~ysp9~j=LWG0Vh+d#W=7C?K_FXMcKrtrji8zX zT0q6jIE4{%lsU*gE(~)(r7<%j=uj<?IaN=@E@8R{G;fG%4iAPoputl@?g1Sfj%p4c zhB=_RgOGbbbN#612w<24>g+Nzg4UmdY!yHKIv3MlpyQ~S8DB6$jx+~_j}V4Apw<O5 zBWRmD$ee(RUxt|GfO@OUjBk+45y3DAGzP%T2-@HZa=rcDo$;9FfCl@R8A1I)kX<16 zh+&umYO^pif>xV=;%j673o%S{K)XDc89|3tfKmX+90?3_q`+wmGy@E(?L5^V-o`Ws zG^fJM2s+XmmJX#b%mMXQnHgc`SasLmz%&PRgdM6mG8pE7u03XE1g)F|`AfoO#WGBD zK(;V5f-ate`AZJN9MIT3!aZvq9+SW{2Q<i!>K+9Qb3j9m%#5J*`k>tC(Qg`uX%1-6 znVAu^VHf5eB@A;wlc~&%pvBlAe;GXarG{w^X#Sm<5i~Ri3uhG!b3kh?m>EIs15m@z zNE4JoKrshxlYq+&&@?tPBWUCvqy`l4Y8d8#>M>?U&=?FzO~j73&6w^1%^NW@f);p# z)PT&<z%U22oSK;tWGzTd=NUaYOmje2vobS+*6e}QfXvZCGA9K*(FNKo$;=2^A`0@2 znjh%?Vh{`2U!bd7nHfPdUa;`dK{5wY9)bp&m>Iz_3tFb<^H&7ZJ)ljq%#5Ix2PiH; z?$N_A2Q)$lF$d%d{#`K|nC5^ci<lWfYd2x;F~BefG=R>`2rBJCZHfQhmYta9fR0mQ zW(2k8VBuqgVGd|bGQ>R~HP%@D1zIGF>Ms)vb3lzvh&j0Z1-e=m)n8^9=73WmBWOhl zs0O;G`}i@Yzd*6c%(#aUw008|%AgBsK_P`)e}Tq7nHfPL33AU_k4f&B=73HqWM%}l zZb7<1CRt&)2Q)~`%m^x_LGtELt^{D313IjVnGrPd2Q$Y8!yM4!d1gk?%qpm+Kc4n! zJEl3Ht_L$CXpuB5{n%lc1L_45@)u~888ahjT?@=T4jATudSA?ppfCodpOl~lg_!OE zttDq>1TD3IxyK2^9MIe^Gb1RJK<(NO{(-HS=74q^F*AZz*TBqi!7vAOOb0U~Xut-P z4!MPm^DxZ;tsi1$1Z@<D`O6K%9B|3Q2pabVsafD|v=Y-C(CT|s_jrKK0mU$AEg6Ug zEyMt&9MEb22p=H=y2=_NrU35CF))CZO`?i`)=Hy_OoVV5oETubKr0oXf>3inW2>kl zpfOgEhznR(JZv%rymc044ruxjq=o~c20Ho<67hhD<fi5(7l7K0ATf}x_~Mcx(BWSo zKEhwBprim1g1QH^1r#a(6>)~E0ht4m1NEsvG{T%L3^jF75gi5vaL*QUJtV5GT~IX$ zb8bRK^uWFVss0WXF@cMSLL!O504`z-6)}U0fDRo1=|-4b2vvg+nTR2>A4B8=h6ooZ zv4V|;g@!tYNC1XND~8BosE8HZ%^#s64sa3B##E417I2Z7pe)A#IvxgQ`)8<#4P1>J zC>wweJcp?<hl;Sl)uga8Fo5>nB1EcKAs1UAMCP(GFkD~*U1<U{=PoM)!vaoZ5hXST zh6CKlB0+2n3=dF5T0zAh53-uoYzzzwP(&`XF)#@5BCFwHXJ9zMk1XN|5)nieDPm^; zZM<MWax<v75k^*Xj-7$w0*c6gb_Rw55o9%%91P$IB7`}m91IKrV#sRNaxgFyh$D-< z1gVig7Lnj&U@(wG7V+d{V0eHcQpw4{@IeY$&00<dh6U2dB6m0$7$(Rdi|}(XFc`=p zi`a89FnmA}Ddu8eD3C)|vjC(^9$Dlf7X!lv6p`N`T?)u*G`SfVKA?z%a5FG$P()VK z%+0`HpoA>4m79S<Kp9!&1xOc)h%^ra!vz!(e;x*g4=5s?JPZs5s>tRX<zZlOP(v2^ z%frCXppGnJ&db0sK?7L?biwxlO=OXsybKHrw2(#Kf^=ykizx6hFeK<8iv;sAFa+o# zi?s4FFevCDi>%{gV0eHcavNlhKC&7feg*~w17r~=P=lL+fk6YFD`TJ{pfW0x5wtxG zUi^TH0WdD(XJFWXV$Ldl28IKM$R-~L*=2+*@{XT@!NC|=L_~mrA;1J##7}?$e0Vz| z7nBJwFiZelGX{6zA^`@51LnxO&I>RwEU-it0gW3RutF9w6l7o!09`8uHz!e$fg!*a zSxvtn14DxyvdA7m28Ipx$Rf`L85kZoAd83zF)(a!LKg85Vqm!7j4V<n#K7>t1zBV% zs4MS^EOJ+ffx*EISwvWvfuX@2StLN1f#HA$vPiiw1H%VTWRbPP3=9I^$RZDf85j(F zkVQmA7#IS4kwq*;7#I$qh?I#iFnmA}*#m8mYQe+sE>r}PT0lGRFjLDvs2Vl6E*a3! z0t4t0FIcH=2Ne;6t4V;0h`>dfpdwOmk(E#p1-QrssE7<)<U3S^3oarF8nggU7{P3} zhKfkQ)x<+Zl;9%GP!Tz}$a1I%A6(=lR73zS@){~)1Q!tk4Tpep5zKZ?3=tO$kzfpw zBn**443SoGNMD5=-2Txku7HmUgN`$W^y5HIDOjEhx-AjJWME*}2Q>$xOU1{}5Y!VZ z0N1&o#bqE7Q2(t0MFi9{oQfg>>IY6h5drC10<M=~=77|!K@kC&vjbTK)Wu`S0oT+} zT_EQ$lpu?MjA597ECRBMp$Az6tm_N12w2S@WD&4A9N;zp)Gn~!JHTxKm<UMQ1QZdF zo7bR-fDBrJA_CGi2i$UinFCU@1Vsd7&IV)=u-`$Y38?wP%%I}q2lhpP5GdzD%>fz1 zkb^7&vWg)CSp=->39<-S%^PG9usJ`FML->1h6Uhu3)C)9H<@7tvIy9PN03E8-ED>g z$Rc1}9^lpv)Euyy0AvxcIWfp0hM>^!5JmE-A*f#+fGh%bVGgp0A!wu{14RU+O9R}F zg4zyNV}L9IHpd281Z=wvxUB`#1u_SeGvRRo)|G&w24s5-iU>%T2DpU=GY6!`09gcV zjtzzg3%Jb&)ddbi9%K=4h-n~;fJ0RUSp=+W2eJrQ%>iT)usLTiMD~E&hfv$W>E{Tt z2spJoKo$X~s5{6aU|lWXRwdLNu$mrZ5wJNkkVU}mNdUJzp}N54WFU)xb+sUifK3LS z+6<2!ur3jB>lA7ZSd9#_2-qAAWD&6KdyqxI<{Uv50qc5zECM$94zdVXR|vQzjBI-h zvIy9m3}g|o?SGI(z~-=kTgy;$z`7KWMZmVpAd7%?O+gj`tC@o=0ybv_vIy9A8*r-| zY8TiX7i1Bzt^{Neu*osVB4AxtkVU|1?jVbR&3S<=0=B&d+`>n;y#-kWtZM<X2-xH~ z$Rc3dMZo<6s5xLYGRPueb2N}ez_vd@76F^{23Z8Gixb>aKsK2LSp=-B2U!Gc`xImm zusI8mMZl#E1GvWlH5pviaUhF;O9>TZ5pX%CfFc4aZDhdx6qq@n(nbYY1Z<80vIyAr z0B~OhrVC_F1hNQNR|&ER*!BVx5s<DNa1RJ(4#@TrWD&4Api|Z1`4k-TQ^36>s4j3A z&OsIdhu98e5pbw(K^6h)Y5@1Gpyq(pbRdg>&6$EM0`_|fxc>#!1rGTfWD&5NJCH@d zes4h$0r}km+-rlG1M<5AvIy85A7l}*?JD4&9ZVO<935m4ur3c|5wPtpC?X(TKTt$K zwu9DP!^0VD4iC782(=3w@@tSqz+t!rSp*zn7m!83p?U^c1gy&i+|z`b3|8ZVECMzs z0$BuX`x|5tusL6lMZmfQ!97i6lX;Luz`A;nMZmUCK^6g<vj8pvYUutI2VJiRx~2{` zHfSrs0N(oxY4?KEG)pirfJTuKA}1vn7(k=N5D^t0&_&q{3>x5GE!2fz_ZT3HfZbz* zECTks4!Gxwtjh#h1gy&eSp=*r!xX7S1h%UHSp=-B23Z8GD+k<zMz*U2Sp=-B0a*mB zYX!KMjjU?}vItn$9%K<iP(WvZd*V=C;1phfA_7X86Hr7zskZ}J1Z?{PaQ_`@4%nwF zkVU|@Z$TCT>-u1g9zH*iMZmgPz~cZ=lfk-7z~cZ=5wKl0$Rc1}9>^kKT^Zo90%TnU z$Rc1}HOL}hT{FPr3COw@Ad7%?tw9z6>pB4*b3oR00a*mB>khIAI4)Yi;}TF^;JD~P z5dp=;8Wa&wTr5Er0o%R?JemPD2OK_IkVU|@A3zoX>pB1)@j%vf0$BvC>k6_6SeFcV z3<O!13bF`TmjSW}SXT^qoCH}{3bF`TR{^pJSl0sZSPHVP704oBU0aYvz`AaL$6Jtf zJwO%#>w1GM0@n4x3nOJBi-2{pfX8j1CWCcJfX8j1BH)l$Ko$Y((m@sh>oNe3+aT+* zKo$Y(azPdW_Y^>LiJ)OAa8DE5QvmH4fs24m2F=UCMZmg1=MsR1IS{%)*T};~z`8(J zPs2sPx<K>Qpn)NTF3`##xCmGmXzc*12xyTaX!a1S3mh7tD+}QwpyG!CblxLe1ng7L z1|7Hv*yITC_z!aUfYv;MR}F!B*<f?(k=20B0j-CEs{z{%x)uq%b_JvhtOm5Q5iSBY z2eg+JE&|pCT006}i2>III)eZ%0@gKyfq?-o0@ejG8N8kZt_$QIxCmGm$Yi((*r%Wn z1FvEN=>nSr3Ng3{SQjY7;38mOfI<u|0yYN}V&GLwaC1N*1{VRF0}3&?2-qBu3n3zU z;K3&qkO1h0Wd>$OP}qT5CyS@JTn5#)5X>(LIwBo>3o~@i&J(oo2Xwg-Xl)NzQHvyK zyb)Q=QAx<gF>kOMy`*B$sYYP6pgkstkuI<hbWV|hfgQA52y{sc18BAuS(h)!97gE0 zA4C(JbcE^xt6@N184EhW0y1k4o$LbdPl0HRkb<o21F2y`(FL0Og}4wgb_xm?kiHtI zE|3~jU7%J7Gb1Qn!PG)Z7m%)HP+cH3sJcKqjhGohtD8WRR3NnoU3a0nKx$BR1%X2Y zwCV%Xg)-6*e}UAX>H@E#0k0JS+2c2n`zI)rL2L#FU(g~f&{?gJkVjfw3`(z%&;Y5N z#sBOgLRSe?7f21NU7%whA?s~Gy6QeV=OA<~hUx;TLDdxo_7^yLGcYjp%eS3C=(+{f z1yX~mD;%r~Ts$%`FhoyZ_YR>;02H(g3=AMOsJcM;hnW#-D1#=4LnT6&D^wRq4XUn4 zuw9^4QXqdRNlueQ=&FJ00;z%NQURSP!~i;96%xy!_(~A|vm2pn8&nra4HE-+oiIcb z18AQfGb3nK8z|kkE^L-Z=(+~g1yX}*7pOF0W(4JNkgi&GRVRe5k5FA8HK@8`!TtiR zK?AuE<Tr#a4v-TV7#KimP<6$Db%6{8>9T7PY(nUghw1{ULG>5t8V6=Z(5g0&3#T2a zL(=68)df<6Y8R+<L-=bR!>Tg~yHcRKKx$BRfzFM9tb+yFh3c<Hs4kEiR9&Ep<q+}Z zUUt(8Vb?sUE|3~jU7*z_kkSSe8mM-G#;ZUgAT_9=0lNE?nGsZ^f?VjaSWOmT*Gs5f zAT_9Vfi@W+LgO)ee;+~@1E|6Q-F%Lemmx_CbS@GzBY2%H$T46HbE_~^7f21NU7&R? zh|uuZ_2@CeE;XnwkQ!87pxOix8eux6YY@7ept?Y6P<4S8>mhW39SE--a-q6FYEZ*4 z3!Dx?YcfG$DEKup17X)vs4kEiRJ%YYi7>-+%CrZubqHODp}Ih7P<4T>9)aXaM2QUx z!@E#jAT_AEa=|Wy<rHz1CtV1;zC(3^)S&7DEeS`2ysXGgq!L>Sv`m$OfdQljRaZWW zU5CtnZ$#K-1=R&ogBpgQ)(m9j9w-bW1UZTjy5ga_Kx$C!0-frO2t(9#SO?VwQiG}s zR4C#~hcltNKx$BRftnDA&_GRxTcEl?YEX57T22UE(`O!7jqukEs4kEiR9&EzT!?gt zntFdib%E5N>M8?=Jg9{XN)g2i&vYQ{vIHeh1_lO@8jvglLpD?dl*&Qolq9Qo`huzf z2G9Y|=sQFpdKeh$pt`_n81#xtl2t+=x<E}iT)L)0b%E7@EM!;%6#;P|X75K4L2gHZ z){G(A03aO*f1QNt0;vJ{0zRe506K9Ep{wD{twji3523n1YM2=GoP$DCBAh`D0&s5u z-4_rW85n*-b%EN)%nXW(3=H<*9i*9gCGjA8<J0ns;#0vVv&NUC7MD0U7<)KD)qrl+ z#HA>}$;F8wKE9x|C^b1TCx^k_-pC=+F~Bjx(;<q%-rm?D(lG+giw{MXiw}cJIz%zV z<2_v@K0Y(IAU-}mJ~6qdBtA1gDL$<<FPQ-@3^|e{IX^cyKQF!vw!$wS&Ws1SOC>(O z45Ym*F}}DYv8W`zEVU>ztuj8bD7`c{HLoNdbncWxpp%OO$XO8}H-T-<D9O*uaWH|| z20987%moKudTL2YW^QVJT1sLiG_*kKQ$S|;`GJA}tPG?HNz6Vz-W4p4I1U%2AtE9Q zY6fJ-Fi6ZJz%jtlCBV@mz{$k}ZXWC+510xkmjFkIG{|-bh}rP7V?nAs!SMld2X0wh zdLbUcr57S=ZveIwz9AX51vt>r)dA!!dqeE<p-}l`@DbnfuoFiij>Is{)6o?iNa(gX zIDqU400jeNW3+RAUS4W4=xiDX2T-V?Tkqfivlw(vF`8`-4!(}A9w1l4w~iO5=B1<- z72{M0br9O7QQ{nhrU~XSxZP-H7(v{CsmUY2F(SasJ;ER~9vsw=^ASPb2L%Aq?s=-1 z2X`HG>%D`$3fNYZP5Tb$P60&|(e9+O$#55g@;Njn(Lxax?e+$cAcP+N4@q61^Z<=! z=+<%Kq8F+dBU+K10aXICJ~b~nKP43`2sv{J66Ih42M13_S8!nf4O_6NOKO^f1GuCB z#dS(55&FTZLFI}ghC$$R2H6ossk!+jsaRbBHU`~N-0H!~0~|fjt?+cgFx?}-(FM(5 zEULhH9^EuhaDY=IIB+0AhUrTz7GTo|wgE$TfTM>I$aP4;6p)ixiRlY0wqR8Vw#LH{ zVJ7HorPRFCqOjDQ{N&6MOrryw{7{032n{X)j^IiO;%b-%P%_7GIMl}=IZ&uLV6_S) zi=h+j6Ljqee}Ur!t44G^*n%#<7;8EVfTd!P!BF?2rwV)liNz{B%0a;x;D~O%OJ;G2 zXI@%9Mu7PF`T1e70H=Cz0Qwmk8e-bvoS&D9%ML77;8YH?0@DVU{DPd+qTuAj9L#{m z>I*#TA+})J;acdH2)e!lGo-Ni0jFYIrU!ryY9z{N>?(1Y8<w9_noC@u;82RiWS{)R z6yN-m)EwL;J-EyS<sV47POJ{3<cZKipk&5o3jr-?)&%6|R0ftNreK6WG;@RGp!pN2 zbO$*Qr%rIFp=$@Z6k3YqC#Hb(h7@JuvNWV96Stk%^dVab(~N4PZ(>PmQD$NehLs*r zm%<caw-_dip&i*~m?EeVNFg1ZS^^5lu+*Xw3=;w!BMppHRGgjAb1NP_U|S;%jg9<J zGiz!|NKq!Kw&2nNwZsV15>WK{yJ7eQ(*rmZf=$M7I!G}r2r<kCb*E6OwBXbdLK?ss z5!QIIk9S9IVuU)nBD%Sd&K<a-19vpwGLTLZSOR_`4+*VExE@$zvLGk15^Nfh|KN%O z9bG*j4Xxsm`~v*SK#4miKQRTbDo~g~Q#V*0I9-BtmgW)E3r@VnsU={I7{w#1o54*K zm|9SUj?;I6j(!Fp2f!3#sk2dy4s=2>98?7-<|U^>y8~dyp=tot-N-gzsZlXBAgg!D zFF>zL(bOZWb}bA8-A#wnzbKAJuf4FFi=&Z;qBzhA9*i*MghCP;kf4Gad-a84L4Xsu zut%uIs8nz%2jxjnQHLu?py?5$1fCp0)`0Y(mh31tK(!&4?I2xPiVGBNSPOS(1cGct zDa259!lDl3Qc#JSi7(Y5%5WsZVUF`lL}`VfS_2K~VtC0-f<35%FQ}Oz6gu)!1UVHS z)N%HOoQ97rW<aU~oLoFTLqVfsWr;bUVF(6$NRK|AI5V8xK?8@dhyq{s05Jun<c0el zR{@M&feWJShARk!dJ#I30Ud+$0FMX4hvC5G7^(_CR2ATeMpfa9s=^l(sZbU0kvtDj zl?_)18p%So3a-o#Lm9GtaAm$2%Al5l$M`%Tah8NKLI|lU>{Y-je6gwUg_;2lJGfOy z4tI2fCO>q~AzbZ;Qw_q&zDR1oqmFpp3s!;0z4%gfxQC|$B-S0`gF>9+oikFCvx7?# zle5DTi;5jA7#!l`i&K+Ji!w_p<C8&>@yYr5*_o-}@nE<P*Wv<(c(4JUd6^}kQA;Q{ zIHR;ACBHlmG`{UzQQ=mUn49VWxuwLIAwE7e1Ck?(RP0F^S&EM@%`4B$O92gn=cJa9 zq*=ufx4p<Y!2#T+!aA6W*Lvd2P%&VjhAAMw;0X#M-C_g|5l~=e=B4G66q;~flq4qQ zq>`#NH3Pe)#JL-v-9(yTk9HKhgT0}>J-(S32M0?BlX!1O*fa(FHa`ak<9I(O27CK> zb8zVZt~?wZ%$&eHP>z5eQ|dra4Q%EBT_xO4n1+Hafm%tbHc(9lzw5=pfoSb0&a^<d z0Pak4h~JT&g-01SXE-~=8@PBmxca;M`8j*}L5gIQ0d{+1dt;=L{S2_{!P?v%oc+8# z{XB8$f{%u0B<3M>c{sRxdwauLF&I{1)#T*k;N|P<=I!PV?ZH7RPJ3f}Q_v~9_NLH7 zaqZ3QRU94Rb~(E{c=&rcdic5fLp+Ai24$J%<(Jr-f=|q~H%*1OGRV-;!QQ~p!POC> z2`Ob+fKpbFfj#EYxDF60V{jy4=rF=AZ0P7<Z0v?^4J_6nCSqC!lgDl)OctUW&0<tZ zT>eB=Wde3PG>Kv63vgf~f&{7##cfbAWEY_bp}7M^4zKMnheF(dq!gY(Fx`vn8;Cx5 z2!kz#YsK^eTnfV{XfoJ5ghPoljx=WI;faz6(ef_D1#p+6$)Y$NO%9?Hk}j}Hp*bGA z8kp;FIiG~MK(hc6C&cJSiG6d>R98Hxas|~04$!s{tf>TEhXGo>0ck<OnoM9}(DICU z<R%!n@x>4ypO#ZnTAZ4~5FcNZnwaBYfCgaV#%XCNG8pxi3TXNldQGj0gM)E^nPWsm zlp_O|zM+wk0unGZF*7zWurM|<MG{m{P%tzwFf%h#P%tz$GBYs&$t7_4Fiv1_-D4bX zzlM<kbQ&vY4F>WFw;(>~eA_9YW#k|Z408#foH7X#-f)wFVX-&^Lon!Ac+j;F%nS?; z3<6Hj)7L=DM?uOMK<oFiK}*xYJO}|+hqN9QB<jJ!z;GHvor42-^(06E6oZbz5f)`+ z5ElilX@VS6?!aJh0QrP4kkUuy3=E2*j10`a5Owz$LF<_V5+Le8Yi2;I7#Kk7)z-%| zGKhl?z6IYIi>wZELL5jXXti-GR1Js^!U_Tb2~hun7UF`07(grRyAl`~$`T>=g7i5E z2slCPMVJRVe{)45BZFoVL>*}588-7kXK>~xF)}cxK-7U&`r$IKHHDFZEft~;pLss1 zj0_LbAnI_L2Ri>UDV>oaCIg}lbYuxO_kqs9{FK4Sa0_}g6i6L5_kqkS$Yx~70v#^N z068}kn|WVA*5xuXe8~ebAnLH02RaY4E1!{J0q9Ui1_lPu*_hbO1D%QKRmjNTRE*y| z(7Bj5iWwQAN+9ZRg&)ZI3rZLnc*-E^K<77Nb026ySydS$!%V0;(0VLv?gO2Xxwedv zVQV?WJY4AoWZv^~Mh3PDh&o*6fwGWP1tWu2B}5%A^FaQMsbplh2UUm5zo6hysbXZ9 zQ4KK<pMTkE7#UPShgyPHsWLF&@~>qLBZFft#5`Q?1D&5)T+7HH2t8m7w2m2@c_8bu z>lhiH*F((1<v!2}e4!1D3{x5)>OhBZVKWbO)7+*8Muw_JggR{T3o>s;BO}9gBz4%# z1D#>{wULowXA@!bt~W6<h&3bB;WE#pnUUcKk~&=O6Ki2)2yMY{9_UV);ub~*`&NWH zT;|2LGBV6TQisibAoF&$GBUKa5jJm08zaMGBz4%#1BD-BJ0ru<cEaX8Zf9gr>OiQ& zW**3W4jqgPJe>%2xcsZt$;gn2qz;#P?VXGa!Ci#SE9_!q*np%Cn|UDrp6g;{nAA<! zybaxq4DXTDVKWcpU)~-@hMPTv&HLWN$Y9osP>0LBkX}Xxg+7EjMEF5YW(8G*psmn$ zeT)p{P<6P<E6~}j-F=J<$^8)XaFqw3^I50%Gcs(0s>79kL3`e=^fNN-m;f;kRIVZ1 zhp2x+=KY(%$RIxvq7Ik)KxefYPh@0Zp9E2d&wZAY7#X6V>hQU*ViF@m%w&jp_}sT> zG9$xbs5*S^yFQtbVKu0szyLXk9-Dtbd-Lv2VPtp?RR^*iTl|9d9)6s{$nbP3NCgAv zuyh7&=7G)y)t<)4kUkBf4%9BgW*+El(Ee$R4BMwe)Zy|kXubB|>5L48pex52Ap4!L znFqT4Xyyz?hOaa6n+Mv@V?B$JA#oN&9j@?`U}Rt@oyEw|I~$@7SNwwZdF`Lg$iP1b zq7GO5g3d72ox{iwITxZ1pLyML85wRv)!{Sm=Uhex)%j@VA)Pb@%5R`Oli^S`AU+r~ z889I42?U9Oc1kACXJoh!RSSwY2L=NN<ehmSb)cPSAQ~Ar2sj)-R|jzwvML6K1_prx z$ZO3(vY=gb><btf<U!X-K=<r92pBk^s{`$)h+e?RP!3fGNiW#d?OnjgaFYmi@(URm ztQSIDipxCEGW5oUj0_8*>OlU-=01?Rj|&+Y1Q$Wf!>2BB5hFt*5$Y~3Vr2M8ggVE? zj0}m33ER7IF(bo80_s4!<P?`c%mT#^2xIdvC?DD2R0r9E1kwxIA(6C%k)aH#7L?z> z=7ARRBa|_K%H6Idj0~%x>Od}V5HNtI7lcC4Znv#V7#WVDs)ME%ggQ{W@ca@+h8s|I zaC^c1ON2U5x_YyOk%40=$VSMn1+e?DsFPXB$Y6o44$U8+bl|g;ks$}F4rD4Wf0Qj{ zWN1TGhv5%UIWb`=Bg0ez>OkQ<e<>rwW~e&2f6?3r+Sh!1DI>#6s5*S^`@EEqfq5B7 z1++g6&zFes1BEm1GDZe5s5-d4Si(<h86$%m0d*jML@i@v$U|3$<_}OfH!WjiSOirE zawV>CUbBpmVGpW0jBp0|<JdArhVxK$`26vB86(4g0_s5i5MIv6puQaBGTiA3q|SOd zBZEJ>IyC=+PU25q&dAUORR=N^mw%@$XJlA{st&`yp#J^3<%|rwq3S^O46by4b2%f! zSExE%;R5mp=L$v!*%cs{A^8`JKMYqeGDJYtfmGx2N74#Lh9XpTSp8A6f{~#Ust%t& zmakxBI1E*X&mY%UFfzPGSBK^g(2WNFS1>YYtOWT0o<FdbS4Jxt8JtknVfBa4N=AlA zs5*T9C|}9QFd3>2pFftbWMtTlt`3Vo&aY%-_yJW1@(r%|U|Pk<AhZgk0`6a|{*YP4 z$e;;ThtD7Gs~8!Qq3ZDYqkI)3LpQoQG=G3@p_splk>NO09mtiq{Bdy=Bf~>fby)rJ zdKDwX52!kP{t#Qu$Y8V@WFu0#M=Sq8`NM5BBSRFrIxPOkTg}KY4XO@gDlUI4Sk1_= z0aYDVf9zV#$Z#C04xc}su4ZIlTm!NZ*&m3#ilF)&)GicV!^j{BRR>ZHDK`+i6JhF< z*Dx}uqpL&O{|8fNxQ3Cz6j>dEfrEmAg1(!hr;n$buV=8YV~Dedl~TNOP)K}mh>NFx zyl1d~e7L8JYkY8ktFxz@r)yBKt$~t)zKg4yW2jGvkEfHBQhBjays?p9PG*u47PEYV zo#Vq?gKP~g4L}+(?D7n84RQ?e4~lnjbqaNl_i+t#^|3X=Vp33P9%#{!Pi9h4Vo{~7 zuS-h2OJ!bSZf3Fz=mI!2N97imB^MNxq@W4=28THZg}9)J`un)}Ir_Q=D=C129W<g| z#{e2mX9SIEGPqgA6cpuWr6!jY$AD*|k}~ta484@hq8PB{U~YVHMq*KFihmMFsa}3k z7K0UojUb}}s1paeu;@}W0|Siq%}g%JFV0UZQP2p|Q~+Iko|{>fnU}8MoS$2enUf0I zs*8S&FsKJ70zI$=6s2#t7#Kji*<o%5oiO5sc8xGd4@eDY^ky@3Q#1nuBiI|r&b6|_ z5CUH^46+Yo7aDF5V&G@s7X0)7|9@pG28NQ1%wn(rs5NdPz`&4~n48KVz`!jC>K1_n zO28r@J)njqsI!@ypOVVJ#}Fq7>dAuo&7hsoAU-JQVSMoA!=OtTK!^0e+yL^^3I+xS z&>1Cnpn@h03=N>BvLXXR1L&XwB?g8D(A0u514F|?@FD#S4XYU#K<5uOY-Io+g4O`K z+DDy%q2VO>aBzkOQ21#wFf`m{U|`T<U}$*Gz`&r*z|a6n4>}AC4Zj%}7<3sJ8dw<_ zK&Q?%2r@D-=rb@hNHH=n7%(t2fG*)RWMF8}Wn^G5Vqj=6XJlY7W?*Ol9T{x~I^~*? zfx(=Cp&^Qqfx(i2p#e0TVa34E02&#$VPI$gjTG84Ff^dY`(;K322k@E>Q#mUZUzP` z1`Y<$p(r4?fli?@VqgWQRR#v|q7}sQA;|Vh<fsO(JO=H(1nK2w1RXJhdXqfJKF}pE zI~f@mw&G1Qb=VUPvSUFh0^)Fi1|bG61}nik|Ns97O>lt{!w2L9B+I}p_~!rr|De>7 zo?n94stMkK3%*Vsbn!jNG<9(XFduZ6Fft!>Um!ByA5?5IFfhQ>7eV>TQ2o%xIanT^ z);d5YKrtvRKxqwhP!Oo=4ia``U}ykc;Nrr-&;UAm$CZJh0d(MnI|D-l=tu+)28IUE zF+pAo3=N<|kGvTez-i5wfuRAEmi-wR8bB9<1Tru*L@+WigfK8PfJWKF7#JGXF)}bj zGB7lN!af>HS^#z9LHQlz4iE;F0U)=5#6a;0DmQG=$^eiakQz{4-i9|m!I@NsK?rnN zBgk}gjFjz-VA&oVYz!cOfw~GX9UwbF;RXtCki8)BSS<blox=@sJ4hac(ftG3%<hWj zACMl9e?VpFcD(+{EDi>5#>lKnEdm#3$X0=@gJR<S1+p96U-4M{^_-D`0W`@8vv4;z zsLbI2Um6OECpSh026r@nf%JgNFc7^1ufLKq^HLDm1MD-9Wl-OMZxDyFTOoN4R8WgC zFfs5l@W6@*kOKT%PzL>hoI!aQxCKG^dA}F~Lo$OP1Giw$|NsAktr!>}D|5hE5_EV5 z$ZQD#NEST{;xI5Uz_J_<C`lmkL8T=~2~6G(O+Fuu4;@zqn}<kypsUkBrhqUg{6KL8 zN_T5O0t_JMLh6T928IUE#bxP`I~YLI&kdl9pRyPrSJh`TFf@P;qRL}nXaF6vlh44= z(9XcXPz24(r3?%WQz1uAG|XjS039pQ0J?6if`Op{R2Nl3>xn7`h6ZUy28MbDh6Wo( z28I>}hK5*128K3hUhiOFXaJ1>c40|7Aa{e(4G4prkDezcF)%QAprsv<9#EbD;hlKX zPHAzfPhxICeo={YPJVJWIPt)20@;Ryk+KE6mKTPm0W&L5O_P>il$)5tfQScB_W))B z$W5Sl0ChQFRYETVLj%Z-6S4RkH1z_~1Jkd{&A=eXzyi-Rrx_R+Jkk6O(gX4?h~5Qa zfHh-l-z23b=jW!Pl?TYyAq7H%5a~Gul*Qno#K*ub2&&tri8C<d<(Gpq2IwApkn1$W zL9Kp&L2#J~It~jY2*MygfWixu#X$86NNfrNLj%ZLGZ`2fKwaTk3=9pR%lYPl+7}EA z3=0_;!0C4p149Go*tNwB3=N$O3=Au<gzsc%+Yw|w$ZRPd1_pVg@Vy5<)C;vO0MY}R z`UXu`?*=&pq!DZT5w-@<B{eOzs3<ihv>+w1Bo($)5S+|FjX|(}===hdjV+n+LX(-L z6$3+Z5(6mJfpjyoFff!Br-J)@44~o&R6aRcfy!D?(-Abd32HhzSV77j&~<GfOF(52 zB8`IDg&<K72Kf&Z=Ah{r&=FoBu{8_~4In?SXJBXm9nimlfuR9(p5sPP+l_&NVKW0m z14!*Q28IUEF;d$Z7#cta4eelHXaF7AvXg<K0Tf=lu*3nVm<A;@SRA0|?G0GcI7kmD z&w%RoJ$U1wI3vF_CnY#F4;uR5PzPBD@)jD#7V4tVPzTi!nZ-W&$%#3^sU-}O(1tun zI59anwV(tRz2KY=s{28WcbEkr_kzL{v=jgoJ|OY^(0qRcnx2n=+CU5p45t_v8bAlM zo?&2U0JUS!gWAaq3=Ef`>G>)HLj&k=sv8Up4In%2FfcTL!r?BKum$xIKp7fV)_}?n zX{7WGS^^V@R(^o=fQI5h^j^GS3u#iv7o`@KrWTjbrW^q!b5P1aN#-CyP})zFKq_%T zX&+SLgjz8$6f<BeZl-{O9n`ad6*u7W1{8)+2?mg#(c|e6sNP~=V0g^H&;ZI!&lngQ zK$khbWMF6jExCBZz|a6Xfbty!Lj!1y*$)PW2GFr>KN%Rn^&tZzL&Hk&kxh{P77HV0 ze+E>};fp8Gk*NM?@dVNXiYE}gkC=E$FG|cC0<i?@CxGGuRw;n;5@^XDNDPEQ{sqMm zXxJPS-XJj!MurAZSa32z;)sWlp#gN!Dla1g=zMDiK}JYi2{AG>fDZ5!W@Kmp^=Tv- z85%&>^h#lg6HuK3Dkxxi2UISB@-IjX)LsR(qXN+41f&O~26PGTeq!PzvADPtqY4Ju z0P+<YZV&<&`sCyWP)QF8N6>|pFjGNp1%)H1&kPxGU|^7EWM}}nUxAUK0aUapF)}oO z#uStp85%%GDXKFvG=Ti3fhD{^hXsP%1~WgEhk-!?sjOMf0P5GF)}<glpnehPxXlB2 z!>ckeFB^M3S`04Ik!?l_KWs%hsGvZuBrOF&&0UbQK~*a#sKDg{XnGwa2*MzDg2D<k zRSUX=6eOn2$j|_CyB;H?PSl5{Edxe|2GFsnMvRd1z=V;Z0pveZEMW!;cO=&`fYKPK zUIU4N(irGsPd~IY2GRpk1G*&mAl@)5PAw`+EegmlE^z|&j&f2H^GXZAp#?G@<Oej2 zEwtd_0ShFM9*`SA;Q^W=1l3U>F$+dWJJu4KW~>+?{R?YGh6a#ZZD`>CLwNlU**Qxu z|Jy_T?*R3`Bh>#+Q2#q)@jvKzJy2Z0%9ss23=BL-c?L8N=ZhBqAU&YU4|Iek>;OsZ z<CoC-8D-!IBl<zsLjeT^3?GA~pcd2^LugYIbZRU}2*d}cA_j22LT=xK`~pfxpxg^< z-@7w1G=Ti)!3e%#lfj>np#d~r8^8#@Bak7O5z?*?WrVafBN-VQKw%MuC450+P#_QD z3SZFpryE-Mg7kpw2j%}Gc+(d&d`rR2dU665R1$%#0<~ibz>Rn028^X3=ni5~2)ckz zhK2TzK<#djAP9rp3JO1vA3=S1kXRfv{NkbEm&nM_0P;%`mhcH@gdCs^(g(umWj5%L zcMr7i0qFsidmfAo3`g;XPXU&a2NcsFn?M-kY7or;zDpG}wgU1#yvGO{`~;QLcm_W~ z{sNf*8_Wcim&klVgQMspFZR%p6_9zLBnzrDk^4p<zk|XXxo?yTtp_roZI4W7zRzQ1 zXaF73T+9d=^DJeAjCqzbLdHC+K>8RN7-|?98bD!Lhb4YMV|}1d0wofVztHQ4T?`Bi z=<^#OJ)rslH12u~Yy8A#=9L&5q0DbUgfP-D$WACmsvE*#1D&8K14SrkIs-gVDh}-y zfubxWH7&6;rv!XT19&C`WtsyNx{&e!IebBGM-SglXt~-1ZG(XLptRl$Ee~3tZM#-R zh6d1O+ii>t4WPXb?Tic!pu?m)7#SKs2M2dy313hf5fr{qKVsCspaBYRwDb?s0}5Yx z1_p)`c*7TYE`YoM289wR4I+;rf$Rr`5%L&PA0tBpXdHGj7C(aWDn37g4zsmG^CL(P z$d8~t$w|C^ECU_FL1em#hou{kx4?A)q4DvlSp1`cI#hxYXP`8MK0Xf81M&}OlI0X$ z|Kt~>7A2PC7b#@sm5}8v41a;_2E`YsXaR*MD6LJ$;xEt`0Z1MeSD?HOs`o&AP+Jhx z7H~p~Cy*YH8W4S&D1X_4Jq5A{<PJ1U?jRq$Kmc{jK?MRR|L3KaL-Ia)R~#Jski3sv zmx25M3MY_%LHQfxwpq}+e-0ybj1QXE=V1vy(1HFSy|~KC=?n}EHfZ4o(gR8tpgD#! zc*CzamDuEfKQKT=Cdh@LVbJo7)I9KT5jf3&#(Y4224Rr9Kw$w|G670IAhCtea&Qr} zep!qq3_xRdAk#r{0Mdg#o_PVwSQ<zVs4N4G&z;2^2C(tWcu2zsGJgcJ4rCPwgMuGK zqgLqf0D+BQ77#IlS!>0>0GSL2jk$nEFl(UAO7sy-Q2B^lhk*P83OnRFdKn{R{Bk+8 zueO2_GJd&|k)Z)}7WQgJ$oS=2Xq$2!BV_z?JtJiNaswk|{Bk3fFyF$!zyPY+U}64? zhk*fkjO{A;5);&ZFGvq)ykao}1H(DIVUE0I9da55I0J($goZSDG62fPR!Nf{>Y!<? zFaQ7lp9C67%L5$|2p+8m4LXACK@1&((=Diu1POyM$X}qa2QBdfl>s2Jt<bTV9gGYO zptQV`5i;MjixGUwHN$Rb`*aT@Lj$O9uooI9`xqG-K;u69p<#cJk)Z)}(ajM?hK7Cy z28N@I3=N?0JBB4rKxqJ!Fkx{*YCbrRH%_RP53-5K2lW{FppJrka0;3aPDAs-8E8H@ z3k~!0(0p(anh!2P^TB0kKDYvni>p||92EDUWC;s%QuDzDykSngd_a7t!}7sYs^o*4 z(0p(Qnh)+m^T9o6KDZCf2M?h6;2|_l9zpZLV`$hvh3117(0uR`nh#!Ki4%QjTM3jG zKzR|=rU2D<pn@9Irq~X?1_`xn0_g#%0nM#l#2Y7|qvYU=2?FwSGLtL8g%ikhkZouf zTj2x>Vo-u9wPIi>fS3U56jxd?Fr<M;JVB`nW&9u9f&i8K$YW9<cZ13v<T0uD&^q%2 zw0-=Mk)Z+9=KRD6nLGT9CCotWERd66Z6x$Q@pmlk2#_97n;A6ceu+?+fx`%711x-y z!V6m%VQo}lv?D+hRUjvWhHa51sz9L$a@kHp1_sEq6{t%MQiL{b1scHtEpY-lssUQW zK-QfxFxVoGKOon&Ab*3x9J#Lj0qWN>Ffjavrt3e9ko5z9q3QY`v_Hng1nCzuGchzQ zU|?Y2U}6BTL*rs%XaI#HHxuSO31}raC^djQ3UVlV83Ve44!yqy(gUh%r!g`xT*e<a z;JHFa@N^zzt`;0sAPYg3fiNwj3KY+<sEUt=t|I_7o?$VTpOXS!K?tgwK{1$GSelpv zu9~4ch#5e629!BKc>}bK4CG`G2897Ao<M0IHs&G31er5YVS<dOsWL(46*ZV3YqhkP z7#i9b7#Q@J7#ij<FfbS}LF!v$CWeNc3=9kwObiVN85kHWnHU;CTN1697#eOfFfiCM zLDmb}F)=iNwmv#BF*LkqU|?`&VrcjYY6~$jG=SpChl!y9<Q6|Bh6WKv1_pm7h6a$E z1DPP}2ZNay8Wb5B7^0XM8Z;Rh7-E<h8jKhj7-E?i8q63O7~+{28Y~zY7!sHm8bISV zsZ5Y@lyoMB2GAn6Y$k>V(9Y33CWZ#k4#OfQh6Yd?D8`bmK<#a$sKw}0g8C-TIQkBt zzWELO>5A0ZXLySl7MGxS1H~f<gWL*=OXU9KLM(pDWn^FgwWnZZzbh~5daGnc1_pFL zf%Jg-LLmAkDSiT31ace*BNc6wthFL;B^ErWK)DBGGpN}K?|NdClA!wL%K!iWdlcX+ zv_L{9pld9XO4D*u^B6!)<~{%a|1V%+U`Q%p5M^KnWjB!D7(g>Qpiw69!Vzx4E&u=j zhZL<$3~b=62%4$|sf0~mg4@WT^aBzEVNlqD;tv!rpevj}VoR7Hb0y1|AoG^XnHU;C zcPp-Bf~;j(#RM7KTEoQ90J>yuEfYfnXzY9)6GOv%1_p-pOprCb8<-dx_A)RqY+_<) z0NrD_153K_g0=}@Whi=^0Hog@Ev<v}fZ7D03gQahbOAYN8eDE7XDE;-p%|%(gAWLS z;s6wR^5XDl0Tq0pASz*DU;xDlD1JdDF-H7?{DIn=#vEG!xgQkfASc1b7Rs3*^Hmj0 z3=N>IX_ZV2pn8v?3QL%+0@Y6pp!rOQCqQ8a8gB!c2Wm%wu24mvM*!&oshP#Vz;Km_ zFoP~Z0|y-_EFd<akTeZCP)h+cPXbBKARegR0R?v^c#r~Aryyr@kpDno3UVuK?xv0j zG7j0m1R1YsWP+><ZeoJ;ubY_|8bH@7wJ<R>fUY`iWnyRmg-;unFt>xIQ&6OXLID)! zpfm^z^Fs^_4Cv_;qz9x1G~aj)Z<s?4hzAEY$Uu+<Xc%8$8wkPEDJWgS(kZ;w1_^@P z4NANyg%K#Rz7}I(Kn(qW%Ln9fFpwWW;R<pVEUk7y(`q*pWbIoI6J$=c7fZN-PTK*Q z2eJy}rA54`YvVy{T=H?OjfaE^G$lfg^n$FDhYVjkICwg_Mg)M4E)8(>Fbr@+oLLJx z@EdXjCRBGwW^QV6Nn&mR_$1m=WDC*Gp`?|iDh3Roya_t>2t99t!U$BBf#~Z*q!Xy0 zz{v#^wxDnYVNlu!(F_c*rThn=OZoBFUTCtQY6`SA5~Dn%PC5hSWl+P?2Q>Z;o{D+# z|Nno`#d5`&RjJ^4N6-!gkU%E5f%yO=&BDNtSX7i)3Eq(c=?SnhfYgAN6&?ornw4RW zA#~*?q|8NLO9cvBP&x*!CxNYbn+Ppqr!hg+7Efn_jK9rbg6tER$pjhOnZ*QIGc}tD zGG{gi+SZ&4Z8OdT<pV|rhWS|1KWKF|C_{qs56G41V?UtdN6^y)NDpWX6tr&nHs16A zT89E#!3kM;0<sHa4+z8T#4!LWgt?dy+|~d!=s^QLC6LGfmAkO<PfJ12To%Y|(5NY> zleP@RVPIeYjbp&thsfa$@(X&n?`C2EuixCy#Lxgb2IT+~WNhsq6GH=NZOdUM$Q;=b zCWZ#kF<?iT7#cP+Ffbg0_Qg&xF*JbY8c#7XfY)}P#uDzJ`T*2U1*J5Q6G7!Qs4WQ! z6Hq>U#lXOTJ}(2(15yK`@8Au0$dEHquMA`r$Qm?E>J$c+oCunPhBqrgc?XosAyf3A zavc;|pjr{7Tz~Ta|9`Yb2&le99-jdD5fm@T;}hqg?Y>J)3=N=i|2h+7t<Wtd$XMuY zEaA++$iM(9gFtmP$n&7`T?}c>2xyHx`kE1t9?;wuh=yGsin?Y5QovhTLBcsc2eKX> zDZD{ef~*5!P?UmbNHRwYLdv+1?G)hAo)mD&1j=5Jzz0PIDDV*t6i`f+fd=Qm!$hD$ z4I^T1U_=ZkUXaHyKw$!k7vwRF`%DZCpzwOY#Lxf==ck~)CIbV*D<;U8^&2M0{-$@( za_c=4WDmqgCWZ#kF=1bzV;Wzv#2=_F3JO4w$3TGy$|s;U3rGx<PtG%d`faFVav(h* zHK01{9-e#>9}Hgdg=K0VDg&;;KsJGFM#D%Ao`s;A0_zS&oHP7l4BUd?CJzGx19a*i zblU;A=?HG)Am;^;e?Vc5oELsW+c>|V?Qswvv_|nS6GH>&+U<W>!V)wWj_e!su<T<1 z?Hxl6OOPH=Sc1y?2gHOW<}^N;fe9+DA@wA3;RSLJC@hfs^Nh@xV_zV3AishzDCW@p z3ffnPz83_f2jo}K9PvY9{0f`?hD;N~tO8kwgs~+QQ04@clb{Tk432bAK0_`vKyCr~ z6J#i?UCY7@>4UK{L)MwHF+<jRv19Q+Xx{-yF9?GigYN%{3=9nDYb8N?K>i2y?;a83 ze=OU`VD^FRM8fz20kRtm65Zgmj~oslH=&0EH#8i0py9yB4C#~dV+jXPJppnPDdh)9 z4=5Z!{i4VC!XXHJeId5;10q9Y`LTrt<p**Yg8YLXhN93g6oG~vhz}}1#IS@RC@q4* z5Eh^4X^Bv|@syY_#8PgM7l@FA1j<i@$_+_8eueoL-LHhojc3I8mDF+ro<PVeH)No3 zEep*ra?o-^9*h4$`3>ZE5C+9Jy8j848_$XHKUw7lMj((}ZYV*+K?NEPYS6T=jwKvm z`2|!-V+)6USjtb39#FXf8moDMJsi?<@)JwUOi+sqs34K0#c_hA1!&C&v{3<BQv~WU zg9bQ2)eZRA1VkP|UXK8BKL{hQM=*wlnGQ2#PXmY#s*iM;A$=n~X2_V8J~L#mhygQX z%+-(?(&jT_W@yM}U|=w1W@rFiI&a1dS(jkJ3~2*eVhMXf<qc?E1N#0RkRDLjgW4&t z2!uUKQA1|ngF+Bg#(?HCK<NX7L2dwrAM#p5TV}`@pA!~;g8F{2d<N2wp4ULb2M%as z%OE`<e}ba(H35H;vfA(hELDL##(>%G0@(}l8*;nL1&g0RYgX|23AA4ceGM*156DlT zKExXWeu5R93Mu)eNja%R<{4Dqf#MChZUEVj?l(6qego}@1BE-N<pzo`(EdQ={l%d9 zJQuY10_g#H2}HjIF+dto_P@qMQ=pX<%x{q9B*-SPV(7>&luc@v9hCP$JwJG{0qT{5 zd;lsX;JtFt`~hf84b&@#?KcK(2L@Ss6L~%xxm^MB6DZt3@eL{yK#Dz?A!DxI%#d|U zKG5>O7fX2BLVbp-jGf8Az<|Ei7NiH1RzP{}9f9y9eib7AzySpz$c>=DK^lq%w^fnX zA%ffn3J>IUh=I`ZGl&^7R~3vU90;wyx&)dBMoU*9J)p7<v<~q-fp8#m1r|I|KofkR z6!VCP6<BXER$#q>E{_1EH&6;eEQkZ;L*%gqke@)|hdj0r&I}ogi(rQA8;fLytVN7s zhKz;AFhk}_;+P@(TjH4^YY`KeA!`v6nIUTtldyz4p*2|785kJQ$A&<9K<gtwYw11^ z2zRnqVNnqBpt(WNu+KlxKo6ePh@h}XuKPj$0);(t-Jiw`S@V#|3|Whq1<ljh%#d-N z9A?N~nOtVb_*)({PV$){<D~`AurGqv`K8Q|@#->W$l8c<EO7!#1E9VdD7}GF3;K98 zp}g>sK%7u3FWe;}FTBUd3-2h(3)RrPPy@{iwa~m!2MzZIXkKW7=7nZxUTA^lg;r>M zv|$N%Q2c|+I9Rx&uN5Mc7d{aPck1N@;zJ&m7Z|M>7>X&(3tiB>&<o8AebBtn56ue` zpm|{;G%rko#>r%8UYG(6`)Sa;FcX>=W<m49Y%FmCTB8T5TS55&lo!z3hoE&u=wmn_ zJ)rs#v>x#@fjA+5MIyX_0tGQB$zWNL_>#biL`WMGd7KmEc2F6FJkGfQT7NEtwxbs@ zL)IiNW`?XuT!JOsK<zM)qhKv4^figEv9v2ddO&U5Qw$6YUkHaAxZMe|0~9YH42mZZ z4H@JIwHOFDx<INxc@EyL0If;{IRdnP25D6y==coKEEh-^%Q{5Ru?iroKR^o?&~ZZ` zKF)QBAisjb8M&Ta$qd<_y@nZbCfQnM$bRf~(0<%{X2|&&o1y)-EzArJn-~}vb}}<G z9A{u)*v-t)01CT3SmFb80}UvAVDSOkx66+-2Ll?zN3Ul=dO%mvfc6l6B@`dnS0aL} z1cd_#Be9W&BH_sxYnzzZ=mAYLf{y3|*#k=S;2spHeuXV=0!e`U0}6A{{0QiZA&}T1 zW`+ikACE%YhR2v0z-O48f|lbKm>C+%7#J8XGDFVfxx~!SFafkahMA!ObcWM4W`+h( z8~GM9L&FjV28P?r3=QiT7#JQhL)IKVVuq|ae9R0vqwoncLj!0}%QI$%22efvoSC8F zCIbV*TV{rahYSo1@0b}HK=Y38nHd`1F)%QEWM*ji0O|`eGc<tK@qTA!XaLRs{9tBi zU}t1t_`}T506J~!A2UNkC?f*{BMU<VD886jFvsITi4-XkFxCuW+lL0y11if585kIT z5K057d8D0L1CM)fbYZmRL3V@U3%M;X!~z+A7iM8-0J%v7i$6hUI)cuP0Oe~?9KS_d zM+iF03w>S}qz5#w3!;CL=1-7SAZtJvsW_tjN<w(>5tns9^#sW)2|*bPw3Zg+IoJY0 zP`-lgV+M(X!VDBo$Y)K6vq07dO0q!uTv9BM^?@=h3=N>O7-U%>V^eZ03=K;`C&^)n zN6<O~P<jOw#~^#q>t4{=pN?pKGLRlndIg>B_>Dk3lC<&<K70WRMo=^pvGNbp-GX=T zK}8wJC-9mEoajMeiQJzDxgQjkAb-R9^K8&G&&~o_qsGAk8Smr75@w)z29RD@+D8vF z&{;I-VFuCz3Nz4L%Xb1{23h(9u6jY%fT9HrBbDtKVMgrgAV(Gk29$sURa+>l(9pvT z<OlR{<AH`7FAHQmgpUQX28|y}xZMXYkA+;B0`d@gpXVHw^ZGz~K>dG^+%E#*M$Rf6 zc>cz>3J27|L0W|a>-$>@f=)LB`2;j#0LsOn9SR^msO=6;df@UFc^wYOKcFx~UjL-V z0_po}u|UR}wOJr*?sZrg8bGH+>ajrDB>F6nbBPRC7#fZ;FfbUhK-wb4EDQ~x^-HEK z3=N=gGQ$$~pf(I>{122nKrRHOSy0;<l)ymi3qW->`Z=2*Js>q8`Zs~FhpZ4mS{VYe z3}g`+CUsa3ZQTecgQGM!VKYUL#UP+U8Z^9zQ7C}cuAvkPptOzLCI|Tu6fekaa!VFS z+uN3fp#fx~Jqx72@5ll<%gYH%ID^U-P?+K>8$f3#$KWYX|KJU0=n@00(<)FoB8v?^ zYX%&rQNz}9fP9QHy8>Fv0V*Rvvnx;u+-o^N;eZ~V?$ENr4O+&6_@HxwJXs*?*}brY zCusZ=6rQkT1WLD{aug&6O1Gf)VJupBg7kpYfXa=3#DyoesS+{+6p`<d$KFA10)+?i zyn-(l|AO{$fcyrk{Xl+3_b+G;8htMlNDs)rptjY2;{1y`1P`(hWEmPps%7BG1(x4H zsROd21Jb`mu3tg!0r?eVEUbPFgvNak3uJyR7}|CT!4d|9=4L@-XXt0Ff%JgF0JNrq z0Tl6IzaXD)3Y&j`Myr(-S+lbk0f96-3o28P!vW+b^l*rPhC?I^WNk|{3uH}443=;J z9rObVLsH5TkRDJtfYwGa;tvPNvIFd82}F*_vP6*vWeIXPg8YOYj)~B4On{apAU>!p zNx~A2pu7hPM{ts0V8G~;5h_ENi3>-pWe9lzNqiZSip9U6{0H(cxn&3oasDN>41p&T za?6lRXq;z3%aCkn8Ipq~3_y7g6b2v+ig)yKlu#MMN?aI_Rfb>$1c_xx0W=(npk+u2 zv<xZ55)P(}ko`%>W2?3dEbu!KK;sb>$lEYdGaya5A{Bdk1EgyU;)6?yGV{_M90DC( z9Ri$O3_Kj780?UBqHW+Hs9OazrwFRUL04<~pw;0ZcZ22`L3c*5VUG)lgHX#ah#0us zg0*x(u@6fHh#eWArP-i)cu<29)M7LtScZX)vw}8z5UWi<MKh>91YT_d+5!RD)5ppH zYV(6~F{n-ejb(vc0m2}Efyy$_co=AX2S}`ug`olD*D4ms*<c_(=&aak7KVn|3=9l4 z(EfWZ3q!+t1_p*Y7Rb0)JqtqvXv;+d3qu2FeSb3x<Zg}@7KVmr3=9lyEDQ~xc6~bw zL&JXt28K=+h6d2J%UxK~3FypJSa|_*6DYrc_NjqF4irbA`B(I@OOPIr8aL2BIQ(&h zQZ^z*60(&bYoQpa<pGZvP-tSdH9&3vg(t|Ju(n1Y3uNrPAKHGOzyeuEKMjk&L8%0! z7iuv^-2jSQ^!;QYJ)k-k)EMT(?{89;rr5xeAjqenbc5V}1lbAlCvy971{VK-x?TAE z14?t~Yl=X6K>h*c2QK{nftC3R$r*`73d#9-#U%<_;OvHMDJ(EiCkgQS599`P|INbU zKhXKSpm2v-hrTxD76az~Wsn|Fvlv8k6X!pgEKPwYWl%R2l=4AE3Va9#+tL(QXh^zR z!!}fb(gkwc2;?VFxPih0mj35L$71HQK-Q)#V1exAUx+0<L2V|GUgY`#lomi@pnMNn z<A;7v3P=w~4Jgid@P{YyOH=R%4yc$0IT51|52{0;fy4lE7bq-{$Fi3|>&m4pkh%S3 zSi%6*762IziV~1n=;Klsv7Dy}(gX53s9fX)F+dto*E>OqIV&qNr{duO0$Y~iXHEEs z|43`}1F|BlaUJmw9-AVxE@c&TY-%+NWL?S{7Rb7kwJeZzDeGAv>rytdK-Q&fVu7qn z*~|i2m$HQgvMyySmT)ID7k>@QIW!<WuyrYX_`{v-sdx%P9yD+bT9%SUU@9IQ_Jr1@ z>|}wgOW6ZWyL+Mec^?a8UCMqI$hwpRERc062cdCt2s%!67#j9RSs-gsPq0ANrJQ7e ztV=nCB~C!;nv%T0k3UYRl@~mT$P3XJc_E6jyl@Vh7tTZT!UbqvxCjmR%h0@V6`B{W zLG!|OXkNGhjgOmH!X1>ZL5)dR8HBzrg-~7)z#s0^%L~MZJS;EdQX?<ih316^(7f;v znin2H^TK0jUU&k{3s0eO@(h|6o<qa_B{VO*f#!v`(7f;tOPqk#X@KfMP<{Xv@1Qm@ zsNMsKf$B!kXg_+J7^DZJ1~hIih(AuqUzP$dpg=(kN-<cLrG#4JJtzy*jzAv&2Duwl zcOs8}e}>kbUsxb(yT3x))!(4)>hD;>ERPX#?ja~GgTf3w9dj`<Frc?5KzcxBI_Taf zVS-@>Zf(Mh2U!7%4iJsn+JuJ@*2We_djhm11=Owttvw-rNeXD!G|1{0aKREM2wI&0 zI+YUC`vc7ffmVuu<UwmeL4453MIb(W$qKk00G)FM5(QyUSb*XI<POlfW02TyXxjhB z!q5QfYyD?|+$F%s3RyS7#0oi^iJ6t50i=hO6>?S<8!Kd81UoB3!(&h%jg_GRbj|}8 zE98zw0ak_vP<#lpGBg-6GBAj+GBmg{GB8N8LhfFaW`*3vCBurj&LM;mGLHv~2=uis zpm`|tK0QbesNd@hvWq}Gle^S~I?)b_E7*N&po|3SkwN;N$ZK6d{sF}m@>&-qR>)cx zRaVHI7;3DLHn<imWSx-#D`Za3kd*<vr{0Jaa_5LCD`alZjFq7QwD-u06>`3oH7i2{ zXm7tGD?`IZ1_lNvR!HC985*}PtdO}tH&)2{BzIQG9H1{NLj$PJ@MC3Y0L?l2L(@PY zD?`Im1_p*8R>;^uI5ch}SQ#2X=eozRGBj8*GBCukLhj>CWMyao#a9wk9jMI@N|PWA z8)pQuK^VP!1l{q3zE1$82UI?S_LGPcNCTuUb%Dn{B)Y(P3%L&svKtg%$bINiEdB!B zIjO+{x^n^KD+UHHJ_ZII2E?6&){G1c=>7uf0rkH?v;;~10@(zy2j$d#+AnQ^2N!WA zB&e?W^85e)bP4z=Hz1)GzabZqA{~--=QsS2EKo)QE!6^f5Vo`h952XgTR>q3iWlUy zEfvswQ^g9otEZZkp}~oPfuWWaa<5VyE2N)M&&tpMI<K-BOFV+k!~#_gpmH7L0QB?; z+S`V{?+By^ls-Xo4x;$uk))+9@WBsIn1QNnB9^wG3=e>6ERaV~dccq}33)sK<bF_C zg8U6ik05`iu|n2!WwJun3uUoF`VTo+!VEN?2GR>F*NF);kRDK&f$qQ&!yjfOEp5RF zGo+<0pwSXgy9{)e67oS{pu^eVLn^Q^Ls``V2{Yuj56JzXFhg$p<U_-(fEBW?rH~bJ z-arv6Lj%a4#aO})GzJTD6Da&Z;f_9z0Fp;vV*wHa1sUj!8A%WWq!If#0y)cD;CUS1 z@)l4>32Au?YzzT$$P8%Y0hE(L6%ojNpgsUn84GIdfP_I9<R4I2a)S<h011G`p;;m8 zTe?^w>sz{6A?ql5SRv=k^sz$Dndyhti4#~M=gdrmwqqu<Le80)$_hDWW*U~T2eq_7 zmy(0VNkP`G<^$bHjkpsNw5}8Vd>@b=&|Yv5ErmbqA#)-~%UeKpf$RZcSbQ@uFi^47 z1|?q5YG`;A!lum-OI={aF-n4e@*Dlo8T7V3$iJXCLQe0qSRw1)=CMM~6kNaxxfgs9 zE94BO#aO}|bY2I@@1Qgf3J3JE0yJ(Gg*LAP(gP|hKxdXn;|p{6G(F}V6jTb_5dhf_ zvKtK}O(0akhSfm<3MzTQ#VY9Db=XQ5kO0ce4rrwdr~m{F{zD}YD_t<l50IbG!*eCH z{8+&XncoNTL1}F@v>aK3B|HhuQ-kJ_qS3+=qz4q9prDim5#WG8S@!@LhlB>2l@*q$ z7^obn0SYPtKxqrPjRkTKC@hfMSnKil6&8Q!X{Q&<m@CL^kY7RPmdFw1SJ-p~WH=vY z7dVIz1h%vS%WI&d0bAw*Znq%UwIKI^{0cG`R@ZKV#`|Vg$oh^gtdO%ywqgkbLUYuh zbqVNmH6T5pFaWJ{ktZq)$eN;tXBt>QAWczYgagP;=;5#v8V<Xl;jjmq5B6dS2hh4w zP#BU@j)3%l!U43NRsnA~KvrO2n<kEjND-OrdudXRAg3pgpU}hcFf<$wLBkKk2bCj7 zu!JKhJ%Yj!mbB6H6ru7%iKuYIR(_Bdki?cB$MN_T=3jKb5-LBGiSjF{<p(^Cz_Ja= z<;N*#e4mEqn={bz<1Cgi0OdQ7|3MfO=jdTTsQgeNDh$XfKQID<)bisZG#oBN!{I74 z{a<5cXaJ49mfJHh=rXViDhPnido3<Wv9ii5%}p)JOpedV%*`w*wuuKFUT0=vXJwU= znVwlv%%BfdF2q2Lazg_KAqI9qX&D9vMh0*jq@<`cl|dLP#sCpZOUx-wMOPRS6zYnu z(9O{&*cC}(SWtjpJeoqV7(}5Z1H0f`AyA}Zb8Bf{ab|j6YKj8FkD0~s5HSWbs5c$3 zdJ~IQXz*A-^$C-v&(MHD8>&+Rt4{E-4~STRMH(9siVY1I454Oo;#HoTSP>8L29lNr zf?8553i9((^GX<up|+?It;NuQ!3e5}p`jUDB*FZho0%66x5xyp=Qgo=3=J4`pt?-4 zIuCL}2qJ{_psM+aQH|seLHz1b!Wiy%7Hr;ty9lHQ?spLec0tfY1vKk8Iy<`tgfK`z zMVTNO%Ei?$GTz7E+0lmq7FH&VMB8C#z#s-Sj~QZ~v!joXlcTdY+%(1p=0Et&Lyj+4 zW@2nO`;TZ{h6W6>4D5op<Uoryoc)91!(4-cJ^lUSeI30(JR^9j#vY+L`FZKkb6*g# z3QMBcV-=egLjwkLXi~r)wWyjvaRtvqFpUgY;}=sSJd!~L7pP3e9%;BW8X7RbwBm{( zG|kA-WDWHvu4uxo)zE-Jnt@&L3TO-;lKxXt^YV*w;}esLK_!C>RFV-zvY;pxEGy5z zE_f56wJ5(dFD1StzdW%hCB7=PD4#(NssO4TrXW5qHL)nQxP(C&YCHqP_;|n4-1wx# z;#AO)tHtpUr!Z)sRt8uV#pmP~7c;2hRhgNWmYJ7XQpuo(S6N|cW@<^iU!os_7G8Cr z`X(_aGcO&i7UYw+h#CvYk(tHuNuYp9O<_>PX<%k?d}>8vGUzfIc0teu&ddw}`Q@oa zp~b01zKIo?xuv-bO89hVrY4)3T7m-<r!zA1N>bBPi|`wio1apelaF5w$m^*o4C?qC zR9ujnoSB%DS(TcCCk9J0^D6UFi;LrvQq%H_Qo#uZyZcLu5(|pKb*+IQs7>PK?-cLv z<mKud67T045+CFk;u`Pl?-vr}?-TFp=ji0)%Af*GeVC~Wk`RkaDsxi7^%%%VCI);) z`Z`9$J30EfgnPP#cz~N;AU!O2^|%B(2gHXsx-)?C38+-SbO@xxVK87|7X+Edj@P^} zM;}j@csCzM_h4{R!e^wR0XR2cSAtU3fiewlW$=;>6xoE8;kOpK%)(<Hk}^XBaFW1o zaZzGQW(7PILdzI%&dbazftDjkxew$~P};(&5RwBy4#TSqmW^P=2u|~$SqaoW#A_gO zRsq$xasr^KFmQbfwyP*HCmy`kG%>Hl2Ht|r%q!8cu(Ps)tg!_Z4xmtCLMllSp#TXf zO=xM0>|k&+4H{M%iSRNPRP>pk=QB@#tl13I;6nEwc4Hx>G^is&&}`(ijx7MuEr1v9 zpvEF0*C2{`P=5vz+~7WrqmQS%AGq8Ah2;fyu%NTQpP#F92&4rQ5g+X8=i(X^3@#yY zs|tw>a193MYeJ3z6{d)KL=sw+Gc^1MTkhx=3AK?y9E%jl8hA!$YGC*U)`aBZ5a)n+ zr%*Q^S3d?&^y703QdR-gW+1;EU`01C)CF!HsNn!o1f8w{m5{D}E&=|Yej&jOplAR~ zLj8f{BuD_pySN5B2YCj7!WEu}kqb!V7=~AmpmYf__8+>-KtX|GD9FDMwSUpof_#B& zKSJprbfrH2?kJ|hS|hkJQD$*Gv@S*j!Eba!T|9%K0TS=)8XWBC?g}o@K`9a1+lESm z5?zq1k0-c30~I(RCD6VCk`g!12v?VQAIA_^Kj%nzMB@ofaJiCN1WxK8BUzx`1w>N! z@efBa5TuF&Llwm05RV}LP<M}j&=7D{4^k?Cq140E-6I}JC9I@lfs|Na7vV1HKm!?& zk`5LDczg#fctL%khoFfJh+9B0>F4j~${@wSE(j8b1~o|B)6d!8*VE4(E(Z-`keq*L zh`T>X4rVi+s0U@{)D#8<23|qX*cWI71KQt9&o2QL;(4jbC7Jno;1<MNAy7jGT+V}Q zEwmJmTrChPW6|4Dpr#MVcwB)5X-$E06R7=;%R|V`B#?=q+=N`gAUhaR#lRvJs)|6Q z8o{eC(69)|y-=5+jb(v$Ti97yAqIIs4hK1g9g=piD~GnNVA&ArBz$TO4Zx-P3}MhB zHgLS;rsn1sRmSHRrKA?c7pE4+Cl{B%OLb`AqM29@a&3GGihE(f0`(q&U@=4q7LY#$ zu=*2W6V$7qniZrRnx$|$45Hl70NgMI<yNRq;-Os)8x#kC;svSz&BUbq{2Yisp*ao~ zjf9j#vk5F3p}~UPbckaaV9|)zXoy;9BeY76fq|JJBp@C(2ofI<<mn&e84?-q=?89K zfCmea{7)cW4B){68k>2G$h~L|hxiV>M+g!+5CQnG2liA8Q3TTk@d<on4twIorp3?z z>?@G#um=^q0SQW{DDH!ev2b8bZRq--E;NO<O0c^SyCy>e2DAbVJp?oIi%@eAs0|28 z+Stc`ilOSEZUQAkkYeol097$`n23n*g6TsPL!e{;vIl$ig!>()5$ZZnVF1#F-E}y0 z85%Hv1`t8|6d=(PALis45)4jMxE&9QV?#5v(g+mxAcL?w8%Yb)!JytLNIiB3W2iSY zV9;XV0Z&aJ)qkMQNJ?T!BIpj+_|&|V%*4F-63`fsHUkfOT?sNW9;;#*1|I0d0LW-? zvnnYw9cmr}sEl}vGh1fnp(ZI!1|GqB@Q@7_vs6GsMUe4}A{B6p3KRnJkf29Ptq_Bu zfdxyb*hlP<l^Pl_fHDur!31(DL>D66!G@oqDFMwn@Dv2m26Y!Ktzvf<Ry|1B6zV|C z0uodO=pYJ4P|gE+2z!YR8izzFabOhy_HczNhk5{%YLSe_;S@yO2}%s0IK%E?6tjsh zGojiLQ2{G62}A`{AJi+LXvgg|cwC@pg3j!KLI4^WXweSJG{#0avO0F>A!&iS43^cg z2O5TYLj!nY2z!iUo1x=p;1C3@--r**%quZADq-Md;1C2|Zsp<V=i=kaAi%&OD9pgX z5bu+pmktU81_=fZ!3kE-hBWfsi=cJMg440dSXq^1=BB2=Zl!b0D=DgEP-ox}oPu3- za$-(SQetv8M4=1=hajl=5Ra|(zyOj3&E$ZKpJ4RM-qjd51cT)m7*ygzDhpCwQj3#| zG7C!bi&WxMD@uwIohnOGi{p(<z@~t%uLGF^@snp>3Cz6=W(*vHX9XA-;^WJbi%R0l z6613+i%a4&i{pz@(^894^O93-K+yr)gbbnWz(ECCAqO%w9ulBI0ggeAz6_!a9D<L; zVS$*Mn^=$m8gT^${&r!IMY)DX77Tn09D<+=35r0sAjX$4=rV8!o`kw1KCz^vC^M<F zB(>PeDzz*%uOz-WzqBYh)e$DnV9CHCc!+4_ptJBxGIKMlQsYw@Oc^)?50Id>q_O~{ z&5nUXa33~p8L2r1sYNJmE;Ecz%qanBM7Y?EfkSX7`TDJ_K*q(Vf_=V?NOMYy6Vs6b z&540Sa1&Wtt*pRC#iuf8F>na3#b!oHMp0^FN@iX<!pr6i9D+-TQ)^`f*B_q>P7DjN zX-rH{FG@{MEJ;ktLGl+UMrRSN93GPT3><>fv1x-OxuVqM)XcKfB2@qMk)Q!?6R14s z#HJD4ok8*m$Vs(CD1@5~Dg^on76QiLqOXvJfgvC?JUAqXL4$z<JP&|xCIT}4FUG(j zSR&8BfL6#bfC^Voo5siA&pkdMBnVuZf=b&^xQI9dhhV5Av><TJODV_)waq*Oz-5Px zAOk}HsMPaub@U4jh<6Y24-H`8Vc-x1EiDgl_HYaW^S**Y!#&i~g+YOVL$K2tY8<2> zgC3RwTUQARX3#bwP?-c#09liXQFKZ%a0sfxiYVy77_<yyux8*8tOQw#r$CI42bGmM z`N@ensqtWMr4|({XxTAvGjIqhGB7ZN`v<u&$TDyUdI~b2^bB47!aRfg{o=z6!2!k$ zE)YRANRpWexJ+agU|<MvhQt!cKcE3@q*y{98iz!Z9H=yuV_=964R#HRcXST%3<LE( z1A<(GUHzP08AKR31O;IJg~bGe5Y(}t;EFHJ%quZ80|&VfD4l>}kpYyt5(uU)1F*wE z(FUzOz`+1ot?CpR;>rMW9O#%I@Hj_iUO{O|d}c{%QDRAcQG7{aIykf2$wS*3@xht7 z1v#nlpu(=$2JAAJd*eL=KtU|ez#(XbT{)<pvSSct;1Em}hMDJ+pPZdp0`|#sL71RZ zW=VNwacX=<VsVBIsOE<)17OHt;1JXogQ*KkO$NC#F()TK*#_+X_^{Mu@GJ&S7wUl3 zfwh3Vh|LcQb_#aj)B(ybVCC_SCHc9T$??hgrFkW(Me!xzTJ)|A%ptJ(YKCG44#7Rr zFk$EXT+kGGacW9@L1JbR)QRCmi3Ras2S5bCOt4$P0i<9DaUv}9lqKds)S-qwOs%0E z11KY(g#{is%)kS3b_|jX9D)x}90|(dpow*Gtb=Cz!QKNahfcG{LuNzgfa)Sqm`6OJ z3Bth82;!Ea#JrUJ+<4IO<i*7(=|u-KQRslCs4#^gO%(+#EIOc4YS55?Sr3j`LnAu| zJq8ZJY<Mse3{VCe1`a_Bc%mez9&}g*XuTh}Wo5?zDvt7CDK@pRG%+W>B;TeiKQqOS zL5YDwFkcoLPG~K0==vXU$#@DDKk+Du8yxa>4AKl7f=Mt_(8hql(R&$YeNKLQW^#OL zQBi&o*xa|U=tZ*|)E~2Bh-2Uoyata&Xm$ZlA;RMf5}%-a1IkJ`5*udZ*?}_&sI?&m zb2pj`;N2I<um?C4Jz#FhFH0>-%gHZ?`UF$}A~GAOKVTAH0`}hynCYPO9$!+F2wKw! z8}MXMWZ)3wfXAzEDY)SQ_ZqnP0#%T@us{N@Qv??c;QS35^G3=5$iv*A!uN;>G+v9r zXMTY@84)n|;PNf3r^BGhz#(WR1vLSY$FT$@g9-zOpd1c^LH-7h+%Tvza0r^hJd3m2 z3+_*N!IDcnTGjz~eICH90+|g9Q}pNp)sC-Vi56U_pcKT)3><<_V8MzO7Vzi+b&$B> zPI1o9D@n}EODzItV*_wA<1UH~unYsL*FYyZfa4}9GbOVKGFy_EgBrJ>staEs2J!=* zI0gkMJZazvPy<LQ8YBdb$fU%S_|%Hz)B^DA4akEZV5uZCuPiYqGbKK;D7`cnv}g*{ zU1fu%_?*<d^pXr{dIzQ3bXY8)g&wp>0F~V{V79_-j4voD0+-#0+ybqd;O;L0Cnp~q zrh}p!JURfb!PGG<02f7~@Hj(BKA`n{9D>GhNz@26Gy*4i791AC(-+7Ec3|7#i5aw{ z7?LYNjYvBjCV<kP9fL8bX$;E+@N5N3#o!bJ7loAH3U=Uff**&m(BcWyEl!682Pl@o zrhtPZ9u|kCc_}Ex7AS&cV3PTzCGq)b@kNPw>8T8$>=BH^LU;)Q(hizq0y`Rch6!Bq zfsW_`%cSKOfmhO@w8}uq!w6<|QE48ijS5X%pfIdK@kvopVr6_@YI!^)5i<BQa0tr4 zk}a&A0roGnHh{Ft!TA&%FU8=Hgw)1hb;!*X1v_w=BabCr6cpuGRDxyq!5oyAT3nKf zoQFVt9b+6p1y3}fAxs8u1`a`ZnVghZoS7UCDVdR62TEPA!~kML8&epL1}8w!=n^=H zi%W`96La&^(!k|o84lNg5+J-K3Tkwf!Xp3_>CoT@6*@++k}<P5KCLtlJk<+!B&4dh zfi+#woCS8&1Xz(64{oPq=9Pe(FJ-W*1R@O935hK*6C5E}>J|k%h6n}@LC`)Auun<V z4Q~ozF&pe$W=3eqm{*#UQ&0kG8#{tJF2rV0EaocMf%^lXGf=>8#@*Ot=x5*%Tn7&s zQrp{D?S`asavDTBhIZg0&=p7efv09rLW0E0cUTI7*$2zykf?=;lGrQ*bxeQ2k|0|3 zf;?9Uu7YpE3WAjU+(gilJ8;_))FQ=I(t``dNwDmWl>ERgV$iVdUpZ)^i1*9P0heZv za5x8?N5PG;f3Q#k387?R1_uTX!P$~9BcaV$Qo;mW0o;OTEGOjtC9Kf_ssN_I+yE&M z3i68?yg*~cupVa_xWkF1&j?90NI_9lkQa~IGgh!;0QHSEU{;{T3%G<c0*!#f3I|xh zjKia#U;=eiK|`%dr0KD;ig&6gsRWNYfrdlMLEXX<@UQ@E%m^H5uAniC_@IywPp8D< zROg(;;$p-&Hn@%h-S7a)MIoR;cF35H8|cns`1mzwSQ%tye12M5JY<L;)N~2<jB<?+ z0o%9%94(0uIgo4OGxPG}L2JS}z<URRQVVhtlT(YG^NT!Eiu@qEn_N=UGV@Z4!Q&wy z^IX6qI-vF-Xha8PxE^Up#{e`WF9;eeLs|@gkhik3Db34E%uP+v1&wd$mfA6ZhGe5i z(SdG8F{E;Ih7G4d_hH0)`UQtLg2sM80VD_-(FykO4+>!rgieZt1i-dSfCo%K=gfn` z8FqR*xK7<{2pw(nNz5(CFDd~=LUBoAZUH#C8=#HFf!md4Ca~R}plrGW<TKx-;*!LY z)Dp0!Z0M{A$fy)Zd?L?AfHbj!2H&7#YbD^eDCpV`kmDfgQR5%f(v`*GlHk;$veY85 zmqDXZAS1xzTo&MR2{a{Jl3J9TnU`1s8Vbrw$w@5&mlV4|$+9>eHDNk}8adz;{ak>7 zAtxoXEWQM6jwjSh@et?vCuOB3mw;y(g0RV0S*3s`R*F)g_e;T2GGsysG%W%;dIZ$m zDoe}(kE|&(Fff4ApP31`lj{bJ>tIjc03TQQsuOU20p}=mrz7%|5!gUbU^w~vgGOG# zMXd$YK=}F<Xp#jFQGzz-7nBsGWP<Y-DEVvz#VROH%}g?ljlg;AA}GWHd|kj{4LVZ` z9M+H_MNpx17&Rn7TLz7dU?~MO=nI;b3kdV~bOASz8bQWEeE}{NJTg;@5{r^EDiK}* z`vl~;)S@DAeg+u>x)MAbJa!BkpMC>QNzkYQxg4Y%<}zbQSb)k7k096JP@fQRku(=A zEkRqV(4DuSj^i4F1ES{ORCGuTntNcyv?FL35!8+XhbugkKqD#Ol6wQzKnjK=V$c}T z9yy4KR#qiNmGLF{@j3a)+3_V{+txyDv$BF&2kTma)5STsv=eBL2uuyaNuZ)_jwsB0 zm^{1(22Lk$gkbW)uxUN_(!`<^aIOHgbwPv1W+q^@;5>va2Z55qHBiLFBaNYh*I*Qs zCgo%%Gk^wETw#ON&iQ$;m5iX?G&o^^O~sikK>fEOu=%(rG@%0s&{04wJ8-fEc_2O> zl<~|!gF~R9d?5h_1~*Ue4i64Nf8<1&4;rN|Nrhx~pZsKaw1SGfTu6x*UjmM3&@3lt zbRE)m1*J=nNT{b@2zcHEBwz*2fC2vgKH&TWn)LurdVmt#OK7@)lrP}o4`W6H6sn-( zV?e1Jq7IU9VWkVWq&kFFo;!om4>%uzs>RZHa8DKNW>Ap>p2z{kD7X@25@uikg-sH8 z?#LeMU}sPn0-L>wcLr5BK8OMdG{yz;E67pcg4fsxoK!#+YH2*EkqRD4s6_FfXI=@0 z??8$F4^$Pjn1xqVprKl3v`h=Fim=YjgNDr*aH&U~od>mi@<>ZckR)XX_7~{*9+20O z>N>PY0d-_D2v~q)t_fxlsCoy5F?1Ro#04c}P*la2fM@AITu?NEFgPk#gD0JG%}l`K z_Zetm0dXRDRwf^-6xL7$b+U7CC`S!cP{UtO2(%8MxCE)24qk=@P8}fM#HXZ!s#j2x z89q<v<L~a~=@a4_1a>y4_Abp!ttd!M26gu#2L}~_6EmpT&w-Zuph^K$(n1<PpxRX! z)D{AT1$4p<RGY^`Rf8H6me6$Og0+^0yD-?_+1oV)%mtMa@tOHarD@>23p%C=Tm^yh zWH@F)7VndvUyziToDFVc@qwcssVIa^Co(X6VPIegU;!=NW?&Ft%zt(9>Aj4Oh0=oi zPu-7O_LzYIbheuSqtO2BkC9XTx2)f$near|eG&shHv>rhv%`nZ6@=-$xyhS(N%w!? zDFz169i0M<7FkNGQ~YMmP&j@_|6J_W5(Wlo&{?94{@Yjh-T%MV^Zlx6Gq_f(&ShZ8 z0gLa+)#<e2-DhMdR545K`m8?;3_HQ%r)t^K*%r=t6*+T5%c>3MA{ZFhm_YW1PCb42 zZEGgO_brUe;;-;bXJF6<i?{qN`(I&|RnB!rMEzE`?M4QMD6n|toZDv6+-}~idGj-D z+1~RoFtmfkCmlYSwIxVkzoM_i%6F}0S_}+Z!Q!1ySwz_ie#EYi`faIy-1<2K!y~Y` zV457uQAd*^+Z!HrZY3<?3=DkCAos9~y-1S`o@D;;)!bD+Qh72A42EFwBR+MO@2su- zzHL^NJ0Qrlf`OqLEbd!7<L<{PuO>Z+{*>jzTXT+qVHQ~2aLu3Tt#7YK&OPs<Q8C-; zAp^rnu(;D&)?1rbE0}~<Bz*dF#%&t|gE$MwUfoGHdmnl4_$2<1bLsaRotg{`Szz(m zuB#2!Y~R|?a$LUF<lfnR3=I8X@sm#0iK#!>MV6ZVFluet#>>F44lJ&n;cr=M_P?&- zq4?q%<_63R4Bx@xlUjp+?2_!6V6ZKIA$PXzB?bmZR*=0X-RHm5)_jm~<W|>|^9?D? z3=BD7aibk<vnI2v9_^UCu5y)8Z9fCU46yj6>dPnpf9?NL*)1==xhI;9f#DfgT*dje z<ej6fk2${au75A<<HNvU!3Hwlyw35<t!F>&R!DAne_m-m2LnSBSe!Yw?^9iX8arQE zz$@W$kp&D4x4`1l4#>TDazJ`Qg6w2d3yar37#MWeLFO!-o))x)<?Y?Qi`D+mn$oeD zfuR8`?qSW+YnS#gwEE)mh!ZDrr!z3D0*fzly{jY_u*Nmge0OtI)M5t)hTC9q<ue_7 zWv2ulIv3yM%=R$Pmw`c<17!aEmSz8otN4V!T~JsW@gd_F1A{+UytwB>R?n1Z-#M}g zvyb1n6v4ny3l?9((mJF1f%N+L@UU5qw|1B_Fl+*gyZI$cJ&yRI!&xBnpx*Syeg=mB zU~%2J%()-;-I#yo%z57PM<xU?FnDl+>|OHbUG9;M+v^US)W3eb+SZkUVG3CM>yerh zr}CIW)@h_3no!-K#lUbFES`T<O2hhs`lUaMFJ4*IFx8BK;WJp=z$Re%o=HAe)OIc6 zsTY&fVPH_?0+}C@);#s)j1w`>H@)TB(A`|Zzz_%)UoEQt<B7fM<cGI@i&;1QJjTE< z3oI^Ryxi6-k1hGe;his+t=_(df#Eagd{fW?vB_331x5MkMTxlzX_+~x#R?h~7G|0; z<(YXY`Q^n5*_kE9F@^>)nR&@Mr75W~h6Z{DdWHr@CI)&2F{Q~xB{9kQMXAX}CGq8% z`Fa@)DQL#U<QA6|8yOgy#*`()4Jk{84<^HAIrK6ZC~`?I$i;ajlo|u}5U5{H6@y?Q z1FDFrVPJ7(aSX_;Bnk~H&PXguO^Hb_%}hy2P1DO@NCU?jsLxs)18S{+iFk;zd~jb@ zFPXTgEiOrc%p(z}yaF<|PNd?}lFS^?o_eAZSw(RP$almUota;pR-S?*9FpPv4+_H_ zoL`DdQgSjuF^DhFiOornum<h%q9pe~A{vx~z;pi8@Fl!dfJ88HX$)6Fge(iB)LGyn z0<<oLQiDK+L@sz3me^=Y&P^;KvTV!&pQuDpVF-=R;*z4ooXqq*YIqkZI#a;qJSE8u znhii#oKe$l#U&}3`Jio&X_@KNG#4^yN@Ww13o7G_apsCt=t9Y4*lGr16Iw-XZe|{6 zAqh2{3re)aS`3-AAg-{jfP|<4ajFrGg}l^q3cUr*8K6R-q&S5_!=TBSTKS=}I0iJH zN^F2vl%$gqKNTfKhRON4x%qiShI(R3Y8ohk5?9wIf|o8DP$NXa<8st62wr9-=jVaT zER_%g1(npK0tH(ImDJ1v1rXmvL0cgXERX~dfN+W-918_)1zQCMkV0}aDySG4gKaS~ zQP2fjL%C7LMpQG(5bi7m6(bX{Lk*2AsAs$x^^BsPr>W;ZBLk}W&l2W8ctluIBk&+` zYDPVGn!{WLcc%sQ3^z0|gGCP9ctZnoSkO?Cbszy@Xh6lFfahoi2GALqpu?`&7<>dL z$uls3?uEI>z`(%H@PL7V0mR~Fcmic{F%&bx#LA&8E{0|(i<_Yx%Hm>}17&eDEP%4O z7<!l(7(h3SurusoVgQ@O&2Rw9;$jeChRAX=NI+R!457?0b&*gO7sGt0EH}eqD2t0> zJ(R`Guo=qYV%QI5aWfo-vbY$|Ls{Gmm!T{!hWk(!H^XBni;Lksl*P^P8Oq{f;9!Bd zj|a-)Vwl0g01hQ~h9^)KH^U1ki;Ka56(Y;c-~wfFF=VhZFgyf@?iMJEn_&l(#l;}O z29f1vkb$ze7#!Fb7#@Lj^gvnM3=^O%E{5l93=9>F3=G^1uc0h1hHq>P44~NIX7~kV zaWSy6Gcc5a)p0^uTntX^5R<tX+@LHjh9D@5n;{I!;$ldGvbY)2pe!ziA}EWSp$y96 zVrYW0xEb1@EG~vgP!>1CG$@OUVG)$Y&9Ds0;$qkXWpOhcfU>w4YB(4eK(`UGGn|03 zxEansSzHV*oDf-V2GFP#NF5hL2`2+Mt+F#5fU>w5jzC#l41!z?4AtN;5QVb17!<e| z7^=WxDo_>|gFY7nLnT<u7|P;eh~|Qr%*_xFWpOc-Kv~=j6;Kuz!xb(D2GFfJ><kLr z5EeIs3Y5jgun)@OW;g_8aWR~OvbY&8L0Mc3FQ6=LhBr_a7efRO0|V%;UUr5hP!>1C z3Mh+<!G;$i%gx{bWpOcV;bmZW4o*1?d=M5l0}GVJ#SqEIz)%PFWh|7%#gM_rz)%Yo z%Ym}E7|Qt=7;3;`)le1}!zrjK+zjWSEG~v8P!>1C3n+_=A%>rU0d$WPJHrYni<@B$ zl*PsHpPzxD5o|JO%Mggg#Q>U2XaI|W<|IHYE(Tcv28MdDm?D(L#ZVvsF`1j81j^!K z=zy}g8G4{BE`|>R3=A*9VF22$1!8eCI0!<-xEL-#S=<a)pe!y11tA88S704EP!=~s z0hGnX@EFSCW_S)|aWVXXvbY%-gduvl7(#>@7+!--Spa2mGc19!xEOduAhO&H0#Ftg zLx>0i1LzKBc7_E|7B|BZD2t1MM-(E<%^(0}aWRC5GBCV_*a2m6Gc19!xEM6WAhO&H zx=<DugC&&3&0q^<aWRBIS=<Z}P!<=%7BL2fcVLql#33wh1{Nrbi=i6I;%2CavbY$g zKv~=jGoUOkhAZL>4DZ3FC`dq9+zcvE78k=DD2tn60hGnXum;NFX4n8_aWU+HvbY%z zKv`T2XP_)@h6_*@7sDMWi<{vAl*PsH2Fl`Q_yA>bF|bI&+`<86aWRxgLdKNY84f^M z+zdycEG~u=DTpjLLk5(^#c)LmGP}jjpdbxlaWkkuSzHVqP!=~s50u5lutS=G;VU>a zSY#k9ZUzo0i;E!v%Hn27fwH(5I%F6azJYasR`7#Z+zdCMVq6RsvJhEr1{)}giy=Xl zfdO=X2|L3YD2tn61C+(Z@J*J1p#_|eenDAW46Jet;QE`JffLH&Vi1vIU}yrXlYp|g z7(jdIKqhlDq{u<+;9^)H$G`x(<&2%-4V1;r@Bzx=V#tw)$Z|6jKv`T2OXL|Ceu91U z0m|ZL_yT2dfv@5Q$#OHaC_vP4F-(B6xEZEESzHV&pe$~NHBc58gM=aj!!NMODNq(S zLk5(^#lWcqk>zIKg|fI9RG=(w1`Q~Si(!ot1H*5yDL<erZiYWl78gT@GDMb}p$E$1 zVweGCaWl+;vbY#FKv~=jTc9j11_c!c2GFf(><l?j7B@oyl*Pp$s0xwgW)Ow4xEOSx zEN%t^D2t0>iz)-dU$FZa)F3Qw1{Nrbi(vtj#m%q;%Hm>pp~k@Q53IvP9m3*fuz<3- z7+ynJ+zjubEG~xMP!>1Ce<+KKK|}+lR|3l7VrbD|U;y0}&(3fG%Hn3Y0%dVAEYXC> zax<)evbY%bKv~=j2cRr2hC5me;OSv@1`TZpi<?0Q%Hm?^fU>w5dY~*Wh7H;b42+DR z_URueiyL(58d!{rAy|h2+zRDp2#2z`7?N}t7&^e|IStC<Vkp#MVCV#kl|oru;OqC= zz+x>r3=AL^7el`e14AoVY%-L^#UP{$aRE1j7?j1upbuqnGZ;fzTnrvi7B_<rl*Pqx zLYIMo3G8|iJqU}NK?2I+V%P&^aWfo%vbY%j=rJ&WR*<tZc<4h|+zdWY78iqn0ZdE; z%Hm=uFkoO{0o$<$%Hn1?0A+D8WEetZxfybxEG~u>h71g>U>!FM85p|2{=EZbaWQxr zF);Lj#eAVGE`}#Y5FOkMFQ6<g1_fi7UKJ>di^0yAfuR?y*9pqvV(>L)VCVsh1wvU| z3^B$G4BcR{1SpG(fz<?N2Pc%p#UKi0aWhClSzHVTP!>0X36#afu)>6afeq}VFHjaY z!w)Eni=n|3BFoLt0%dVAOn|bu8Kyv4TnsCqEN+H1P!<=1f*At?JJ{qLD2tn+0LtQG z*lEVVFcIvJy-*ex!wEA6hDl(tGf);6!*w$Th6!M?+fWu4!!t7mhJLWvD=3SL!NDA2 z8#jXsl*Pr+Va~w70d~O^D2ton29(9cplQLtFcoZyE|kT^U}3?)Fbynb17&eBxLYtV zOb3g3Ls?u5VHOMwQ@~<TP!<<Mss#hXWUyE!l*Pqx!vf+0ZiYKh78iquB?AKw*i}=Y zEN+GwP!<=1j}=6gn;`(o;$i@uFTxAf@xY3K0mR~Fcmic{F@UZkhlqjhOa-yH7#cvg zr-F5yfwH(6E<jma3=TF7418dhx<FZ63=K964EzusP!>1C1t^P)!NV3J%gx{eWpOcd z*fKB(gLPbivbY&;Kv`T2J$4XTZiWd^78k=AI|c?3unq}(2#cFR2Fl`Mm;hyQGfaW9 zxEOZWGcbsPb+9-<SlkR8P!<<M1(e0jPy=OgG3;<)U=V}oaD=e9891OUE`|mui<_YZ z%Hm=;;K;xr1=hji1YvPA2tZj}3|pWqZiXFD78iq!Gh`(VJ3|MQ#m&$IWpOclfwH(6 zen44V3@R=R3^HIl3ZN`*h7u@?i{S#4#m#U9%Hm@9;ljWm3)bP{3Sn_GctBZP3~Qh) zZiWp|78k=6R|W<-unq+`2#cFR1<K-L$Z=y}m<5jW0w{}%q1ugsVJ29t9?Ifk=yGFV zm;n~+gR;07PD4%MW;hRJaWOoBvbY&uKv`T2D((yn@?aMfKv~=jB~TU@!xt!vo8bqP z#l@iG!N8yZ)=>dvaWm9FSzHWUo)B4X20kc@i$My?;%1P8vbY#bpe$|%3n+_=VTmUL z1L$sGc7_j77B|BeD2t0>x)(&2n_)JT#l^4z%Hn3&0%dVASa>rqD1qJA0%dVCbU;~L z3}QYIS#Aa?D2t0h4a(wX(1NnK7#yH1ZUz@9i;H1{4+DcT*yKM@7B>R}XhjPn0|OVs zVknE7VL6n=#jpp;;$}DiWpOdM_%Sf3fK8bIWpOi1fwH(5O#C6T+zb{_78gT}KLZ2k zc2IVP6Hpd6!x<=xi=j9GBFoKC4rOsMG(%b34DC=B7sDJVi<@Bql*Prs6Ue}z26jsX zl*P>u17&eBe222Q8Gb`qTnqw15FOkMB2X3=gFr9?gF4uh7$}RIApy$bVmJV0aWfo& zvbY$21T!#bfOWWpKv>)i9#9q+!`u)ChPmMMyb#LbVptQxz%UOiwgJlGV%QzRz%U;y zwjavkVmKAT03M&?W;h3BaWUKsVPKdIR(BW5;$jF0h1nYdWpOcNKv~=jIZzfC!+}r+ z22HR_dBPwpZUzA;i;H0kl*P@k1IprJ_!7pzpas_95DsB+Gq^xmTnulZEN+GmP!<=1 zP6PvkHdsdml*P?Z17&eButh>-xf!^iEG`ByD2tmx3d-VQFo3eS8BCxoE`}A63=BG8 zlfOV&+zdaUEG`D;C<cZ_;Baw=vbY$6q8Jz!gT=z2EG~w`C<cawV6jvvi;JNkiUB<O z$<0s#WpOc_h=SP0&2R?F;$jepW?(P?yC4S2;$}#IvbY!|Vj!~I3^Gs_7ehh}0|V$D zZgz$>P!>1C1}KY*K_eC-%gvwzWpObC#4<1#f$f+BWpOhsfU>w4MB*T_+zb*>78gTE z90P+fSjPe=i<@Byl*Pp$6AzK)W>A2#xENyM85qpLI#xhg+ze}=EG~wW1c)p*Lk5(^ z#jqrSfx!Z-;{%k%&F}@v;$p~2gvfF;6hK*A3{w&r7%ag$9za>#3{RjeE{2FCh%7fl z43x#iFe8b90d!9_JHrzwi<{vEl*Pr6kPMOKW=MguxEK~BGceeJ?YNN4z_0`yt5={b zE(Wd?28N|zF+M1Zi=iL|qJx{E1j^!K*pvd(yA8_XVvtCMsgr@SxEKteEN%u9D2t2X zL@EP=J=g^zX%H4Sg9Mbt#n1p{aWk|)SzHVU(ij*Vz&d!+AuMhN0Vs=$Ap^?dX2^lE zxELm+GcY)Ub=-lnxEUTmSzHVr84y`+1|KMki=iNcfx!u^V-J+Y&2Rw9;$mRWWMEhU z4i|1Hi;F=llYwD5SWF7a;$l$EWMEhZ7Sn{XxERthAtrM(WI<V63=L2gH$w}Q#l>(S zlYs$r$2dC!PZos5%^(0}aWV8jS=<a0pe!ziBUua#E?_qcWJ6fo3?fh#7sEm*i<@C7 zl*Prc5z69b*a~HFF`R+2xEU@$SzHV@ISdT0V3RwbEN+G#D2t0hFBc-q&0qv&aWQy6 zS=<ahP!<=%g<J*(H?S!(c@P#ig94Pr#jqC2;%3+gWpOd=g|fIA4nkR63^$-GZiYKh z78ip@J_Cb0*yJft7B|BTD2t21ssJL(&0q&*aWRBIS=<Z}P!<=%odO0153ng3g%B1u zgASC%#c%@3;$}DlWpObG6frP(f_20|S=<Z>P!<;hTQNkIn}G|;;$jekvbY(fpe!y1 zH7JXlK?};_VlacUxEZXVEG~usD2tmR1j^!K_)*Nj;01PpO9_O<&ENrLaWOoCvbY(Z zL0Mc3f1oUG28L3I4lag2r3?(-U{gHGAS`YMA1I59VGWeU&9DK=;$pZ`#=zhM)}c@i zVR194Kv`T273B;JtHJ5M2Fl`MXfJ1ASOXU8hO)RArj;`=tObkBg0i?6mX<RxtOARz zgtE98wv;n4tOSegfU>w4v@2lt>O)yv3@%U>H-iV1#l<kEf`P#o?9vxd7B|BiD2t0> zLM23&n_&u+#l>);l7YbwtV5;>!s2F7fU>w4jzC%53@4y0E(V@z1_pnyjtD4=n;{0u z;$nCTWpOjSgtE98zCu~t3_qbPE(U=bh$-9*B2X3=Lq`n*Ljc(1D^M0U!wo2li$SlJ zfnftUT#TSBE(Y6L28NAbF-Itii@~RsfnhyZEC9;lVu-F~U|0thi-)qf7`D_xY~yCw z0cCM9{HbMN2m!mmqYlF2X7GWsxENUKVPYIm78iq0Jp)51SjP+~i<@B%l*Pp$&;XI; zW)Ok0xEL%N7#PC9I$EGCZiWshi;Lk8l*P@!&<Ih-#bDFOzz`1B(E(*~GxR`NTnsEt z5Ls>p4k(L@!KI0TAsVb>0+hwgFa^ruV(@8($Z|6TKv`T2J<SXZF<>1xpe$~NJ5UxE zLqH2emYX32%Hm?EXklQ81?xBhWpOi{fU>w4Y+50*+zbv-78gTJD+5CuSjPz{i<{vL zl*Ps1(gu;`X7GTrxER!DFfiN%$D1~k#l@gLpMe2%|1UR#Hk8H15ImoO0kn0Ln;{&^ z;$mo+&%kg4thWWq;$k>6pMhaM6KGcT0+hwY0J=Lfia}I#T2ZB{*aR2P4nbpY0Z0GS zp!<v6&{iPFCuQb=S0U@AWERD^q$ZW7$2jK~r7D0fZd7p2$xO{FQSix3DoQM>)GJ6y zV)*>&BXq|X<N^lB1~}LbG0+JU>6yi#W7VL$gsc=4{7Xv|^3xO`tI_nhu<I+$D@w)C z>5&NDD6Ei|U!sr(+Doa&#Q@nBiMBJ1F7`rqYoWLwB1V+;SoM+MZLIpS1R8p9W7S8g zy~U{|SYj3uHwut6p->FoO{<_<te{#9KaCqA2iePMWd%Bz4YBRiN<kr{C^I!hp(J0S zC>129kO<m)2i=tl5>_n+CjqdZVD=QGrWV0$0j;WsrVWMCf|SIPREV2kVnwNirK!aw z@x|~Heo^JqixNR6;3CPQ$|n{Vm*%FTXa~CmYCg<guxP=)u?;=s6uB5cc@uncGFtiu zixHQ+klg{<^lfEDbTlJ{8%!_E5AnEjGD_IM^bu_*C{2JcsO)272<?8;{6=KQnKNh3 zbh^Ijbp6oj`lZwLN2lwbPTxP>u78e$lrl8eaxj!Acl&Y#f@bR(nvbwFA7BiCu{&LV zbcg=v4E^w${kZD~kcMv8Ki$3`Iz3prL;rNU3UoSgG}rQgP2j;{!k6yQFP))pKqi1D zxf#GFyy^51=??vK+(`mz=y3;`|NsC0@Amz3+))9{0?Dd?S+0MMJ7|DeAXyzS3nXg* zW`Sf)z$}og1(*erwE?kqfYL#?@1L|zM+f6e-L8MqIs=@HPj-j?N$d1-0fmBt2iOH5 zy*^+TNH1u2A|z;pyInZ~x_$q22eJe~Lj~ev;cizRh=d4SA`9fX<^w#i@Z;!q{nLCz z#QF_bXZO?CLp%(i_yFV3?l)QgGeB0RECi7O&2I$4pwacD)Aa=;(!f&2M+16YzoaY% zDeLt8(CzvG5_#ReADSy!7)nIDLqBvov2?n===Oa9kB08h56x8~AX(QB-5w&HzE8SC zpTOM8((U@8xk7@0zeSgkfuZ|Lx9^AUK#ibo*AD?;H-Y&&Abz)p1ju;CZZC=M0Ga=n ztiM2f^Q9YPtVUpW=!YPP77*V6#P4>J0O=R#_LS&$lKFoDp#_^QCZyY9f!`KhP(WcQ z5rI3T)AbG1$0{JZVLpC?p#{n9z8|_hB_KZc{gToNwjwgF`G^c6b`OK&6-I=1zX?3< z`Uk{?WVmhzmhPvqa7C!{kc5gPeFmI=E5gD9duuy($}uo7fYZk3)sfI70nW%jK>4>+ zx!d&zC^Ad9yM2Gaof-NAn!R3vn#>@DCFU@NdLV^?EYOJilEw626clF7M_8b71xvy_ zFF`XR-L5~neK|TkB)WY$AYl;tquYrk0Bni~#FSpw9+)P9?k~N*J%Qb!9NkRaz8u{F z0*GYe`=irQrkf(|3f*5I2@Y<)2&(xygcKMMQeZ+zfkjaF*??Yfpn(G<A}T(v+xL(0 zSun5pNChHU9AW|2MxgNR`TzfaDu}_rz>rj$mX=zCQXU|um#49ZSP+tD&Op+G2&{y_ zQlRti_i$=GS;F)>ZWp-JgA{h%zJHo4B^XLPvlx0qKftm-NB5U3MsRV}?V%C~D$AV= zAf=f=P`4vbKo$eI%##2W)<U2Xz)1m~doX++hf>BJ=9h>2_rw4Hpbe*BALr$lWBP|D z?6~U}P!>7v`U672GE5c^G$dI%UB7gLtFGqS9}J}`kf_I#WI0}|fzo9tN2ee--SU8I zs~;e*cm#BMae#d5`lHh+Ag=ic4^lL7pg0c{-bnGmzu%Ro^*{+f|9)SN){`ad;Qad9 z7i5+bNAm-LQWoO_ukE^h|M2e*bZEU)%Fn;wm810lOrZ)~rbHYf15)A3gD{H8_yDMa zKsW-N|FOq+w<|{{s2=_U4kG^jCt6RIaCe9P;otA%)Ow%<<dhuHMt25CJ?8|fhAN<G z!1n{Jf`Fxg&_CTyDv-zr6~%wLJp=-~19*a<$wLC<M@Z?f0MBM%??dWU7vlp2Qp6z{ z1|re~LH{E8$iesk#B!(Z&_B&pP_MaufE7S6uYu}qP!a#9+XGZ({ONWQ2<Z0W3Cse8 z47is1(+#Pm5XqYu?|||bC{Ytg->~!pi7!~Q1L1f`l*>TU9oYXIVHg<!nr?l6yygTK zn;f04KR`L5L<v-f{QxygK*^lr|3zrg-Fl#ewfV&V*DSBk8y|>kKEi=W<M7G{Ql7xv z2d$q#p(WE9paQZH#8&7G(CGGsBr;IV0B^>CjX|xyko3Uy%MjEb2CX0=0ffjS;BrR* z<i9`NPCW3E=e0h#RN`oUBv1;oB|ybGP^MH2WIv_`u>V;Q{yzi_Yfw=GazC2=Uz*=Y zbf4)C<pGr(0-cU5-Jv3#fgIhg5}l4b-Jvp_fdbvG3Z0H3AZG}I2qyu!<Kj?)2-zl( zZP4-?d;Egx?o!s5pm|w{pTRA$Kd^SmpYA|VOY9G*91i`{4atiV@Vwal1>|`TP)qC& zq$&pUK`pUAC}~^*?p7SOK(jwmjwfgfG+Rl40t1qhP;3D=lOXjAk`m;W*bk^%z}Xb$ z;~yAW5T@cv(V+N*CMR%u7JwPX5eQ4fpdJSkDBpqt$d{+nBLpPk6af`F?hpfJf%*ao zU>2w^kOF3bdKr+K2h^lTPExQYJ-YqS4i?OAl+*#rKp5(~9YS!o4{;g;NnDWpjJv;= z#n6jfI{JPAHFblaeH(Bsf>DN}RO(1=7+hr@s(-Q=vKYHv1p>N#c|h&JAgu03?hb+K z+vYd)ZVyBtwFe>ywg-@UXz0D^<^vI+c8c$pZo$q_NcpS*E|#r*IZEWf1viVeD^H1V zx9^YUgB+c{pl)$DQ>W{X*Ox%0IZ^Ez`EHQ5AKgwIos8YSKRSIsWbuHyU*HIAKEe^# zd_(}LutT&ZK#2rgztB5;W01l(hO+RD8T{dkUY~MwdL)2aPp&+jPAQ-gGE|^5Fay-g z<6(fLcWm{+mu^>y0RHX1B7xnZ0zr^r1`cq6$OJMY0MXe=>va9Wzu)yo>wyw*=^Dz> z85ja9+jzP|1v&!+y1(#mcl`k~?+>U$_NP05173T~XgyFO((Nk{*d5A)QXuf}_x;g& zvV@m^d#DIJ`*yqjK`nm|i9lK}(E1HNf`OSocmjHT;bTM`{M#<HUMl4Vw<FU!T|d2M zGd`Kt>H8_IJM>dpXDFz(4jM>7){@4*?Lt~-D5SRIXnx38A_NXx4r`~7Qg-75F9kp& z8K8y>N8=+<7X;K=2L}#F5_E73DEI<llE%=G)8^mr`=#|{i43Fx?a+Dv+%y*fHO-9= zyxh&e!0;Mmz$OL;NUIUt+~)$j{N-GbAiU8p%fH`Mr1d}vAFQ-9KJdEkHMFl#%D>+i zWT+Up$(q1a%4U4vbplK_9Nb1vU?_#Eb_e&{5|~SEz{*n?N{qqvd;nThbq8hyfnwYv z1-bnPHG~P={y{Dh;IRdcFSPXP0crPxjSGQSniv%qs4#)mHxc0Ri4{A=aE(tKcRc}` zcIkD!(&@SfRQ6SZ#+(j<f-Uq%bCm}}Nd%~v^zZ<eVV$m9x_!5xr2F2`6G6SMdq6`C zU?ttYTRMH$bce3#4BgONyMdvEKZ~*3cLP|i({%-Cm~jQD#(ph>T>bRAo(Smm-4odD z`va^J)cx%Zy%Ger8`J^*(e0!IvZFf?(gEHHa<#Vai9m4CEdlCKLYg;-jsixFi8=xh zfm9OnFr-aj2DyrXf#J&k|NlXTgSaRD|Njq~T>`Q9AhDAQK*Iw$sd*p@I!b_Azao1M z?4#x*JfL!;8(eHaaxzq003`<D85Ue0aA4_fAS!LB0XPlr_LTuEf!Fe2Uh@&2<F26H zAq=lMLE}va7(v6xP^FfxKWgQ>eSZWZ^g_!WnBLc?QMxRLB%lQhHvhv%tvR|ug_J7? zyaR~pX8{IqdPg5`)d3Bzo!H5ZnRwC0TR}mB+pb>U7vMGy)CU~KC%au=>;lE>_ecB_ z4t~GMeFE0!X6baj(d~Mp)Ahk|*E^tCf6dwLd#CvzW2f((?$A5dp)ZOhx?S&d`#$Iu zX#^L?FhgHo&w>oSH6LN=biHug6||>>p}F<~Xn@!EL11_2i=b}b3t;7)t|vhG-~`Bm zZr2l?u2+t`{s9e#cl%0ohh72oZXR^Hp6T{I19uljV(vzaa>h3wu|P`9BH-ogAhQ`> zAf;K*A&$_f0+$fr^o6^<0WM`CIx)ModY~H17gFIlg+THo3pk@<c5%aB9|lzcPN22{ zC?vmh2Xb_Verc}#!cbxfG6yzz56RTv@;@Y~+x1Jg2TNdg=$CFLc$Wy#Yu*7aHIYY# zzyon$|0sY5VLM$Pbh;wO=#eK@dR?Cc^!k1Y><yI&>UEU?4Xc2oB#Qwwqy|bSPeAs= z#j%VwG#^nw3T+9{*a^7P!oa}r1u49rAdRh+XQbva<fWE}CFYc-LL&j}UW@SF+7mnZ z5D6U8(}uY4Mo_Qoi-2BVnZVvq1*9te3&?fdo{%EBJM;^9B<M~+x9<&TDuWCOfNLxt zh7xUXu=;d{p6PZy)9HEvoF>7gGM3cn`v)`~6zGG+-)PB92C2+M_BV2xyMZ$dN<i~p zDD@jC52N-)K+`|qWQ;tr1oG7pTJ-P0(@5a7fMEqJeWAD)Nj<hP7_`x0aQTL!ACG@A z902OWqL;6v_Fs|Qi{3@1iT_0K_wPUP3%K%p;umy?0M9An?$3jI`#GRw03Hhf9e|2^ z<_|n13Tl^v<FWY&WP%SlwSa0GaPbFf-=o9_sp0wOu0sUn;{jpN0t<b<0Bu0vOE+{# zp!p34DC9Uk@e8tmhu8!_x!VabVuMjpppO0@;sBLbB#w`E`u+ip7Knfwx2P__n)Jbe z3@+br*Dti0KS)68&n8gTpG_G2{aN~t$D|;IZwh7Mn=<&r7qxr<&#-2I+B2Z>f*er3 z1C19H5F9Vy-|i|A0BQIO1fgahSJ3>1FK8GT-q3*z8i4!upe`>gw>w3ET4cTgogO@( zQE%jd0|}(T2h@QBS?sn#GcB}(&C9>tR|4Lh#5sZhs()bP@!$d6KiwYSUcOX!=pV2v z)A;qABIbWP;!*|bkAwCaft>8Y(fAPD+Yj#!{nLDiC#cs|0NxGY-*%$)WT`DK8T3xS z1hmr+T3!L}^zQ?ARR45C=J=qU{*@p>c&A^1f4{3l>wyx`d;qvwFh20I9Xx0N9wK;M z$G_hfWG<xNp8@IjXTtjZ381>TA_Ly<2Q|H#D>Il&T|sWH%3&z6f%W?#<3Skl>rnuX z9;Y053?rr;Ap-!&^%G(M02JQH<K^&qKah*SwSYqeq!xfiCrX#<FsOcOe&Ye||L@od zx`_f@)1a?Uz}EjS$%ORQ1OiYz)9ZU8us3v15K152^$Mg10Gb~7(e0rF>5oHZ@pgf_ z(b}OWz?}ooDwQA5xe>%XB}Q$9+DG?5YG?}}wKvJ_qeE(b2#FfLP@f7wLKM7o2;QL- z=nj<$f^^;?4ODP4YCa->65{ZVFvNIJ_@k5`p!OczNaFg#_{w*1)=I$AKQjmQt04U| zh^L&O$;9;sq*wI=ORp;7^)66(7MRi*`UNy9@TJ=WGzJdts5yZQ4CR0fW5I`@AZEjp z;1|d|=a+8GP9V$c_1JoB;P!zEI8k=G-oe{tdl1m;`vFUrt=soWV0Y*PSeg0(5_!<< zfTai1d_)B)K}j%7fc4vu=S&{p?6W{47D}O}pKezXSZ)EeYFSi3OZH&HjG&e)*eY;| z1DP3j0A*v8jtscf1T`Eoeut8NNNb-$qQ@25PJ{*thLy-O5a|9v>MuaGqb7H7rvc$y zjPy=ScwjgPDGbovGX(sPK7Pe>-1P-0gpRwuflwbn6m)$U#t;@{`Vy3LeLsLp80Z*M zcj$-X;M4<M$>|DTzlgRL^i8+#n@-;sprIwOe$cW&*B6~mA>F<ojypnTQA0l*cY@5K zx_&tB0O@ssWFfPtAX%_8z*a$*P=4qR41upp0xwg8F1q{x%JX2GnvZaRx?UfUyI!y% zE!Pi7LsiX3B#?3-s9OsP5ikaq2iV3t5fR^983Gzj11*RN0gqY!fRB&CvRX5)<rEm{ z^AA<#b4l&LbwfwIK&_E(61r`OHEPIZ74n)b)cgYKuL;1%eG#F9+}1z|eo*+}t8Zx2 zUmKm@rR{pU(fM6ie+~QmE{^$7(3~t}v;%3@wHuOW5i4B~JvIK89iTo3XsufaLy0sj zlOvUztq1s9T0v@D|1?*COEJ(yXb5<^^b4#z!~$wGKnql~vi$?tA0NPl`5#a@SgH;# zsJrnkwCr~M^SZPf)^rPj6_$_{mOPzKJl(zmonGK6=+GZQ{M%hYe*OdXCkMR00$IQ) zf->6;Z4&VB5B<@42{Z`}(F=Awqzj2WtqH2uLFE(H{v+Bfu{ioHF?j0r0JiCATTuG} zn@ovJx9cDN{T>djCqa|Np(3r9N<e*5)X8F3NDo$^6xwf`3yL4`DoxNNvn+Hz7}sPm z*ig{Aw&n`V$zsr=UgXJQP|5&L7K5T6I$7-d2W27^6v0jzp#EidU<!QtA75V)6sq8= z6HI`@7gv9=+k>e2;>I@`EDQ{wF5})CzyJT=$;F6cRr~SQ7r+1i2W`CTZT<55|NqX` zJHJ7jLw<mlGUp(tl-{Wzr9r)56`;N%B#C^<V(je&X@ztcLF-$8K$g+{fUR%c0Wx13 zY!gUdcc27lHkjaQXXGAa;}MXDP+A=Dd0vp^AR9nK%OEF$<^w@&kWXN2Z1cR}z{b)( zhYj(d&h3Jh1Au+pe1s(cIb5KEXnjaT_a9UrqqP4)c@w$+$kWZ#`~uWS2Q3ZZfHlx~ zx?Op?Il4myj=6CC0BsjS@;pX*!B^jd`<Fv({;%<k0t*8}cwq0|2cYB&I*AM1zeFGO z=xu%S`~Uv{XaYn`1wz&yWHEI2f)Yev_f(LwAV?AiB|&hUVd+=KBX$-v9sxN4DbP{p z2cfwJl+HkAgHCq_v2n}~qQpODYi@LY3>0?I;a80Og6KAYqYb6=ifw%-C@Uc*PEmU1 z;I1xu`HG|-S{b5PafpQhbQR?tMg|5p215o0h9e9N3?dA+3=9lg!7R`gQHWSQTr8N8 zf#EP%7IZ%zgatbF7c|}}0zR!TpAlrrGSI#CV3UtCGBC_$0@-n&k%0kX+b>22hHYR| zB$!|<D<;Tkv1|;{ObiSVQ*xOgXAiS6^ufgzFhNf5Wn(x97rV>^IhB`<;R{^s4-;fx zHyeXEGt4|4X2`j=Yz$s-G0-{T*T8PchKt=|hPn9<GXn!eR*i*$0km6(jlqD0fdSN- zVq>skftl>U!oUEkyG0lxSr{0ug3ZfeVPF6)Yhq(4Wno}A02Z4B*Rh&~0dznv0~^B@ zxa>u^>^&9+2GGt%Hil1dG0;LENd{0z3bVrORbXXckOGUDz{Nl};YowVLg8YmtdKLj z*%-1|85nZGaa6&|z>o)KHNn+QV1=Cj&Bic?6>>T_8-q9-0|O*}L)l>V#<M}rxn^TX zVS|}h2$yYOgPe@b#sE5Z9CU6r8^a+s28PYxFu2Laz#s#5-(xmdNWO*Z{mcdnNlkW` zZBN-DXPb*KNOQp463GFRE#!clGR?+N#sPCnGhB8G2jpC8HiiWp4B%6%*%-dTO)=qw znc~0+IVqZr!IcwcN)TK&fs=s&bfPpHLk=h8<Y_jBuW(sjE|@7^T#yrjMHoWhVqI{t zDR8m#a25kMOfN5-l>=v$!&yhTVfo`JT<kkHEPqJwz)aENf#nZxxL7O?EPvF&#oBma z`C}nmY#R?Oe_Vl!-G{T7c^Mc$SLL!X@bf}W@)u!{;ALO{<!d&E1YVd6n&D#IAQm{z zr^00~@iKtVG8SRD0~ZtFgT<;gALQg;5e8E}2JlJ3Yz$U>u=sG}gV_<n2RVC~jUj;# zaxyU+!z4Zi@OiZ&40GV>F7d%q-Ag_OaCyhZ@R<*m>i)vjG4sPxoh3iaj*a{b44|uk z*%)^7!*m>l%bteoc*D=Yum$YPUvOC?0hqm>0t^f);M5*005c_40A@$B0L<Q*a4|ta z1_o8I4rxJ{4pl*z4sAi04j)07y-{%4`*4=B5KM=S5ai5R5r#k^$l0YL4DoQ;=|T() zpmkm%45x$`7*2xy(EvS*T!i7PFw7KQ5g5xw1ZJKeT&zk2R$^`tVPLomHs!Ji<a}8X zhW8>247b5zlA@54Yeg7hMPcTpi$c!HWn;(@g~fE0D6DL1fvcM$3OQMqjbVW(<fL9U zhBcy)^Lg1Ac8Eew<z-`dEy}=<1TNQ@#TXbafbA6!gW2XH29u3}%chGlFx&#GD}~EW zf{QH{V_>)mmfa}Ez>o|!`2gI!=VA;DDPXbhVhjxD!RkQgokMCcF>%PbwrmXM;;;}3 z7KiCb7KiC57H42c1)I_@4y%7pz{NnPp+m~f@8S#$*THtEOE5s|P!kEr`L}EgmJ+b= z3zUHQH$j2{d}1yeLyiRGJY6=18*o`|NtilkIIBw%a>}m=!y-voj#?)PIbW8IVY4L6 zj{R^Q7bF?LOZwOt?npw;uw`R-AqhFTmW{zg3UU^&2!pc}0|RK$q6kB*6wKsSDOlQA zCIvYymW^Sx6wHntQZV<Okb;~q%LYC_9dt@98^Z%B$l0`P3~!_$C(^Pp$Vo#^To++b zmu6si1a5;kNW)A?hKprOL(X0oVJL;mPLqb5PcFi+7%p}Uqyrq{=cFMg?~5?pfXnj9 zz-$wjVPJR)woOF_W}7oy%v%O#TPR$%Oa^9KGhA$$4CG!75r%a#kW>3b7<RyAAIpGF z!UVMd-pjyB;2$y!3@^a;`pUxEW^uBx@-$Bt=9bB_Fm<zKA-9o;Ff4`3K9Yr;#wx<_ z1}>&52QwvD4rWTM9ONuiHijfQSRCcUWgFxmr>C+p^vFTZR%K&2DF-<}Q-t9%Tpg1< ztaOx=2c47y@{zJUtgO?OhuLN<4=d|3;bITv85nrLrQ>V3j<0ap-*6o=3b4{qO95tH zk^;=$N(BZ6(AF|GhGqqry}fXClNDh0o`j1zDl&ks!eC%y@K%KB2vvlc9IXh`QKJa6 zw+k*Sq6AYH183DKK~BgNVVJB0Ie}7yVIf@hpAxK8mQaS3%B9MX8zMv)zA3}Z<5PjL zd{toPg~P?FRA6P!UKPmcnj#F0sxTegs*rO#*%$;=VR0#^3M+Rt;OZ<?A!mNFF}SEg zP7Y;b2vCKb7s|#EqY61Cl#OADDg#3rxD4B)3M+R{!cF<E%D|8gmStCim3ks-Ft;?q zS$E;AuW**FI^?8J5r!CbSZc~phn$ef#*nKHbA6>c%)AbD$eEgK3{%u0r*N_{EKrA> zy~)P#Tpe<%u?WKlbq0pl;M~Kh0n=-&0TZ*<fShV9!r%&*&DVgOBrL*E0~cGS0nfD{ zz2MSf2VC~M2Fx}FO$LT{VB2^#;kLoWtTo}b!DaI`;kLoWmTAIm(}b51aM^2`kh3G% z7=CHOVqZv$fdO>oF&l%N7OdRR(_&!w2zHCD7Od~*3A$$-?E3Yf8=Aqa6L8i|Em(Q* zTMOoT(0Th1Q{1&-^-+*EtbB>lhN)Ym4LMm-gkcR_?5Q@)JT4uWIuRYn36E?HpgW%- z{S-C0tcecfOh`5c2OY?Xk!%bFI*?NVMHs5!>Ne@X^7%;}1_l9eX>nNxmTT|A)jigM z<yuKym<uNAGB5~&b<Ea<=~xPvU9Ah#aYh%G&u_tHh4f(dYU(jCfR?ndF&OK?OtIC2 z+2O1QGo=zP_E8Uf1q=fl!*93_R(+TbZhe>z9etR+R&d#UaMp8u28Ki6c;hvI#fPK; zEPhoDU~LO015hs=RPOp1z}y#R0JAN|0A^c>0jy402A4f(068g8gyEV2<b*vDh9_`Y zGecO(6<`P}xz-xON-iZMm>pJdR*4bJygInp1|wM7{b|GiK5tNj!Pyw57jz2%==?%9 zh9F~D-Upri59!V3!qwFnL(V>AW9Tr3oS?|YFvS>hZXz4Q0%OQ&iEIq_jbY{0Yhzeg zF_<tgoP~s>3Cvz|6IjU=V8Xy~4lJ7mm%RaJX`8}yIKx@_rZ68(HHDmlD8jJC6qa@m zm_kkuWMepL3iHt=Q&?GiA8yJAQ^?7KYz%))A!ik`F>shcPAFt!urq_45i7#rZpOgy z1)RGR%wTS5hKqHZK~9DhVVDY+-DbuBKA}~F;V@hbbgKa9{xA`ScV@7*&kwk)o;l1m zb8`lU?_k?NHw{2qzR7U0Y;%}xrRFfVOf!eswiqsU%p6v(oim4(YoNOcAm(+4sBrW; z@pOB=Fg^huF9Qw1fbVBw$l~aBy#Sk{;y4Ufc?Lsex9<ngJx&a8B_A-9fLaBRbOg%3 z=fJ)aXJB9`0@q!j5i>|%&zu1kJ2ngq4Cle>9O3Fb8DM2#6kJ_A0|UcFusYCM28el~ z-EU$Kg9h_K*ZY9FiJ$>P5M~7tNcasG0|RIS7)UMX+Px+Q28K8WcTh<MR|V1oQUk&U zpi&Pk!x$f52D+xcEHS>gB(bO@zAUvUGp#Z{u_(PXH#M&$9(3!wO>#zJ5$I&M;t~Zd z2yMq8!vMNS3v38F(ICXY#NaQ;!0?HIfk6XF7UYHx%nS^m^&p@@9+1=o28ITZn<g<Z zG=Q3Jd%%~<fR=lJSlkSt<sKjw7kCH~#Nq~bNkJ?w&^C<bHxl4sa`>TE@C`HI-6%gm z+rhwT0=%{9O}FbCjAeT$>pBjDTnBR552WodZ;;ser6pmBISiS3AQI%gi{QL&&A`C0 z8ytfU46s}ZI`a#XLctya%Yx!}FPH_|4X_W)0!18pBsVfZM)^Q;Am@N08Fcm<h!2Wn zK}H4!2ee2A=>e$$(MLf^6r_=X5qw-+Qe{bMe11_%YLS&yMoE62O=eyRBpN|uiC~2& zghGQ511|#)av~y$E5N`l2$~@%VPIg$%qu7@VX$D}5ZrGKJ%tY4IaXHj@i|6TRyL)1 zd5O8HDY~GPrwa~bI|h(hpy&YU1`9C=GH?rmA_XJ@jSxth11CCA48S}C3X2Rz1_n^# zGl2>!FfufN!bz2pp#e0CqsGY4V8j4ENx#7qlxP_ti4mlaodFbgAQmJsf>>M(3m6y} zK(WZpumsBDVpz|>zyOL*Ztz$ph{eSKTH?D0d<rP2<^{31z%>UbrEoKVQVxj41wQo^ zWHL8H1S10jh&4zO_a%7ZJ^@auprC~`y-*YPNw6#^ai0RSK#3c4hAA6(mXg|u`y8Ic zomY~dF))ey9Ja&_at=|68>AaGaf3uiPu#lD#BBsk+{VzvZNdn?pNPQ}nz%ueG?2s% zVnGr&hy_X9pjd<?ZV(HSxIys=N!%b7Byoe{og3V&1hF8A8<bKYi5tX%ByNz&ki-pQ zK@&HQ4L0CqdTgLoe8j910i8ya*X_#FY{61Y#Ih2Qa(m>7?M~MpSuDMwKR_E|yWw-x zJmB-?nh$_hwRAFehk_@pS-O3BIvKIdp`vakK|Z7mRBVBYY*5Kl2Hrra$-uw>n&e_* zFb3_M1a~Ju6Kjx)!WmSJfb$%v*!c_2OG$8bpsi#ObwzM>%?ywNLxf=#0|NtS^ScOm z8g3I<FKGA{l3zg+PY}JJYj-z;WkIKIZUM7EZbZ+epo{N7butKp+%Lrgnw(()=V(wB z1iD7V8m$Tf=>gU4AbJmaE(IS-2g;i|pe6;R_JJ7=vH;`=5Y50qa_u7wt#0JSLDfxh zYEel*3AmO3nP0*JJ`oSJ<sDR&fSNxF0w8suDqN3&LvRZ`=YpMxJ->pZ4^bI`^?+lP zkHJz9G)W3_x`Y5|D9BO}yf_t9g$sb%JN|;8won5|0ThG62UN_1nv|d_5+r<>k)Z(; zb|)Aa8bA$;lZ*@vUJMKjrx+O;{23S+&N4DIgflQOoMU8YsDv~u8|oOqQ#B2}4B!dW z2GIK4`-}_?>lhdq9x^gCfF>RvGcq*nWnf@<0?qlL0dPpp2eBYIAH?Efn9abz07?(s z4D+EZE{0VM3=E*u!p#6O6U5?T*vY`a07_rn3?OqsEH3ah5g=2z!51TdSX|)a)Ilt6 za0Lfqae*s05R01uR1$z#qoo0;vrWCy0Mx8NFAcVWb2+ZkU>jH#R2pmtvp^Y<)Y1TS zaf}O|(!dvcX;7M1oSB}Nnxc@IS2FO$f*eY*u#Jpj0j!7UVu1nDOByUC184#ZQZj&8 zkdgt!;sQ5wL1}}V0dxQgh{XkN=7LfVH^X)Y1_ls|3)~U_r8RDbW1xj0;On_S*LHwR z;RX-ZfLL4%k&KY(GH&o8{t&SexESc_afldrVLkSPDnUgZgYnT$*FU5;7|Ov71`c8y z3?9%ODFWb4I?(PU$KBWuSsb9vJ>a$iY><HmbSSN0^C1pU|5Kpbm#15>`4vaED^I5Y zww428^%csQXvl2{<VEw~N(j6}0<v%h)NO&ZCO|_Cpm7g21~&%SPztDx4ypk}7!ny6 z7$B{QY<O#;6t1os-kO-oz`$@B-2PYtZ%u$&4xr6HY~YDdNNWOg0XSqR1k@6Mv@1Xx zC3k|$5732;pmSoexBfvF4vH{9246w-o+>wJQXA2(0A2QEhgOn+^nfP5LG&){B}qzt zX;MxqQW*lW17to3gGw|I&A_10D#XCWU?m7TvqX%6iL_2Gsm+Ybg2>H`T_lz#poj<S zftM#%5I-=$ni-i$d~gRCy`2FHFKq1$P*{T68K8CxsGSiEZD)X5ouGCGsQm(JXMo0% z&NDJJfHs}pWCY)80a~cl0Ge_JwKG6Vmq6_d&~PZIodKHUegbW0fF^t(r3r`yDNR5u zNSgwbJ|Jxh5DU_#0Hq#Cn*zk*0*~~7QXV(M8BnSPmnQy<kf|hY2GD{th<WjFF;J-i z5d)PWAQm_Hnt2cl*3Q6sDsUD{w<||CM<A#t0L|b$V3Fp7EZw0Tom}0nKVVs$1<Mc; z(vdEQK{v31BL=he4{Fyz+UTGGK~M`wgu#!2fnh&5-+*EPlD|L$f{<JVYV#ie%T|DL zB$x$C&FJ+rD5gM-U635ea?pSgXsH*756YvUYva-DXOJF{8W4RNEmxK1K@O3Ix7Q&< ze+rn*c93llOmedw)Eozm5{bxw@(E~^$bf-E@CYoQz}!GogB+|2oKxUA0W?|xaTx;x z$d90$fIJXX%gE3G@_#2ILxVm8crgU%W>?U4xecJB`zJtCawhoN7*O5-u^=fK#Ddg| z2f+h8pn4I+g4Bzk7=zS{AQq%v1jR9=UIekYz}EwUOyLG!(+6UKQz&Qy1~di2I-JlY zxv_^qVFgks!T?(B2T35H2u4o~@=#xc)PtCy!~hy*1*ruk22ghaJu!gvfYgB2B_1Rx zF@S8q#Gu3gi(dmFSp0%U?m)>D)F;b<)Mnu5f;5CIkc<Jj2NYo-H|s#fUob+3i(fJ_ zG=PftSBwk|Aosq8MigkZ4W!5cu^<rzVsU}j`hZy63|AN+Yix)L>@4umK4pPDjRAC5 zDe8DU$aAp3_QMs}7;R&eEC>w}Gzx#HgI1fOggU6cpfu1yi<2OM4q`z99mL{dxWNEf zy2K4$+5-^-x9E5VPZ<mu;RKbzhrnekt}^&ASQb<U9|5yK$r3%=fyx+A;s(iq;suoL zK;;XF56X65u%rZ#9*`Ok9Y9`609gsL4i$q^0$D@$sD<$fvI=9cE_h)KN@dh4i$OUO zlG;ElNNNMIxER)g7OI2G;*C%i7XxUX2o!VN;6>IT78k>51_lODTyuk$<bhaR3?_^W z3?Ngu!54>uSlEh(yOPESP|D(LDijYB7#JAb(VDx+#lwDFi2|v?OL4*A$il#YR4{-d zjM8EOw4w(RQ6Ls1qChN2Sqx%9%3=@;9N0Kcm`3#TK$E$UHX8h{30NDA1KdV~cGDnd zDM0H`4vfYct}Yk6*#>HN!)i`Q6$Q$mkPa89!3=4@feH#xT_VB&YAhcG7Yd;JHy{nT zLipS+sB;CWsXG`L7><F}O<`bQ0PTLj-a(oN?tn3X2U<aS8dQvcCV*kZ2x#ySJ;i|Z zfYgBK6QrgXP*n=D2o+P*Q-am}sD;THk_!`1T!3}K3lm670l7E<`5DwwKyTWC!UNQ_ z1Eu61MurAg2JlMN2GG1atZ4_z!H`r6VnI?Vhy`iJf#L|#j03SC%{WjDLYi?P78iIH z4;1^{;JqCn78ipJBLf4-6mIaaD2N44;mCWUp!;sRT{)T`FqZITadi9sL2PoxJmn4) zr=a>&1iSzovd{oDSqVv6prnCb8`(2Jk`PD^6tkdY1Ujt|#0S+zeGCi?k!S@ENDoL2 zs5N{GbTJS}BXkPcCo#7mzo;Z6GdH!kBr&(Z$||8aIWZ@(NFgOPC$%IqFI^!ewYa3H zG`S?dNFBUH0Av-|1QY^PGx0NUgS+5!4H+0pGBS%9Agw@9RR&rP4v7*F3lb$D7QrA4 zAtDIxgYy=s`%8@=>|$VG2*neGThM|K^+G)=1fQ}MM(}}#aUsD6VnKor#3C4cpi{vJ zr9ja2(bP+U-3$y2VR(X%9aIm3lMZAN10?w3gG-7s^U|r3{7kHo!w;1D0^xl<5DOA~ zAQn}E4|K;V^@48_0|P@Wp5Rl&7ku$Ssk!+jsZ<HYUX)M-ufYZl$v{#ehy@8o5Q{3o z2)go?e!(b%HyDG#7iUr>7^^UY5wsix5{w`gBp5*~g27lpL|G^eZoN{gEbL)mU<k*P z8ed{93lW#mQlT_Fj$9goGP5o`GlN)=-~+L!5_}d^4Zg`(R_!6z#-NQ6;Gz&(8$-)N z=>5Lb%*~1@$q*Eb*6?5iu^_<+Vo@a+K@*46%gls=@h{#~7*ECA%!d(-piU+vGlN)= zU<9!U1|u;wGiYpqdcjDjVRIaNFhXy@r9xH?N6yNSZ9SauR0v{0f)B)^O7MwLH8W3S zU|@*BQx-nK6MWRn%3DxF5nMBa&ZvQ;LJ$iQj35?Of{~Z5!FV5EFj6rqFT@gzpbKFj z!3bhOf)T_*2}aQ56+`w3hHlXD01W*5Sh$*hFqW_#bN$cwn&p`5e}*pK{~e$;Kn$SM zxIv0Q$BshITmao3k9~Z=656qYR0j+UppG5ro(WKI3)Ha#P3#6TxFN6IWdP{`sR4Bv zE8sGW2`QC%iMg4{3YmGCC7FpinN_Jp3TgR83hIzm!<p&vsd*`xiFxYyI&=*1HQ(U% zw;(^j+y=52)Hes6+6^0KI00Sk4Vu)01R;n82|^Hy3w(wGh{X*azyq<s!5RiSu9hPJ za-S^pM#4DwfE=i%ItpG-Ck&t21`XWc?jeJ=tb-g13OEq`gAdeWM$ANm*4Ck~a0BT9 zsRu3muR;VQB)HHPS%dq)AcJ8Tq!Gdf^?`+;i`GE#m62auQkIy*09s7O1yRC~Eeu&a zh7qVBH=qZq5OfLzwE71Us2~<3P(ds%hSi`=1`ME0m7t}{5HZjp9v~KERXvCW4ru5= z8sr2{*gzUQph3Pq1@1=^7rd~sG*CJPO?rSr0hCTbr-)z+UXU8ls`Q&6i@;$4>HeWF z8pjA;uv##I9K4{JR#@<YM;Sn)o5*PtTX0H1gA=qE0ur1c79==9EH3cAeh`ZroLWIF zaL^G>qo9>BYz)*&qo8>MY=H<0WKbHd#uJF3#mN|f2+{}+L+~n0(0m;z{y=FoFBNwZ zB`S@ILIV{v=K={-5DOBhAQoh00Eh)y831BIc7A|ZkTeQnfdiUw8U+pXi!e}@MnMa0 zu>~(Ijov0Tcp*UxB0*^s7QCP|3JqRx5+y1)rJ=zI8ij@gCx`_JP7n){MnNn{8U?Yy zK?hnV!~oe`bQL@v4T^L0;X_y{1ac|}qvzfh1_lNvv^EY%4=7|nDTW2K&K9JR!7)BQ zCqFqcC%(8OB{M(1peQr1BrQI_pd>RtuNWi!fwh1MPyop=@CbtTXn+M6;{73-f=lv? z64O(`gNC5oYygo4lOQ*MP67hC12h5*67+;_GxBC&XaKp*2U-Jx7Op`;4#a|l9Eiom zu!w<y0Tede49lP_NJ0e3LJ}f~1rAMcjt8A^20F|P=>#?KiPZu@klG5g$p~_}J)*(_ zWlxYPBH&X%K#OYG81&#(ml>ReEp|Z5y+A&L1u}Zo1v*2?5G{5<dO&7@7L7^5G%_&8 zm!(0YBnKlhK*~YZK$c{~Dl7p31_sb5Txw!214s;1^O}Ri-13WZ6HCBiAoDpuVm_d# zPh|itodPug3RoBz;vI|9eKLznz_lG{-yFyaGw4!j$oM{TjDp+^I{FSdM(dau8bFS# zXM*hAX<&lv+1Ul(Kn7w#Vid&UVz|e^zyM-#Gl2Fjf>>M(pqs=%EN%wSjaMKRI7XY_ zpx>PcYIwj7$wS<m2(B5s1)5JWb~~^Hz++kl+B5+#P5i@9%X!=tv=Zq5YqoCRKb^im zx?O*uUUYaEw7vn75<q?hEviOd#s^vggu4*~T0Ra+)1bfwg<~oY=rk%sBL=kG-v})w zfb@V`o1pnBc~DG&G=fq>ab5u=cS4c^$Xu`#N{bVeFG0}`lC=Rvu@iXNJcBp`w;(7f zfL77QL&Ti(OY;!v0X>a?oQ$4EKovhq8Ufh^TC4|JvL7FmT3ng~NjI>yaMsXt11bkV zGd(c(g8T?dHK0@i3SW?TCM!b&$lqD43=O`Z89G*m22dE}vqDl2XulSuJOHsEsRzX3 zVgM~^1hKdoK#hD5i;F>pkpaBJi<<$o6#^m_+WiJ}oH}TS3F!FMtp7;Mc|_nXDA1Y} zka`gYP&)*7+^T^bjkHt}y$lAGP3XBCqz9B!Ks(%&P~sLPYM~~hQMjTO6bYcHMUO#{ z`RFkSidB>tMAT@=xf<k7Q2c=03M;4AvqIMQY+{A%(Axrym;LZu4Prs!1;pZF0A)cC zi<{vMXc-*?=oA$25)-u3xIyX|dR+xNUBO#IL6@{671hm01Ug;+KyMZV9n6Yy5;rKt zfEE&nfJ<jkDIvlDS{{Zw-U1jH7(lrLgh3$;iZ@WOfYKtU<qN7^bkXu8NDoMj69WT- z3@BVd8W|X&Wiz;Bh8YKzffLAaMyO;4mBOI12qk_%kqgRUpd16sVTd>b`4nas$c>;l zV`E@o0F_iAaeHRSS}Z4Kh6d0`xid3E11KN5Ff%lO1~6Tj85%%-a$|<%G0=i!NFD>R zAaMy|aWQ~ODiDhs9IGG}tTaZwNs@YT2}(J%j!OYV3$YlI1Br}F<f0W6Md<mD266d; z4HB21*&uQGoedI~zt|vg`I`+Amw(tGaS2-f3yDh*3lf(g79=h~EJ$2}SX>OnjF1zr zmM}6ffNqQgr5+fq#5!3LG)4dt!-hd}#HzujA0`G`BLK>UOTq14P>}Y4S)gj?5|{-_ z*B8Jnm>z7jCHUM*kV&BY%m&Wwpmqftc#Q2Cco+hdi9t8}vN3@2HH3xDEMze)xVfMM zjB%R_T5Jz7mmTa@ko*6GZACT>8`}nM185I9#0Gw_8KBTWxSV_&yx}%TfXxLJTcCyL z=wU;?4IqC>!)?)n+k!0y)WNc#7|;Q;Kp`a$W`Q=_sexG_^9bQ6xP7KzJs@8hgITEI zMlJg?;r4-6lR)ChiiY-q&Sij%HwJ-i0r?MGczT0nLE#wyW`V-f8O#EOrx%z-C@ewp z6>$H7HUmNY7Y^2q8lKd$uN`h*0@xOi|Kh+b((Qwc_JLcyRtkQhK0XQs`I&hosYP52 zC{mCm^a^?TB?>u-Md_&usd@RO=^3CdDkun0F~}LrU`K)q4mL0grb5r&F$`=nblMNH z1i}Hb3Tg_9QrH0&AmcbuWWa{;fQ3K>7eAN<5(E{lAR1N}LyQH9Ffc$|1d3!-7lCB4 zsTTs93Q{i$W`Wd!Fq#kild@8iOR#zX<{FR(Bv8y?KsXs>Br*mmmIEsW1)d_91(Qd! z8aCyO)pF#}Q$aBWY??Y)i1^ThI0+OQs7?YK1|>jF*9Dska=HPS1(jkzcRF~2jiAGg zQOp3FWd;@^-r*1jfgFzNAh2Oj0_1Q=bb}m@8r@JOU<#zp9&A5IofDV^mSAAO?m_4@ zELMMlx(gu9AVXbIi~@;*u?JWf<X4EVK{*|fa$qrxE%8EJ3Gy|nE5XJ>36RBpU>iWb z2?VpCQaF4AS!qMiHz6oS!Hi@G2Md$q8;C1GzCm>*+-L^K#A+<q29R$Oz$}<Ndg6nv zHGs^l5%f<oieWHA8PdSQApbxz6Y;SFaVN+>sP2Rt4fRhB*anb)^1&>aJTCtb89zlR zhQSPFC<P0X;~$7SLH<E?C){YLf2zSYfc#SjX2Imq{R62Kh|N5WC}zRTWM}~kgS-Q& zDTt3Ah%-UnL3JkFXsCC(z&3!q(+g(7<Z*b1$k+khhX?AG!c2qGlfhPy;~j`ILEb@i zW&ya(05zVW5QPVtsbphtNY2kK(92A@6wS)`|3Bz(E{C+##1cINgNcj`4G<B%l%mw+ zk}}ZX6Q~)?z|070gTqXP(0VDUNu}v3poQk3#u)=M<A$3I3^K415UdEQCIrL*NiZ{l zR-=P>2&`9>l2`)T0Sq0*V`lUK1qcHJ!}^eS{Sb93!R}_pW`^J+l0cHo3=k1h15g4$ z7BMpdH4l(Q%#A=B*pWpnOh8i%NFo--#-OoQWD#>CkjIflEKER4s*pu2O+ec?kwh#F z%r-EBCTT&T3U;BTk;Mm85hDY03nmmbMg|r#=pvS&gpOpgk)gpHG&P2X8_-3JE})AT ze?Sv4HW6Tk*$xU@kR2g#5j{jyfX}32W(3K@nmi!&5DeNV3Sxo!tI)VGHZ+QWn*;W{ zv59#Cnuw|83^Wll%PVLi7KS`5Fc<2Tq*j!u<mQ3w0%ad&#z*E14EGor81#igKm$Uc zIvT77wDpOBft>+#ayRJuCeUgE?wOZB1DJ3%5OY8&hM5uMa*(NEFSOG^^Vkdw(6kCp z&zxX$Kx1|=bsXUEKz0wPnas=xI>8HME6c9`;E`Tbb3m?OW}LzZIkOjJ9~Xu>pc<Qy zIiN)tsOIosm;+iE&&&wgeE~W#Rs8hpTugs~WSAL2r!Iq7AouWLm;);M2$=&KG-751 zozn<2M*zbd(3SvZMo`Zhq}qP(&Uj4sfTo$58GkTBPI(2nM+n0lP+yLj5j2qu3g?ae zFT^m-0gZt&GlDiOgF+l+jtGW1piymRM$i}_sEy^R{_r-YIiNW&W=7EMHn4aX!!QR_ z<`Oaov?Y_75i}MLGe-i$94T-b!|yN9>@YJU=;#TUzoanC0rhJU?pgEjm;|Q3K%?!b z{*u8k2eev=nGv*G1(f<d`c307%>jiTGh+>S8yhH;85ra+%mHONW=7E1DyYO4Z{73- z(;U#624+UkfiEC6Ad?g@%mK~3A<R*!6X3%%2Q>G}%m`X00y9Sm!yM4)J;EICpYKm$ zngd#8jB1VwhB=@a0Yc`egX0ub&%)fJhG7n<>?C9k=ol_$Mr3m|FwD^c+XV~fj$WH( znEuiRt3eJQEevx&vrh>3U^hn>Y!0$}bTG^T%?%SW2efeq)n9rT=745l5awWyFVH?W z)c7*MFb6b`OvoJ2u|}xwF~Tqh)aW2&4rtvPsyQY|=A?iR!T`;fGc$r#oPo+8HNTx$ z@+s(SR%S-fMk-jjVTNQ5r2YcUUNAF)a}WaqgSF3J5zKf8*}}{Sny~<tnV|e-fng44 zh7w{9$UXeKVl*(#0i7Gl%m`YU0dtQPhB=@SX^1(XG>_dqpd;i^-D87cjvY9Sf&7Kr zJ>b-i;vPE;b3pAsW=2r$3~INe1T84U^cQGB3o|2VQ8Fxi95BoQ%?dFyf_w*R1AXuh zY{fJObRZrxBWQjVW{wkvIWAy-ff_3ybAB>kT8L>5Xzw30BWV8(%p4aCb3g~@Ff)Qm zAyD}6ZLL_2X^uPCF3`9(EWX?@%mK}qF*AbZ%0ThOEo_{JX%6TVU}i?ph&0R`4-9ia zhrbar#~bV(WOKa0=73Tp=+HP2&A^}l?msXvfObBjiljrh3<x!#m0l1*m@d#VNK_Hf z`eu-b1KecLl0uLO2!le80ek=yhzG(Dk*6Rgc-0Wd<apT3CIbV52izRcEIvpX2V6uI zl*m9r43JP{03R?15^#a50gYILMBKn4@vwO|1_lN%h)8Z~ZgK(W&^(YTu<gYqMaj9K zV@gp(Fw}q!4Fst`gb!#J6GQ~&9?(HZs3M?y&mbZoyFe`X=3=mWKq8=HZ$LD{WYCQy zs3PCseutUE1qn(9GX@3lq0bBqYETh`Ic^vtsTd+X7$TdXA{KBLg8Dij_t?Ni-a*w^ z!9{pLNt}U!!458>1r<TKCjdjF5<_GjhRA*lk%t%}te^}JPP?%1(SnK~Y){7!*#s3~ zgS+_(3+%=Sm^mL=AWOy&YCt!uEno&6)dy2!&C0-V07aydm4RUcE3%qhtPBhnP(+@w zGB7M)Lsp~3#=zjfjw}+v#=vj@MPv~h1H%RmWHqnY7#JEjkwuKz85lO8h-9%dFeq># ztC`Ktz>t6<a)zCOVF8MW5C;Q;0yna*Kn@0m2`C~ppiUkG=-w<?Xv~F*fI>c#5wznJ znpi+d2#WV{Ffe@JK{ojT2LnR^FS5vA4hDt=C?ay43=9WQM65X(7(Sqg#Bwq)6!0ON z)6L1iumMHnFed{;06(&tznlyVpd}NCShnY4VAvpltfrZZfuTSUS>!1f1H%Fo5j}1O zh62zHTJRLr#Ld8<AcCxG1vdjj0*c5@ZU%-6qR49aco-NI#E?Z&co-Nipoq-oVPFst zM^^Kdhk>C%0$D_!mw_Qb5?Le~)WMZP7Fh@qVPIe|fV=q+R0I-(psh8SG58pyMjF{1 z9zF(!02C1eJ_hi)N{CR6<YQpifTCs|s58yLz+eKm{TNgPVmqj3hiUseJ_d#lDCUUs zGcXv)AiKw!pMfC(MI?ovfnfrQ$VzCZ+6Zp@MW_hGcF=wpOxu6*Gca60F-KN_0lZKN z;Zx9}jSaHM?ui#*V7P!HQU@9UkV96pNPvN10gA{a0S1N#C?cS<*g*?y5O#S8GB7wO zAe+-8$iVObMdXqo1H%GEWHn|&3=9`gMAC&A7&a&&t640>z@VUlECM<nECEI2pAZ8> zgDSEbQ(*>%2Ph&1!VC-wYRGElfCePgkwtESL>L$twBT{^7b*gY3($T|%(wvMtph0L zc#AMFC}<#?Tqwf85P%{wM}&c40*c6E(BKDX{0eS6FKDO(TwW<KWHN&G=V97zF3P}g z0mYmoQ3eJDO=R0UL>U+YP((J1GB8X)5%~qRO9yVd3TO}oZaZj`C8q6upxfzC%qbLO zU=Ywow!L4BfuR6JWV09p!vqwO%VG=+2T(+Qh%qn(=pdV;DbBz!0YxN5oPohW7g^0h zaR!DDC?d~5y7Z9M=t?j!1n47+Op;&#pSp%f&qpK}7(N&vt6`L6U<fcm7SRCRCx;>u zBgw#Uz!+K06iEgK1rubEbCL`U4JaZ%K_;6bt1$x&7cqctWQ5gd5l|6GIs_d8fEgE6 zQVa|VX2|9&kz!ydKoL19#lWxtMdYg#1H%Or5o^#u6zJ{&cuGitia=}!ZTiNvy;qun zLBJf@_U+OP3;`%2ccd8@8c;+yWEdDWposW^hPW6Q7}VglmqSG$wu9Qdn6@u~s^Np{ zIs_FFfQvkViip8QxIsf@prf(jB1TXVA-G5gR73_YQVkX1f{V<Bih$P8Lfm!`Dk23} z^Asu~2N&T44Z?vZqF}MC4HW_T6k?7Oh6w0xJ8-6io0Ef~rW!+}3qxccRD>Pede<wi zfX@bij%sCQ1dUXK>|y^U3mWhMrA8k=&~OAp54a5pp7rqY0}Wy@OhFa_4Sg^yKo$Y3 zsR6e$p}N3oT98G+c1%DP0oyeJ+|GpR0-G}fSp;m(5)6?TaLW^_3v6-<vIuC9hoJyj z1gs_i+(Luu0;`EY76A<(F{B`i7=lKfCV*Q_P+f+gv8ox!B4A$}LlyxI*D&ly7BK{k zg6)BefI=O#sTnlp2Z<dOA3v~NG2oUJvRx_2B4CpX;36P%K(`cvGB4a5aEP4&x5uF7 zfc<_2Sp@9UkH{k6(0GF^0(SEea4QaK4%qfH$Rc37{vnHiV-Qs0faiA@RG=y91F{;h zduqV#4XDXr+gp%Dz%HDCECLQ^6L5_W)djZ823Z7bP8PBV*sf$`5wM#RFhp9^K_wg1 zWU#ItWD&4?Rw9dl?OFmC0ma2kdC=jDpm{4;fBA$w0|RI@2p&6NlMTRi9MmqbITpww zV7pw9MZkWq0M|QEU0}aAAd7&_S%)kFwre@E2-xpSFht&f>n5nlU|nC3MZoS61lJ%? zHDJ4VkVU{Qe82#@kN~O%>_X7$X;4#}8I%&hwu46L;39BcphhZK4O|yo1g;A%0@elE zLj#_Z0+|ff#li@=>ke!VSQn^W4_5;g0Zm<l#uCA5z&-_C`UDpN`xJDB8e9bIQ_yH1 zTm-BOG$#pa%z@1Ts{xJfz(v63)PQ%bLPG<t3slXc>Vk{Fb-_izx<Gs1Kt(x17wGg8 zxCmI+3<l8L4b(2UPeCO-SQpqFkWb+vU|k@e!bQNo0QnRmq6e-nRKOFlpxrCXj3EDj z1~Zs_LqO+sgAzRGpl^8w@U2B)HDEDy1yD~5k`o|<D18c$9SR6F-xMH6awA04Ktsjg zBP&6^&`T-?ZP*2y2Rbg3nGxRM2a7@KP6mc>s4kEiCI)0(pz%m%M);5xSQm_#2-O8v z0~TBX6#;RW7?9U6fJastL9>LQ5)C8|DJMXzBZ`ojZIBvNU4h_{Qc!aQHUf;$bswq= zqy|-25FTB>pt?Y6P<4T(xS1KT+a;p}aUn<zsxDAYU}gl(?jb@J=0iKEE|3~jU7=tX zV%HT7)df<6sw)hSu6n30kQ!87pzB9)xo|O57f21NF3`crxODA@>H?`j)fI`yg^!@R zKx$BRfkwEQ89}u#C^cwuI8?$$X&D$;L6eybkWp|{UD05>KqLPkT}qPEBoVr7pt?Y6 zV7gR5+k(ND(=juGN*Gw$N9Zbp>H_6(CI;}T4~Qm)Sg>87#0|;`yRJ4kBXmuM>H?`j zwJQ#+3sl~Mbk(w}Iw5pzg6aaPLDdC1Mx2=uG~0~n!n06aAT_AEKr4tKsTZUxLHN&Z zgk3M7x<G1Bb%7QbA#}Ny-LyjJ;sH$&GcbU!AwUfc(B(#uv;p$h(^a5bxIwmp;z1v( z3#10su4I(Zn8&c{48ktZZO0(pAT_AEK-ZH&)}?^#0;xghN{8A7QiG}sv_uP6EH^@R zfz+V-D-G;I&<s1suJ&bhR}ps2hw1{ULA47s8^g?qJ(l-Fb%E5N>H^h#xMKM>R2N7M zsxHu!DI&g5WBEH&7f21Nt}L*>u%~$$&?G+t0|Q76YG{Bioj}C$(US=Qh|mDtAq|QP zkQ!9GK>J>Cg+>_EE|3~jUAbTvVo&o0P+cH3sJcK4pm2po7gQHW4XUnuuwB?gV=Yt{ zNDZnkP`d<IiUQq=4GImA8q_cZohZx92wMLDN>L3TrcOtM;Tx!3AT_9VfeI=_7(Qn2 z??dPkgcf)pHK@8k6+JT}Xs8#`S^&8SmMe{*x<G1Bb%9zch%ofn_2@Ceu3)GxkQ!87 zp!r5zp-~If1yX|=8fD;+hlR%CuJ=n3b}fMF0;xf@s~oHgmcLL#<0w=YNDZnkP=gCs zXgq`J0;xgO1)6Qd6&mayhchrRfYhMsssg(Zdx|oI>H?`j4GmDMk(m*+rUjHXwz_@U zfe4K-s4kEiRJ%Z}M`n0wgBlvOP+cH3sJd#wF2tTTK=-JF(h5iosxHt)Ww=7)Fw`!P z8dP2NV7st~#(StPkQ&s`0IfzvgvK<RzAi*)h=3LcF)%QI)S%i0T4#tWG(fk#gZu?j zgQ^R(x(rv^h=bY%QiG}sG^36yG#a70Kx$BRfqEUda>`n$E|413&}apRAxIjOHh9+F zoQw#Kiy&bJ1_qECRJ+>1y0GUI(5>~L&;Y4H)djjH23KfEf|4f#0|Q76sxHvE*tkLi zbn`vPE|3~jU7cVTVow`sP`f~CP(uTBupKia$lIXM(7(PIx>f{aM;BBVNDZo8po400 zrHu_xT_826x<GwGT%mCZstcqBRTt=P4qTz}1*!|A22vi&g9fZXjt8%f&?_oQR`K)& zHG&yH$2+61E{5n~U@(H}0;^#F>k5JB0xbu}rOOkl3#<lgX983N#DSPyj3T1v92BAw z;SB12Fo4dvM>iRy4}@!>y1;4}mTECD*n@YwW#*N{gN8`s)AEa;2a&~>q!yPrI2e04 zLDhinlEkGbz{$mlAwIsKv?w(>F(-$?-rmR|(lNj>!qXv&!QS53A<{7d&WjI4mWvOA zN;*U_#N$1{CO$qhw;(<~K0Xn2mv&};QhZuzUNQq*7;@@Oa(-@Zejfa+6^3{?GalqF z6=JU9b_jHGaR50h0^}yBt*FMsmcGQtmm!_y0pdaSp2z3F90s}tI>*5T#s!@P1?GYS zK0URhBr`WPKP@G(5*p5+bHB?HbKHwk6H8KyK+cHwb94#?DJx6Nad0pI1u0lFRHbWS zDM&oh5tllU3sOJ^`T4>1f}DXQW*;B#3N|wdei9u>LqtRr)K!ojmLM^Y0LK7FmjFkP z04Em@xOuQEgkUP1Tml>kNF%%iHwB9=sH#9-aez1!eg+)KN>6Y?19=L!EH1r}P{E}a zBAb|!5|o;jT9lfXoC>kQIX^EiH5qiYl7mB_qboS1ic)j)%TkF@Xm0@a1NuqtV3Qm? z0vy4<u{Xq{2oy2)j<^&!xq5=5rZ}?->Rc>VIk|d(O^J8MWsIXMEYlXHCZ}eWp_=8K zlb@Uoc5;NH6J*ycrY)eTO;1G}X78An;+RsF2oFZ64un|&&<(gy2~ZjbpMvk;0Cp@S z;2^tmVS8Hx9bFv)oLmgRUWSGms)|rYSFm=_o#&9~LzNG7at&~D0a=h)9GqGNJ)jYX zN;i<Yq|Ce&q$B_iK~ytC9bF?}o<UOS01A=P;#8>rARfn}9h9bE+ELVk4M<8&&d*IH z;8b|3OwTMXNiA{#CE%jel+c2d#FA9!#GIU@#N=$Oo&-7F%-tivF~T7VT;3FC<d^28 z1gGXfbz{@z>*(s{<_7X!Mq*w{PHKEnYGG+=aS47`dV{SA1&4r#qo0e9Yfyk=kfW~y z*q>07(u)%Fs9{cGad9c3V8idA%EY{E>;YMfElfNeA(^Zge0q66esPHtDB<L!CgznE z;LrdsN=i~m&;Sdm{1T+Z1`bu!WQpH<P*Y05Nd%kw@M|w1>_JCps<ej|JE*P;MHD&q z&>9K10_3tF9=c;2S{8U<mIW{su(F^Gbkhm47hwtlVFjZTQt)9&nqZT3baiwLGjIS~ zUYuHj)pW2LLkADkimfOWl1bwsF;Ij<YeWDfTY9)bGiGTXxjISJhj1_Xc4L}RoQjmM z1M+h+lPhs~JscY3@bVd|+yNFQ2-5=`!wel9q6|TW5srB9#Eb_wwDK0I?g1MFE(0Bt zlT!;yAY~{vmx4+`q_`zyCe{)ame_oud8HVyDo;n(2qYUpPEE~A&QF2X){y)IGt$!u zR4YLma9A}#>l$oc!=V>{sHLP5a0;lU=wTS(h=@Iq4<OnII|frXsCkO7H3BNZVU-_B znGFvjM^{kxVz7r~MZ8h%L7?Kwf!yVT+YJ2WDQY1Jb0E$_5}N|dLK41lolsc`R|qRI z?V&j^Be5to1!5UoO&~ZwLCZeets^vD_!>#rJP)^yKp0?Ehb1Uro8Acq1xz8npn$0% zEhu2RNDc}ljj(1qYMluUYi#OJf&zNp1h^>=YDoKm>o1gsG~z55SO8#Fp9o`|T>U_8 zWP6kf6jK@{H6f&-2?^X+MK8SJszSl43?2MXiw(S$8eB8DZ4IeN{fMm0@aiSqR)ni5 zu^-bELe(jXHwaazNMVbwLWP?Nt5T8lfx82c&I8Vh6Rsarbz<nnUiBgC0k@ZNRFQCX zph^<SY)}=0rIJJ_N2(^#v_Wbnl==}}8@N&maP&j3)Nofl2onfaK5(VJj;=VXAGER) zt_OFqiB$=<Vgg>YLd#4%r3G9mtk6KMK%iE_Rl&+laL&h5g`n#rq2$D(6-U{LPbJo1 zffchv1Pe?l{$PQrA~jfG`p5_tB&`I31)EBgV1XQx1FuuC49<W~w$98;cW{6O17?*1 zHv~RDgIcFxkw>Xi;PT+w!T?mcfpR{2tpZa9t5gD<To6SoNCVyi9;O?qRta!&A+lV@ zubB*c5e}!w1(?PVs#=hJLa1gz31ED63(Qbh)q<jtn92oa0H|)kq8WSbf}{yw<pNU% zs#{RZ1|=CRwF_K5Qssi74@>oerVm=XxDa2vzzrZ+xxiGCP`ALe;I3M*slZZJAlCz+ zoQk{1fUAU+9H{jQ#6GwpSos;?<N}HqJQWL?MiL58Or1E&Pdo~-1qrN}g;pwff&``# zZ;-$gksKs2jid(&l1}_Vf=!_cc#sV`E93#5lY>t`K{_cYDm+nDKxR=OD&X@|9x5u% zkl8(uN#MK$N)`5K$~-ZYA)5wuksqpk;C2hTL4FtpL6w20qdXw($Rw1>Ea>1Rnv0Me z?&t_j%jlLNT<wWd4Z=ZwNNT{-U$|Z45FZrc9PgZwnw%Y6l9-$wmRMBmV8P%JA77lB zTw0V_QW>8Nl8jHz&(F?G1y6Uvb+{H6FvNom@XX6BaY`&sg>r*4N=s7m%kw}Jzs?mE zZbgZ?sUG0DgCb*w`1sTe$Ouf4iakna6gKYzP3kBLA;l*R#*O0ROY_Pz^HM-_&N-<i zD)zLpNyPxo>sZPK)Mgci)1cFf(2+k#k%OWIY6r+KnR#jXgu@r1l2+bkfcc^%F)1gN zcEJk{T!eQB1{J!y2y3uMyFJIj-q7A2-^vCD2TKQ&cyCA8R6EiXym7oAZ2d)geo1^X z(xkI7c+rKueY`oikc31wENhrKIWV9}K}Lfd9B@j(D@@!fU}ZEm70?b7b_<}Ac&&h` z!Dk69En{;4L=LYNP$g(KI6K4}IQcku`TDwfySckTi)8Sr)Aq*prl51D?M<NvPurW> zt2jD>0~e&t+1<gz-^<a%&)pwg8>Eh~H_gj0u{Q;uN^NhNng`Yygte0b^;3`mjx(qo zEI?5jWQ-Ku@GcZY$_TfVp`(Mnfun<~BgC1I)PklRs~T8}g4lrOHkc$9r@^Ek`jB0Q zDuWUf&?Ep)Ll|KJSAfMv#26)}o#=8{y^5{~#c9y_MO={tmB!{Qs1z1Qp~zr&5{eRJ z2f;!S<{)G_NLEMB2^fJ1HXE)Ar_<poaQOgD0UnQ_sl?)Dw5*B4%`jEC-3(KK)6J*~ z@VOaPC5oG&$r0`?SY)7O6IjB6tHb7QbhEIy9J><iZpW?`tLtGNB;<OSI()8&slnrV zR3-RbkE#~M_0X~$c1SiZ$D=93=5{nCSe%Yk1$LKXRf^5wFs~7CI7}HHhr^WMb~vgE zybecEYF<)VkQxtaB0`E})K)xrJu7GxEJPUAng<Jmmbu0w_YT1Q0*3hbw49RC;?xw3 zwvGzY&A2KK4#ojyju8=2jtu&Srj`mwz|h3Z*ucQT*vJG)P(eY#(7?dV%uGSS%*fQ( z3@nwv<--`r;IhX!e8w3Dh9=NDWY7U5NC!fLmc)V<-tPhJ`vh@dm`ecV5M7Y4j3Wbs z1up|b2xz}00|Nu-Dh>w*0Vn8TyP*AoAY}}o4O^eU3xmO2FacJFbT~9fu!DtxAqceB z4a9+B2L=NN@D?^GA4Gwib}OEN;TdTE7y|?7EN2D>28RR42l#^2of2bU_z=&)unV*s z19U+RBj})ofCO}Ppkwg9fmY>%G(oX~KtKZ2AE4cmU{TPK!M__A7@mXH;xjOS54&>^ z5O6{_4<s$w#K15MwE7-=eHa4+HuFG72R~?HU?>5toM(U>BaF+uZ!HWA<)F3l1kBsp z%D@l^TIY_(JkT-1m)jW_&Vp99GeC~##pXWH5x~iv3=H9*_2p1?*xUy)?`<~&!*kGz za;Q37=GFExFcgATaYNPNGLL-%0|O)UtUu8CNZ8B+9d$f?A_GJHWN`E_fYf0#4|Ghi z=oAJ9?WquTpd*X1nFl(m`07*!hO^Tl>TsE-#K^#qJcEIubtXg|XahSo^J1777zAfA zFyzjGr~}!H&3&MYfW+rAFxZ05=Y?*X$7SBhc?=Ay3-Ox=a^Lxd3=AJZcfH{;4|MB8 z?P3Ooi%apF=f=puP`!+S;ox$JI?&b(Z0-YHjgYv4f#KjPh&o*U1!aru)eH=8LDxd# zNzb6;?v2+lFf3jRF%NW1GPdvonJ2i8fnoAGh&s?FYi#ZVnRjy?1B2%Vh&p`cZQsDa zV7U>Z4wreLBdO~*GBCUb-LD0{-I{>`oBKcqD@Sf-V5ry(F%Ps|0h{|kM^pD~W?-1I z1)>gAE@3kd<lkdk7#KXZLe$}MUkW1wL*G^ghEJdyS@F0Jl<X3=Gcf!E-2=+NzyR97 zh|PVVqpBlzFfg0}-4}~t9^@cgkc&VY!mV~OFhqgwD})~WkIlRb3=9lSyBHXPK=<uo zl&1*uKqrl~>}Fut3sr|J{6I(RUfj*Vuo84*B8GX819m~~18s4?4OIi;gD^JtfsV#~ zyoZ5dJLpzaJm!J6+P>V&z`zZ<R}-`~2y`qYmihy9WUuBv1_oZx-G9(@?|`NL0Bz6? z-p{~L0#ygv2#L*oAoC{eXJ9A;-El|2ygdgP816#V;R-*He?J~zU^sdZ6e76mH&FO} zhpK_7#9qIF%=>?kf#LEYh$>v^85Dl3hZz{u4@1=9^RMe+1_n*gnb!pTn}39XVFFYg zKJ(TcVPKea6k;zZAK{9R8%G%!enQpZ3qRgt3=9uJ*R117FQCIigpV^Y$R3B-3u=a8 zi(k;;DC)-<7^FdGspIi4=osU~6ATP<q3S@#a$qwLbd>SY6ATP*PeSa)<zLVN7RIL- z7@AK()Zq$0(9ypOPcbl@1>JUz>|dngIzT3X(hG=2#ti}v2apfw0Lg*s6%dV#8yE~Q z)DdeQC>)T@0<jweFwG-Y9Zq}E+OeP`ApS$c1Y{=&I|vv!ARi<G5(Dkul>(i+4&p#D zL>*!)9Y`4DK8G_53@%W$p!5P)2kKRT6hX^bzcUOBK^W>l8`+?Wpx493K-IuR9RwUO z+z0Y+3X$q^h*VdCO&!u!J&=1q_ST$XU}%A=1?4wTKR`i2LEp{M)5p`z*E87HF~r%! zN-5qsC?q~O#KqG;-ZR)gKHSsAH9k1N)!Ea{(={mA)<8)?-^JC<G1Mo-$J5D5sl3=I z-q=VlCo>66!Z$d~IVi*hP1N7V#m~{#HCRaj6bGQ|HbI-Mtr!?VO&bO`tC)hKe9&cb z#WCPv#-z+VFhegTvna*|bb}6<8xI*;)XPuGVz6Sc5d@vH!p;CXY4TDu1Dy8FOfJeV z&QB{*&<N600Npm9n^~2am#*NPpIeZblUl^^6?7;YD1e|CbTKrj&I5%PNa!RR1A{sP z2LsHlj*JWp=4e;_g7koPFN5e8pwo~*8W|YD&PUmKC&M5l05Tjb4^1>scB>Er7lV}` z=-ys21||kx2GIGSP&rU9h7vBfAjmhb#TXb$3K;mHw|X<PFff!<LHHm3|NjrFFp5)? z8Tc8v1)o6qr62)e25v#n9mAkw5kb2Hqw@1o8AKVF!O;bBA*iPc?U(X0a0?pz|Nmdx z3}iS169XIgPI%DyCm@v?W}v;w{ve&8gTX<EB7lTJ7!-D(BiumkN6?`iAhBc23=N=g zJ<iO~0J>1&Br`(;=wSR)%nS{nBfm~FGc<rKKf}z>0CK=NW`+jPVHM|@85%%G3|wGl zXaF_WFEKMTEMZ_^xXjGZfF9qVV-G-OBq)ACcBZj1Fn}&K0r5d;6VzO_MvHHd9*`Ok z%_joV1;UW{1})|<OU&`hFUn2K$*f8RUk(hi0Hg#BHwcjy&jJjPn0z9^z>t|2UsA>( z$iOZ5<^TWx)5IAV@=HrVLXexD89?C+I@lj(CCIIy@CCIOz~@jgFfeE{Ff@Stp#wSj zl|h$*p#gOGo*v|cNd|oe%<wW}gd8gcN>L!Q(ZdULQIsiKc!BhQ>;ci|K{vgCG(z(S zG`xaKbEz3pphOOGAt<Cu$_(L&9>O<b0EHwh+)BzomV<%~6lS1nt-#J>U|;~b7Zhfo zgP%a-6d-XkXqcHp!_1O_p#h}Eih-d4)Ml__fLy6;&%n?Cx;VgrfuR9(43#4TLj!1N z#hHPj0d#na3j;#~=y(rT28IUE@e1w?3=N>84?Gwc8bCu5o(v2PpdkV;28M<y3=9n3 z3=9pRE~+mBLj$NQ=*Pg&0P6bqGcYuOnzTU-3=N>>V+aF71E`4+%D~WYnSp^JjDexy zAp`gTv4&R+3=EMB3=N+lhbA@rV_;y2V_;|i9qSg4C9Xk39-w2nKp_e8J1DMYp>-lC zZ-BZ$W@vE@(gRWhqJN{6h0wTm$xKTFM>fc8khy4>)NDa0vO$FsBC;7kG0lLHKS1sU z#Upb5NQImR&5*$WDTgu{7#cvwRc13l%AFi6VfGl*PXQlD3h@;v%s^)>!O9a*7YV)o z0O<j#0nukcC)0toqLe4W$%#3TvINu-1k0lmqy`!&P(bkt$r0cT0U81X-SbflwhOsv zDM~Fa%_#wg94L=~(lyL>kefl_20GXbl>R~D`3wvVApaCHFf@Qp$}57V;SvUhh6M}^ z45bVV4a*o97|O7OAFOzQ6`7#$1GSZ5;RoucTcM>nkRFg4P#FU{NE+k@2GsJ!rL-s! zw22y=?jZ6QWP=d6@&knms60*0O9=rNupp;^1d2-%i%LSkp#VugAb-P50l5Lh2e|`! z+7d$-<jw(xZfKd&i^ad7G8$wf$P$oQApe4@6qtWOM_xFh`4^-Iqy`k;ouJGH(um!^ z!Kumlc`3zUZ-cA>t3)M8@-{f%fcyzF1LPJEAKBj%7$DcqPlT3<ld<?4d|o0_6A0vQ zkQp$4gUUopG=GEifYg9aR%F7SPoT#cfc*<|A{yNw1g;K1p#e$!nAHQMhyeQ)<Ug1J zAp1dnMJ^+%pmAKyz|a6{ebzwh&{_rt(Al93by)lkYSVzs1UUgjqx&6nv=4e20n!8V zJLqJn4(xFbKA?dbK1a{vAiF{SM$Y3+P=7Z=%g7c6h6d0WODi<*w?XU2b}aq}T>=F1 zJ1DMU{s*OJ5Fb>pfZA~A{s-v+sR3PR^b~vC`xd7r6H4i5#U3Q0LH-5#59AgQ2H6GT zgTfn@m#0C~^mGP>29O(OVDT4d=oOTYL4E_7^OBW;L4tt=-gf{E-J$ynqz6<Fg6L;x z{sMalT4{pg6=XQbU=Ric7KjENenetB5>&K<+;~}#fguHK2?Hoxkm^W221`NE)ngzF zG6i9cc2GDW=Le9RLE(g)A7(@Du3(tUz|a7?TxlKyLj&kgxA_bV4WNU`7GMcC(D6MW zn?P;?(eqhBM`|L%4K$5}-lhcU0R;i*kk(|h{1BXznpyzy7pTVtG7^SCTA=I(AqG)s zgBn!prTAv%<YWeek`T!EpgsynAt$uU0`fb^uOKlH2H6kdBd3vNptckP1H%dih6a$k zc4F}>Xj%Z&o`m@ol=neZI>=$5v=3^38laVXAUz;8Ao>QVkO4UWTHb?}ccy?72gp>g z1S&yl!+-}lOi=oHp!>a`2Nr?)grMXC4!Gd*#Dap<6b2y%ZowD-|Nk#wVPGgo&hRhF zOlJU@2I@_Mx?`E(@P30(0n-TTCW3MzD2$Q&gdqQd!Wg+vc$|Tu0TdP|7#JErm-U^3 zmba&&eU|eK3=N<|XD=`?G=L6dya;V?KVo2L038$fgn^*}bcEkiXnK5(C5}Ml7$^{t z;|LVbus8x8V2K__AUz;8puB8}7Du2(uaGzbnTiEB2!R6%WFI(0k=hs_zru8Y>;Q!a zXsilU7J|fIVR1hw4T0PWD=tjfKo^4}^3yv81_nd4GzQWGY5=}uU|@(vYqvv|n1K@+ z$XJlIAdJLr5Mlr&36KZm#X+6Z;?$y&fD&-?31n&s3j;$^X&UJEEl}YDa+rw#14D61 zQD$B`SQW@Wpu+@nQuESFGEmYTD7rv*xq)ZhxWPjtpyUKH43u&}xfL`U1agvu0O)vZ zOF_`#lQ2FgWkK3&D?ma}4Dv51EJ0p{P9-u(GBPxPTr0)M&;Yu(Lz<DH0dx|!3?oAW zsN9ohWM}|6M3Ir90d&Bv5+g$cC@m;6GBmU>FfgbxGBkkNYwC;)4YNU)KQJ;hfb7&{ zWM}|QD`_(_G=QdqbQl>L&N47C=rS@i+ybo?U}R``4vG^-h6Ygh8!=+`yFqaVavKPP zyimu+z#xNEx4dUyU@%6DQ;;4|sc@fxfng`eqacmYas#$d9UQALLqYPWu?mVUP^=mV zfg><2wFn$rAPt~wjue5QIK>fxps<0CIe^Lo&|nfM0yDwAj_?2f{|7}xT7GFBqznO# zfq~?66D#78BN=q30?36`YS0P^R9--*9YNv@Ape4l0%bqYcn?T0m64$V6b5OG3=N=D z$ubzhH-|7}GeY|7IgAVqphJE07#SKsYbx>?85%$bG8Qm0G=Tbqg^ZAXco8E*1L&Bx z5=Mpw&{TUVBSQmdO1q4ap#hYBDi|3WKw}?Oj0_E+dcK;Gp#d}(SHsBAaF>CBp`MYU z0Td4nSmG8m6$>giKmiSMGpJ4gRcWB80M!XsvBWJ%4@eD&?g24C8nMMK$Y8J>DnV+s zfHokBC0&4`7L+c)<BZ@YHYlP&Ndh#A2pU!d75yMScvumVEx~PU(A)^jbs+zM;t({C z0=ftiB<{!vzLg1dQ6T8%69!jC$e4;dBSQn|$Y>8}KJ;Q_XaJ2JdSeM=(AWzod_l<+ zWF{z#L1hjsj6vtEqnC*wJs>rp@tbb6Fh(j9LB@iNM8hPMiJ+hZIc%CZ149Wo=s<Y@ z6jZRFg9Rl#=s;;7xgQR4D=6HM+vvZbZB_<Gh6Yg6l93TocQP|V#!*?I;mC?5ytc71 zF!&((td$*g9Q+Uy0|WZFC`b>euK=R^(ZUOK%wK##VsdtTXImpjN7AlpT=v2YOv zZowPh|NjToq?vi~rI~pphGq<64BUcezW@IZs(V4BsL(Zy;0Dc)@BjZBnK3Y=KqDMv z!in$y|AQh2q!zrml>sDr`1}9=pxPQF3NqLN+}t?=wGAd}Xa+7ocYKGmlafl)3QCH= zDjz^ykeLTt#|f@e??5ff%!4eq1q)t>+6DE41=!3tP?gY%7E~|Jg{DbZy$GshKteFS z5vVBvy1WNkZ^ACRgvsAUlh*`I8zHH$LgSx8;~RsTL`dpu(fB9O_`;y<h@`$4jlUm_ zF97O#AgND4<DW$1tAVlyR6V2s0_P*Bt3e?HO1q$Z1ght4pyE%V^AN9?!8b24yk=%- z0Hu{T%nS{n>lNNY=O4Z?L+X(4(0Pa-%#g9$pUeymps~{5%nS{nWe<Ou85-^}FfjaM zW@rE}v}0jtU}t1tU}9lt&}3v_U}j-x@MdISU}a%w09}R3&ce_DS|`H6!q6~{k%57W zg`r_CBLf2;3q!+7&{gm(3=LO6S97p1G=Q!c6=7j$_{+$^AjZPbpuohyAi=`W;Kanh zAjQJa;K{_mAj87YP{_o<AjiVcFqw&gL4k##VHOhugAxlv!$Bqn1{D^DhQ~|{3~DS4 z4X>CO7_>m<GBGe{voJJ(ZYkAaVQ2td3#!Y)(BQ+&z@X2<&=Abbz+eb+Co=<s5y+j) z3=Ae9cQP|Dn6WT4fUf^EXJKdnUHWOs!qD)7nSsHYg`t6qg@M6_g`q)*g@M72g`vTi zg@M6|g`vTog@M7Dg`pvfg@M6^g`uH`g@M5h<X#pA1`ig7hHWei44y0u4L4XA7`#~+ z8t$_&F!+MPk(GhL4-}593=9D*3=IaX3=Bam3=QF|3=F|63=N<wJwsU-8X8y`7-B%? zvNABlg51l>z!1m6&~Sj2fgzrSq2UoL14AMULj&k~&tw*chEJ>v3@I!O4YF(u45=XZ zu`w`YurM?@voSDavoJKcvN15^uwb^^K%FK~q6J}4`U2HEp#BVq531Wi?L}J#H&}NQ zq=W&a2c!mc!E-yJ90g6jAx|xN<^|*=CPPMrLB@ggq7VuVLf|$QsBGmj0JY0OGen@m z3RJ&56kuRT$t;UE2LWi816&`2+PW}vKyCr$2T(?Ww&56585kNs?o(rcw5`+`7#ctw zLk$Lo29TRIvGhq6F)=WJ8gL+|fXvolXJAl7npb_x$iRR;&I!^3DyczqFCrY$Q%mAO zVG&<ioSBy%@19!Xlb@WJ0~#oS)G8qJp%`Wz=ul*u)hcLhBiMYzG+_n?Sp5xZ7=ifU z`dgfVTX4t!|NjNd7#Ipti_+qg^GoweQi~YG7<dFh^RN)dr)3rumw+}tg5&VU|NsBx z%orHbKwf8%VBir1X-8HGHU(@3LI!MnT2X2tgE$tm!L9+d%uYaEQ<9ln47Lr_j~6oo z_0TeNQ^9k%pao+f+jz|&T`W++hs*~xo<V#Os66Q0br4?$$_I5&KzxvXNYM*UYoLA@ zNEn1c@eE39p!Pa!zO9-WGOpOp44HfBV21R;dYBm+K+B)|nIZl93Cxf_*c4`l2GD`e zQ<)hWK*tZyWM*hs$-uxci<zO}JOcy6Y-Warn+yyLbC?+#Kx@6`F+=)X^O+eMKo=e@ zU}k6#VPs%f$js0HT8p!UnV~_Ck%3_uXs(%&fnhx}Lj&l7=nc#a4Ko=T7&bC9G;C&M zVA#aW&~Ss1fnhT<Lj!0H?M`NfhR=))47->a8km_F7<Mx=Gzc&;FdSlrl*xy&%tfDL z0QKoWV_%@qU|;~16`(!~D073#iU39ihG4X^0;C6|21HLq<Pq@N16Us~KCLJ}H$Eq` zq$DR5dhD`IN`7flPO1**v}HSRt^ox)#9Cxhfs%CzpjlQ>2AnAeDtZb^OBkFPI0Ws@ z7#IjS&&n!3KF7$)%BD0Abe3w0E@*>*F8JUMJ8=30tylmX1Ug+2WwZb^DFO-*@Ejau zKnm2E%mk0Hz=oo-z)KTA$q-ckBlkZ*;Rp(6<o-t@wC|Y9$j|_~90=4`1obmOeMQh1 z6R2+pnqLR?2|>%hL488>bq1h0TTovD6qld?2E{F?O%CFN;uf^7BmgaLL3%)HK=d>c z;x;p{1Sw)cwt{R##h|JIt=z)T#U7cC)QC(_=LT#L*2n~f05mc|v5tsLP<Il<LqsM6 zWSj>%K0#rJEj~e}g5ncYzk%Wtw0;B>pP);UK=BE>ZUz*epus0{;?swbfgu`Cd`>4J zK1=h8Gt=`@Qxu9b@{8yewa(OvTChQsMlE_ir8Hha<ILp5E2v!_g(qHTkQ1+<QkY&j z)|DF3`uqR?|6qeCjaG0QfSUOg7O$W()rJpLpYjNT#seXxUszCpU%a!Azq5C|TaarY zgDeBP;4L}OaH6w+P<)tcP_U=JU%aoQ7l>!XAjrTY2pW@tXpRRpo<$jW1VMd&m{4X& zQDSihgAxOeU_E?@H9j69jI!B`L6U)8@Q@tn?!AEg^3<Zx;?yGF#EQ(^(p&~@26jOM zLC~%%FMp?ae<v?j=a6_m*O2%i#}L<eXMewtAb+2DS3gH5A6Et=sA47te2RS?BjTML z{anI5T|zt<bfJ1!@al01b`FRSadc-efGTIlt31rn$I~U=&BxI_m_dkvT~JyE<O6Ws zUQ$$=${-9CgVy(Hi8;lo=n6xELS4}nx;gp;yCNwB#~PYKuoy(476ZGW33}jp`eO|{ zePYxi`%9I9U9buqX(0je&W=7lPL9sr@c}`e{z0B0k@22>V8skt3_OAgpdmbPx&Q|O zuFEbMv>A8=L9-uVrI4l&r~trv=>>xf1CQWac)|i3jJP|2K@%m}p~<4AK3)b6LC~5{ z$l>P<G7KDGf5l_-7K0!Ihajl=9~>DR;_4gX>Fdg1#=s$XR)7I?(FN#UjIzY|oXp~q z_{`$?BG7^Fpc@NpK;BSD&d)0@QP6_Wb_}8n9D<L;p-CV(H8-&!Bfkig3?MedBU!=6 zz##~#(2GF#3B;E$=rV8!o`hN%pIA~-l$lgol3HwKm0FgXR}x>GUs{x$>If5Ouw>v6 zJVdl|E35p1lFZ!9s?_*Y22%zO!2={{1vN+GQyJ_SI0W}$)0UB%Q;=GO;^s2L_{5wN zkVb@y-559ocapE)$_iv$d@9)I+lVx$v^X&xDbSo4I0QG5rPay`Y*c(IgBAma;96{E zlw=g8CZ=TOr6as-&cGqKggCWUR&f3Cso=!05Szxt^z@?C^hEG^E(m)-F*=KA<?xWy zXW$T=j!hdR$wBX@C_>l+@=qTL8sIjmGjIrYV$+zLpHiBG6hj~<)e@l)ZZasR7qT!g z1cZhMhXgTbFmQnD7JQWjqzvb0;1C2AH9r1+?(qR3K@0*69N_VYP`HQ$1BalEAOk}H zsMzpvb@U4jh<6Y24-H`8Vc-x1O$i1#dpHJxd0#<}b`SM*0ha-wF^PB|#~^ptcu&6& zS9jMS(7Jj-HFE|ARAKa9U#T5~ECYuiXi0fIs3eMy^7jLo;pQLY>lotc@5f-xz#&)( zvMjy~XVDZN50c6O4HTuuLl0RgR?xCz;AY?u1PwBU`v<vzE%Fp(U;z0JR@S@vg?R?~ z`^ASDg2RJZ7*qy=24RxSOc+2#7P9~YLx3|RutBj3s*8{U8@(oigtZ)~u##h7hz|{R z4T^Vk4)F{F)h7W#uEDN;&Y;>4;w*5P4w_CdGy?~!5GZ0n(E)Z0Xh105&C|yf6fj`N zfT93eHiNwenvrmd3~>c>V37+h-=)kL7<>ZYnn9@sH1-ti8RZ%u!XOMv3t$yU1++2) z2e`Qulv)59c`SC$FY-t!@+-|vEy_%GNlnYlODzVw5@e7II7C7I1cfL{J%bda1`Hg6 z!Ga77IOMS;22hC=MT!n|Gm1e29vp(suw)F2XivZ35JynhgMva36wbjO{z0HMppaY; z5&&x<f<p&10|1U4*mMynx3GeeAvBeNmOpR^f+7H{3>1kL;5Y&`DM1OSEHMYn2d$L_ zhnATMgA@aYAZRogl)-{MeFJ=4;jIn^P*|#g;{+7lnE3#d7(v!K`TK*iCWABshoA+z zFQH)%P6D7&XRzBK^I)JX3~C|-g!y~AfL#V^>82JH<>kkhfa4XkVm%z3!9gtqkSt8Q zu@P7UD1~_hxdw;&gfM`L6D80_kj&iFD$u48kl*&mL7D<qRwYH1@g@23pxb@oOTcb@ zBLtI!w-ek;6N^$9KoJ6J#DmhknF%;4gX{+RlR=(=L+~0X)R8kdXm3`0L1|J>W-@~@ z1BYM{SOM<Rp&Zn5i7$b)SwN)%$a^3g<G~}%W+w3^U|WR*7#Kh~2JAO0XwU}u`}=@p zK?NSTyc1#I0FTb17I&cN0hKhR@!)<uI0J*C9$dPDyao<pCSe8!P~u1e7u@zxJDfog z3M*^lok7Xe2azy@pbaN*WPs9{u@N}TK-sV~J|{mf9qeFGX#sLQDD{9FfS@uJ#KBBT zpte*VX@Ld_JUa$Q1`fdt0$OpD#xNs5@eOJSLfe5LE+{fU!4h8r_6mp#3NjD|2OB6U zL$WI<m_hT10U$Xu6L3I);w?TiKdCeg98sW7A~+R;TETo^w_>Rs7(jbPA25RYGz<&^ zjL!}qI#&>;^X4XR<|W<#fu|T4K=bbcj22l+t5f`D&QLghNdH{y))EE=&=Cs)j6oB7 zH<bNe!LD~~?G>J&>az?CptULjjC*o*I<0v385s&y%u>5P>kk9NUj~r*r)t^K*%r=t z6*+T5%c>3MA{ZFFKznT%btl>EedN94llVW*rQdIKYBDf@=Kcg2oz}A6+Pqr9B(x&o z)1NbL+ZY&LgVk$i_*>SR{jY0yD86`xxdCV%jtOMGd7a~zThD<&rUE{=CwB4hDug zu=unCaxb17ke-krJK5C2;`I*(h6`ZvrPI@bwy?atyLYkL|5;Ny7BeuYFoVpwRDJp6 z|F8XDD!b*yH}^!dF)$Q?#dYH{=YHIGWB!>l=XuW`nGgUT^JWlWRB^s7dFN>BV~%gU z>)*@z_%JZ=vVhF-t(|fA<CIsE9z=i2^5LyH$G`xZ0~BCnj_vzY7of(@R~GO}xLjlb z149c~{YfY5#MB?`B1_GF7`3)+<7Hr23>H^D)3H}}O5mY$@lDQb5A%E(7+!<L4Qv9I z@0sLtMQzt2o_aA!9R>zTR*=1Je#uggBfjWx7RWrPH~q1nfdRB1rUo=noebW5m|m2a ztB{tNlUl5xQDI@G8B?B_my%yztdN~qQXFGw5R;jgoKu>T8e?dnXP{?jU}R#TXAo1G z3sRR?qL;xykuk|dB{9jMcD-H(LmJpUh|Q3YosY%fdolEqDYvJ%vN#5msgfvkG{i+Q z>7|(|DXD1`8deGpf&8M><f4-Ja>xoZ3XO!iuRJp^wWuh+h(gmKF`blHoJy%dAfHmj zgD7E^o0^+nR7nlDB|~E&H#Il8pfbLgLNlS!P+U@!n3I{FN1<t8KZ9?}q=rE-ua?71 z#GCi1k;kE73$_n*;$~WAI?gN)=?GK9pSg)88G0EEDd3U?QPRca7MB$p85o+zlqJK< zx3a{P)HEtZIw-r86sPEAFsOtWD5#_+6)4y$sHA2VD1i7T3fc;BV1Xov0EANv;aDhW zE7&TKtx-Y6$QWviF4z{zO)@f2pq5b<R5QuYjA}+1!9A#;Vq^jiJR>6$su^zq3qH8% z7SuD`$j}HDrf}np42_Mb=6Wgy1j1FI`3g`IgpI*RaIGu@1L)W<(EeU_2GD^4AQm^n z9R>yl5Q~dJnUR43q=TD59m?Wj0IlT%&6070_br21TnwODWl-ye8?<H?+|J=*0L_Me z0G~7z!pOh?VsSCVGcquM7HDuYBtuzT45vY>8Nlk!Ls?u5FQF`M2GDvPh+9~gAg<zO z;DEBY7;2ap7(fRuu``^2vbY(}Kv`T2+{_FN-@qpGLs?u5Qp^ktpgD7H2018;i$Rl_ z0o(@XX3&MQxENBHAtrM(WI$P53~QJf7(nam*%^L7S=<bNpe!y1Qx*n>pJ3Z8p)4-Y ziZTY!$`fwTS~4(;3$!|n;X7DeI12-q#l<j#1!6Kc!yG7!i(v*U0|RI^A3MVnD2ton z1(e0bpv1<&09r@F%>Y_!2x4(D7_u=i{05tB3T1IIIIuA=fX;a1W^jSBxENa4ASQD& zbU;~L3}@IF7(jal*cl|)AuMhN87Pa3A)K9o;Xl~qXef(|A&s4Z0kpH5n;{Fz;$kRe zhx9VI87iSHE`~i&Q@9xpKv`T2JRA%RpjGVb3=vQkH$x1R#l>(0%Hn1?0cCM9{NZ3= z03BV$&fvibVR19~Kv`T2d!Q_Ch67L*7sD4$1_sayd3FW|E(nX8!3E0VVpsuXaWkxe zvbY#Na4|4|j;Ug2u;GTVxEUOvEG~uxP!>1C5-5v{;R81V18Ao;JA(}mgvHI^0A+D8 zOn|bu8Kyv4Tns087#KinGuatLcp)rq1_>yOiy@eofq{vUfq|PL9LnNiNaAH+U<8Y$ zL0Mc3g}e;l?jkosDU`*<Fb`@9H^U+*i;H0gl*P@k2g>3Ct*T-G9d^ae;KRoNW^pqF zKv`T2bD%74h6PX-7sD1Pi<@Bwl*PsHhL3>(bRGaZg9Sf?#m!&?WpObS@G~&5g56vK zWpOdo^D{7jP5|I$Xoj-582b1b7?{E8CP7(T44a{*a5HR&vbY#P>x4nJaWlvWKy2e; zm>|Hw06G+lo#76Y#m(>l%Hm?s5QNBbGw48BTnqt%3=E*-tk@amKv~=j3!p4625ljT zEH{Hbl*Ps11!ZwF_(54*3{g-PH$xnh#l=tpWpOi9Kv`T2D#8p5phL0P8492*ZiW&l zi;Lk6l*P^P0m|ZH&=-N|;ASv}vbY#Lpe$|%A1I59fkBjk0dzbTJA)6D#mx`^WpOdI zi!v~PPNU;y=!UYm7^aCbFmQsyc@~t##jsSAfdRA{n44iGl*PrcMU;Vo4Xkbll*Prs zBL=aJn?V4|;$lb<V_*OssKw5(0m|ZL*aBs7F}R3BWVsnUpe!ziDdG$apfykI3=g0z zZiXjN78irQ1Oo%;WEO4)V<?M@!A^pKffwu+Cn$@H!B>KTfe$Pe2xW0G#7HnOaD&AX zpe!ziYzYPiF0fcWl*Pr6Bnfc=H$xhf#l=trWpOi<L0Mc3O;8p$LmQOE#V`rV;%1lz zWpObqg0i?7mO)uu44a@VZia1878k=ID2ton7?j1ua0$xdX1E4raWOoCvbY(ZL0Mc3 zpP(#mhHp?77XxTVIw&N$8Q7#CKH_2!g0i?7#GouL1|=wqn?ViA;$kp@vbY({pe!y1 zCn$@X!41mdVhDn=xEaErEG~v5D2tmR4a(wTD1x%M8Ooq6E`}Z`i<@Brl*PqxM}~m` zv?`LFK|>b8;%3l+vbY%LKv~=j3!p46h9|NN441&?rWwdVSlkRIP!<<Ms~iIZX!RsF zLnoBQ#V|#Vfk6};=QE%zE{4T&3=E(XM7bH3Ls?u5o8%Z6#KG#eL0Mc32jv(Tgu!A* zp)4+j3vvt$LSV5gP!<=1q&x#dG+0a)%Hm>hmS<py0E@XpSzHXU@(c`#V6j9fi;JOD zo`E3_ELI6+aWSlwhxu(Il*Prc7s}#hI0$8NF`R|6xEU@&SzHWvp)78Ohfo$5!&@ke zo8cpr#l^s(0JDP!%Hm?+P-FnN_t+Uipe$~N2q=q-VYea!1L#~+Zif9(78k=QMF!Bm zLk4b!b5Ir+!%am71{JW6?m}5y43SC@lermUp)4+j9w>{OVFHxJ#qdOlfdRBWmYu;s z8N%XbFoCkT7&??07(hD|xEXq&EG~xW$_xykQ}DPMW<yzA49k=mz%5g5hE-4&7lWD# z%see9i;E!!%Hn27fU>w4wx}>LfObW)Gcc$^SlkROP!<<MvMK`uXk9KhLpqej#ZaWm zz@QEGZyA)u#n7nAz@P;dYlX777#P)H=CMLqTnr{q7B_<hl*Pr+qsG8+8=S^(Kv~=j zcc3gT1}k+227R!}c2E`<gQq$JgC1DS7s}#dh)@Ub@MPd-h=H=W7;dOTOy*{|17&eB z@Myrq1fVP~h8zuWbAW-Hp#aL_Vpyrcz>oyCV=a`$#jr<%0o-EeW;g(4aWP!hU|?tj ztGf<maWP!h0<E?OwO_77SzHYNwHO#c69n80%-RqZ7lV#A14AfSuK|?B#oz@xCJHR( z2W4@APc(>P5EY$PRH-U9!Ns#f(AZnR(I3=hAnF7+=lr5n1<(>61?Qa1)VvY}pUkA9 z#G*>Qf|MkN&!0YmCo&*AuB;RkAPj}P{1OGwT!unwUVdqMhC*6?kpgt|40QS<*?Q2o zrfFzeDLChs=A?jagjx<+J*|+Mmy(&72eJ;baA)}Gg)JIaK=&~?eDV8tDC&jAZ&GGD zQsffh*P)^h9w*2?B*K3~MISUC&{Hd9COIB!dM(N?F4hHYLIs@!Sx}UpQko1}T%DMk zssK6Z3Y@>eTOSX-25oc#uhavL&M1OTyk`jQe$)5{G%OPq-n&=h|Ns9xL8n~pICJLA zna`_1hqN&mAMJGg)9uRB>H4GB_eo%H=!c*eAVZpuaCEzJbo+kj<me9N=yrY5>BQ1p z%fnFO*Zrlp7j$xB;D1q&LhCPJ_1&RAx?4fQolM=nE!JQaB|OJlL6(Bt_nHgB25AAS z1xa)|u^1l+>OLFL3pNUDP()OGT(|EZ<FjC1;}MYSt>1t--A`i=r%ixv#AE<1u?Ou* z0GSBdEdgVL90A%R4H7S@VgT<P0&Q*rc{;TFP4gQ8u>U(<KXkf&>2&=8_CH5AM|S{A zr|*}}&>y|7Ujo4PH6LN=cKy;F`UAs>%|`@K+ywF=$Ue|XBcRX+u|fN2OUf8P*1|DS z_IJDTbo+i`=IHeO(jCgv?fQe+iKWx^M|15LhC18k+8+$H;@!SqnqM-475r#C<lw~5 z&>8yUwOnKE4-mUXwA=Md^8v<A*Du|^KN??x#5#R{ysifsQELM-qE4(k^h@(0#?H_$ z-L5}$!75xKCLGxN;eWj-b{lMAHi%=lLAJ5>2Ux!d$oN-K<5{7`;|NSpwDQY?x0iy# z4LJ-UCmzCs?+iHnB%ty4qSN&aYAo_}b9}!E4i%nmCzkIwz=`@xV0S17JW+SLzUT~n z)9w1AJM;~fXq7;UR-A4^#3|T43Q+ev=yZJoG9KMk9H02L7(Vewy7GMD*Es=p9!SWE z1uWM5hT{{z0B8(`;S;|gk4m>INRs0df21!DSWb{f<rBZ4>kDX-6u2Av;1j=q>w{1H zk)W-P44?P~d|!Oxk2vv(U*}|}?~mTlFEHQYPQD6+{Rt^x5Pk*4LTLA!ZdV>{SCMXC z4sBn7%!{CyWj+*p7$kY-3?zOyj=TN<@sGRy0Z|YQpZK*7eBzG-yBMPR6TjBUPy7)F zL7w|@*YyV|8Gy~_==SC57O)nqW7)v?S^-=Nf%&CEP<8-|bs!5^mdWS<+-{IvDEdo9 zkkyy6ZD4%O@)}hKIQ}r)3yJ_xguxv9iC@c;<r9A#G?GxA46+uE!R85sK@$X`fB{7q z2i*H#Ao0qg0x3b8k8nT>QE(J@x_&`X{)u19_sb{#n1hH2*E!JX`U6L9iX*0Mf|X05 z-EYFcmVs^V{t^Ij5!5+x&_sd=VzB>Ypx(oh*!j1C!>si{sY|c#mrma|y`dbPp)ZcR zf;KQRyyon7eF83*o;24!;V72e2`VeKeV=rPzF`i1((U@9%ZKBC2iNNxcU`}{W_`_k z*Odb!kAjlP1Z?GP3ha<3cx=GZBiM(Z_yt*1z}^IfH>5&Acnqp1wEIn97$V(v`-)g| z)M<fEL1pOvlEnlGo#rDf&;Wu}6CBMa{=Wq6-E6KE`CnSt9V!6Nfne`~D%ft{Kh_*& z>O`6KIss$^DD`p#!ki4Mg_)RL|8)CubTWeK1tx6}ho_VAwLy2NNKm({KtQ)IN4Fr% zY96qDW?zx+P>xP6P^H454dU>0av2|p19<`x2%rFkdLNR1dBTpnegTP~=3`LpUkdgq zXa=LXR)B%Ow~c{;q1#meRMP(G{?hIH2UON}GX-?}@<5vh%}02kfpyIFJHv5T&|C&6 zA%y+_*FHbGU4K}+{wWsi_T^#r{lULau=P?Y+cDSgjIWtq-{Rlq`n~l)DQokI|F4}< zJjVj&^|}Z!g2UsrG9tjbLwV4HKmZ&BU|;h<(=^1_;Pi~EKIwJ+0SZxg3^f1v4{?fa zFR1Qt<v>I~Ohy<~bcO!t6a)pg@0(5!Z0(!oBgnPP1nAKX44}P*ur>^6!yt@}+<*bQ z7o)rq05xHJMLK<dbcg;4>UQNpb~aDzff8^4ihvt3Xp)G$01gmvdl7Wj38=le<@^8t zJB67T7{K`*xxM&_A99?<Cw{?J&|x6QTR~@kfEKpx=w)PJNb76`9bIy)6?FIqV{b3$ zWRlKa&_N={TR}&EFmNz1fQvu@ux@b9?41gd3F>VHDT4*9K<j}LO~N_G=)lVkRtARd zUXUvSv6=)51>#JyV`X6A-`)%I0HsEKW?^99-_{EX1xk%t!NS0R9FV<JLE!{T=PY;U zf=-3`#19G3G=9BS5P$x+BQDj%`Pu_yK1$fLbhd&{kAVcLbuWlbWL$tIG|}9b*4YX= zUWR`=lmZ8@^$8*kT+PhDfM#GvE9ej#{%ueS9L7YO7Y#NKoGQV=h$mHo(`!I4IPt;? z0^(EUCng4l?x~<u8Pto-B;r%$3MNphoC->nlo}NaGHTmYP^zTVC?O_L#2^9^HTP1U zDmO8LQavc8!@?exD#3wjJ(Yx1nFcZoHHE`dWiKRgf`ixkB9W;QG*f`)VOXl{g(OaJ z7!z$CXf~|36&#pgXW~hfy`Zu(5H(AHQl%O(W##L5WLr>^Hl8S}BF=E84U8B~Hq;J1 zsCq%FgyH>pkk3Ii1E>!O@*k}J14TcK4LyVkdTtc#q$^Nc1%g5CH+b`nquYUH=1x!# z<@--i4H?SO4R1hYhW-IbfSO1iEZV0)?E^0sa1{tK2ugzMTc5D--r6lYK?}JtYC`ZB z3O6gref+JU)eqfYz;OU+DMDL5*u{E%UqIVPaAm!rH-dUyU!b<ayM6C;`kv_yz0nzZ zB8wrTVcHCaZr3vb-M%LvnF8c?CXh!Mc7o)-KkW8Bp?#v;^^EkPEQTzu0H`Wo9#FH9 zqnl|lD1brj6v0mLsLM;x!kq3ey{<dZ?cHMyTK~*Yqh8P59lFCBthz|5+jWOFxRu}S zyGI(Vpwo3nr|+KE3eBhfYl9Vmj*O|728RlB=ni4mJ)NODI$ig4gH;E1gVh9eyY30- z_T2$>UMNQ=*b^Mamx2Npg2FSP8{FT5%KPpB`Du^zp-x|rQCSQb;P~_16WATP15yuy zoDsSQMQ?ZLo}g~m9gy|}Gt||vfPnEK?de7<kbz~gpq3j4WXz;Hln2ys=IG{VKFA0P zW-d@Lb2J`wSpMD<%*UJ5n~(S)r*n{>KtT^Wum-mO7Iah&s1F1Z2c2vKV}k+^#s(jZ z13ob)wTJ<H>`fYIB{V}Zn1m)&C<RWhc=~7H<O&}0JMIeZSR8kK0y;nBwNSU~3vgHE zMYr!0@X*qe=Gqq=#h}hZH&eIoi|)`TT`U3}F1#OJUjethn-75o2s;HJ4LR2j;8q;i z%;qCldTsC#z2+k_NTGr>#sV78gZUYJehLG$|0V*?b!dY<$6Z0|!5EIaz5$H~g53WB z?EVkkzHh+pf74w1fd%gV58a_}AnyMGcRx$FD@Uh5x9<-~5^Fxff)Sm~M?{bun+ET9 zBDd9HZUsdFIQ$8?7u0vf;a(=Z?gizKP67Vy#5)+py|8`;sqO`(O&soJ#NyuH@bF~> zhcEv&-`~UrFx<VMQyW0x1hO0AUeGDkpc@?77(gS~pm}`}2GB{8pi3Xw7(i#+fYP1_ z1L(93(E30&hV={#49^%C7(~FUr9kHiiZFog8-b_;4J(6E5E}z%XaclCkqx}U5VRVR z4ZJQ6v>K6(!HN;G+CYTCml3kYkBtFz(jCNP&}=-!JkV{BpjClv3>A!!HG^ynpp)uA z>-5+d<}<<EvVn;Kyo!&FVGk2zwI3UJl_984Edt)R0$OXw23}DJvBQ*^fdOKN3o~SO z9veddGi2=^8^bDQ1_scHdu$A6nHfN5nKOtmJYZ&E0G*G>#_*FF=6W6$$htZ<2GD*% zh{>`nFq1+1SwJiC*cdEWAnWwl7$&j6OtEKWV5nkbU|?hLhqETaSqoVi7(jPOvN5b? zg_*a3l>vOltq23?lsbssi>xs7Kx+^|!@X<_Z&_jC@(Zq)gAKA;jg3Ks4YHPvjX{fz zf#EGUE{)k37(l1FvoTn)!EAGavx?auv%+i)C)gnC!q^zjvcc@Q!v<MD#>Vi14YIn7 zjX{tdvKmZ;L7E+Ao;y1O188D}jUkYofdO<62pa=v)gmMo64@CTKy|1HLp3`C1L#sz z5r)a^pc!jW2+f7-SPnODEnLSDb_NE}eIg<Z-`E)#K&OU_Feq@q?5*PfpUBR@#?S#5 zyUYQz<0l79hZrYJhZ`pY!$okoB*0l+oRAe*Yz+OJFrUwc>sY}FS+m8)u!R${%8L!W z;t{mAi;dwgCj$fMEMO4^DJ~dGoeO509~T1yBo9V&F));aQ^Za#1_sbgk0K05xgd85 zvoW0Kf`!^mxZe9*uux;>W?%rF6D-2O&kebuiH$*$8>T~<8)lm(H%x~gHv_{purH&y z85lsr3~UT3a2<JY9VKubGr1WUu7h<f<z`?2ZS`bhSP$2+6Ru-FT*pIh$f^?&238)( zt!!)z{5&vMN%Fv4CC>wMl_?Kom52yKAP=aN0mXhaTt_NgM>bqXBM)R%hX}(W9`F)8 z1~!H@a2?y=IzYE?LsHl!9>|Id5r$7Z3=E)?zS$W5z;&?k!d%4z+G7UxuRkvXc=fdi zLo_eselRwMR9=`r^5Hr_t3Dxi%;bf|^ip2XEf64otcUB^3D>b7ZpRZ|1_sbc(IN~V zco`T#_sOs^{DSLX;e)w~iw_o7`g{xwpmRh;7_9ji7(gdlu`#&v!Cd7J*AWWWQO?J} za3AcW*?bHPpgR@W7?#3ytcUB^3fFO(kAdL<SjThlX*wW(e1z-x4cEcQ4|A0`KLZ2k z#wii-3RKW>NNfyF{4iJf@WcEO1lN(l&%p2qY)1z_0|Tf|Vq*ZUJB5@HbKp7_!F4?4 zhvkot{0t28;91$<a63Soupy-iw*bslS^_Yi`w4(<EC=}`LICEfBmtPKKs#3<F<33Y z0A8!e#?T-D%kiL-9w2qzY`BgU0+4l%Yz$ijAgd+W7(i!<fYwN|F`NONtP9T55rVLM zo+Joana0MD0cVxMS=E9J44_eOHijlan5#MkA?w!I82SYnz_l?O!!)?;B0&ZQ(A+E= z!%Dc=PC*6+&{^7S3<uz14+I$)UW3D#O$f#k6@sjsV`ESdf~<pMV=xqgxxhjQ<^o3{ zn43W>Zb9qn*cc+=Vo7jTF`QKgXH5`-xqdpFwG{4x9dNPzaMn>F1_saxkRl8(;jAxk z+23#$r!dSP{K7ET%L~JNlqL*WDagi<EewmnN?`^DNDMX$!~8Zu7_!QcjbV;3Wc?x= z!wO-@szo-2Ey9qsifjxAgdr;w*%$;xU~yR}!oUDJ%U^_{P6V>*j*X#N1ZG>m2+X#b zA~4%lh(K2Cu`z5Bfvo3aW6%&~V0a3S8B<Zn$~iU$D^Zv!ZlW-~A)=7Ac5Dm@qL7t% zYz#L=85ls9&x$ZS6NRjKV`F#?*ZUo=mqiS+N{$V@URVd5COgF#7(f^1iZDzQgRE9# zW0)-lvv;`|%wEtMV$k|FHiiRYkkxN&pj8mDhe6#hPy-EiO%AAO3GNVr7*Gs4>JZeO z0I3Bv2|-tQ#i3nQ0MY|e1HuNdejEd1Jp4ot@a0?aWvNA(X_fJbMd_uvpd)}l`(&}6 zI)r}j3)CqfszHbWbnqkOs6fy)E+9b=2DxDaBj_+N(6M145e5d(RaPK3O=5st4Y35g zED&`01Bk`V0J=H=#Nq-k{06bO89+A%gIHXkAZmVtYa#^Hj(7cm+)?UuebenqX#O15 z;Xv*zAx~`NmzIPj<}hUDfk=?|K&^8T25SZe@E#yG2GHrgkd`XwJYGmS3Gxu=MtU{| z(7BfG;IskSB<}%cfg%n)k{dy%XhZJ;1O*i+l0juXNG&Lm1sNF_9MB>eqz9x1M1yiT zNFVH;wxr6E)cE|Ol++?CE6|-bHko-PpmREe1h8LVK=S#OXs27kj<W=vBaxX0I-Asj zfkQA9b~qlobFd#s3Jzq*fux}50O<w`L5^ep|NlQo1R5cbGzUKK4ip0rzcVm^!UD7- z3zYa^=PN5f?>hk9CjvSkLX8n}_ATgM5zrlE8qj-6KzHx4Gl1d_#DXM75Q_`kx(3A} zHv=dkf>>POo*O7WxxstLKrAlsE)!6^b2EVUUw~L#;L^+$yxtSk1_rUX7(hG4Kqhm8 zS5$*ogCuc-ZiI#;ZqR|7xDz+1n+ZwWe&8exO5FZn7AV0|J8_=_wT;0s47tP+IW>VU z0~(mb9f>V*gPcQD;s)tPP23<6(i1o6(i>1A0J`J`l(>zdiQ9ycp#hY*O`(Y!R2@PR zH;4sE+#nVtaf4zJlDI)ENa6;?CnRx$SdhdGig!rj2C*QC8<bMG!5ush3zE1&CPNZ8 zhy_jDIH&A67)sc{6Zb?eJjm~M<!QEHEGAO91OGN(0r==nhwJYw#@^81LEvFhm@p4` z<wElT$V@$W<wEld#%|DfG?vAGai9eQh=mD=Aveq+A<#kYpjjO@24e<T^B8pLGNht# zW`H%QLB&ocI0u2QK!P;YK^MJ2)Pb&ggEXT-m;W3CH*G*yB0)OmpiNR{V7;J*3#2jv zbwwe1K|@F8U|G;mk_DKBEti6ZbU^2-gD@zwp<jsv+7RoCRt16dfKIvw(KA8G5Tp@$ zZ4P85sSW(JUC^08NT;&GtO4l&IR`{DFpyji5qnP-sDc7Dg!T%84$lTv=6Vbqg5K~v zT$+{!sw?C1pOX!WU$7qVL9L)GK|mKggPac9x(DLJ&TR+rA$1gJunu(P9!M1kgTe|_ zMS&&`K-DEk>@f6Nr4x({4WLHGNk)bSF9rsNQ;d-7*UmCBG=wuSFq~s#XsBdhU^vgn z&``&~z;Kh1p`nj~f#D7#<ZABwj0_E+A;pJ`3=N<Sn~xb88bF&MpFm3iQ1=#63V>LU zQUJu_0uS?m(gruUvjk#sfwvrkQVutG6Dx?t1>WihN^9KUhAxQ31wL2@WC}L}sPq7_ zxEP`sA)RS%@Ma*07-$F(#Nq}IKZ01)E*T2IB?A+&C4(dXcBGOat<&{K7E>>1C9Nw* zH+)eOtY}~YFXDj~4NOE94e-HYP=f~6)`Sce)1qVmwUtE}Ko@91N(Rt$tuZ*qgPN_7 zk^wa2geVzIz_Or{!4%8_WkvM*8<b)}*%gFAsTI9s0NLP%r(`fEP%?ne?;7}`;j#d7 z(cnp9(Ey5IupZ)z23nU4po`T&B?GAD0F?}&1G7LS188G5sAK?bHHMW8prJBI$pB(O zN(K;%3p^AIN*mnZff5jl3w%5PDCKZ7fHtdxSdbnYC?!C8Y#<gF1L$~fkSW{@pf&`E z#RcA22x4)Ak4XTrxWJPGAQq%#0I{fDGUS0v1{PvV2K#QLf&o-6u;45gK&$*fv(`M_ zOwBJ?h%6V7rW8R52bAkTIg2(WLo)*d1E`ZB!Z3>gHarj7vds_9@t`sTQZj%Byb&dX z09Y1OGJratY~W35q?Qbzjg08mnt@6aSes!FddnVM4TIYA1793~&Yy;~&_OK)6Ecbe zupXj|16r2`pz9Vvr2%Mq9aI{CCM7|o0q7_QP-y@v6=0<SXnF-w8h}`k(g4KbVgR)| zLFs{;VLk%`1Bk^1E*C(lg_{9nCWyraE*C)QiyJ(#31V?EI50v6@wq`)4}zy~AjhYG zOy&l6ia{(ch77nm(1ayK3^HjATeOa{r2^z3$QGgIT2i|b<=|q0gV<uh1G<nv0A(S; z-PjLV9KF6DpzDf3S%{(e2oK5%1n^px=2sk`T}%Slx)g}*M5y!mNF@d4;sa1Vf=qT9 zF)%Pd`WZIxeg^2$HIQROz*j|qY5@_3L<R;1NIwH~sVk(P0XiEJq7HObIz-)61_p*R z;C=>ZC>+w70F@60;8Fp!p%_wTfChg-SOk244#X7Dw5cIj9q6zFP`?3t=>giZ4!TYS z)Gh~=e$T*rlo1!}f?Aw*XzdD+9?+%jAbJ<}(gWiz9*`X%^FbI^(lRhmbQce)-44** z;E2M+oy5Wf6!Bm^@WR9j<QLGGA!t5?!BQ|2i4X2}pqD0~@WR&X0EH!}*8%FsfO;Ll z&|U|qKMLw~fci6_UI%ED8Pw|lUE&Jrb%1g|s5Ai`S_CRhKu45-N)yoFJ*YGR9fJTX zO+W`NK}r)43sRbZSdfwfls+IO2Z#kJIY6lgQgVP;T;MTaP|D*5r%4ct3*4drnZnHw z%m|rI<N~)SAY!0{mq08oa9;z&;%2CUtHV>8AeA9R?x_IXTMI5mh#ry1Kp&AnEEEF8 z<7=Vr&=2692Oqj!-!#8q>~sY!6ap<|0qvdWb_J~;>hj_J-ND23`U<Hd7s!i+V9QrP z{aP3s(gp$bLLub|sAPeZ6QGg>lEXpQ{6NYH(4}FJ@&q*04N;fJ0GsFl^=~2SK$|ci z;}-827#I}6r2}a33ZxVPl^76{K_!L~SXP3O0emnQ_Ob({29&R1eG*XFA&qo_b2lRc zLl|1w0n!7Sqy^EFvGz&8Cn%#_?1gLi0%SKRu0R;6Od<6iU{cEw#PEeZ1Bak3YB_@8 zdh8>S;0T5cvxDLtYzVku5oKToty=(ji2)SXpbOuKxGD-X>;bxG4x|q>>;d9~2C-m# zczFah4<yb2iUUx2#LvLM02<Q*3C>_-XaL2}Tt<cl(8ag&7#SKo85kJmGcq)QE)8A; zy`Xq8BSQnIrdq<t&;S})S;q*uoNgl{<kIL(j0_E+{_bW*h6Yd_wv7>TN!<=ch6Yf2 z+r`Mx07`AUp`#+89x<eR0<j?F6NtqHK9~%2I2<?lh%FF{3w$6D$o1UdX+jW-3%s}l zl%~1C$Blqkka7oP3Z&ctvA7r(GeVYpa5F52vbY#P*WH0+xf!;@#m+!k+zc0>ENFj7 z1ZxY3^fGG(cuy2hvjx#(C7BpwC5S=`RCM4dv_Pu`Q3|ae$b}ZsV=Bmn7E+4{)OSK1 zRiQ<>1?nM*fDiPO1D8yogRDX6NCbRf87L)*Fo0UU@?cpRMg|52Fbh;Jp!b+S2hM=X z4qW9{4<iFZI9j;{(gVsDAbJw1<rezj3dnL$W&>f613@$$#$6GEE1-hQiqe7$6!Bm~ zuohgP6T_)gaDm!U$mJF&4yajfft(5|w?N}4pmGZ|0|zR%K<y|{xdm!zgUT&X8yi$^ zy<}iufR$UIF@8w71!6(UEf9+fe8eFr4RV7I`UA1J7(lfzD1~x^7np)rT;L^cpft@5 zKBNf5;$o;|ge+v^1~1Qqn70HjwgSrHV%P#@aWm|IvbY#P<rYW>q}&3rs9bJMgOyuE zkL0AIjpQIoEzm*)9Hka$O*ZaQi|7#_<WdV|Bp8<Qz*R8=wactl_;?R!IjS_cECQut zNSOsX;1W`1f!bQ2(u$1%)Yg&(s{^?Vz03mDaiC%YSD6Jm9?1u-%mV2Fm02KqB9Ubl z?u#}-uA);xg&6h$6;u|~D5$`OU@fRXBeYa1sGyg1B9~R5u%~8O1#&H@tO9Kz0+m&u z*+x)V1uC;ZWff?-I;gAy&G~}LDo~jPE2}_b2avJ~#DbJnAQl&RsU0Zoaf2^(0I|5h zr4}e<a)S@w1hKflr4}eHbAu091hKdnKvxHYOyOoIVuUQ%<zfI`BMcD(UF-m2aWR0d zbqBGy8P>wp9f7jA8BRc1(6UMf*2cneb^z9~CL;TZpe{4GpGfp@Qvt5wCX9_SzAu^& zGIoM@z%+wSG=Xi50Zn9ehrZ}`ebVK^`k{kG5WevNvN49FVJYN2F^D;D(BK5>mKY@l z*m6D#_^1@9#|Y^iB9=*kF8_t}4zu8+QlK6qL>*{;6H-or`Uenope6jE7QG1g_)bu% z#RfhU6H>B)_@Fc=0`6Tv^n%6;B*7({4I=}C6qp4nP0-6Y&|)3XXc}xR%8-MBK^v(* z2`aw*(aJcG9&H8&1`s`g$TALNa0+B8q-aCjR6SsWQ=lTxjM5?xlpw%{U@h`iKs?LC zfd4XSP$v?$unX3y1g(Mq=?3vZok~!hhFso(;sINE2Z|$5pVFLxfdSN~jD+?nL1Uqy zJ|$@I4AiIWW?*0d^(jGSg8Gyor-I5m&<HfByaO$&29<Z96&0ZJ4zw^2RNjF$rGUyi z&?pA1yaR1FfRuM27Noobu^?p|C>=t|HV_L^wt-S9q-+DRxWFwkP>SXTFJlL>xWFwk zkSW~YBMCt)E(TDG48-DQSi=Ze#?1w8kwL`vz{Nm4Nr>1LxEOdGj0fvU8d;#7QQaJY zprtaPtOOp>1{Ei;ZHD~YTz^CMEMni3hJ1(xsDlWKIna0mjE!jfKt`8AB?M>Um(- zgA+KXg07K<<ZaM6B*+;e44_pp&S2RJ1_tm<0`?Ii(1<0d#RAIhAiF_JDnTt05FZqC zpm8X7v>Xl615yK`=c46k*a>b#t!M#R2*D(;XaTKM0hOmS;n%!_FLi_EN|-Z<8rum5 z=>lg%P=0}|(S_wIkn=$P1mzgy<&w3~QJ79fh6a5G28JF+h6d1RP(O4uW&(871e6;f zDICOtq;L?63%uRP1-#@Dv<V8tf{dhqVhu8q0%Ac%Qb6$x8A$=LxEMg?HOLfh2GFcB zhy|^caimhvenW67{Q=ou3z~O<q*5mE=2!mhu0KdkrJ&9w=BNT9m4ezmA`GBZY7b6_ zxKb%-zKe|kluAJt2auOaLE8j9@T5}Ep~9e;gf0AqB@aX@MIQhF<q3!mWRgnBG!T^F ziVE`LVeTN9OhJJS)`du>pmLpBsT8zz29ioaEJ!K^vA7sOr8_8IxWO$@5DU_82E`hr z-wa|w`puwthV+|3EJ!K^nF2|rAQt{q3fjesJ(aS6Q)xHxi4@cj0Y@At;6P;=h=X31 zf-X}8wZcUh{1_M*Ji)0HG_wOKOF>&w5oIapS~N&11+CT~FO`C}!MNZ_rKizm>R_n@ zKGP4ms!jp2M4iehR73`}t_QRx9aNBpla)fjx~P{zL08?u%27~j0+K>OEJz9kvADpC z%|UU(4Nj{d78iK2IVi@s!DBoi78iK2IVg^~!DBoi78m$XXOJn};1U(Y0;kY!#DP#O z(4{KSz2mWmL6r_jp$K@l93+8&5*T_@8MHqPl;}X}K{Tjh1&yVE)PgEj&_V<B!~oI* zQUlr@c#x#T0I~rSgNiFyMQI=ei(f$oZb4AuDPdt?$bsYuNWBN%Cjjb<z)S+U2UPKa z+^ho?e8I@j0CM9?MurB^aK|e~h6a#(UqdTA(E5EyM1fe4hyt;=z)KlGEN<{b0Eh(+ z?B+K(Dy@Mn4nQ3tHU?b9fi1YO099IcU=}EZ&{F`Y*#HV>kQ^xRKq&y!Yy$B?DFBp; zZ1EHavvD=8P)C43R)CC0#h|E1+kJwc3ri=c4Jv=K$^o!0csW36MTJ}pfOdsKQWuB? zNnIco7kIxsC@#1eK%);J7G%%_6jP8v6A%m1u>i#_q+<bMae>dR2bsbRK2sjVf~HKY z=RbhVhpeQ@0u2v<Yb^LtyO5*$nh%1G+U?|mj!cknq6XH%P*7hHR*pb2EGQj8mb8GD zBtRNnptK4a5Eo$pbptHH=`t05asucUT}ZbdG${xvw>lUYz^5XxF-&1#V6X=30Hsd! zlnfeB0OfU%94MKAQZi`s9f%J~$)G7}^nF(#Js>q8dKRvfjM2{r*#fcw6;reb1$)Bw zB{^Y(A_1%mp0L5?C2|uC<X2F6iQZ8Fg#)Og04iHS9R*hg1_n?^0kkXtR>6UGNJCOK zhy_X6AQmJQgW?8~ia{($Dh8cr0ZGLm7NmO&igif$7{uZNcMm|Oa5I1wtAkkJl%2%@ zKH3PB3K*J?aDax57~nM=8w2Fbe>MitG1Q=?D<TY_6O%xTMcBYQzCrp#ur753-2{ys zcc7F4sx4qC1+?hFive`kG(r_f4@iwT0|P@JBBdmxROTh-W+p3S=4F;-Cgx;Tr51sY z-&c>1&kQL_EY46@XCQXVCCCn#jUYB?CLYwqhNZXL%#f{?m*HD2K`cltfLL7MVOJ1~ z8@%8j!~%z8AoPqX(CiLF_6hJcI}8l``&hV|e=wG?9drH9_?qRI>wktW-~Sz;%?u2n zqp3j0CV|HP*cd?B7j*dn_7<fj(q>1H^FhH0iWFFIg4U!3q6H^N4@eDYUsDBqr2-@F z-~^w`o|Ks$54mRm8mb^GKvtq*_(oQ6;s*sKOaaJVP~t}p))UYjtOw!23SvQm6~y8K z@0kFxxWQLvfmq;R?Q-S7zRwp{48oiT3K3A^0r5daQ8B0>L#tFldO&JG2^)0f5yZuq zyW~JyK=Gs~P?ajgz%2+e4&?ES{Nj?b#2m=RUQi_m5`>t|06zT;Jv7*$O(f79BP6SX zSdh>Fu^@X%KrF~!5)ca<8e!dE__w=qpdRXlIMNrCtU#;Q*%&~{8In0c1EvrbC}hwJ zbWqv@xfCP^qUW=MhE)-33PEe3(N`pc^nlcZw#Mp$>K~9s*e)itjkFk{2+{~v58k^3 z3q{b$_OMU{4P}CoEl5?SFla-xzaT~$1Gxb`RC%DG3R-^v2~`ja5~?5;7x<7F5Q`hU z9TmiatiuPfAnWi!ELcc`8viI~z99k{)YJlP9AX2Phmha}g#?5J@*{dcgM0|`5l9Y1 z6BE!NJs|a<@~{e#fg#zHynqIk6UYG#IuZxu9MBO3;I=<{@&&m8J)ni40S#I-1PN#m z3lh*E79^lSEJ#3uSdf4Qu^<5rVu1r1+A`umSt1Otf<V3o?Yj^G9~VM6ctKeb<R4;6 z1CZB1r2!}%-vn6%(nxGN2CD@V$fW^jAORM<L<gq?G&n&sHIU#0u^_<-VnIp+5DQWo zfLP$5BfD$_%?zODYEa05LIYGbwjnBCjKl`ovWt<c!2tm#K%oKZSAvWK6@z)Hh@ufA z7lRa`CoWECXn@AHA)x_cK|%w>f`kT$1qlrh3mh6ml#QFfN3~F^Yy@@d&_fYaE`hQv zC{5{sN(6AAVAe2LLlLAAtR7r8!a@<0OrfEOwP?f$RgfFdLzN#Is-Ur0NT`BXkWdA& zAZv?3EXdko5DSuJK`cm?1+icuO`vSt2o7jaTM?3FK_LNQf&55n*@!KmL7@UN3sg3O z&a8oi8$|&PDjSgk8lz~$2xyQS&;wc&8qlCgen>!rSdf4Qu^<5rVnG5L#DWAghy@8~ z5DOg8gv&<II&w<OMr@@4$ZMd|0F;hz<0%`lrejE4fJo%h08}<YgBM&h5*3`%(BK4h zXCc7}VnKov#DbItAQq%F0I|S92f9a=0n%~=9qos`RSk<`kW)bzz19HDq&uOtAwhaT zAp<JASYXrN436>fIr+(nIq{GS)eDL;^Ged<^9xEc^Ye-c6qhm#Jc6LJ2tY1iV2JmJ zXbLXLFG@^L1ve@|l`^QK0#N}u$PTpY2jmV=ml7oI$p9IS^JZXZ0J+Tv+TsQ+qkx1Q zhy@8b5Q~dp5d#DG*h6mco<&e7K@uWJ7LpJ_EO2Osb${u06$t>X4Fes;56b<Z?99;Z z!4lXl5Cmx@fzH5(TpWaGD1ovk$P^I<kUK#GCTt9P@b&JXV;@20VDCbLX3;=Cg9S2r zlL>SUvLRaRfb@Wh1<)#dNti|k#`v-{Xq4n&L<UGX$QsD1PFRanK!AZEKDeYPH8Ga~ zBnE2nnS;dK@{4j4OTc0v^Ep6bKA@;iWdN;C2URWwEDQ|sjz#G{nZ+dxpfVd&B7>|j z6M!~n!D$~kMnUcdtvf`H(K;rE29V?GnIH$SG%!KBrl5F(#3+abiBS-X3w#_Kh{X*) z&<w=l0v}8XVsV2Hzyz_tG1~kF?aBdAJTUaS3UoqF1<GPTiRk7dpbH70S3PvQ{z1KC z0Mv^G9rYptj$4o&A`GCxI*^&z<2HZ+(lY|3R8Yu(avmt?K>h{w-auyPqQxyp4@eDY z<{Nb3FGwE)10ytM!SM<+4k863L8TBV4neYn;uRE!ps6C1I0R|_^Z);U&}y6bpw!~h zoDy)pgv=0wd<wG)<VH|Df?83aI0cE@GeZW*otPOKKm+N{%nS{n0U#G<h6a1k!AQ&u z4In?cL5ChdgD{Zz1+gIU3u1ABk2M9cxWR{qf>>OTivS^qM_4KNh5Gm?6y#^-m82G- zNkNo=FBQy5EJ{yRfZSsUD$YQTWMBX-l?6E)!g~d-!6EDq_Gdu{;qtgbhPWL1!E{55 z9;ir%C}Ch=0Cm|R#Vlw{gpI)=IX|~RFEiy*G%Mr({|pSw3=V0ji6wdl1``<>8XzKi zDMhKtC1s$&NziH#24=<@xOp&!UP@|GX}St%P?G^P&CJXw<H*1Oni7YpU|@i%0nIEk zfU*!XBWUCkArE5d6{RGWfYz`;hf<gsJ3y(8fq`MCvK^?rU|?WS33fNOurvqrK$6Tb z5i`)~NDvV{gfR@D@jYfnP}u+)?0EHe66o4_kY!LiKuoY2usN27<_4hQHi$VOyDSaO zjX)U(MZ^R&?u;U023pdGB4PnL0}olm!e9y`sOt_2XNbubMxZ4uC~8c2n9$Uid7z6} zG@yxC8tgz9G5UZmVxqx}YO<wS0=kIB3{(*#1A`0bB1Rl6DCQU$n7F`2K%oh0Nw%Pf zfU*!MXG6kSuOzjiL?stAyvP7b&CHCa#2{y<)+Sv7?Z#zbU_e#_Iw_l(5u_Jnde{r? zbWjluPf_4h2Qr<R5p*ITOdUHo=8?_eWB{E_3p!5=WFpJ1|KOq?)f`Y>V`c=!6KJ3Y zWFIGnIiQgbW=8zxfYKYPIoufLfNWr91Z^G%Z5a}~G=Dy(zxcpz{=x`3;}zr{UJP?U zx)J7VF;cR^GzU}<GBYBZ!;fJOs11oQNBs2bTugI76P?VAFOb|Lh+z(>Pr=Lx+MWqA z(SGmFcuaFd!2bGyWR5U~IiM<wnGv+)7ZeIp?1j=W%>m73GBd_7LC&WIg^wtPIiLm( zGb3o51IV0P^J=*<%>gx{QOyy@Fb8zvD#AU9uTOGdnj;1FR|t}OBr(hZ<qu{?(9%9o ztoXz`zQ!~MG$hE(n1E!CG=@2#5ddaJP|pjLo;z7H{4mV{ot4VW2%3EYrCLz<$YPiS zs_+ozMAuCHg=r3GoB-7vc?@&F9TK>EHuk>|!!!rf%wlE)ZGwlnM-jsuP(z!U5#%aR zUE-<!@HVD7pr$G_BL^b`SU1RD%3v09eg|y?M)(W6d(^=3l>%Pc1u_M6r8KAnK{f}p zagUi1G+zWNK|K0R<1pO=+VH^42s#c3<}Y<5_oRT<V={n_$6;m!g(RrNXBAF6f@zKx z*gc@-nIKnyT%?I%4ruWwGb3mS9~3@nemf;F%>k_dU}gj@Ux%5ajbsj_?9~O^1u8i~ z_8h5Pwg}T4P)C575wyq>W{xg~IiMwV%#7fe1#N_VDsvgr98g1=nGrOL4oa&a`}8r) z0Zp$kGlEkQXkx(UuL!0&plTo0977CqK*y3n%mIZD|E?GfOmjeO1yp|-W0(V)lwoGX zA3mV&5vn<+80LT$=@JSbP-7F-U*;I*fMOitFHrl*8f*A~cG07nV~Jr7=%i1GIk>|I z)G$W%mo<htphMr789_BBsAZKBw4e|(obAAA479xv7Vowg=73rU%#0u#LHXi?e_$)7 zIiTh&Gb8Bm6_`2p80LVQy3CBA<~=BUxP^`LFwFrq;+YviXWPQkvm@A?__W-7&~|T7 z$^@PM3<?<r2GIQm5D|z;3=E(tE0BmSg95mv%fJBI?gkP8VTdl!GCU9ugdrlJ0Z<Un z9;_=K)*WJCU~mMBfaE}V3`DboMdEW)bCU}|2cv<+Kz79!mlR=&<fMX|Q49z-vx6c7 zq=^CMW>8HG6@a=KbPNTm2<UJ#R1we?cvO*k43k0IQBc+F#ZUv<K!>X4Hinv47$QHR zB5dH$0O<#{i$Pmb5h7Mh3=E*Pg9wpiCI*HJOrVpyK_Ldx)yu@d0BYqT)PP#b0W8RB z9xyR5fclaMHT=vB3>#3?STZv(d_WONWM*JcU_~~kotc5507YaiNDUjZnq$li3;`%2 zw?K)N9a+sgkO%{4vxWk=r^LX(#lpZ~fTBhVB*KBL%aetHK>>6J0X)P&e!74nG7Xf$ z7#J9I;cB)(MNHu$m!Km0a1oHdL1AeQ7vY0u9z(c@4phVvF5(3hF@}p|Kt-(KB5kY; z3<g}tzF5l2!0<r;A_55p(ESx4+XdmeK10n>hKoqCF)%m?LUciL9O!NekS<LISQv(b zx*80iGwoq%qYEk`2{&giR74yu@&PI$3KvmkXJGgs46zI1!Z3CQh65tVBAx6E3<aXd zB74{w7!*Lg9JqVlLklutxXIwjY6ehCALc@1XywBTR}%^qQHP6^LPb>JB2%Fv@^F!@ zP!U<U$W^EaCtTz^R74RjA`NQpFo15@fVsyODuO6&LNG+~F+}PxM0!y~;^Px@a#AwO zK=B1J87z`p3fdO|E!pDZQ%dqnGeK25R0O1Y4vIM{K7NLvb_S><1w|V(gNlzIsL}-A z%m5bwRoM)nmLpsQR6#Q^gI836`{q7=pz4?bG~5AK18NL_k8y&FfSM4{dpV%Gz^(%w z$pTkn2r_65xI}`gF$7t*1w{nppaaMvV7nZcLFoso3v8DMvIy9&5M&XsE)8%Qg{;c} zSp=-h23Z8Giv?UFA?xBn76I#$Ko$Xq^9^JXa5z6e76Eyk;SGk!5^#wGwF?v&3~P`@ z!0tJTECLE1h9k%#Mj%B?z@-G#93xNwtw9k1wI=VOh=AIT*HJ`39=m`n0(LWKYzNeH z1*add3qgaVa1pS3KrI@$h#|=K9&nieb&ny)<SED^;PAPFECLS0YbYWhH(x{%0lE1I ziU>#zsQm)&MS@Z|*c{N-61WK1F3?hcxQHQ07bwkx`>=3bp!yUp0@ei@#e$1~b%C~2 zgL}|$T_TK-8&1IC1J(r^PDQAJ*#+*u!*zk|f{TE4f$V~dfJ1%>xD<tkAvomMAd7%Q zeh0D$SXThJq(#;hfh+>nm4Yk+)&;uO1)fjAc5#5qXQ(+~T_VULU|k!KMZmgtAd7%? z9YGcW>-xh0x!VRDVqje?j7TD2U7+v*kDP!)46F;34#8tPAQ7-GP&$N*fOUb=AzTEm z3p}!fq6;np*98{=WhU@}HQ;_ONEawMGxRVpFu+AX$(aFk!U|jjtP3<!3hrgYb%Bme zhl_x9fkunrB5+-x-aR-pz;=Oj!A0P@;39Bc;1LfLyWk>lU2qYwPeH@Yph^O47uX!o zg$!^JurAOVTet|=J)lVhxCmGm$fuB=sfv#uSPjU{a1pRMAfLiT;I@Ot15j;;i-2{3 zY=?`0O$ONx5z$L3hIKd?KnH6hdZVD)57xeCU|0ciECT~r4HE;hE*EhB3pCCI(Sb}p z;)IOjg4Lkt0<C$)W!F!rU0^jRx<H5XF*8D&k5G#stuY1$S5P+*w6PfE9u!^fAQ2q8 z>Y=*8YEX26CUkJQa2He;SPj@6EZmT(EQn7*LK2_=25q(k+0KAG?*KZUiJ1{pa)Q)p zayV2X!dV@v3#5h#MHlF3Yi35!Xc9=5lH@c=gswQKE|40Ku99RGPhZe-Vg_%J?O?w{ zyF2hc8w0}(s4lP?2EC$^WR(zzF3@&!NH}BaS`XC)Rs(Vh!!f7`hy#g@n<yg4e)k2t z2ig#1XgG5VIwAzp`xvSVqz2>*#1so?Llz<~*z}s9{ce!1-%wp3HK@8kn+*}Vu6V@m zLWGzwX!x9g0lXm*RTsE-4<D29t=$Q|js;|wHdGf#4HJW&b5Mv%gmWlJ26WUG#4bn( zfW%<f8LA7c1}q4=ISiDFAtF6I3=H;RK>>d8&OZLm-tlfhu7M5?#_?W`4EEraSDASw z@u0wnPs=ZYF3XKCNi8mMa4`08f~o<X6pu?$fRl?8LwtN@Zb5u}T26j`5koxQl?qU$ z@$retMJ4f>`AP9<rFqFP6XK!E8<O*LbMy1ylj;odaAtfCgT1{9F&F1J1Uk7mI7B)| zL`1=iFD@y{1C2sJ9T8ZXT2vX3T9gKwanDOmb<QsZ&1*WCz|^BFa4SkJEKSWzu0$va z&Ph!zKycktOTcsWA(^?U2+`om;*!){kXT5*TV_rwh~;1bv&B8N1SAlZpO@;H2X+f+ zQ3padXt8h(Dz_NH1uc+4k_B<Wvf$WFPb~pm_?n-Vl2{3iOpsM&i8+2CKZ91fgM!H3 zF%+b%EHTHy!O<zy(7_=JRdsM_E>?90=n7pj)6$4j8JwJ$lZsWTABLf&MTy`bafo#E zMz|Eya;UoC)a3lUlwy$Ket49-7o{eaq!xjc#rrur;Zf;YSPBZ7NJj$de2Y_)A=V-r z2lozG8XEo}Takku;c0M+0xJcni9kqz(m@JH%nu<3if$w^`}lZQaKs}P*@HBIvH&Ez zLni4#VjcmG0gf&KjvfI{E*@|v!Zw1!R5-Z=I1-RXgd5xxEViJk0(r#&;!yZ9V~~}u zt{^i&p297QORu{-KD`iGTzWk{@#%%g;?fI=4P0)9$b!8JDpunQ5|gvzOY=Y!$iwk| z5m5~G(98$Vlb(42If=>O+!5i3ls7?+v{wNe1`T2la1jTOOK?O&RluXtLq)|IQWS#J zfnpS_EIqX(9%ONRX>n#=dOS+W1u8Zj9lgOh43wr|`(Qv$1}7${9S~PwoO9{mhw3bF zdL^I*k56#f;*M$yIQ|LP;)<#ToZO&VVBr;?R+OI`pM!krDAYfGj-V`q6bbmWK>b6C z7Kne`NznrFk1M(sNQgn54T^PePREP}2Z)t$6_`Qj0I>nC0$Yed?ZFv54g|si>I$45 zhq?jTm*C9kfvu4604Hv=ICVhE1CEXXPA-s01ZP^@rZ~h0g*eAMXQU=)2bUx!XNM&g z6+2ikIK;;nrzV#cWtLRNCxay8lk@YlGa>aoT!(9M0Yg040MES45~sxCR46w%qqHO? zzdVm2K0d7^KgTG(xHy%;9&J^ogT0}>J-&vNgM+1mNxV0#8HZfn8^`-OG1#YN78RGo zgRg)G8%A7qcQ6Tw_i+qzca8V-3vqRK4RUaBgqc;GnoN>OAjd&mQA&<h@D=uHMX7}( zS&Gg1@$n^P4i3hMD#($+9#NthdpI)K+s8XQ#2YyIIC%N`x_P^~yFrr{`2GWXV|!D- zP#+(AQ|QV!doz0#M@I*kHfMJS4}UL54?lN*bZwA~Xm6UAUt(_xUKVF>nwsYTO$xA- z0q!4xdR34F14|)bVNkaz9y!H<(;6u8<dl>ar=~E(#}}n0<~SIqr5PXtn7E07iK#&{ z9Kh9^7+9p4AZdWBH#ADMFtLEkKpTRH1g4US*d?jr;9wkJ25Mp>1t~5C`i7PU3P`}v z#LU>hz{1$b6iHA)LBY_#z|71{LBZI-$j|^Rm%!!2_>swVk8!xNKQqG|XcrH8Z6B!X z1G>~;4`_`&hy%l10<g7v;FVS&;T3HR45!N&7>fUbcnl1nH7E`Y0#3+l{6I3G6@KkZ zh+Zm446F`mogYX{pMinlIfgm|2jo>4AaxC#3=Cq-j11F2gOUsodleW05+Le8JN!Ya zAak;-1Q{8ug&=l=#y=41AgdohDnYZ;w}luPB!waBK)pT%fq(?4Kj8lTz{tShD9p%U zC<;*rnt*Z;5O9Lni)vo7C?mr{s5)Hc$uKc6oD^kbcq)$HJkXe`IOv=#kYk}3oBKfX z;(8K{3}K*iwiqC5Vz9XnWL^hU4b(UWZ03QEESfLL$Z#HXmKPrLK<iW(r5PD6g3c}k z&lE9WHSYuy1B1N`BLh3=j8>>Rg!>Tj23q-3D$mF;1F8-len=|@LGA`^c|0J`$lweb zc!sWm#pVwSCI*Ij1xAMLphaW^>{V4}Wbgo;hYej93N{bTUeJn}0%b;qxlnbW(FCwM zr1h^L_f;@5Fl<z2WYAQ_AHN{;qE#6gI-u%snb*L`z%WOZkwHcszj>ha?5EDi&;wNm z4?i^bf!6PBQD<bBqlw=<(3*^MP&FWbfiO1zg7&L(X)!W5Y2!B!RP2;M)qu<bVQl98 zU|?XV(Pm^Q0Znw^Nq?Yw3YO_GGT7=u>;;*R&AbDQ3=F-xj10c|5OttIDMb21<X_Om zAiMP$8PY)+0K5$vcY0oHz{pSvx)X|lfdMp@jxZ0Ao<XCC-;Eg=gh10Xps_X3+$E@d zK}%PlktPEZMutXob!hPhI(Tfp2_wT}(4AFy!Uc3pv8Wj%!)wrOcF=T>EnIq-7#JeW z85y2}4j>@lk8~?Wh9=PA1$g`c8gX4<#mMjist#BB1D)g{V9m(j17hIu2WX9Loed+y zf2capd<`~#fY#kv+cGk&2OT8>jW<MmAmSG^;QrN)kwF7=<`r^2M+;|Ac^Y8P$WQ^A zL?d9{J_kmIk5F~E{0mCPl8%fFuAmd)@R$c$WZ&(?$nXKG4wrvH>nC-b85w4P5(FOe zK;!23To@TtL6`I*#~T*^I=eD5WP=u^;)xH?T*X{BMg|Gcg~3pJvBk#>Mh1pBcSeS9 zpi6|I>afKJXl&cYlaZkvbixxJ_koOA>dDCP7IZok9`}LfB;>sr8B#zeOW`pOR9-cC zGcxP~-S3LWJWxIV2C4>BR)H`!|AM07qYop4Dd@IHJm!H$rqlfx8MY&-!)6}H%9nnO z45py1i-gPzU}V^iqz;>Tpyc^7fRRBHw1W(fd7wF_=paUhc~Etr^)1-U1I^s-31Vcp z0lKFKk9nZMcdigdhIr8R(0KA2D1WqvFfwcgovr~budt;Tka>z>j0|OAka8Sfew!D@ z$Z#qgq7GMi51PvWZPRE4ZPmczK2ZFwjbLQ>7)jW?_$Wq(HPGdBxZDSd-z!m!3<@#$ z%>%Vt`=Dw-X%B?4#RsT~I4_2gVOuQ3JW#sD7Ji_WpD$t=8I<E7>Tty`C^<RCF)~by zhp5A49;m)O3{?Yi8wg`_A8233>3Bwl?Fod<dkIwoG7E&UnFpE&|CqqYa5E9Vd7ybZ z?j%NrkR*sYT>b^E|1L^mWVi-8HV0371|15>k;2IE8Ki-MfdMoXip_nXoi@Iyj0~lq z9iRm2)$bXM3_{SwmT>o>wGTk6_zf}{8T_E?aJ3UbL6?-t$Z#kN;$K|x2AYlglEuj2 zlnqgbub!#PW@LB;s&Mdx3+UKunOsJOyj+NRxY9i+*rw$&GW-Iaa*oG5(9$@ae27_~ zGyuZb!Wndxqj5eXgEDA?10M50;SdT{12PMQv6%--r%?rr3~q%GyFvP}<s;B4{fa_H zhDA_yxZ(q}f@51DBf~V%S?+k;2Ws!0C}LzdPz<pbG=YuHeV{dADkY2zDdiA#pp_p8 z_aWMypmxr$az+MSP)7v0e}tB<K;=PZ1tY@}s5*H1Lu(&^%Bw>aj0}8L5PNZjOF9Ds zgF_V~!*ZxPT;_r5^P^Ra47{Mla(LPYpmig`HH-`uP<6P>1C>|PY8V-w)#7&_$iEVG zj10kb5OuiB1GNtd>lhhULYF+_^Y86?Mg}KP2Mteq1JtZfXkcWR0=id%fPZf_GBW&! zs>9_zP;*$eiIE|)8R8FI?gRO^yP1*U7*riD^FaCXNi!pZM=O5wav2yHs#+Nto<r5) zG7nS^v9>WXq_#uM1LbE#Iz_a{LGin~osr=JR2?q!K*i|0c1DJ<PKbH9{0rKx($UGt zunnpXSH4tXWMDYe$;j}o3%_}wU1|!Td)Gh(1{7n<m!RP&lWs-^2hd$dc=9=DmswE{ zBSRNd9WM8Q`XBRp7#WWB;&&g&zdw2z8Pxh9>TsC{TCr!<$H?H<4^f9J{6PL~fU1Fd z7wdQqXg%AMeny4~pyl@j{Cj8uBf~AII$Z7pwO`&%U}RvMgx`H2|5{99WJrUm!(|>Q zzg10QWLP&Dzj+}4K7gvh=U-5J_se8P27#&g%>%`+(^N)=D5yGI?gN!Cc~cn~mQBNN z9_ZSe8`BsWVy8pYf$|Zy^am<W7f)wocn#`!;b}jE+G~-Z+eBcVg^fp`mG_{1T8T3m z8C+*U?8TK{K<1T0)xeCz<~~q+t$r3GL;7sO=FNnv!Dk+*-d{MIkzwK-!sZ=@s=;R- zsQx`YhmqkhbVCb1|9*w4!Dk+5<@n#Zj0}J05q6*ce25x+=7IccKA(|6eE~!*KKDgJ z)etf-aRDPk;6lRYHAB_lGY>Qj+r5yHVf7;X=7AQy-Ce}UU=F%95KnyxijUC6j10b@ zTe|R+FQD{S4^@NDeW3VgU&6@Hz7)UvK<4d)s=;R-sGWFlDI>$$W%$hl4a44F#>l|7 z0-_GopTm|vcCa!qEL*|I5VsDZ4m3`Ws4o%iI?(ur%X&tJ&h-#=AoqgJLu=Q8#+7fb zXJla808xjl90E0~q&6@zOxp-i2daM&_9E(Oka=4+GBP}bs>5gA*Nuz}g`gWCq4A5& zJkToQ{>_XG+o0-jnFp%(Pi<yoFxraWeV{{t0=6<TT!E^?)t_l$Vqg&1#>g-Qd;%zF zXA1)Z!hMKv2F*h-?PO$71uZW`9v46hXV7?<?@mUB6Hs-ad<l*ZwDJ^mUc;}Qj0{zv zyGt<2XH<J%>|tc!hHj%{ftAl__JWqr8}DUg$bqWE6@H+4reQB5!;XFU!w+QMwS9~X z{QDv5@R_H)pOGONG@y<renDG#Di1I+yoaj86)t<27#I`}GBVsf46zq=oCY;qypJ$4 z<biIu!V@2$od?s7Ffts6s>9_EP<Q9{5k`jKV-R~m?n9&lM7jsHpIeVHG8}-a!(|?5 zy5Pz&Mg|tpy<2$7D^PkdJHg1X5lJ1k^fHHuf#LB9Muz&+5clB=m$#=G83dr4EODh5 zP`P1ohLNEbst%VwK<$W$XBZi7o`u+pD_lV30rxpZ28(kLb-2s}jqCZGV`Qi}4^fBD zyjABJ8LmUs;W7`@?|FTmkwN_;e)B-(XCzb&zH%H?FBDv4WGJ|V-#pMRl|@iB_{;;f zbGBb%WSD;$zj+|{U4*K^XC7!z$cxL23_n2k8{tV;Aopoqh1iMDJW#vc{wgDb^)-lE zT=4<A+B)|dBg1E?I$Yyipm}lM>x>MxHzDSM)FJW_BL9Ns!KUA2WY`2%2dZbl=^m|I z%V%I<xNwt^!TuJ+JY3~CC>dAZVq|c?15t<1-i3D<8TLTc;j$MLF1PM5GF-b0F%LAK z2X-G?IS!gHi@3+g@Z<qR9j@^gQ2kN$kda~TLx?(D`O=Jmf#K*wMuy)|b#V8g*$bLy zmwd#?@bVGFJdip>I3vm{&{h@p$BYa%k0I*d_M({w@^8vxMuvnZ5OuiH0myxmo-i_; zfT{!8i!EG0J1(C+VPx3#6k;Ao9WM9Xc*@AY`wXHEm-|5Z()1Z4gXwdKI(+U+f6mA- z7pe|qFE01(e$L3y51RPKQ*VL7Z|w_4hDT6!_}s_!l97Q6x^W$!`)pn@G8948;d9@F zSBwlPuOa>gslye1O|KalwnNq7bKm{fj12eRK+MDEKEbz)4DN3s>Ol5l3qR12%c*Y} z8Fb$v)ZucU_d7<02B<n*?gQ;wTk(#OVa|JqdHCFS?mZ&|3#g!h#v3;Gf%1pa2S$cZ zNa}F8Pv9dXgX>3#y|~;5${)EO85uG^LDb=M-|SC}3>Ts5aD^YpeeXXpGVK2hF%P5; zm;3I1W@Hco9n^%}&cTv@t-dfan0<wqhtGW(Ul|$ZLDhlm#T9;gzA`fOe1n(=QiscZ ztG+QZ+=r^e7k=#D85x*C2Rz}aw?O5K=?_MRY^XYrz1Z9bDqlK(FfznKkA(oK!{xr} zpNtF}pz3hB4^+O~_{qp{;}^ugxWW%K@51#Pq6S~R3QEr!zZn^1{y@~?GEaknfx!=| zhLCw>e;66E{^B<ebSlc6zl;obpz3h7n?UV|4<I%F@tX&7pAl3IA@@c7XJqh$o+pCK zzo2U=8yJ`vZbH@JiVu+c7#W!u1eriSU|;}^b76~L&>2kOOiT=4q3YoMU$p!Inlg1| zW@1>#0x=I%pJOu*l>U@inHVBjA?iTs3S0U+!oa{#&dS7K&4y5i%e+W7CWd|_b=b@U z?ZjTo#>B9d9bz7?@B_K;IXe@BEC)m#F86`TXKM~724+r#I$Z8k<YZz9M^cB)eW3B| zQcfm@MlOhXxZDRig=;ex6T@|=I*@8?=7FXUUvn`rgo6%oftKUg+y^qRl!u97CR80R z^FYJNYk8O$Z23ScKs&aP`|*hO5Xih}J|>2Gs5+2pZ0-Y%Gfd`VV))GuQi0pNFa`z& zNdYE?d;y3$P`F?-?*=0S!$JWjhDsrbI(+TZ%R)>H@1W}7@r%|j2Kj?Wn2Eta7-AlX z#AYvOUc*J0i6KJ-qyo1;K<2fHFfpuxsspLUW*%r<exC>v!!=Qm3jF4M5oKbK5QC@# zk=V=w^^bJKm>5LFK`L;Y2MT8+aVCZis5)HX45}t~i8C>*lZ2RuFPu4~m>86$AnNdi zv!fIfLn>4qNHsQpfZ7L@QcMh`(jXPM{Q(;9oGi`6@D{2Lmp?$m0rE0T49{gD=Hc^) zqZ|`Mj2uKAE`NZ+uS$-I;Q~}0E_*@K1x)fx46_s<=HavVivkk^zam5(E_*@gN>`DI zArPt#q#9fJfsRB^Rb*mNRRXEN9eyD5oRydu(xK`=s&ScDt;ED&tqf9u-@Hg=CWcz5 zI*@8y=1o*)VhB_Lslabuz6uk=WT-ljYFy?mS7BmER|ToSZ(ge^6T?cVI*@8?=7CO5 z->b^RP^tz}f#1BzYD^5<q3S@Yv6%;okJD;Q4BhG=75L3tsm{c37OD=U8k>207#J8H zsxvXn)c~o$Z{BVVCWiY^bs*K)%mcaavj!8xW=)U^{N`QMWMcRVRR>ay%REjkCWez* zAQiaH1Fe&JuEoS)str+xtNj969~P_4#IR5Yq7Gj^`mMvnAf^jZhbtegV_;w~(Pd(I z1XTyxqK?fUplO9DJthVw1BiK`^Ft8zD(d*l0Rtw6+fa45>;<(ae;P0`SQ<ji!{uMl z{7j-D6GNmCL>;d78YutHH)3Kq3{?kGjm;mRBbl!oF)?%-gH+&-50H5)jhPtELe+s( zV>1twKOP!0G0ZdpslaU>sQtJdss>+s7c}3q--L-_wJF3rP<e_7XGD7gbRzd%QznMv zW)O9tb|*IXfzEaHG-qO1X$esWI&lYK9wOdA<E)FVm>4dAj=F>Pqrm2&wGTk;QzmOB zhGW(c^FXKcg4Ln5i$U$MDjOz-XSNV^sN>2Ae}LMZA$Cj*U3L(4AQGE-pz+vwc1#Sn z>_IAU?>hmV@W|u9#Nh1!Q3p?dXzl~`lQSKd7%UwT>JZ_Aa39FLa7QMFX-Mj@xesLC z7DpzA7AL~yEplRFc!;D9mwEr4m>AAG6E^RyGZTZ33ql<(^SoS`7^GYg>Tvnj!j*}k z97!EE^FY@QO?72rNOU7?UcDO=!#*T+*vtck-yJt5hBfYl%{%4J#J~wUsvO$B$7UYL zed-=e44;wI;qtGbClf<}C&FHA=7HRo=gGui=Y>#*%e)vbCWhHa>TsF2(~F6r)0?n) z%e|Qxo*}8jW*(^CV)0>OIO0RtyhlDv42r%8b=b@U<#T&qCI)6dggRXQRrF(GNI+7D z%e*>2CI%;e{N{ny*CqHfF>DBcsKZshEMaC~NC{+O;0T4N1I_ay+=nRFK>4>XjEUiF z7(^YY{s6lVtz6p)IyWnviQ!B*L>=h-Zm>GEas#xSDk6f3;YlP!9jM$z*o!DPK<1@I zF)_$TL)76i542=tbu<%$dn`m9F7viCGBBKsWnyTEho}RcJ%!DE6-*2aixQX^q(BFh zg8T$pCy8bM;64Thh8xLD4AW8|=HXf|0P3%rr7|(hOM|GxRUhpJ&8MU>F?6Rx)Pekg z&3zq=3=F&(Obk;qA?iT!fi3(%@p(IwiGe8#q7Fo2GY`~n6w6{_(8~s?z+EpyGcYhD zWHT}BMpB2(Jdl6iW-~E_=HfRGRKB$5GBE__LDYfTL)gp%Ed>_LXJTk9fT+V&4+=6d zFuVt;DTb&6ok)hwyc^663}z)v41A!72A?sCJRX5a_n>(&nMx)G^Gb+$@Ols}-M?dE zU<j>bVsNg3r~{o_h0Wd>ObiUK>zEjt8zJgI?!y*upu^*KHZd`LXo9GN+l!WuK<noC znwc1!Kno?H?G0?^f%dVKv@kIofvUsRP6W;WzG-1%kZ6P0iz}Ui(v?>m6GI_X9Y{4c z|AJ1<Yi(m<=xhh6z@4r@cP#I2XJSa`fT+Wj?pqic7#?*nF{E`t)Zt18AoH$tF)>tj zL)76i4|H$D?`|fBe$cVQ80$O`<&X*k1H<25CI-bmh<P9qn}0#;s!aQs7()9&DscN3 zWL|qe6T@n#I*@8y=I!riVz@s6qyoQrf)kk-OeaFrfk<rTfz~~EPGn-JoCH#V-@Mh6 zm>AAO)qzywGVk#uCI;atAQiaH1I>54Le=1Fw}bj+QB#;0=1nDR-UX-{Lgqc4%EX{K zov?Y)P&N3>18qAhn9js-0+f;Q<TsFie?ip{GLL^I6GQqe!tR?1RfEqwQ24Ez#l-Mw zHevHrK#NvjhQZb?p_MNn^DO5uG1Sf_Y~FgP8kmvT(hDg3j?86ZkeN@|JU^%!LgppU zXJXjB0Ka*l{PuPM6NBJFh&m97&3&MC!>S9J7#tUYRNzj}AoGeBF)>VssspLUW!~yV zObo{tgH+%*@8@DB2H7PLbs!R(d7$#ya0wGb>{5^l{O0v9Wn$P2RR>ay%e>=DnHWAV z1F67m9%#Lp>T-x0eDMM5cgHPfV(?l4QH!ho0PT0KS;52*v=X8Y*ZvvMHjQm7nHbDg zL)76i4^$sztY%{9hpGdq#^v9|tC<+igN}H{lYc?xF|K7|&{zvH33ARMF7s^GGBISV zgQ&yjzFF&-7!E?!fmGu%@9H`x2F48_6}aOA<UZpKObk&_bs*Ka%*)%r#4u|kNCkfL z&TM32_zYDCQjN<z_DxI-#+yMZaGM9pAE}#}7&@WqK&r8s2dXdUZf0WG3p!vMPkeyP zd%uN=L3k_3B>eHAzLkj~cpF3=uJ{1m$kMuviD3g&9j^8js605gjfvsacEaY#>|kPW z2VGWxr#}rcFLehKL*q{T=7GjBH}7O(VB7^!2O_bBA81}&bQcqY=x&e--0=Z2&wV!& z!&Im`kZN4!t=!GTuoAS;6Hk1A(%<bpObkqWK_=mj50HPw_A)UT?SrVp6(1n;QuZ-1 zbVJpFRAX}=$h`Ucm>72N2dTjAUyylk_cJkwfR1U0p3#cSJdFcP3@!)pn+HlSWe1rU z7DCnGN-v=Fy#F8*!~H{q%@aJ##9(t6q7IjNp!QnSVJ3#IBM^1C!tW3R1H+ypObm5L zA?iTm+1UIGnzy=fl!;-%afmule+yfGVHyJiL)-}_hA*IlV4&#$n|YvpXlf^!7`jeD z%mdkr&Aej_3=B_BF)^$<4N-@yAHRl?fx+wy6T_pk5OuivwHp{17&Oi?G2A!@QHRSs z(0FIcc_xMhpi4%e{=nuw(5da0E-*2$T!fg1tA7OA=cRLzi6P_?L>(^ofy|qAiHYG1 zR2?q!K<W9*B_;-eD}>DpyTZiK0ab^~Jdpb~Tw!9kaTULLpmZd64Wb5LeGXd3qkN5t z;X70<NFTQF1Bq*1Cu|<5eV})pi9zZHL@h`kHuFIHb$xCyF_b~ofmCBlf1v!<b%Tjv z)lHBJ-0M(4=6$%y#2|GGq7Fo2GY=GgdbgMu!fu09;5Tp1Z6=0eP<0^H*vtdv-&?nt z7`X0&RNyubv`;SJE)zo?R2@h)HuFI1JSN>`VwiUiqyoQrPwp`>2;GOM1CiLw1C9Hr z-DhI316`?uXP+y`eJu}|7&bxG;W7^tAIBarF+6(+Qi0ojvlti{bRID=9D4*&2P!wP zxes(sjKX6khAB@V>TsnO&?)Z6o-i>yhpGdq#%3O9-O}$TObp!5Kq_$8AE0%@woo<r z@&~B?^?Am`;PV{6d7yJ*>Yg((Jcg>nwN4teY+U{Y6T|115c5Fcg2*4J<5Iq_m>4o% zLDa$P543S9P`%&wiizP0R2{Bz1GGNp&nqT|o;MKl@Y(z94HE<7TZlSb_JVHql7Gv@ zkN{N&QjIM>K>J)v-ZC+CfCkX;l+U2_x9c4f!waZ7T;_q+)BJhI#GnAWOqGCnK_8eH z8ldWMnFs1`P5HpYaNr|I1@80$a^I(qObiO2AnHIQHvfXg>r6f|F=TuOslaU>=vJIr zpP3j=LDhj&V>1twp6`8TVtDrjqyoQr3SXHR0=`1jfk<rTfy#rFuS^Uz-#{wxo44*8 z6T>~II*@8?=7GwCPv4jrgnocj;5H9*X@biSCWh@$b)b3`n|YwycmMuiVmSK?VjjM9 zs{Wga!Ra?d9j<f=nm0{=s==4fLG|FY-%Jcye<0@JDu+P**f~%&_{;;{^SJB}6GPo! z{N{n`tqp&f7;Zt;fmCA)7f?QW_m_!*=|4yX?r;W~XY!wkAr7hzq#B!fpms^oe<p@L z=zV6m{0kcAIsjFJ&%dC0|0)AB!$C$+OyG7O$h^-`HTcW}t>5KfVrKZmgx@^SesMi! zW(Fr_h&o*U1(oAr%*+g7ED&|L{0lO#gN2!44pbd3^Fa0V1{P+9J*@c61FbiE$I8s$ z!3I$WBC*8>sN6_nV`iAe4pM<T{6OP0XV{q;SUDi-KqNNvK;?!q2Qz~)CrAZu^FZe< zrE)SeY=Wu-sm5j=sNB84$;|MD3#0;fy${N7R@}@C1>6vIxWW%~en|^AGs6WQh&o*H z0jds|c$pbKfGz-JU|;~9ONz~XprP1fg3JtYBKXY%%}-AdVP;4Wg{TANXKdyrurM$j z5oKmjk%FiLwHL6})1Y%*c1bZayoIWR*ZXMoG$@=krI{JZq#@>k{EN+A(7y5&(##Aq zWDx2Q_9EshK;`Kv8D<7sS%^Bgy=ddRp!QXzEHlGfIfyz?xr@y_&^;-}^2`j8@(^{n z;tf=P<jONMv?@T<f&78ZJWx8=uE5Oj7OD=U8k>JX`G{MQnL%6$qyl$31*LmWC1!>u zs5;Q9d2Hr^&iCn2VrIxu#%~@d-sdSZGpvBB!(|?*9NMJJ%&<%aVjiyW1D(tHMunL{ zLlvS9S33;U{|HcJW~fkusKaF*Xg+VB8Z!f*Iz%0a#O7a6`$b2cnIQsnz!h?PsJH@j z0}8B&WdPlT)CE-o7i2PE&;u(|fj2xs<8W-6Alu-o7#su)9MIK)ZZp=>WM&A1ss*JN zZ0bPfWkJ=zOvI)Rbj?zqCNsk!s9KN<u&D#t`#_VKfkz9Z0x~XzOPzuiGlLHSbs+a8 zK-J)LA4pvbk?K|usqPFB>Okr0gBCM`jyA-<pmc@JzaaO8K-CcPM+K4U<`AI{bSK#X zZDs}^9f<ot<q$Ua-C<y0=+I$iNYRC;1JCO+U{6<<beS3cLDk_)S3-Iav+(&Bbl$a@ z9y7x<s9H#Qg=sG+{7yjC;4=@D{@&;@Gf3z|?8fCj(E0!!eP)INs5)Hsg3Mc_&&+TR zst%WVAa#%QnHl&D2-~Y<z|4>aRfo&o2nGg*83xP@AE4@Rr7Ms+2}5Rv0z-(s_|(lX zWM=q)t`6;7anQP12_t3(6(fjwAQGHj(A0s}GdV%kpu`8#{c9j`(0Wl2jf@)v91bAg zp#_oy-7yz}VV;8nx;oIf-UbYH1{mr<?Zih!r~}o5--u8L@`sKwC^SH>g<x#q0`i9m zhB{1tfcD8vz)*+j4^X|ojtF(2`tk}9>OgnS-y=dDXk8YA31R<&&M%h5P>1PXkiDrG z>M;EaYOl2up$>H8-!2SwnD&C)r)P@p4@`BSeR5?)r~|D>5-~$J57Qr@@<ks*9j3jY z^EZky)M1(jx;t?RhB{31K<l4H%n7?M19X!*hB{31K;^+ob7qFEP_-bFv88)ZxpNt+ z29i5K>$x!f0W$BpIWxm!s9Lyrpw^H|5lkzC0s{jBqXjdAq6J6=_+nvDJLdp;J4Xg| z>$e3ngF93mynIG852P;If|;Qlst(kibPzDWYF?uSGs9e{I=Fdg<sZl&8!ea__CnQx zT!}4QK<W85R1M5?*wlf{<FjODkOEzs4xPWmrVdp8SwPhgGB3-LnV}4-7N7g3K-Ca3 z@3<v1!)2&iT;_q=i65bA2$`p9#mr!61u_Y?-vBecXoBuEgsLHAUWFAiLkm<b$W(0M z2P)SVLDdj4Z@(2Y!)d5mT;_qw@t06Fgv?{NW@Zq!2APE0zaaArp=t=3=Wor-5Dire zG8LPDLFQFL)u5P%)~^7qo1JdW%&;7)7M||0sM~GL%y1g24sI`6egoB8FRhsw_-#Nc z@aJDi8)gPms5-d4Xy$?Z;c3InkPcOcFaH+WFf;T*)xpif;*W(k%nTceP<PaZnc*r_ z9mqG}a7J?<Xk72J4KstREl34^|Ek+EGdM%l;d5WOEi*$p5$dXKnHjpF>Oi*Ra^Ff@ zW`@g9b@;;Xt}QdePpCS4?&Gy%W{|Z5*@(NJ2TE6lcFYWpP<0^H*xU!2-;cLrX6S;d z!{@#!cFYVLpz83s?}!~U!xbXby|80u_yJXi&wXO{%nXk9AQkxI*V~?%Aswm?pZluq znHjo?P&eP6nPELt9msZU;Ri~8XYH98zC+dF3qM8&W(HZ%!N|~c8DR6U<PSp!W(G$h z)P*`QGo(V*;c_1+ew!Vb8P-A7;d9>(2WEyVP<8mi?}Y<1!w(|V@i;Ow$T)&rhE(pN z<zJBdtQ?scQlaYbxi8<5nV}o14xjtxJ2Eq@Cqms}M`ni0P<0?zg5v|teV}^qqa!ne zloLn={`9Bf#LVCTRR?z;TKfgmZw!H|LDUPF?LW}?#u^NDnDsQMfBu39b)bFLJkAh5 z;IkJrKb=H`I#9jv2SXjE`#|ITQZ9t;1+B*^!BB^3o&*B}Lpu@bK;_?jBGkn(Ffgpg zP=^^GpnT5jitZ0g_krd^&52M4ir-Ws)Pc@9SxAIBkUvghsKfLJXrGt58@fL*)q&a( z&oR_t`WF<xyzaQnLv$=a;{xgK%na2~wW#?6p$-&p{qD>R^P%dX<pFe@0ig~wezVe@ znPD9Pb)f#o4tHjTD^PW~>;<{+g*!9D9|Gz??i27}W>D~e_!*b`K=ZR&9?T5JP<6QM z1-Z}NgP9?jfI5)-$~~AFx(TQQxo^G)GsAkQI(+Wi>A}o!2&xXB`>uH~GkhYT4&**I zPi6)wPe{1nG7scFJx^u^JE%Hb?gQ;x@$h732!*NxnF=nS!R09;9e~2G*pr!|AF2+Q zy&(53_GD(*PCy;VeWyK{8E!+>;d9?pPiBTsP<8m+C*Z}*pyLHnfz)0@^9RU%4qnU* zAq3Qc+?V0S%uoSUhtGXYUd#;rP<0^NafRPnFJ^|5P<8mi@2(d!!$$(@K<;DpW@Zre z2H6O&FER2jD1PO=nHhAT>OiV-xzEd+nIR3T4xjs~yqOvL2&e<OZ;>}M!zQRYeBrmp zo0;JxR2@F|J@;m2VD<s2z#qTjKFkc-1k{1tXYa$z;15-Y&wY_T%nWHzbs*bug<p#g zGs6O?I(*@`#fO>U1Oas*_ucVfW_SZthtGZAe3%)SeL*fmYX707dr<yW^krtSg{s5n zzCd4QhExLTK<=ybWoGDvs>A2L$-c}C3!v&iuEZ67`+S)hZb8-IbKg5(W(FodkV&}H z0myw~e#{JNP<8m+XW+-oU<*|TG8LEmqWzc|%Ax8I?kh=F0o^hSZR~-@3A_E68Tz5> z5cZZNtAMVZMN&7@kC|aEx;nJ^bI>^EazADUet(e5VEz?wQczIPcX4%d4D|`|@pQ6M zDlayQH#XAC$xKpG(06n6^zn4_^$hlP3~~0bQi}Htc8(8o4YD<~G%&y>?-}A6<QU=~ z6z}5d6zU%D;~M7bV{3#(Wl(7z=z4RX%%q~kqDos|my~#y%Dlwf%w(6;q|$UHR7d3& zmn9bzm84)XDBd|JBtAIA#nV6DGuS^q+|$K1J~+VD+0)I_H7M8?<Vs}k`38qM2Zgwx zneXr8;^*k=8my!M3igknD<T;f80;7r1wo<gW))LVl%JKFTv8kZx!yf956sX@$t;Qi zyBExj4^A!0Ow0+$FDlW?Ps(DjVz3cpQ~)h80X3E{MKdtKXy44_qWt3gv=Rl4AWa4T zf|AVK%&N@1bOq=9+=9%U)FOtj3=9mQt^&w@5C+X_gOVZ$gZKvA3=C4xV;n*5J;}hp z;Ktw%b}vXCgh6^hYCuu%3);U65@cWmdja88D=Rbs1{nq+0hm2tEeN7Ph=HGhTky~S z|NjNd85l}3GK(368Mp;OvpyyQ3=9SNMJ0KOxv5}PprKmO^jA`1X$n{s$WYLHL~=%A zQE_HfDuW;cx1b0E1H)ZY28Mz}(4E~3Obq@YPkdrvU;s@?z^n%O1+-NgG%X8iii5;8 z7#JEr{!?RMXaFs%P-kFh039=<$-vOy&%nT-#lX-2TF$D&z|epmo}lYtKyeK+2ZTZ4 z30j&D5(9-N=s0ck@C4}rsR1qF^(QerLFR(&LBrU>6C45{|63p_2H6erKgb-=6e>u{ zkb$8A<Q{znh6d2F&jt((4WMqG5f=ZhU|?VXg)~SX2xoFLFqkk1Fo41n<X_Nmxd8(! zDCj}b@$sn{8Hsr*IjKb|_V$KoDa64c(9zW)0@RfN=>;tjbVo~jAp1Z=+@NXo06bw; zhh{W5@gX}Dlx9FKVqg$x5MtnBuoArU|Nnn61_lN`gmYDV{45ys5d8S~<iwKX3_MO( zF#spgH^>Q@kHJz9)C~YxCm{eTBK-wH@c^272Z@0&$X}p%0I3TB2{14)m@+Ulfc$F4 zz|a7?=Fpshp}~uRfx&`-p#gM#nI!{514ykk14Ba@0|SE%149F78Oyu({~AEyV}~Wa z<}ffYfT~)U_d)3sbo4VQ{y||5I?llwEzCiBKx#l{2H^?w{DRaxa5#f3fcgQM!j>p$ zk;y?}3tAoovm4}oP}qW&5`m@#LE=sf3=JSZIWsUcfYPW7149F-TySGxXaHRa<_-;0 zPX-2XSbAd#OHlkFCn-=^f~GfMVF|hl)&?ysL3%)HK=BuXCoGe5@{3c!fr)Gb$mLLs zEim~QxCMXw|NkFU78a$J;41S#ZUBV`D38L*JU<4829Ue_85kNsWkLW0Lj!1PK9GT- z0i-4fn&v{VgahbkK~UKN@;AtJH@HD{1_!(h0L4cMawbA51ImjsOHv)sGAp<o@Njer zvsXz<EY3`hFD@y{%u9E03AI-NmGSW<MTwau#SShG#U&{Y4q^5xi8(p>$%!TTMGh_w zMh*~RhbV?BWLrz~$}{s)(n|A^b5cuG>}hJV3TXK{C_jOYk3>%cpzv~IU|;~zVR+I2 z*oELU0191D$bvAaN(9k}g6j;l;NoTAft9l$1^Bt3>h=S2DFv!CL1v#2W?)DvO-oBH zVi09uh8qY<G@wKaE+DzVh2>3iuu29d1~za~1I05a4}mNPVUYjO(^)tJLj%a~5zzD$ z$-vN1&%nSC#lX<8iGhJ3hJm30bhKJ5mUITX$_<noK&}LtkDlL_fy+SDwhBlOC|$=g zFffD@71kgdK&GQ%Z21iqWcvic0Raj!0S0bCQ2PXw1(PaEQi~a|XG&05A(v4gcY?wS zxr|DH=E+28o=jq3XaHT8p3K0|04m2)7#JErb!8d@Lj%Zv>12f2E(QjM0JJg+<Q7<% zMdAswqSVBc_{6fr%$&reoYZ(w&P+@$Ni8Y{r&%(>5!6bCCOzbEOwKROE1@79v!LOa z4GqT}XgKCV!!ZvUj)l;0EW#3wn;01wKu0&g(w;I81A{XIqKuPbWMJq(E^Uy?IGo{x zwcN9Jq^#KUaEM~)Lv{&Txkq=`z{^5kM$EJZ3Rh6u21G}boz_4x1Iw?l7-C=$XoWQF zK*gLG0~5HBx8NV7k%zx<#4igfI#C*Un28lsGHm(x|9>e114CYFYD#Jfg9rn+AgH81 zBErB>lv)xDuF}A%de6WA|0^WHMF@is1GnIj|4@ykxk0IkkS@*vs2Hec1QrCh<{213 z<wyt2>kJGGpl}40BcS#>s4WPRDrI1304=XCV_;|iEsrZ_U}#8YU|^_VU}(r<U|^_b zU}yl9SG5cb4OI*b40Q|)4WQ#Z8yFZGjx#VYG%_$WoMm8OXkuV!03D;*%)rpV$jHFZ z3d&cE3=Hj{b}2ahWA=v%q5T6;nFw+VdYOF=OZfxR11f(KLG=OIX@c724=83pt!6F* z1_sa&Lw+f-WfI6gpg2J;+j~G^$H2hQ3oVoS7#JFy7#JA(q3zHK3=9pRshmj+3=N=g zn2e=N0&Oh=^-E!4o6p0*V1-mB88I?2OhGOQ2ChtUbPNTBSy^I^gM&j9!z^T14Q%;@ z>N0p)1v<71y<P-`w-xA^AVvm;ShCY4D8@iJ0fdptDrhHk2UXf~m<1B9)O!V~y8vpb zfI7j5cAY=CpNia00fhm2TAt3p&;Z)*I)j0s!JC1BVHPya&S79^C}&_`n9IP>FqMIU zVIBiR!z~5|hWS|1GN^fpoMX|;i9QAf22Zqh3P=yAoB%aT<M6~sT25(kMto*oL1{@m zw0Qv<ibA#y6d6#At)T}B8O)9qsO&{<?}FR|3LE5p)gov<UkuIXOQ8L#rO<xWGH5$^ z1sP$|&%nUog(plB2!=_1X$h4Bg_tl|4Gohu&@fpG4U=`yFj)@`lZ`Y8lSDjWl2VkI znHN7WVX_4pCR?FlvJDz0+o55y0~#i~$Ow~W@R&1dzX+68VR<JRPnZ;^mc$p8kldoj znqi1Z8+)PQun!sz`=Q}*02&Slq2X|tjBo&5P3(Xtzog;`hvb~p#3HJN1f<<YsO&ff z4U6N@us8t?i<8i>I0X%hGYkw3ps@xiUIqpo26jOO0npfCaY>4mRbFXsYEfo#d`@O= zW=XM4N`7flPO6=iRZ3=hW=S!F9#l0y0}-kX4H%4|>ILzu&rPg|huDCmhk*sJ9Uwia z6$SZusd*&~CQy4!7>U+nXaLv6*ueY;zrM`8c(`3=P`el#&i*4>m!SbT?B0T=As}Iq znOBmUUX+*<pPZjpT#}eqVw04gpQB@7XJu8Em{XbxSI>x7y&+t^A=F)_5cOy=nUkNF zu7Dn$#!xNTqZ6AJLjwkLs3z=jimC||N$`k;X~Z6}m>S_BZV9y!d+g%YXlTFy(~2vK z(KI8+vo+LKT=9%stDymdGy}Wf74Wb&IEkdB=H(aV#wR8fgHo#uR1zAqP|1R#RIsc( z1H0f&gw~?`(!7-TlKk?-qLlcm)S`R_Ij91tc9??rywt>^)Z!8bWvKBCkc1HLSDG82 zlvtc<WtEXw91pRLL4$!^5GgfcRTQ6-UtG+fidSW3URq{eW=SQ38eV0ErJ1QE@qUSZ z3|e^A6=$aBCFW%2rGwRie1hGPnZ@x*pnyqDVNk?rU}kZAYDHpl34;<oC7G$orlywQ zP{U~#IJ2e};WsEZKczG$AHN!q|58&J)bTl}xF9t-GchN#Dm4X9G?irLRpzA@7sn^1 zrsWr<f>Q-{_m>nU78En6KvNB7s(>V*;*!doR0dGu162o@svy}I9NPF47#e^R40a_b z#Q`W?;Z_FE{GgyBtPH=k$k`f?c}U6(4Zs14-QuFel*|eS5or0K0L^A$PM#sb@R)^W zPH?`;%qxLrK%`^~@;)fOa4Li(U66C}DuX3WSpLIl9yEDsLz5m(b;!vNRM*J~FfedH z{0O!SrOqnNgQRGM%)AmE3wT`w%5b2tV}j^I3k68{X+n!BWQU~X<R`+y3aPLHH9OD) z0lQL2k%i5V=<4AG7pMh9$Z$mQWq>94(2WKK38D}K`4gY{NNEBV*~qyM*>HG)1}nXB zg<WQGJhWJY*^b9ZaIB^lF~B051rljsVcd~z0*`E%WAIo3O?xnvc$^IiyVMj0T>`<J zSsag?P6;It^uiKU7=q#imy;nyCa9_c)x@}*i(GJmOhixd$WaGL^ROU><_iKrYy=Nt zwBSH%+kqxh?5wOnVUn4imzn~uV?mB#hr}dy<<J5hl>9+zp-#f5*3f_fmi(asho-t5 z<dXOj6t}><3=KpAUPd%$L0$&AO8~1M5H>-*p${#Mp@|o#!yw8H4Zt-WsAz-wB;Gf% zA~Ux%*9IQu3=E(?(iLw8cw&SqMKc@JY=`(5n#w^gM@n2cl|z#{D3yUc3JoCa$|25X zkY!*OTqwuD0QF_ObADcNX>MwKMrvY8Y7w}~0!c&TGTuEkFSRJK1TGJYYrGzTSY>Dc zFAt!q3B(+t<D$U8E(i))Xr%!USw!^!>aKx82)mad;i3RaOOSAd2r$4pIM`D)L=j9E z#1jm#4h}Rx(83m*7DEFDS5)^W=72L*d}&^0ex8k?4!A)N3EIr$_|&4J{36gQpVajH zqDng}E0A~Nb5ipdV8H;3D_8<U6r7-}0SX3a0He7MUbSKb1k6{^04AUh8Wg6`41zr< z&@F>#GBjZDfd&TD7bFG-Sb1)0UP(OGJ}sKdi!<_zPzw)GMGndv*gL2&^$^E`vnfb1 z)TuZOhbV^jV~GfTm?enP6_k2G_FylW;2{aq2(b{Hn?Sm-yAFpgXtNfSn;0NN8_6Y= z1*taBBvAsMM+dK9lz>JrtTpNx>>m^o@9P)=PKPTMK?~|3Dc3W<ILRh64;0YF*_j39 z#o&yEJ0w7M8JeM$>Yz>+$WUl%ibpcEG%vFxsWc7Tp#mv^dKg7XK|yL!a$+%LkOLGd z*uxUZYG^2e8kQhKp-CUv(Bh2za!@xHTt|V-gj$T24lv9#G=Mu5>I!sI3-UAbN*LUr zIRR=lIBBP*pcM<A`NbtgsfoFG$^}@^!D9+3J~Hyl3-XJ><v7Tf4v@MJ**!U_X(iyg z3nbrwDPNSCo&o9bf)qd#4YC2CV!S9XF$Y|ifYmTzq>Gf)WP~(i7!KKp{Nxe_UubAR z1DVv&0INqT7(f*p*fAU!j>$-^0C!%&(gGOL#mSkec_o=?naS{AVNk$Om6lnNngZ^c zgN-r3P>_*Y0dB6r(*gr%QJ9q#vcEw!ePT{QMj`{KB7G|a&r@hg43fDJ1qLk9GBq$X zU|1X<T#}NR&j4ztgA%PgBucTG2+aeao+HQ?2OuQ^vI`SavPz3f(lS$XQW#)mCnrG@ zk#Yb7ABF=#c?x18sErG<m;p2Rz+neb1xnv*KueP$_98nkJwHDsDYFDzB!QGb>wjb= zsrhLj6);1vlrL$CnK>XOp!yYL2s8yE8<La=w#EgTM)Bs@;L75XRDAgrG+MVFd-<7} z2hJuSSu73(P56V-HAotZBNIzf;kuzNMD{~sK>-7(&ITnj0u2Q8^adKl0a=QrI4dbC z%}a(4%R`GGw8RFliy-DgQ=K<7FrhvHXJCxt4_9D<RU>70(7+zZg;)x>c)$GQqEt}e zfRY<X5tdRe-Y>r>wIC-kITb#Lk3E@V^^2haI0b^thK2xgz$azqB^FhJqXx7cfPn$B z*wi&BKEN@^GbA$J&)?4#EWHVPDo;vHhf8Bg;mM^%aA_>5CN&SE_lp)kpn+$UhB2so znIQ~1>JglIb5nEkiz?&ui&9dH;)_!Y<CBX^;9WxO<qOnEXjFqrH&9uGJxEd1Lc0k> zBvPn0M5zdC#X_S1&6DtmgX)7i4U{8rI}N)gLjxjOIL1b3EgaC00>~!p&I7d~pjx0V z1NDqS>ahnJhI*vFG&GH%1wed!W?qRIsI!0wGEmPFWQRSZXvL`m>Lgg7ScoX)h6dnj z7GyruMe#oQ$)M67+FDG`&&dJhOHgtHse&b5G*zGmDtrtWT3Vo)l$)QIS^~;speznD z3ReE18U^(qe9ReEo}sD&trLRV2aPRs`%;UG6Vp?R!Py>UA2a~blqKfm!0mz-xo9f# z^7B%`b4o-ccx({}>hXc>hn9O#55i_!;mH@F6&jNk(AK>$)|kYp&(Hwg3Xs666I^X0 zrgvfKi;W1y&|C%b4fZ4tGaF^lAJ&J5mg#5#fUE^R0RSr})bKhAWD86S@+5LYGq_B| zWf9VlKfESkXt+(R9z)RX9S%Vy1_p-s(9FCNW1|uV0R|31(Ehr3pZvUZQ0c`W%D^F* zp~t`w?+n@u1nRSeR2HN%s4;K|2Fo!psKkS~E~&-IMVSR9`9&)6sTCzfiB6!^;PFN# z3}y@*f@cL77~<p0l8Zn+>G+(?;*$8x;`pM}wA7;1yktm+PysxXte^#<?HD8&I0QjU zv!MGKoxp4KK~{mCC?^AQ5Gb>jr6z;j;vi4REfx&C3><>ng+Xq~H8iqd;A7wr1T9$w z@1lz@VbEpZ5IhNWYJ6fzNl|7}X-R6al~rmPXb_+{zqBYh)e$DnV9CHCc!+4_R#y3t z4T`DpsSKtJ9D)Z(&<gTsd@6$-1Bc)~Y}ztXa|%+6P~2Q*7@wF^0@8?Zu^R)2;7;=O zTUmjOiwBh<9D>`3G^Z3)b|IYL#K0lAi7c&FR$!yzQyH`vI0V;XGovH}wA?#0FCAf@ zIRl5_65`ZaS;6(kr-Bp1LTnln)6<Jm(-Xm?7YKVmF*=KA<?xWyXW$T=j!hdR$rYt0 zr)HL=79s2b`KONr4RD*(88`$xv1tU4`ywT4kdtbOPzW~}R1)+NED4Mm#27dPOXL|C z&<YH2?mbB;_Zpjk^@G~9Xf0Z>{%ytta=)<wgEa$(U?tRJxJsh<cu*k)+Fg~C8V?>h zNi8Z?(1H|4;8L(S9!o)(qesAcLrbtTPZ10zL$JC8g6a&w3G}lK$X;|OITjTqR-%-{ zhDPARu7HJsp)3(x0E4xcf}KrRyO9AyH3NsBwmz&~;aLJ2na?jWFf_6O*EU6oc`5n1 z@rlXFph^8qsC0ZuV!94=vO@<n#|mXb%6J7Wm>iU^1|6M-nGT+IHZ-zhkZ0f!oC32P zx?&O84zL0%d6?^hGjj`aQsY5|RWW3+kwKV&LoitwrobmZIXkliT(g17f3OeYU6OJ# z^HSqWz!C6V5T@2Cv!pz;I5j>au{gs9R3XCFAu-4@K<ZA2cE^(Z+|1;7@a~<|qIihu zcV%G4z?QKv*fMYkzR-jUL-zYYN8N0op#up8P@5aN^A9Frr(nlW%)lYIM;fX<9<<TD zD7CmaH6^|vF|!B~7xCdmi3RcCJ%SJcFcY+05E2*)b`TrlA)7KlgWC{w@t6UpV5ehf z$6&$0AsD6$v(z&;H@~O^yu<@$Bd&o%25klo!4O-hPS8>t$kLD^a2m9MH~m1KwPO$m zH5Fh14-RiglM391NWo`6_MSVq#8_qxwLK@bxY(vFKQqM+9P!MGP;szDpuqx$ItC8G z4|-7HcvvbVCXIvK59&~X6FH0nP1RaDXaYEsxg-OJ-~*Ht16zB+AjQBTXsG~o8e|k5 znp*4_iWoQq*OTpRxRX(w3+3Q+suBZ-U^XlS<FN)mg9-zOAd>~u&4@IJ7U^*e9D-%$ zP*w3^smUezMaYR4Bm^!9p!pd^J0v0FGFt(ZVdNM%z-!sSxfGn9po_@jA!~;8Kt6$I zD1ups!IyzUa1yL6BAnH%tcp^TGV@ZPIm|gfuOu-uFSRJXpeVnh(vHD~fkV&&UUCt% z9&Q{cP1%7nMldYu;lThaHo#tniz1gIA`BdYZj#VIPfARQPfjc@0VlFNSRt8OSelp< zUy={aG71bFf~rbT9q~blc`5OwMS1D*X+`<D@t|GC44@>DFAG(H)?<M#-2@kze_{5< z$LHne#TS*7WX9(wfzAbC09kShRsh61A(y=1n6qP$X5bJ^f>{Dym;;soClGM?aT(_R zocwgy1SdFSr@-Tk)Qk<9K7!{G5C@t$AQ>A;0B3FiwY_e_%At6_{Ji4i#GJ&U_=1w6 zc$9h!)Vh;}Wf?q)3ndePQh68yhoC#GoFzdcJUxNa3TQ?iHF^3ma0t3mVlJvn!HHx7 zJSI@;8+du9$iN}k2U7z|=dkn)VuMOqJ8)~HQX87q$f^aw=8#Ym!qgkuF$ghm2sXmf zAf&0t04lmCqKa8rr6ne(mVlG&U34kX$V_H#0l0?ZMVHJ>VNhn^5bS}40cO1nN_2J% zfeaji{II4(UTJQ8dTI%{iiZ@7nUKl6q|!8aB14h|1txO9+JQ?;P!4<xtAfxnF=ztG zjv<7BL$FmD8uXC%3*@{4Sos369NBnS%tB<a7D%8jofs?}(CmdLA;_FGxR~+~g}NZW zEVU>tC%+srWyt_4*g)eMkmL*+)G&!JVNeCNLg0m$Kd6<Lk(w7@mROXTn39<spIDS$ z91oh<;Sk&ba|AXIfV&X$ETL9|Y9>%+RhF0oE!|PlGu+uAlR$aY0Xm`qc3T;^qC;%~ zp@$EK380+80k154OTm3mc;tdw+YBHjb6`!S%wllSTmoA90dfT-*??N0of=S2K--?g zClYXy)rBRIw8WfZNK2c+h=D^e5S}OT*JRM#1Wv(S@MKPu9zrFS3j>E>2bo5K!U*g% zhDrtw!T)g2klM_KC3qss7bN9|cHlY^v~CZaOdz!z@=`re=>ytS4VH%FJaC?DgZmlU ztOt*$!4n58g@X5C<7@JR(+IdM0M)f#TF`WoR*+w86YrZ;T#{IlT4Ki#&cGpPtOAvU z^(4Sq8`UPz2t2gq1`1t}>FCKECJrfqbQm}UBVd^jS4jXHVg~2;8SvJdPkwS{URpi_ zs2be^b2+4pf)<AO3qbIYo*^vSAsXR@C;_dY)~*~5cf)-ME{RNGIT*B<0m~*DLp!jy zzDmJDHzYGR6*SBV>P*GJG$-e$q$Zb@z)M|_9Xd!61PTKeSV0hvrOyUlUI%L;A=ZE~ z$S`mSdcj&z@LmwOg=J_2?!In@)j5z5f(0!!8AGBM<Q!P_0+j%jfuQ2)7pxxx?s<XJ zF?1bTeo88&vwvJ2>UVI8f_GgZc@xx{dH@S)WP9M{CA6Xd4LE_uvcXnB;t{;s2s9); zO$TZNEbZbb#X;tStyQoC`(2B4eO6ZSP8B7U3_c7Tf<myMgEjjgxdpOY7bXTO$ibaP z9cVfSb5L5Hb_|9L9D>(jNfl3v4=L~iKqWN1n801yBD4@HY(b;B{^Xemvjkk;y@ECR z!ASyTlm%4KJckuDkOT)Q^}zWNQJ#Pz3YOqNY>*6epaV4#fh82|7@`<B1odFmAgJ|J zP>RS+;3R{sZiG4;Um{nq12^BE!0Je}LJVqx9XO+L!!sJ9X9y}X4Z!mscTs``)`<d* zw+g_Dfuzio%%ap}P!*q;1264CDTo17lD>eodJtg%_8MkOAJmvELk|v6KtjBVEi4eS zAQp1qLyB@xV{!?s2tsa)z=MEL=NvS|hNmtB4OJ__y1((x8Hq*6jsRs_9e9}l9^nBs z)1|NuTY#JCk6|SftUSs~$pnQgxY&lbd2kfl26o_HK#&l$U;%ZjQ!A2F3&19TX3@T@ zLZwQLjUZ_loCZFKK!r2&$`W%jQ$WqpQqXb}a2jBPwRCe*^U_N)pzYjX1`a`Ac*Y~Y z#)riOxWWe&&grm%6)n|*8zOe#M&1-6N*z#wfMqmL%94P)6?d_Nq=!(s18U@nk!d8{ z8t?$s4OmwuJ{U)zTmv*?1*?x>wJyjIaH))3<$}U*3bynPQVmLtkQ6clmO|jE12ho8 z0Llx9t_yTH8J^Zkz~y8g%pG~9xdo+p$?yWp4(u5p9Fd2xA5<ltLr>)?so)V&bqsfb zTY2zQi&6N3yaXv7Ko+29J*<T<NDHVP0CLB6ct(V;zXgu~ffgn~3Msg_l~sIjYHD^$ zW)Zl916uopslvY?H7_?mB^7K4Xl)&)63{p`Xb}h~rdDEFZ)FwlmRpjRlbBu%F2a{% zRpL^bn_C&5npc_&ZfM%W3Ltn93kwOb{curmeFgJBsPfs1T-v6m!s8MWq|jCsO2-VE zTOkUN!yGCBDRx2ac2Rh}0vqiDH{d|~xH$wx;5o+)G(u5O0v*Q3NK^`tW`-%uhZsdH zD2pSCSZK2gG(sQ*w}Sk#3FJX&cqu?~jtVS&gN9E))g*Xr4>(EOg}D)=3l;$&Hpq!~ z41x?Cf*)b&KHjyc2((0)L(mu=OsLhbp%FtX1Bc)#cvqj)9w5Bh0Xe}A-VcNhZ{uid zVrVk715aFihB-VlA5{D&gS!XsU}-ZmzZe|1-~!}7x+o|~=OuzB1i_PJKd{Jq<`+X0 zfF>ChVJh&<%Y>9ZJ(zN!<*cPeso>gkC#E!b7MnqnfkTi57IkR#3aX#M<q*7oR8mw5 z9a{jkB<ygQ0BSATfd>|E!_ol8L=!j`z=qF*x61NMGK%uc<4YKf88`$DVC^Y*c7>%O zESVTofPqR7ejF}><^xcH?g6U~;vGR7alk!cP@>hbumdOCa#++t=5*kp0W|{DQ&~$w zj{}_8p*<BV()Gc5D$bx$Us&mct>p(TZ}1gF44~e|MOci$dRb%+N<a!WP#Y>8R!M=H zSK!D3r@eSsE2%Uu1!X`Gw2VjwCYfJa5}%(IUzC`ao(eADgK@+lwBH4plKcQm8<04H zq$SV*?Hq*f&}W>%<rcX823pz*PD98GTfwz;EG)l(*6(85cfk+}S|$XG2UzbAXO9sU zDNx6wO|HWy+aYTiY+#lbBds6@*PPri@22G!fsbu~Sq$z}fLhQ-u<$H`96t{#l=6$f znrl#^2UP6D=cSf|c9f-;WPts%5Y{7sB?)jOLOcZ%0u}AxtWpdg-T((7SSffk0P0sr zy6|V<5R`#6qG4u$)#5Z36p4`33swg<6C?&P5Ht~e7(S{LnOKwuuDl^#HhC;{26!@$ z0n}2Q1y2*Gbt_WZQGiUSGs2qDkakrjG@pTOf;bK2AXqU3VuQ*ZP#L`dqZJ621($E| zu5ziN8B!l(A1q$-Qj1GcQ{v%GPq3qnabyE{aRlx>fku?xp^mB%=VnkxlmV8ikXz88 zT!PVx_GaJ^gb#2+!Up0Id?5n~FpRhaH(-5W-7eyj2H0U}Ne&doAaO_%0hL8)V@vsI zY2dXZGhj&oYc&Km0<5kNuR3s14(@oi;8X|81q`4eu`(Qy2&y09YgRxVryMnCe-j>D zutbLDV=xzEq(H$AJWLt|8_9x1QD#0`UIhgg%v_i|6(9v_DZKmu6~xfe1Jol}AqjOE zsBi}@-^ok?cYBOrl{WGq0>}b8aPoDAPf+5SfB`pu?!j^n-0R>(1qo{}1`a_fE2s-# zX$4mJp_U{#8gO7IfxFV6Y5jT|s9A8!VBrA{Shy(aBoHW*gIe(Ru;`3;E-C>RqA964 zsU?u6mJO_MLKp(J8(aiTfQ=eKMg>8;|3ImgnGx!oywaQ;(9APri4wB_R5;!xDJ?Sx zwg5^PmS1tN>;kvzTw%_{)vg02KRX6{1`a`acvl<u7yvkAuq8QAxpxod>v(XH3`<qu zhHocILn=NAbPEb(VX+-po&i?hp)M-`7i^%#Vel!<a!6qV&Qd>M=?=|v$Xl<$mHbUu z?URz93p!N~JbnajnBeMRfF1P(GdaRN1xf>xU{wtwnjs6AK&!O>%E2PeFEa;R`98wo zTu9OYWv~OVSOr%{kZuDgY79|}b;wwGQfV4$^$RiwmV{yMRIme&Gj4-92Dx|#Wh;#0 z9W<o(50+?<O$4#+z>~W>VQ~o#M)=eOcz6wTKmaU}fG0rW!CijP)JPSqoQ%g-^&&YK zw2b;UM)3u1ff40l(5SZ&_GTHD#fdtgC_^J4D;V~`S^#9NU;u?KqGt*1X5%TCVCoI+ zz{}6YiR>OAg&U|)^CDRrtWyDMR5im=C?tv?2@uqkx&<$@oRC-jz=pg*)B5mUaJ(n9 z8w{Fpo&rzN(D^WUn+4p3!bpCgcDp~kEWkbo1};V6GoO&m0NL2gA;=1|4|B=}yx6e< zM<Rret$>rcf*rWmS%I4EKy@fc8q$~nv0%9k#0FIipx#V5T2_MuBB;xD1)e4$ZYFi? z2t2{12Fn=O2B1Lh!0kFv1JM)ae|V7v^8+~7!bK7Ft^#DrPXksapp~`Y5*ifK%<$5m za9Rh26=-{g5@~v1NfoqD1hhM{9JKzjgn<V%*Db@qkdvIBR|YO=UFATVNP<E_Je?AY zQ=M}Xi;EFEV8Gi<Ku0CU=clE`moRWMa0qSyr|-lPupG$f_{_Zg_!9793T$iIK?VE{ zK?Vl+gf4j33oB^#I%LIBd<nSXsTX2kC`m2K&CCNIlmfYH2;64c1#)6>d_0OH!7IbT zZg?)hz>t%YSr!jE)|*366TF|MtOPX849X&452EWvc+m)4PRC;G3WAsqay;mS^@5V3 zluU3CfQH{Tg1iG-K44~&X>0@zm5U%Z2Kc&wJ@-O_fdSO!iw95PgIctWAZe&0z+vo> znOc-sl$=qCa0z%_JIJ!sq9SmJf;RE|1}~q7>V(G-*l{S!;*B61px%Ik6&f0#dY4fW z6ureIDd0{h*g^523zEUj_BCL`K|7HUu0S=_96UhxQksDwzBoQU1T@U#nU|IiZV!N? z1zV(m*0^5-IV2uw2Li~__=3`;oJ`0jCvQUAB#cbKT?TN-fo;JVZv3E)Uf@{I&&dHr zJ7^fJ2<!md8?~U70c<K7GOh~h2F1sNHZq!l7F&Tb4@d~KVg#D{g#;KF+&q0;!NVT@ z$g!FaTB%=>>JMK3=>xgc2Amo|i9Z*z+9V#510R9HGr-r)4=fK_w_lo>R|09sf*KXz z)QEL212~uIn#1-&!>^YEJLjnxhPahgIOv`px5UgG(AXv@KU~753Uo68Oc7}H>wc_? zLV{sxKn6|0rUo=~0aFA@2cWx%AiG@PZnd)V%P#?`13UT$HdEX{2Y<ti0WC-2#`Ln4 zl?&+DXJl1tu$koyx{wK`3gqrwY^oe{K>MvK!Oj8|w|S%`A4oE?18+s)2d8YpS=P{u z!4b3}k$_D&_VK`M1f@|>3IZ($iH8)*pd<@Q!_d^W8nR8$%mkck^@Lyr0({^EQXs$# zicd)e6{VojF;J0QnwMHpkeUn{X@TDV1}>*S1x*gLoB?e<1Qo*ZP(H{cP(F#z%m<x6 z16qZ{2lgaVaRA$p#PEfIf#C!T=mZZ21_8#9wC1TVXPk(6zUeL3hVJGP1_nb0ka+%4 zDGloj>X-g3zIbI-!&EZ{2GHFK0*tSw%O5;8?;NL?>S^u&ZMv=u43oj?CmlYSwIxVk zzoM_i%6F}0S_}*a!Qw|Idq2Auo3qq$vBnV}ryb@D4DZ0=f@yLrM;%RyY;Snfxs|Yl zGcbVeg%M!Xjmw<-ao>&kXU?4GJ%40E00ToZBgj3vlWg`r^4{@D{2%Ai?>9O%85p*K z#an)s{jadfD(5;QqJFE}b|VABQ?R(<nm^N9-(HWLd)`H(Vz$#m1_lu(kU5Gz_nqVu zV?MP$k>9tU^Ycdr23N57N;}Kh8sCby@iU%dvhq1($G}hw7N67_{9~77&jf>Q@e8@L zZ7(q}>;;Q=K4lSQEBFz+KI*rn{&DN)3=FTp;ucv-t5f`D&QLghNdH{y))EE=V`h-O z^F`zj*&g;<zfFEy`W|707zTzgu=tWc?{bf9++KIsr2h5e)wZq-42!_x`L8ZMy_eCk zP+D;Rsrzxu9y2g}1d9t8FSj+zV@tkqc<0MytGBOVU~pyuna>>C_o*&Gjh(M7;FWN> z$N~n2*<kU?Ik(NCx!t^3^X6yRvc2bl#JvDxanFaWo+;73b7T`{AHQ)af`Q>1SpAkq z#tu(3Wb-4u`hWe(^Uh&lP-O*~Kfh(!|Kch>;cpidmPUNYIL5#b2p0bum3{Qee4i`z zk;|^$>S7jQV5ozLAE`NUDvv2-okr@R3Dpf+3=C_*;{MxL_}%}%*7N<UX*0N1tIlO$ z_y-nW!qPgU`hoQN`0%h<j<-PR#F!0a?@9OhFSRuvBpkWbHRXIm3Nr&k99UfWOvhf? zDS?O1#Wy*#J<RiEU|0qg7uuiwF><Q^mi5~-6P^gWPhwzr2o^Wm!8U6$yXw)7$?Gat z8P)bPFz~X2%wH|4|Ko|h>g0#Fev4T*{XE9N5C#@sIz26D3(MQPdl#$ypEadpF$2RY zu=o+5I?H#~R({_$E6N=Z<XXYN@C7VxUg!Ab*0Y~>D<rqPKd&^OgMq=017!ZR19C5( z9FU%nAUoOA!s7K028Ib>@hYGFmFxZ%hReKh<rT6>Hez7d0~U9ml=nX^+3kPjE5lo7 zcSct-FuVkdS3Zt(UGnV7(lrz1xpV9vMlmpmae~Y*=n$9~{8es#@jJE&*No-;7#Qrq z;u&_Qwm)38l*c17|3d#0#TEvJ9I$vg8#^1vzBLwmc5ywu5@lP*z%UyuF7;UFa@GIF zUpx4Yh2_*df5X7A4=ldO^{$d!z#7*`^WDu=QHvcI7~X@$?Ye)-_P+3X^H0!)sXoy{ zj)6gz3*??vfrXuE3F238EnL@ihWCXi1A`Y>-1Ne(+y6CpJ3oBzUQoSK?Fj=z3s_vm z`L^VpqpgoQzVWVqFYDvOz;F#LZeSCze9t7GD{8wI@zje+>M$^{aD&Xhy|bt34!e80 zKHH!3+oUsRFfe>(U|@&^T{n{gz9criC^1(7G#FJJlUrO?Y-C_)8dH`WlbM&CQ<{<* zQ;`VXYiFRB!9bk)k|M+8{M_99JmS=&Oo<R@LupB74(J?dqEwTlI5WREtvrPx87*KG zG%762G-E(_{N<MyD`aPu6vr4Ez=O!pK+izW(7?#VK+hniG`XlGrWkZklU@ep1|{bg zr6w1Z#Fs+`%7~4G;*u0d-AP;=K-6Xu8)e{*1LU4W;>@qefvy#%IAC+ZeOh9Jp`y4X zB_%bD3ef=avR(#58aQEqwogH>RfgQ5TnuhFg6<L4OQzhe;>zL}P|uC3$tN?Ps>UVf z=TX;0aE1ZhZ;+OmPD1R0uI?l<2|{Ls4Tw{nn3JAglv$FIOPq4Z{u1KURzMs=q~enF z+{BU$s>U6t-A!x|mnFkyo%2%5iPe-0ax&%l0AvcWRwCR9FUpA3nghPRgmUMCd+XGU zsNB@t<bulhVrrOKT#}NLnM56vKzWWDCc&yUNPZwTx*+u+ak&RNs7jn-=<GUiiZk<z ziBkxw`9NzIiE66A2a*ZbGZ{o$pPQSR2ik>1Z17fO<`;t&gb-;wWO$S~#fUr#s!T!S zj?_#=<=`5GSZ|gkrlh8Uau!kXQUTdpsuE(Lppu$YpkS+@lA2kd0OFe{Xe-2l1(F~F z5Kb|KW1*m}V5`6YQb>+Q1r;L$uq{R=3c6rx6jY3iAtDwC5fiY8u@O{+66+v_o4^dG z#3-n%sA!fMHJk<UAvH{bc+i3xMnPg39)s{$Ha3ICse+0T#5xlLs0bxd0|^6Inxfn! zBkDN{p3<q{D(c0I5zHt=%)oLRJZ9i=MY+r234wB>3}No1#3)Gegy&><Aeh1ohX;Zw zEWv^<yae5e0J?>gjloAyMS+1~0s{lXdlm);c7{7p7B|BKD2t0>0wYA0n_&u+#l`S| zk%8d@SceW1gvHHZ0A+D8On|bu8Kyv4TnrbO7#Kc+buch9F#KR;VBlt8fwH(5BA6kv z+zc^L78k=*s4O?bOel+sVLdYg!!NMj%}^E>!+vH4hM!=u!%!9%=yC<97z+zTmWx4x z1!ji~l*Pr+z{0@r3GAvfP!>1C1t^P)p@bD8%gs;$WpOc_VP#<W0@fkH24QhC$Us?K z3@uO=H$w-M#l>)ije+4SSO*I`1H*5yOF5t{E`}<028RD&u{tP=i$R71qJx`30m|ZH z@Z*5#4T7?`7;-ouV~*Sm1yB|jLp28j!(Xs@^-vZULl*}F!ym9%AC$$#a1?4XH^WIN zi;Lk6l*P^P0m|ZHu;GM^r?NA2Kv~=jJx~@Gg9H~umYYEa%Hm=u;9_9-4)*UJD2ton z0F=eWkiZR*<z`5MvbY#_a5FIc0PA?c&A`CG21*-mpe!ziA|3_?R<KwZl*PrM!3)vB z&7cEiaWUla!t@qFSzHV=co`U&!FuOFSzHXuc^Md3z+$VREG~v^ybKIXV6k0L78k=& zUIqq6u-Hi`i;E$F4`y!)l*PsHfscXVC)o8i{16s5g9DVs#qb5n;%4{(WpOe12rw}G z0_&&|U|?Va+tC1JaWM!9GB9v~#l)a2E`}?D5FOkMH=ryo1}Pz!UO6a>i@`#Ofq@gO z*9OYsVsIB?VBi3Yc|%!T3}HeH4D4XBC@71I;eZg#jw4VO7lVW_1H*5yOH-gMZiWmf zi;Lk7l*P^P0LtQG&=Fx^_yg8a0cCMB)IeEW3?HB@ZiX*V78iqqC<DV^u#O%mi<@Br zl*PrsA_kG=X5fIbxEMmj7#RM6bu56gxEYo}SzHV};t*MG1_3CGiy=mwf#E+`#|kKm zn_&%<#l;{Y0g>fqkb$ze7+4q>7@`<NMW+>2s)|i;@$3*Z_7-sTKh4O%z~F{9*c6|X znFk(l(o4xKig8IzDou}Z&M!(;2n!1EQ*h1!9d57SlbKYMSX8N3kdnmk`O`;N(48X+ z<r%4Y3duS7#hH2O3Xst%1<-JnLS~*qN@{UQQ7PykC_OHQ(C#<QZv=LnIdkSrr|XAK z*Dsx}KRR9ibo&0uV(4}i3F!6}2<#5!3F>y`2zUW1<C~9&bo>74Wb6+8bIgf_q1*Ql zSeSp?fz|`1V!gf}z}yUw(q7*WfnZ*@>!0Q$0@iOJoTsse1Q<XTf^cZ}o516)e?ZJm z-#^{1e~vT!|NsAgx9^{0jw}q_u7A3p#vTUALUCyKo2>s}(^D3L><9=93=RuF?)nBK z4;C>#8qn+dC1o*4wlnoZr|+9?Ux>|MH<oxFcl`sBgNeS@02|l+C5!35C`h9D2#fU> zuv1|^=GXxeKYZNv56Eq=*`bVX-!Cbhpdx`GGCnT4`G^R@hj1r@!&e3xzE3(`Uv#>@ zK?`V<AS}TVgjo#Tp&~)ut^xtwzC3~5p&UVA7s6u$9t{^-FM*=r30NBJvtHLHFptO} zTnLQ=u=_-y?!)CWP&9BrqO$o2OQ-9P=Gq?&AeTbI6=F;18@Q7Ywj9QYujV%jVNmO? zbh_T?biLE*`k>Pl5j2>Q==-7Dmjmpd)&pe;Fm^Xwl=(v#OfaC=_YPPkJdz<A1F{%k zG6CJtG}`HU1sahssczRRubGSw1a+Sc=mjSQuu&0FND&>^d_)J~y+bSv{PGN-tP4sY zpzF>-vn(JsXp$L}B#8`Po`7y&j==8FKiy2QxZ;6?^M6omB8Ri@8%RuayZ%5)a)&rT znQ8#+L(PwkZ+sXT7{UX4_pbQ&|NqWl1_lOjbbnqQ360rK*AGZJ)c4KtR**_ip!NEm z0f#s=@{YS60f`=WJpiU!xBUD6|33o*Lvt<9|2mW7ts9{HZdV>{*CU;+YySQJ-`fik z4eXr?;=mFlM>j(!Sa)|X$c(_=seAtY{~rV^0Xkg|G}j(rC^6XqiplH~482o$K?;~d z4+NnJ1;L!y?RtdS^+2cV5wK3NZr>x;zC8RriU0rq2RV<wCH(*Y|GlASf?z4L8|=&G z6O5f;20Z0KeBABIfiKm?cl&-YJ_`<;#v>7o3=Bv~kb{8<6g&(J3}^oT{|~+!mVto* z<bGJf1f|8I)Dp<LK2Rb7B}^zLGQA**9h9;_07n{yl?51Sln2fFGg!(8lkmXa+5<a5 z1uI(0K~6RwpveLpD3-1~plosi%z+d~t|uTFsoR&Q`5<E;EQ>>vR(GgCP`4`&j$)zL z_c+)jBxz>XD@Z(0ZUw98_C3&ilCjhG06ab+#SfwQY(C<E6oowCz7RMT(aR7b<L6H| zdijh|ZouLMrO*JC&&_YhDgQ^!_x%H_xl!^2w0<Nqd~_KY7>ZdK7(^Ic7#J8ngIS<5 zlb01F7Qw*4ki!n@xqy}y?FEbFF)%Rf1GBa<Ksvl^4Cfda7-n*S)PYhZ#FT#wkZz<1 z11lo~0~fdt!_UaT(8B^!C&>siMV^s?VItUGbw)@hn2jL-F5AusbJa9P1_nm3y|Wn^ z7%IT7TEfV{0CClB(DoOwDWH}t#09q)85kh`xX%dl#|yZQPjEXFK?NAtWKgHS3~Y)6 z69a=VSPZoIs0D1B9}~>B2qu{8)0iOLS2l*pOt3Im#l*mHA8g7tCI*IkVAcV+*lD=f z6($CT1h5^C;j-_T7#O0#V&9n{T~HAQPG$y%2(XwGGo-`I#vsqkz_1%EX3h+Aiw85L zi_FFl!VKv^voSO>Gl1@1VGv=M!py)>19r;_X2_Bu5r(zQ3=9*%e%r<j^BZWe0TREU z<xC7<J3xaCRbaiK!3KG-m@Eqe!yK?)H5Qm&V-}cO+(7*dHc(9GvcSRx6w6n@rhq~x z5o`*`d{C!agu#TBfguSjmdeV&a22esnU#UzI+!(q71C*CW0=Yc^Eqg_(jKsmU92#B zPq0Edylf0tSRq|xHiieRkd84MgCZL&G%VN{7^=Z0`>-)EKztO)2J=xA8_Y-PY%r7C zK)wNChUIK9A01+2VCV&#avp99XjlXiE_dOkykTQt2nV~Al^qtpeC&`;wFrYGI|IW8 zuqi5VStB^hnw^0m7pym!9hMFf*dg6qHilGoSZLI;!(7_K4(S-PG0b3xbeq{24zk01 zeukZap&V@619k=mZLrBt*%=sCfaCHVJIv=l;N~fU#?-*-bT}9oD!_UjIAD5RIbeE0 zLphM#7{LK^OCwxw4+jH7C0OqQ4h9B8uz5>47#OyI?On$Kvv&tv??bp=&;U*eST6%7 z1A`=3FDoYl!vU~fK2Dfk2~L>3j+`+6`fxHZl!Emp!1boW_2$9#R>1Xkhp2G$I`MRS zy)cH<=-}?xOHlpT>w5=G!<F2?qT~#Uk}gn75UQ%%>kpKL$H*fXN<d8!NJ0ngJE#LE zLU9HLhJ)aMkY|7;3j<KY3oK^Jz`)Q1R%ZoQ=fnWZOkr?!32;^_0|R)JkBuP<uA>NU zax+|A2Ll5GI4dyp!quU7qIn=qpXMVh0q`mc+Cc<&#aWQr9vlpyrMXkUt_JyJ8#t=e z85kILfmtT->IPJzd}Ux@Pys~*6x%U?heR1bDFq~Cz|FwG2NeU22A482Fi0}G3xece z7^DZJMvsAkK}ZrN3cat6)RRC!TV_bvrUg<9x<@#kJ{CdtwSt#0A#H*OAJd?q2HNm0 zBmfFlSRf#1g$5x8eg<wq(1=5cGy_9PMrJXCFax(BD5OJ_K<lN`@{4j4a~K2|xCMC_ z7#QAymQ;r&<`^<CG5CW5{1XEMg9XAw22i+rK;uRSDz3oD&;W`HIYx#CWd;TYc}9i? zZ3YGgMMj1OkfEilpwW9!GX%uqW{6>6U;weW7(g8(5R02(4<k&B@^m-}o(^rnEKoWO z0JA7dhl>~)7~Jrr!~LM74-OMD(;<9c9BP6j`9vBkE0R+twX8-@t7ztum}r+;5|e2C z%o!NskrFL6(rght&4O5vGz(&JF+5>pU;weW89>cY5DPp2iaG$<{WSIv3wW3oy|4on z`Jmhi!l1N*UfAsgwdEO53p<b=PzD2K$T+mZ4pA(CH}7HW%eJy2qyoInkJw`5k`h{s zfJ=;cXfc9RXlQ^u2gM-w|6pVQk1@c;7K)i5g+>Vzq>uo$64@C*g#?HN32+dL3%r8@ z#NuXPVPs$cv8Wp0#~2tGYVZX3CA3^kC^(4-aMVn}Aj3dR0ge&!;AD>)@}QJYYQTf` z5kLYS#DWAoh{eUg!3f!9z|Ft|Wq|`8b*QfS4F`1K{J84}(0CAZfDUDt1v2Ce8P$gl zo@9V#Rl%byXk*a=SqxbWu;JBSSB`*Q-*=F~%H|^+T>>4U@A<d6z6XzBgZilq;06j} zC>zvTfm;L`Y43LZfHd@qGH`K-2Q-}r?ohBXfNCyC_ZL*h9RRmm{23S+?tz=9pgOAy zT!&;cFfcp=%T_QjF!X@M`WP4(y1}g3aMp4L28Ld+7$}87I%A+rk6s{LU;uT}85lq{ zB`Cju3IsC-7O=}etshVqyo!Mpl=nf>@$sn{(EUm(_Vz0F1_6$)5f1h$kRv`I>)ae% zLhV&RbqI7{uY(Kds$mC*Fnbkv>UD5&Fmiwh2Rgbs1UR}HI69#zFm!N;VrW3NyEG59 znjLhPL{4f6UF=r@wTD6BV9p5I>x5b`g2K*>fq`KwsAY?mPmu!zT*Tqn6b%uEhYMJ# zor0Z}6@><%9vPyb1wLK?Qp}2gA`*&0Ndm$&Xb@uHVz3f?@&EsSF$M;3%k9Je|Nj+5 zphd1AwB@G2!oU#kmRVE`x(X1|ZUYPXfG!B(W8fA9%^!fvWyc&yI}TJXfLd)3ix?O{ z;RaeI0qRNHKn25@89;j)LHnf|JVAX1W`>4j1_p*mW`>4*(0n5^L&ItY28L*6NP!LN z&ayLrbb~tN+zbw&79SgEkO<T*QUcH4?qOhH0I|3j5*Q&JU~YyKD2t0hoQVOP_qZ9P zp)4+j1}2!g7AT7gR2ZOi#=O2@bgn?5cnF*+K~pY}Zk7}SWU~?*=v*UcHw(*1F%iXA zukU+sQ3Id#ftF#Q!C&x{3v@CFI)00<#NhzvYe{gg4pHKO`gi8wvcj2xfx!{Xieg}3 zXa%z>@%ElTy*f~W0=4NuQHfrDEMs6`@I%hS=;eo#3#j~nEJk;5MJWPYAq5141Q!!d zE(Q)!3?azoVJj0zHxr)E`4|}(R-o0#AU}fgIjFwaiI&eH4oA&x=y@8o!Ubh+a&&=< z2FUhQ3bM1UIa+o$0c{~g&CXyUaCU~Ys6hD_xfccs4-F<ruNl@0<ACO0c4meKKL!TS zfMY`(0|NsWG{1rdDIxh4l=>j~6~y9V=wV=BkOJpd&{``H3sU!kbU^BU5Q~dp8K@r) zR<{bu;sUqnK(gEnEYN{aqVua0IB}!q*ID3<0g7SBun2l*kOMIm0a^}#JO;tS04g*= z%|j7zU5>lP1r3*j3Jeg2<rq-&8pH?HG@zmGy=W;Aqz9x%mVtpm7p(~nIl~EDgP?bR zu(!!U36Km;5X13k1XcNvqtA$IQf`4Y=3zC<H&FLKC^J2y1X6D>Fo04Xs0Idw69|LC z0o0TSjYz}BaI%;oP5De_h6Yffn+;8IP4GSxhy`g`f>>M(9*hhOAQm?RXr33u0=Fzt z`cMR;8q`RoG^#;`%`rSteF&5kLH=fdcIm@$-rGmts75c*6d)}NP!a|^7ll9`2f~Q+ za8U0VInF7G@>+P5gIJI#2eG)ovq2yhH$w;`0|SVK8Reu8IZg(bA)rX2?vP_1BLjmF zo}nH=^df*hBY|WL>_E!|NR0?PF%QoXRFJVvNKpeW(vXH6iA`g~jWxam6*g2JwgD}Q zg>+^?EJ*qTvA7sEFfxFb%yKhqfwI8q58QqI0qVCRFCgRS_T}jouof)lJnjlA?HEAI zwSIu|RF~@y(AW+K*0CK>V;Iy717VP2P*V&v_5sS3po#_55zIj=Z9sZJYCz4KPoRVh z(g-bW5Z7UXZl;D@=c=KJXzFC<l|Y*#YKRlQkpv;}1#=D9U^szXCLFYeHc3Fkz#!$q zA`A@iKB;LX44|3;)H4N(;439S{;*(V0Ii>f5AHiNGBkkv=E4Z+TDU<6gjc{z2@nes zOCT1c*#TlfnjIh(IF`CyIbsikLJ__5400^UOE4M~;-IPtq!tw7tqcqd)@UIPQVUW8 z>ih(P=3+nwKtnv<F(n0bS!;e8xUmNbK(IUp0SiEoaX&z3kAx-WfCtw>!3DaAA|7>Y z2BRtkX+#gP4NMFTAh&H~VrT%lZwqvEY#KboKrBdzfmmD&Cm0wQKrC*CGf);d#Bi_2 zIPMBMnS`O&^$U0m1!)x^Pd8W$wieU(J$%t7Yyt>lc@g?>N*ZWAJ~*hp{QnPH(+XzC zJLi|?m4Ht?SqLt$L4C!C;O<%|0|P@JSS+4_fx!^m{7YegO@|i1dp->e3=BqKSx{>g zbY=w`)+{(3%V-Ly%?3*lW{eCB?Pv)Cqz9x1MBhZqf)ow{fD7zA$WmEEz6F)ZpbM)( ztu#>A4ID@)1SoOwGVs6#eL!;fxv*&-(gq7ab3vfN0?>KV@Z<{0@}SrQ9lisNIYci6 zc@zN@Ug)C;xy%d=ps>tiW@rGl5A&HB8bCdl0%nE=(BhOrW`>4H1_p*AXd4kULIx?Y zK`cnZ2C=vpo-;5ofZ~~(;Wd=S#qbT93b+}5L0Mejg(;wP!_C0S2uVR)3>A!!u{Ump z8Yl~#DNsi)iCFXt?dQMd>~`g7KET-N%F*r1VeQLPBHSIy!M}|uAd3;U{_pjj*V0)G z2tH^O6Fg`D8Vz9}W!W!uRMG^T+U4Mja-ta+7;b>`3}OTlbf_9+vK}->U<TH)2%cv^ zX&$}6T!WTBGPxNTOc(^fqY|J3vmG?*fZV%B87%<KE<h49Xuy!-QO5|-sADMRDUA-` zfky_AduCwCuOL5wX7WIzt}g~Mzk;$3C~Gn>z{c)CEAK$vP<})Zs`&UB8Za~?1mZ!b zr6y;9Mo;M(o+_Y&^tc7zkUXLYD<nY2YQhT%P>BHQD1g=;K!SjQ0TeHw@&L4IBLpg# zz|7D9imOCsh6ZZ}28JZ)=tMGfbTJh=x|qhy&;S}wPiJOmsAFJYc=!Ha11NqopydRp zj)06_fbs=o^a8}<VgO|_kSsUD8)#j^#gNL#zyOlvX2^uHxESgg85lr0gqxum%7W}3 zGX;-mfOe08SX>MlOpqFhn;{3v;$ncW6v13fg1W3@9XJbu+C1>_3v4Y+$h5{UlxdCM z{M%fA!>eRijoW;L17)3s0%(N?xW2SyU|^UFX1U|d@qr8s;FT4i<_0KIKusi&13{$& zD2H8UU|^_3s}VtZKx!Nr7#J?2<uGza&QPjBaP0?~2-bo$uwYIDIS+wBbs(%-BV*7E zlsb_|E<k<)jhTU(SD=~+WRW;Cq=72I%+LVxt0XkFfyP}SwGxO0sg*!1E(Q@s$fztg zg9Ma?t!8O{!vWq<@&eMaz`L)+6|!s}l#CggkAOx!APe>Rw_RwxR1yuXf?(B5Hv>`< zfhg>BeF2yCebLGBS{%kDu?~_zN@<XpF)MI#2Cbif%#68#hSb4nE{K7FAqLC>jmdh0 zS=9^-49mf+HU<U;UodMb0|P@Gm^F_9w!jOttHuUwGN{Rldz|hX0|SEu17c?EB_9KW zEmB<tY8~bwm#aAIDkm2Qdlg8+B{0Gr5#Z!v5Q^<u4M?Q~$}vTZm^lXIR#1)v)%LGw zpJPD50!qLjj9ClafX*QCAp%Fm$IpTx2f@ct2~jPekZK#!@-D2lL1~hLY8%K{ByxQN z3Ug47My_vknHd^D@u0`d&=AYOz+k}4&;aUB7&0?7Oa!$fnHd^pGB7ZhFf%lOT1uwO z3=J!w^$jTQ%%LR!sAPrIH=sNKsc%3mF7VtLNS2%73bX{~Vz6gqU;xQ-GdM$8Tnv$n z3=E)D&dm@DWpROPBWrMdlMC8^0iG=bEmww^2il_yVj<NxPcUY>Q0tp5;A{jcs^Rqw zY!DTB;~lhcVF^ImfyWZSzs>hQtO^nVZCHbpC!o!8p!78loNZMZ7#JWdV+IC>`Cu_n z_YHTp1$7ZXl?yCgf+`%)ep!$hDEojieLPx)1JVOh1DXiCf|h;a!Fv|tb4m~$D5NnC zJOdvf3qctK6@#i3qQ*Huia>q<-M$d-mYI_ZUL^<WuYr3;KACx`;8Ak)iU#Bt5Js+O zUNbQ?fc*D{iJ<}H$9K?veH*-A4`M+o8W4*MyyODJ;${$FWMBZXz!gnk7<8NpvZR71 zuot?k4P0H6vK@2%&+ys}GBGKDDp{i1{iWMgBB0w>BoI_+Gr)E#@<4Yg9&`Q2_?iVo zc7^`y2>svX`acdcS%3y*L>NG8Qz0yG1_p-z;58DU8g>SFV*seH0!bjCehGvHiVgJM zNF#J5At+Emv9yZ^RN6xpPJxmN=st`Rw4?&k0~%rht!sUYE2+d66s4v>1~CzXXjqd9 zRzXO!1mt3nt3VjRMovG=tQi>M1By~pz)1t-D)2ZNeB=z2e83`*kuy+=0(liRMS=1f zB1Q2rSPFucoq#M&6$Z_(`3qtU9f86CJ&E0eCaL>O3=N>Lc>?8wvMi)617bmv7>LEi zpv?%$(A*6AP!<=13zWqTo}+=N3+;Xr)?CZMP$~~fK#*NrSQAhjv;h%&7&NQ*7Mv)g z85kHKi2_uTK#~Gz5(&Zr1uJ@@0F^T!--Ch^MDGJ_gl9k`iuIsP&S;4Oqz7b{CP)MN z*gT~CfF8^X9@m48nnI!(qy>gSW<c1WXa==DL2Xm;bZkIL5j>VrBM=nJs1XQr0ZIgd zhCv`^GcbVM3yMIHeXt4KA57pA9~gczF*Ja7+WcZ-XaM==H#8#i;bjGg1&K%yi;Lkp z0|Nty#m#UV%Hm@90A+E54<ZK1g3FJ=6p<Sl7#KY8MC51exf>Rds8e9zRdlf61<|0O z1<?!)$WaMiC__<HLfRpeM&?R*WP(_b$ON&t7;Z8!Fo0Ox40oX{E^rh=#6Xh}AQmJt zyInb~U3p6UK}9-bHzIt4Jr6<*KCQ;n?aO2B%TWx<$Iy-71oAN`A%m<FVF2Y>2n*ER z`~c3|zVN&q4)213hH-J{ZO{e<P^5rLK@g3ew?XOG6D>)A^nfB0RH?kfo+QAx1sWmR z2jDIyv~vlv28Kb#K-i!(0UGE8Wp8krKwW?V76LE80F~LG433)RLGDLnc~F}bREmQx zWP*>7fC_R@-3YP|r5p$Vi9j*PZ=iAjw6O;?JPHy9bxJ`F1$9b6WuO!@Lj$PWFAW_^ zkzr<N0L`|@GBY%Q!bBe0WL*GHQXm#2Nr6~g44`Th#NuXPXJlXivA7sype$|%1t<%g zq+qQ_$Or|zdC1Wvz`yMfxaj~%XDFRkw8kSSa3Jd<jTj)-i7?p169~v_=tVv#NrA*c z0SyWQ^d=){eII&B0n!6%Qdu%EFkHivEU>2vkZmBFP%%|g1*Fr0QFnvf4T^H)=AjBR zq<N^y%+LVxj~X;eK`TxnbvK9wiBb@Yivd&)fLPoNpmQidEO7LNK}&?xZeNK&$YBr2 zB?3$gdx;<s1nM(jEfEmL2_QBJ^C0SbP&omrV<6=Ogaz^_?s5XOK?zcxfbtRU5(6}- z0E#3~{sPhHCB|RS(nPcp1EdEO!G)lvDW0SOy3^YTxj~?XXbqB9gn(NJs6_}^2wa4K znh~Isoex@R0jqmJnFO^=0r?OV7V+So1*l8`t(7NSra&qr(8_sG_<%6T|DYrWD%^ZP z0t^fcX3UV*1+0T>2`yEuprwj6v{bQymMXT)3=N?0vxg?dt?<$X#DXM65Q~dJm63q~ z#NuYqgtE989H1<2aDx&g3r?PdN*7rAgtRe{rY0p&`yrsfYXNsfLDS|S<3$)iD<^R$ zBTz{UN)jNQpb$YXVL(l&NVH@G(gP}CK;sF22qYsSQW3~{kkzOdxyS)08LFlta2bT& zK?V5>lsu42AXjJ!<OUr-afe3xCU~@iSdeH3vADqFpCA@DxGDj$P@)*p1%)3dz|rCQ zpMP8Ee{84E2w+AoXs56U18Dem4mg@YQGh#gU7_7bP;ChcUG&I33fcjW7P%ljpvX06 zU|=|c8M(zJMfsJGTZkduNIc8#P#dD)yCp$0yM*H#+{!?WZ?F)!)PODI2CvV8E#!ve zbx^o~{0YJ!e}I;#AV=m-21s?Xi-Dm5<iFhvkR{uV@W=$QAdv}TLDpS>SdeuWAQm_> zu`jw{1=$O_T?9&lf*WK#$itvs`z<WN4blTr1H$)c65LS7pi#)#3mmq@1~;hu1r-)I zl##Ycg0mC2Mn~Rd1M(Xv3P2|ifQoF86E-tI7IJKX20bVlLuzsm3lj7o7Nj8tVnG^W zAQm|2p%uAK#yMsN25_AWT4@d)$m7X44;KyPft^sp(+xVqhNIh8fSIv7RG^ay-W><6 zBRB~jDwKluDMT1RqxujrP;!D)#a?(@X|RSXs4fHf5k1}yF)%O$qh&LY9#EWv8UtT2 z;ytstBrz{J6{F>jsD{B;%Ykwe$U;m^bo9dNU{TP@CjYcF@Jby}{G!yai1-DSk1*>% zegN@73vxgWZ;<#YW=Q;=ftH)+m>C*CcgCG(hGe<R%nS`6KVN~CqpRRq55$7RKZwNz z-qZ$SafA0;fmpPTe@OETHU1%Dl*K>jC=qu&@&6Tf{DWIt&^bXJ65^bw8k1F=fgyeX z;(Rqc&Ot0loP$_g;MO~c1!=v5Sl~D()I7pCMGs5O3F&x&w#9>zk_ZE6(j9lr32HQf zifvpqCumAP2rWuMdO$TNXbAW{t|&$Cbz#ZTAbUYs2^Eu{qd}P$y{Q9oD=6!NiXhme z?;~iIeay_z0P@2VXch%6O@kECAQmLLKrAls!U7PB8$7B8Vu7Qp`3=u;*DsJMUgRaD z-L4#6zP~#-u%6%aH1;rjjok15|Nnzd3j>8fymMj+1868v4_r=zZU=)L4Fj5N(Fcox zn(_u<7AWY@`_Q13bf9PiHTppYf=Xx5;44Tis8$B;#d1Z9N{}9q8W4R0Jt{p*Qj0)K zRnVgnGHMF43S<o`2E`u!g=%QBplTLmR4%A*6c61-3@WTaVFNCkLE(ZeYC&#BkJ?Bk zh6a#-qL~;P)Ic-T(4kXMrhr5(hy{sS5Q~dpDQJ!mJR`Rf%Hm?!!oa`)3UO`*(2O96 z#l>)#fq?-OGu#Zvp)4+N&l_Y4H+YLOh(*I>p$v|A)MTLo76T;<RWJ(_)ubkioeT^N zPI!_<BB*N*j%4T#2zatUF0*NpCRlWlnqFAb1OsM!n3QAz>Ow-21&9Sn79bWE188a( z6sFt^pzU)Y78e6(xEd7V+~Dn|AQl$`=ukmW%y2V+P8kHTAjtw`3M5&8Sa_2~m+Nng zWwoFwSlp!qs33CyM>uGD08&bT#-km<VxVC}Col_JasUn4g7O=#QUbIZ2)zym=>g>` z5d90iln5w+6cV7+fGFfaJgTP&kek63KCGO86&~P*JxmamP;P?e=3s>fxXlh~=Ymr* zXmtvB?g4eVdMC8>=w@PQ0Ij?1ftDT{;Pp6&1xY3#78e6(k2ff+xfwt^V?it~22d*q z6cgMGyFhz6!E^ke4k#$bxEW3|Fff2vkd;IrQy?peKr9+06LWAvKuso~Q?uB>C&gKU zWywh<prhCW&`J$Z@_;3i+qjYmN?(}{=>;We;7u>!jvg$%ptmDHenYQp8lcIg37TA* zp~(d_b^$3>KrBdd0kOCkHZU+SfWn*`T*ZJ`Tnzg`2kd|=AW#(piW@HQNqnG~<7T+T zz`y`vLAr?`Qy|?$5DT1Kx<N~lc{)LD4eXtDSZ58Cc|eID)GPqChCs0nY8K38U|<MC zi%F0kkQ&g2$Dimi8I+owk(!*Hnu6XgK#fh<`gV|=m>ASf0L`p`Tm>E$bxAEQ0q=MR z6;9wt3oc3qFRy@>@t^_@W)8@Gpx6NU0n}syiSJ{CbjbEILdHH0Ko2E42;FnC9-fIo zEJ&<?SX|)C1VAiqh9?XR3?LRbWMPeQ(23H}bFTtmi!P8xCQ+N<hj<u3J4)QagI1t& zdJUKbs<v@A!a+@RkXJxn2YCe)MWCPuiGiXBblX8GS`>lwfYgA_S^9_;MUaJVsL=!2 z|ApAlg^~}!#~s9nCg&GaqKsogN^p=fK+ZzNpcn)dwV<=5NL%3r(glh^a4ds{!?CsQ zK>h=*?E)o3P&k4tZ)1b(Gi_&soG;bM1{u}@tvQ5bI1mdGwICK3cxns8;$~1`gse>j zM=inaL@+OdVglp>5FZp1pn-Kaw3q-TVUQZo=)iTfn1~O}!;x7aK@0K~CWZwq$YgLJ z!LtH-u>?{9$_OC)VWG4Qnh~}$Lbed?fMx*D`6Q4~0<j>W1Y&V9fO-ZX7B{##17cAY zN}zSz&UixUJMK^dwHu&|Gq6nGB7zDzh`>z(SP)SXLZG84At3}}K|%<`;sW;rKrC)> zSb<pJ5P}sEkYWMbSU2{w?=i=_LDjzq18AZAMsR@vT8xalzyKZ30ZNjfTm%XeP%;Je z$U$PDWC{ud^i576Js>rpjP(OE0y6V5OX4vK0Q4dqQi{-GC>$J#sAIEWA@EQ*sHOn< z6`UEsH3evJ95i}|IyesUH*zBn<Y&+su*lhC9<+X#&j{I&un?L(*1_us5DOCdAQl&c z2_pjoh{eqS+N}p-fg_)^%|sbxjL>1+UTnwjy9#u=zJV_Fel67PE6{w9vC~(eJCvjO z5MyU3sCox2^bi7#0fQ&teMP`S!LP5pHURBTdIR2_1iGZa+E<{2uRHWjP&Z7;Lqf~I zT?LR1NW!>;0939ygByyVHZf!!IA~IV34ByAsPqBN{fIEMFfcG|1}9!nt9T2TwF$oF zdpiRIgDcpS$9Tt>L3_PG5evegqz&4iWQerp8`NBxjl7H*b<KBZ9y}pC1UR__IN~|a zB+@a!(G|4ZJHXM^(J|Cs1u0#l9+d<;2F1W3G~O>iuQ)j|C$R`Lc^scv0@;-tUy_*a zU;sKUiGcyUZ)qQBlQCKu2=W`KC2*dBf#El0SrB(c4qgWZ3q4Q>f-(+>Cb&t-m|-Sz zz$Pb_KsPB3c%Z5nfcGJTYCCYDKz=y^>H&b}*}<JdSdS4@ynwbvfr}Tv)C$<)7og$< zwC@xWdJN!wh@j#Gv;-Tp^A03l%E-_FiqkSih6d2G&2mPD2G9^hB_l%v=*+MxM##RV zYDR_z(9YFbMuvv@3=9l)j0_EH85lsjk{Uog#s)@)22ec=+V=!nAl=Bw&;Uv&P0->A zR4uTBPg?@zMaX(|5DRiV9!M5)JRXR}#gN6wzyOlvW&j;z0Ag`5v@k+)AU8t?l*Pp` zm63tL1>E_V31x9HtYBhb0GYzgum;LPT8~a>|I;pT7Dri+4!QycWwj6wd|C?BfL#LK z(g=zZ-1Qx(-~k0TELnr<J5ZSptM5Q-9n;Y=8%PgG4QM6m9UPf0B{eNREi)%4J`b(2 z3~wE0=9Qq<frQ#^Sk{z*gg{Mu@Y)W@PH0dv1m#O`^#x0YAVH81!O0L=5EMAz-YHBF zTZ0+oUr^!%`5D#}Tn^n$zJiIN0Td1^p*_@z@VXAfg4A^&78ip7=p1+OWn7?I4<Z)Y z{RXry2y}@LxXytbxCftgMB7vVRU#13>ni};T)@!{yK5r$FeoHIO-vC6(7+<7DJ8-H z8mfh`^cf&^tq3@&gZg4344^6ociI3Qbp%Qqpx^}2=xO68Xj33s+5qVRg%fD*{2TVP zk(rp2S(TbXyCxCHt(X|pt_7tRDin2~L;~$QBe#h_en(FyE1+G5m5dAxpfFhjEp$Mg zS4e{x#Db&~5Q~e!hLM2*#Nr08^Z~KJZ6ZX27_^TKTZ0(B8Vz(#BgT9dmW70%kq!|C z&~$r0xJdz82?9!&A`JK^D?uC7K;;7{y@A3RlrBK+UyvBAjXVP_U4Zm})PROi_u@|% zDXD3Rr8y;7iw^~)Wn`cN1adME?vsPyr46X}L(KV2uoMC=DIk?0NC@Orq(TPNMh4{y za3KR<Kmw}NkkbRm&*<p^bP5G196+Z~fWl%kwA{#pmm44!Bt3vwkTx=i1!*ILSm5+v zd>|I<u^pi0uAoQ(MFxllMGh!Kg7~1w0qp=rpQ{4t0jUA4wz!2JIbn%8@u2&GQOj|{ zV^E+n7nIk)A&FePVoof8><1M^AUD7YSkTE=AU^2CE0DW#pi_yUqzcJ6AQmK`KrG0F z0f+^eFaWW@0fjx7Kt_Us2ZqsusR^{X5-kmb^njcM!Umw|2Ww`Gk1tCuDv2*kj4v)p z1Tj*JGSe#K6N}PIb5rw5Ab|%;f3V&+gvM9hF*FE42k1a)3Y0^^RzZ&J2k-enUJx?@ zx*%o}bV1A{@P&7vRf`}NB#1yPF7QkWh{X*)+XTb{2NA4n;os)^F96gJg4Q$~sJ&@W zJqJ1uMT9{KZ%0E5x@HWN<UsBQg)Jz}gZQ8%2s-l83N36wdO&JGi+ub+<9r~E(34{l zu^b!&G7GE(g#eZDpfNB|x`Q7a11_yW;fS0!LH2?AoS?XbCAl5Yon$+i7#cwC*agj- z<?y@-VnM<a#Da`EgIJJJXAlb<o~ZrT<~JUo8<W=T1bGYJjY+U|eZ8S~f?%igcDkPE zc0JMQdIZ{oZGOYkeWo+@MR({C$l9b%*8|<4i>~$@bN$2E>w6{;p>s!f=#I|NEyrB{ zFhRB5=yu%#xqG0~b;B{&Kg<ZlYr1{cbo#zI=K6;Lc83=9%uU$UOx><;kUO)@M?#>j zO~|QDpw6r`xQz;0{sQUDg6fgG;8rN;V2vDbEd%PzLc~Bbfe<m!{9h+n7IcnN2bgu0 zfq?<SdWSc)ftG87jzj>(IVdr(@G>x1F+dIj1*JC7EjI<oy)Tq*ZDK(|YF-Lej@)o` z3^OnUnFKn<vkcirjAJ}$WUGo1!@$^UI6(G-ax^H8L1)-Dqm?M2bOG8A3Yt&bjaI2q zeDn|`0<l+#pu`ADh#(A0l!y_6CD0Azpkj*jBZ$Fe8D<3v@+;_g5aiM<o&~ZWHi3nq z0Tc#_ERZ36&>cdM?k*^|Lb|&k78k=h1_lN>aF-P{xCCNxF{m*zFvx<%w4f|5hIxz( z;H!_h89>)IfG$DiVz6O?+)l*J0BZ4o?BHV9%EZ6`GMSrUCzQp-AixY$Cjw=0fo^^T zMIb}B?+Y;9>x+6rjMoN?t=gdCA5u7gT4q_`0t3{+gNT8)LqZNJ1{L%3z=aa1`-8EO z8#Dps3g58-YBz%~d4!a#%}01p>c2yft5~*yEd$jV+rcc*5C!f&6lhEs<XBij0M&({ zzBxz?lyX5^(rVFCE=UhZ4QK-DFIvh)8c2gIp2j^~Wn~3k^#{627B!*jAT>sazT||@ zf&p^L2`J%$d;@ORf##S*pckBc6JlVniFYhYFOD~`gEn6<76*X*23pXIoKmMi4>_I6 z44HhI4sGgzhCCrnJrE00?}Av68CwtwGGhy3f$LpdtH!|5%n^{q2y53su0>=hkp>-* z4;5tT4*k)^(81L0`=itM3+Plr@L_JvM__|0kZKN;w)((T8mMrABnHrF2)L6#I`o_k zP@sXz1W*zH4Jp8q0O+iREVLv5(gRWh+Wf~1+Mx#02x|`I<m4xVkB&s`-H;OBpj-ns z5`};@pFk6j-(hDd6B*xp3~_>>OaZ!04dh@*Nrm3*0{II)`um`h{QXP}4IuwcfHu2! z!kb+n79{#XEG`Dnx&0s(Hv<zR0|ST!*)suRLH105Sl}c9nm>X?Fywd_=%#*X+a>le zC|V%V2pS9mX%qpUYK}WXK}i4<Zm>WEMJOme!y**4xwHu_LP2^!YC!EuMo{>G3_y=i z=$!)8%-CRSFbGgYgZi)_zdr^o=5fqHT_FI=*PvbwQTZC=KlF%YfiC1`Wo7`kr`e$S z8dPpV@->JBiC7Q|GN}w=K_-<!EN~>k`X}IgOk#089b8C*QsxXWi?ZSxwAv^WEownU z8mzch293OdgB!Y}5BJans1OFP4nUOBARz@UNb#&i{QXm2u=}TASydjiDjODspj0|j zj><)I1w3zpSdb_Lu^`)BKrG017Z3{^g@lS`7HB5rz*RJNGjx(xG(#euvZ5KZ?E-xT z52y%(70qkWq8m{egQC(7xkLsDV8ksbZosJpg#hJFP*j47VIvab7P%NMV1b@-fl&*C z{D7WYaTUXh;ZY4@L82PO;$nEkz`y`vaWjB=Xdo73%LRx9*>VA5fuo<eVi*!-pkf%L zk<wxqv>q@IEw6%#DOfSwhb!`M6vLnxBqqb6#3h^qid0yUt18dH5RX*kqU2XlkxNv5 z1^ER%5^)u|pt28A<bqg`NCdGUhv9%&ki&35EO3NTQsmA87qp-vcQ%+sS&<8BLQF%8 zM&u&*J*eFe4rYQyE@ZUWIX|x?F*7f<D88U5zoHT?O0lYeF3v#L37!xJ)%sxTQ3z0U z!}2ivTzHTGsLC}E2AyqFQp5mjIy)$1md_x6gZj5HV?lmKk8WHo=LUG51+gH}4Prq? zlR+%VXflWej&4H5GY5L{tccQb7U*_h0kxY2I~_sI=+01L+s}}s0=f$acXKP3K>PVU z=*oGt1On0nDx^WhzdC5#5*&(<1cE4}vBot@sf|?yzSKatM2BBCMr3M0F44t=p(Q$c z;sE&<J#iox=%8?bwX2uH69<R|NgN;+7lSw>0|SV~%^(eBL8dJsVxVbD5DT1Oh%3+` z(F-cjK^iG7&_PEO&qj-AP$38_&?Rt1G>!rtYvfW|9DoxV1_3G#V5R>L(6(2k(jTQX z0G0m4lm;MwqenQd!XH!$LkfQo3liZV78iKc6^O+Ro^=GVz>$km_=Bb!|G=l4QAb2r z7(nY0c7RKHP<f9#6N7fmfl5jc289l&&je~TgZQ9v5YWaT^vW8f2c!m+k^fOL4w8}z z-gAyR3Idsb0of074=M&l7btszT41;bK0sYu^o$5{GkUztfsSv?Wrl2im<R0#ffjN> z;swNl#0!YU1wNDr#Nq~TX9Te@;sxg|n4szq<SP&c`3gOxL6-<dqvaxy9#BYwFbl5U zDO&JZSy2?MxW^Yj!3v#SN1pitxe*ky$TMG4p*LMlhYlHl?m35qD2N3KQ4os@y#5@- z;szgT3}S&p6guSsuHE1x0-$*)kO~p-f^*zy8dR=<LKsw~gJ@7lgUTXM$b-@}Xp37h zT1bQRfYk6aFfcIT3TYhW73y#g=%yn)F#vK9CI%&JSUH5V;}41e^mGk!Hz@Q$ZU^Ob zkkQ=G{yh&fLj%Y^ywG$FDi0vB0AfL60mOoA&IPd`n{z=da4e8m-hghn7Xjadfje$M z`4AKjAPjOVC~m;18@h;a36}X?kRFg4P<bPV);Yj4?h5Z0z+wX=0Gl6&*$;990)wIf zR=(iwy<>|9kQ>qC0ay7_2CwKrEJ!?nSdiQRVnK2Ph=makWS1|XqhP(!Qavc|f<hLA z*Pw+gqB#Z%H#<bJ0^$-MjJP|>pkO4kJXr(}K@bZPf*=+b_<&jvi<{vF0|Nty1r9-+ z<q1dyrR53eFx_OdkOk#SP@V+kzb;%Mi=#XN1u(d|gDv4A5-TzblyG6?2hLtBD8MNx zKS22#QhtC~kWdG)AP3TeSdathK`d~nlURPtq(XZIv?sL=EiOQL6O_V1<;Ocvk_U$z zq|<??{J`A|g~bbY6%_YAvBeX}55$%)_3+#QVnN~w#Da_hfmo1HAP@^9p2#j=Kx+lE z(Lx>+*r1RHVKrR60LZX9=w1kv?mwcyp(vPfck4jGOlJAB1Rla579@m0EJzCx#DcUC zK`d|x<1BwbDkv>~K=&b`&$1(zKVrB-9!L3uJ-m_IHP}^v6FxX^VGzjW6V84XC_*SH zpFrgYq<jLgAh7~sK?c7;EXd$Dhy{+7<~IW1bw8c1A39yXbh`fNbp3PO6*Otj067fu zGrWHVISjJb_XqrfC~(`f`G`Qb>ko|0?9E36psiNWwsyn~Q9qDxhyoqY0$P#-+Ac4` z0NVZpIu%8P0d%IcEqHD`41OzA5`3u*=mr2guxt$j1A{%71!~NoAA$h71`O0`MQ#Lx zI)xy$phhq#(Kw=ISCAf%8W8;ftz(x0J-7(VZb^_e7%>h$f)?%M3;bNrdQOmQ@$Pp3 zwa!4H2-=JQKHvtHXh3I%z#IW`KWN<|Xkj2|gBeKtCiLEmThPwlZDxiBkeWNp3=N>u z;qF2k$;;qb8^nSnA`pv<0n|YQg*P|&1Pu@ivd|0^8<2%&AQohMGbsMJ!6#^dSdat= zG6j+VK`d|rBzspT=$JwqwAcfM9jM6xTJY72*5rWR?f{8A_!Jf>Tre>xuY!UZWFBb1 z8?<x)*RlbS8qih*kiD?($3+&%w&Y7JklmP<p$l9<vj~vv31UG)7Q}*_J_2GvP9FiW zC<`6XieLvkp~HaI!9xih@U$Onk`FU<KqAN?1e%4VRtSNnyCES2VnIR(#DeU`1hF8y zF+nWKLZ}ve76j_e@}Rf`#Um*Fyg|$Tun>ZGb&;+kfDG7x!UYo}hZOi!c*ml2YNRF5 z^$d`Z0<j<=1!6%~8-rMo)y5zeWg!JBOVE#fKn|&9961eKMWXegAPbC%Pg{@+?Wq%D zQ{d$qhy@8T5DRjhB8UaKP7%bSEW|)}SfQUQiX38hailG@5Q8T*NOy?DZ0QF&TnUlb z(3=$?_YhldO@fCUhy@8b5DRiI3Wx={7X`$kEaX6Y0ML&D2e}lME5*?oa<E(p4mpel zG=b(Atcc&E1e)}OCo)Px3N)<%$(0}$B&0wrNUj92Ah{C6qHRbuk&-KkEx;fhYpR44 z=n`j0NP$?8kOHwFAq8SVLJGv9ETlk-N73&(Lrzmn_(F=p^|;U*x-qK-kO*?s-~>9N zk~+Dy5T08>EJ(<LSX|(P>_9BY^$;KyIAk#{tIG%yfbLrdT^)oppDF;paHfQ#+m)x& z^~Y<rZeNa0-yhwfKRQGIbi4jRxwr1H6axdpEAW*8pf*0}G8+*F(8eR&L!(hxZmk1# zpkXa`P)&s1<^$;gsR12`whOIX&CNvG;|V`t5)}8K;77%v$N=pL2FZf!Y509Epovqk z2;@E&P;(pFX-1v|2f0Il3H5BLKmmpZklTU;7#cwC3l@MZbWViF5QqhdArK2v6M<Ne znh3-K#}L`A<bEs%rGtD3D^D5G(td7!St@iig5dfv;%o75pj8F%#7#{3`ViWJegthn zKZdrT3*aFKVnIR<#DdgBAQq%10<kCyIZ)pc{Y*6EkQ2Zea_CJS=t5@H<Obt`k{zrb zLMdG-38i9qD1lgzPy(?ar@nw#kW*hkEO00hzb&ZK^+Q0f>z5SJb$$$;zM$hPK!;iO z`W^?51_X4wsswcVDg?rI>VUTR^oE`Zf^PFU(CaD!+vc;S+jmQ+FL<*LRCZ5qC<kPP zd#CFfkWSd0hTX1jI$d`__Yr|Dg6sx@EdGG+1`+{Fb-V7s7>+>R9@Opo!T2m#CF({Y z1qQ@0#hL&A|AQ99f}$xNlJ7yC0yXep1E@HI>>>hnpErP)T!XGR&IOO&g05l82D2tG zFfc$^pw0ic!RkO`gxA5Wy$lQtknI7Wt^W`fXwAJk*p7Sffe+By0?3vD21W)3NZ|>( z9ZUnP4s@f3CYS{(B+-XJ)EOBVK$|{by*<zlBwM5%NT6e;_aN^FLfL^-lv<FJn4AjQ zI7IQSzmP3RVfHHV!6ikRdFk=s)-3!e4bagWFqyK%90$<B9Ko5n1v#nUO^U@1E)K;d zDGm-$($K*mz|qyvA&TJ;vg<K+GYtVBs2C3eKNt-IKNt=JKY$t}prK9B<&!OF!#|+1 zz?Ol50YqO#Yba6J%C)kBW;E1=7_cc)PzeMoNI@7>g@R}X27^{11}+9GLC{t+F$N|u z8@2@v|1c?<EU5Yfo#dh@!T{L^1RF-ZsK>w%57{XXYT1EWVqhWg@lrwz+=8HD5xiLl ztjGv_-VA6A4=e^!1rY*O21h{cb4W#i)Br>tas`DeXr~+UkShlpLj!0pJtrGOLm~qM z0~Z@Z1E}WYW@Bgo9lFW`J<JZY!xXaf4OGKGcD{jFT;MD3b-}ybKwC>dEG`DnF+)0F zu|tdu3?LR4LlYANgEm;K4a(wTaARg*&;pBjL0Mc31}qE=AltYZOrR_-hE*&K3?SRM z8P-8rTntxO7#KkH3OD%rc@T?>;V}yX1E|*FW_S)|aWQ;iVPF8&SlkTXpe!y1(9(K{ z9W|^F+dw<%M4&t9IG{9iC!OyBFdu%|Hf%>-x7Q!6d+Q(-C8$jfVS!>5QlWzCYls-= z+A>I$2|BY1!UCP)zY1JYg60{p@3#XlC<C_)z?~Tu#0<tE76#A_@AJSlw=#Sx0$ZI6 zvK%B1!l0CnzP`hek%8eSTHXZd0nHG~GB7ZlK+Bu)ptF}jo2m>9jUY|)qQtzE{M`7& z<mA-iVt5q_I*kgvK?8J@K9~U=Y=dsw09UvQYS1O3Fhk>$5{pv}jqI$f=wlCfNCp-( zpx{AZSW_6Zv~7VNT3((9%FFR38HuoSnixPyAPwHo1+gFvT@VZ0sKuOnALyukFdDW0 z|6@e$Vysb{3XfV43lg;;7Dm)Uk7-5Ev4=rt8q5XfS5T-!+RdPZhtWoco(Ta<i0JuM z4@-Up^#DNm71Rg32r?e58M>YVmbFG?euY$ypuCw3k3bL$5`iEVI0Df-oE*np-$3qE z_yD3n6O9bUN0ED)A3#G<;0z2pii&@m?|b-p63_!EU?)aEyMx`XACP)|%|}E~N^?+e z?k+0>0~-UVG>7!&K>HX#U1AXi&|pmoxDN-qYY}vsjR->(-clcQb_A#@0;MoeVgRKg zGX@q0kUgLl8L018joep3?r9kyx<%l@14#D=(oX`F&#*pFn7s;E9#k8k^@zZ|qd-Sj z2Njh-M>KVYpd$(!ku68>DAB<IDhA*q5?L4-7&fETexR@eUFnty>hpqT-$4Ng-GK`0 z6oUN?ss3O>h>!tK>Ov|uusTrqfW^S)Dp^^<bbuwvGXz|3fg%{}Hk2a6paIg5eSvm< z!ee1*9R^#L_7Xe{mII#s0}byWpKc8b15oP`lzw2RTgNalG=Rbdbg>0!`*AE2Lj&lh z)i~&y;)CGRbU+OoP)dfh8bK^B2GIQu_rNE*fkqiXEG~uwMg|6u4sM1ND2t1MlZk-= zq=TD*7s}#d@L__f3xKk?7`lBwptjP!U~QXS1{b%WDH=$d3p4^81#WYJ%1C&di_FYV zl{|kNEzg7QiYW!>bkNW=B&UOx7T~TgK*vFY5&|fuK#2i8r-QEMtVGUiw94s@PT2B! zJ+jrb%;#9G$CJxJ;RZ_02@DJjdxmi?hfG;x&*h*nK+ol2&|DtM#Lxgbr!Sm|p#ik) zDFT|y55RLdDD6UWIf%u@06Jdx4mg+ZW?*0dvA7sw7#SEqI=I349mL{dU}a)p0O{Zc z=XVf`i@}2lrVf<fA?hf|<zbk)99Q$(_fK~yN4FD4ry~b?n+@8_0=3{p7(mCO;Le4h z3v)p^5QJg55Y!?A@j>-1=!V#>X!Q(84@eE@W{hK?5(%Uct)2n*lHh$R)ViW9F$X4q zG&G5=qM^hTa7_d92H15d1ac2)6M7G61J-6V=oBl+G%JV&X@!AU;8qy<Q3Ps<(>jXo z54$MZiZzNrQv{GG0<j=b1Y&`s2(_*ZJno9SeeC-I+&qT0hFwAD??QySeLr-Ea&!iA z;Ak2nE!8{(Ii5@&oS#AUH>7C{+9(Zbyo-RZkXZ<>=X3Bjh|8dNg~A5>K-Hu!QiE88 zk%6HVxvs)dO`>Kc66Xovtzyuz;7*}P3q(MTM?)hAaMQRO*%^4MOximIT7AlbE>cD- zyg=az8YTjDNG=TSoPoR=7EzGFn#rJ{TF_V;XxJ7s_6sk_Kx4F^)B;}p8jx6&4!*7v z)RmM5HJk&A!5t!S>lr%#jy(Jd3Lj9_iah+P&%n?C3Nr%+h6YeG*^mLU;?;<Op#ikU z*cf^&WjeU43Q_?|_mC<U#Dd%arvM&81>FD#VsSB)FfuTJbZ|3NKv`T2@=Od2ARXKc z%1{;;Lk$y5T?3Sbr6K(TYePB(+#*G7NG}3sNl?tg8`3D{Hz>Pv1a{*X4mrfZ0LslE zcSCN0#a*?6@;WHmKyd-8en2@FRBeL9KvgR%BLl-qwA2aG15yLN4He`@kVdqs6?SYs ztPTZ7XFTzhDtY>etWN)0LOW})R0ukvB%Y{L2%2;OdzXQM0Td3PR0vvM0h&nwiCaN0 zC9-6MY_he69<<yJPIaKeP(dt6xesD-F?cXCFo0Ox3_eg6xGq4BZbUR6cL4Q97`lD` z9Crlmd0;?qRe?vsW`T=rW4uK+X#4{d$sk9AFnYveTSx`c1B!T1HuC`uhk-PrMLhl} zMs&~dt0OWZk4Qly5;776>SrSt6Cn43A_%#dcm|E2=Zp*uppxkYBSQmdYUm{+Lj&lT zzE{u)+XZfkgCY#Xf<zdI1zA`HVsV4_M}t`42t%#B!ON_O8Reo%N0%F1Tp$LwKpov8 zaIpgF=sJU0ly!7L3lmTd^+d11!%~w=@{8iZqb}eft+3Q&@O%SwJPXe?9gul`(0CSF zH`5hTW!Dg@vT0|x3MjvW%0VSY28N4h<shho2kYeKqL+inZh{tqs3C$neTqJyg|-|R zygxFY>Slto8Ms6N=VS&3M2P^a!O;i0JYWa%!3Me@OOGL4V91f6$U|MAFaq831u_^m z)FlJ$1WQ9Z!Lra!upG1#><BI^K{YfeT|;VU5Q__ZsU8owh6ZhF2eG&qA{ZGMKsva= z-C+<5QbU7uKx$|Zi;E$J38pRs%ED4ZV;|}Y17{%A8oCRd<v_8HwT4D6vO#`_6xrZf zwmbCCaVJnq2Vdb0n!LwdYlDvP2b&6wHuS<9bZKcfT51L90Tte$S<=%WcZ2mpr!k-@ z3rC@ho*1pHU`dfk4d8T!>|n6nU;??DI|)`VgNk!dVGdey1y%*RTZn;y0hE$JgY2NR z0TRClEzIvj3-bri!u%n$Fn`3z&;Z&I^%z>H2Y^!+s89#7AcZ=J1-WAd#Dd(h0%Cy+ zb>v#umEer=MsU3gDu!`K9jNXEg#-wLynr5cpwZkyw5S8=0Yx2X##j?v?SpheqmJOx zO)D!ryM7_N4IoRxVNL=Wj=;zf1V1DIw(0^r{)Mqp0#s<i3;?+ueJ5`u^dyo9W`+h( zLp2Jz8EqT9&IPd`(F0;ZZrla2AUE!USY$+x1vnd17Coo2obm+nA}o5&pyw>y(Ss#d z5wDoY90fl$1{Pu9(i$nkK)H<E=(2_9CJ+k}T_6_ZG&c|na+({6g&AFcKnK~ffNLD| zSz6G5F(@&DFen|N=aH!l3=HUJJAm|nB0-RWfnf<+9sxH>5c5P<R%il51}6M$2iTnw z;M9+Lrv&(nL*(;fK<)yif8_IGa-rwN<U=bwP`Lpa6aujz0SRJpflqY+vA7vPXJ><0 z*aH$Ym%)G@jGzh&7KGS>5p?qvdN6|Yz=H8B$n7AF&?Y`ws8Jk@uu>j5xIp%!2UjLE zxU!+a1zLm)2`&%|5?mk_WH$+j1=&pkVqp)iL*%79(6x85Xk{}fj9>wF4lVN|0t_{; zBZnNS43Q}jergdcC4#dxN=gJ}Y~+9ixf4BL(bFNQfP@4rhy@8)5DRkR1&9SX@dCuc z9<XGk!$}Mb4CuiMN(ZoDEu?#}f>I`=EsGq4AUB~0A$r<0hnI;U79<EkEXYwUAQt4P z77z;@gs9y{{A0e574VQH^`M0jutgA{>mOlkl$8?*LDc0D$Ya2eWed;2Q>CEF7%>KX z9Ne4%wHHA<EJPSUy-LuevIqm{9=vB@Sx{RFw6{ovA%%f~;Tl*Bw3`BV1E>u;Rtzhd zK!rQ<SaBKy149aOj}NV<iM)K(!6npQ1=NIr9_;{ICxJFsY6M+M4(eipmrNLdhk_yZ zIR0l~U|5ZosX=Z8)#{+@LK;9h2dNZ9wjVql1nIgVxdJR|2N6aT0U!n7ZXAUMfQtyy zMqM!$%PONSa0L|>$O9)J|Dz9_v@k=)SDTp`8r&He7+RSb8iE-Z7}}T_8ZsCd7}}wY zxU1ks9H@m3N>h;D8;Awj?*x*C>~{jOxEL}S85lsa+zh!;78k<?Mg|6uEH}dzC=2O+ zLd-E#&}EH~B?zEZU@72!87R)+{W8=nM%2hmukU;C{7L{U2cc#$)ZB!$*yu2*ck&FJ zmq6`INL~V+&=0DMAUOy${feA}K!+gX&MlxzijX_#pxlDI)F_UDfgy%=xg`R$(+xEK z@disS0l5t{{sEf6ZUKe(V9O=Q0S7B?5Lcj}k8Hqm38?f3<p|_)43J+zIRa!1Y#f7+ z8M0&tbl@B)NAN>)ga9-rfR<H57J7qH1SBVbSdexKNEXsg0kOCk5*Zm7K(gEnsZbUd z!xTma@ZxN4h8a*6Qcl1et3b^OiG*@OVDlTE;IQ!Hu1`SA@Q%B_fKcF3OUy-isUJFh z-}L&vhUJSlU<P~w64W_{2=Q+_(R#8Z6|{j1wxuheJCq{`#_48&)nGg@p-$H)-M&w{ z1(`wjAV298cr6Z-0p&ZeMW6v6hQm<nK-Xe`mfkSH=QvUBgo=x9J|bfcaSf!G0m_yl z;P3#QECtDypuq)DH4Hg|1~hO4sl;Ny-NbSR1_pO93$$9x8_WV-?+Uv4PK04P0|SFE zSPZnsD-O)s1-}Y;KLZ1U7}z#YGQyp?L0$kYWCtZGP~P$9WngeYx(XT8Fml0@xy!&~ zt`2yHRzWqMr$ZEj7qTf>W<7~ENyP|ya-l6F1H)9bY7^ui&<+UDezpv>MjONi(gr=P ztjN&?t{_3d3JOvXMpTxtLCq`B)q8x1U{Ue$vt)2W@Z;lQ*CQL)t3aGVL_n(;fG@BB zO?%qH21;RFZ_qI<@sQhLK_v`yS`&1@5y+7s3<^Kc5Etm=Pf&9TBzA@gva94Y6Xd$# zvrG&Ppu*@p6GKBW0|UbaCWeN|3=9mHm>|~;UtwZs*vi1baFvOnVIQbT#>CJ7IwcNt z?eG-_28J8ZPE<I!p$e*|LHPnwIDuGP44^v)#leHDpk@Gw1v%#nqyuu!7l_3Ly4aWj zq=TEGnUMj^;$i?@G7L)j+zfLWA$fp{VI?C2gDBX%wNMrpgA5Y`1IQF^1_dY!G#L8^ zb=~0utkb1V;LHYUi$f}XP@8okIJ1FL9K6!UHFD?s=QwB&E5_I>bUD%*a0?b>k_vb? zJE*M3oq<8MA1L#JFetJ>wKJ&K0^);eO;9o6kCsV5dO&JGSK<bPECOj{U@R*t$cqn7 zEy_&H3CJ%hv9fZ^DN0RDsq`;M%|qdUlQ+l$us#$5d8jVN3_3LiOMZ!F3=Hu|n<_vf z(9GaO0BXa7SdiWdhz0JMAcY{PeFqxB2A9O$u75!D;|v%<co=m0qdGX)K&=7LP9qWU z*+Y<^1U0B}2c;>>GFt`)^q>Tl!stN>(gO-g&<cGWIs_#s+k#4T<c0yr4IC_xnG;ZA z0Y%6Z28ITZyCyR*G)OZrFo5`=3F4{HB?yf0U<a`v!46_UZpH+$AU9)zSm;p!>fgcV z{Rt%I*YLz_296bw`*6nqC}D!q6$pcTfgS@h85kG>@g(L@JTc&$lV6<bmYA7ST9j&K zh0G%|InP2*&hycdGXr>!kSIK4K`cnff>`LGNJ4_P1P2``LB9kCCup)55}cGJXi(vb z9-N@W1WGud1Z_r_-~=UU$VdmFM7<iCs8>Q0HHZ&N)N7!LS{NSmAQmL(K`cnW55$7> z`#>!8=pZjqhk#>-wuw3kPb|0;C1&Qq6E!lA$VB}MJyHM1ny8K8Aq!$bLKehA4@D9Z zbvQWaP!lyIIBA=xUFi~>#3$-=&_sO}ny5j1P@+B$P1J_)pa-!aK@Va<5;cegNz@<~ zdUTMNsQth(L)%0hk0%z~a!QLc;E5WUM`WUYj-IIBU`^Dz@Q?+uAR!B4p@$*~i8>G* zbf}3M5}dS6)J}8>PT~{wacH7G22Io;J}6P2fF^2fc+i7bke~;#Ac-2pf+T7X3q3kW zNz{n8v=%sKC`;6!(~Z#2=m9lZK=mc4E$xLT7X0!{Anj-<gUF<ukDioE(2_E!4b2G; zO%MwbnjjW>$dQncb-}>}O2~*dG$aTqOUR&sdGsJeZgLpVFbF}(mzcKmY-r-01x>sl zJ}B|dfhJydcyNPQkl+TfxES^@Fff2vkmHU(Ec7TKCGjHK&IaJvpe*qc>InMb33*V; zg%`+393m5O6M7<U$C8No;h_p*K|&S8LJvU_60tEj*g%OG(QbwWC1r`2P)E?14naw5 zVqOeQ%nPB38N>%A<|WX?%nJ{85DOCQAQq$}2x37xf*=-pRFIdLZNRZYSz-n)zwpJ= z5lq1o13@9d@U)Cz6Pc9Pp(o|dXh|8;36zG1Du@LMRS*k31W8ED_TXScP0Wy>q%1Lm z#@f(>61haSq<K(+k}`1}z)jG^yb+q1L3~hR-V9C5lJH;$u^_<?VnGr!hy_W^AQpO5 zke8U9z_CJEVkT5FN8yWs)Wj4-YDRE~OwI?<lk+jO<P2(FD8fS(#Dat>h=m@4BqU~6 zaIm2!W=K#{mY4~Z%r<lgN>FkprkSx5nwWP$6ElbpO3b^UiCG>V>>w5-*g-5vVg|7w zi5bK~j|%b<vj;d<C`-(QhUg;j#6WmaW(i`54w*+}a=wC|oNuBfXGrO+4i8xn3lg#* z7J4X>kf6Q6L5G^4A;C#mf+jRXXHS>l1SM(WO6UX7M7<xHs6l*CqCN;s)T;2H2eBYQ z4`M+&ejpa4;|F4)M+fq#Kj@YZ&?qtbf<w@aLm+X`=rIVRk04_!AV7LRT{zG*&UE;M zJ#=j|;-*{37EUWGj9r~XCQfD8`5d6o1Qig-i(Wx)0L=y?Z{!MqhNV9P19$~cAT$g? zd#fO8<UlM)7=l=kf&s*W6bv91?l1)H-vWnJw<~BJEY@XnprvPEHK3qmz?>1m)^-5t z0fi<g)~DePP4JDwD1iwUAu=q*k;4*_GLb_Q<OcN6bb*GZGXp~dXxpGGG&E;|7Yl(V zpg=50Xo6Uf&;+p{p$TFU6Pn;<27h4FROq*ag3bb%4<5t^4IJQ}2>~sI0);#Xg90Bt z9b;<%gY<wx9uyL@&_f<}N)&iQl%WyQ`D;)SB17I17V@x3J!{ZrS)}FMkk~*T$_Kd% z6dNGFfGQV|f6Ae;Q3j2T3h36^N@%QrPQHVraS#g<D<BqRJu-*|S&s~25fdx4OXH70 z%e_Hff-X^ppKAvVSIR>gR9-+r6%?~zt3Vr3z!!?39sphh4b?(us1`#*6Lc;aBs4)R zNN9pskTecrLDD#g1qsct<F0=|YjHY#K?kivCR>e9c8C6HKE%?=)#=3o+Vy#WrTa@j zw=YNYL6*S(py_Z1(249{U}--NJ@JFm<N@$JIcP;^JqzeKEYRtQkZb^2(FtLJ5(;|3 z4m$7{Bo4x$AlSvjz`)M{Swsz+=e9@d5rXu9CWJwWZ#LL{Af1qcJ+&e^wV)(3KhMev z&cw(9Fv}RgcPoK*kb@2j6cR$4*A^3EV2JlG$w)0?;A5~91ofUk7MTbk-BFF4AwcfB zz=S$s>%_p&0NOL)$iUD5y3!a_Oo8@Gfr>3qBfJS-Oo3RCC<L(}w;zF6klT+yEJ!8+ zu^^cQ!~#ca^Ba*c=>1!7kgwpv6U!W(t{;xMeqrqP{nLDqrTa@@Z|H|0ERl_I1a=(y z5oq8w4-5<ppiTJTU1$sp4Dp_MnI$fXC5hl;(I9EVmw|x+k~TnxP(e}zXer7e@R~;O zp<Uqh7oZ*Z5Lr;Aei$qZIs*F$m<5VD^fWY&fq?;(20?P52nyz7V30#fL!b=~=xGR~ z2UIzO=)GuJ9iDK|(-6oKkOd$Nvka1k(9V*@&&5b^u(kH)0t^iCzNy8<iRq~fA`IN% zLv8gysSqBXpo9pzWeem4SV9CfIzWXnNDPEQegdUK<ju*Z3=9pRxnC0o$i6i*28ISZ z1_lOm28IUESr8V`BBc?Y9ziTfdIYh!7(j=QgW`aj0d({%h{eSK+R6=zA#R3E3=9k) z78e8Ps4!5Rax)xcU|;~TAlD^=Oo3dN2x4(DfQ}povA7u&7#SEqEO1&zS{p)2ZwHhY zAlI++ft&203JH>mKoNzWVnCHNNF0PgA%<QJcQY_BIHQ$1AU&XJ7&If`gJ_<EuZ+pb zPtQz_Pc16SFS4>i;$W0KAj=>ac}2}$^vd@TsPaWyQ3IOufE4y179?gsEJ{KR6zbFq zwO#_D_5m%QAq5mgp$5x7;1fS!*#}a)f;UYem(ieD1npr3#XKmDfFeT;TD__=KsF76 z_@Fh`>d-s^nks>WJctDec@PV7TLg#&xh(?3q9isDX;_2`X_(Ng)-AM}v#2z$Br`V^ zmWolhM5bc}QM4LVRTOh&7-;$f5}F_uBs4)RN<t2ij;RrHpbMVSC$m852A2DOqore% zpt7<;;gTA1l%{3S&?(5BprKSy#}~v0rDfPqDrm+868az(B=kWn$Sxuf3$lv{#KMRX z=+<+T_8<6IkiFop4`^j9?lKqDaRlW$P>us(^fK3wk%8e4TA2&d1M&^%I1NTnGYX^; z)*yGz&n+lQEiO(?i7!aZEP@_|fP14Wbejxh_YCYTPaNCKVQLNStgPzd>0=X-Nu@*@ zn#rIg9H<ouIx!Oxs~{F6RzWP{V=xfh_M$8XLm3$u6c|zOLPU<iVzgS5<ZwmZ(Wn63 z2u0$F0XpQxDYfh-GM1MjA6UQu8Q%mQ76FN65DOB^AQthlynqV%RG*Q7;TN8KdJ;XB zVM7!&KFGQb-b1IUMMTCQ{CIM3E(PUL&|zGV*aNX3u?J#-V=wDJcu+b8yg4QS|6Wb_ zVSJDdx$l>hPSExohDg-Ql0h3&?t}YGpn3qZF$Hw4)DdtR03BipDj`G|K!=6mF10~B zun@Z(AVY=7dn!TBPD9??fV`*DkctOVM?`@Seg?JVx1gmykQ+h6@t~7Uc7ev~k!uO) zJwf2zlF%vwDg+w%g&ZLS-c|{z7r^Qe8~PQ%`zq^TwFOv~JX65w200`Vbs=o;2xxBy zsHOw;4?(?Y_{q=UG=w=+1oAg%=NR(fav~FCFJ%%FLj!2QA{n|V;}E!C2ilYYN)wPx z86Xy9fF2|Z8K4KTxEP8U85lsa+ze$<78k<`Mg|6uEH}d%C<|%F7@@tBap2)0P~2eM zMuD?o0m>jE43t$%uNfE^wxJ~%<Z9_SdVvK^AE@UvqQ*M@W&`MkcX*ni#29d*K_nD# zx`q<S{YUuOhv0+)Dr`U(m_P~}5DQY+fLP$d2DyukGvq<4DGmAi3=9mb@PzzP93fBM z5q+SR8Z_$2Gl0m@hM(~V5A6>4>=%dy32hLI_|TpWE|e)t=j$057^?7uHY<7q8X8#m z(=t-1;#Wvy=%F602TH4;&I2T^f>@By1F^uNN27|77hE2pR*Wv-CNQXC1U0HCtr$}o z7#NcARgBPsvA|Ud*~i*}cTs~YMqx$<hD&I%52_$w6=M#1UPHDYTDVbqj9eY8DGv4& zRSX5ED$=S=_&IXm{0SNyMV?;)g$ZaUByy#x4y`mbpp~X3w9*7^2!w322BjBBr3qp| zDov0qq|yYjxELldGBAK-xxt&OK`btYBa93TAX#pP6Hpcjm1Z9}k&<3%Qll^djotR3 zB`4%cvjj(S!cj(`_nttd3N!%{sRNu42v>zD2fac2O`yIlq<{gjAO#GFMPdPy#gN4a zJG22o<7s`rKx=)2+GCKjO+YPGP+N+an~aeYKWNMZx%G|rj0Qt{732d!$T-miT)Kc} z;odSZFswmK4WRQIK!povrmr59NWl#g$SfSPy-1B~(5MRZJQc7gv;z+=Es)#XR#tTs zngC8M$RUSFIk;NeD2Fsaw@@P&93cOqx3=FxPcC`K%+LU;INn3gX8_$K2Prr}X#i4i zfLM_889=g-^BF)aE`}sV1_qEUH$xhf#RWc<0VK=KFo%(W0mLGq;7G?TIA~OlN`P%b ztw$ke7Jz~SRPs?;kAfyko$=J8#BHDlr(|$Fd7XiQVH#Re2Gt3mqzuZI>1YKT#C%du z7pNmg8ySffeiQ)Fb=^5=l0DB1=^$Q!CfNvZ8y3_-1jQ*N$%0s13@aEI7(lYz3~Qh) zE(Q}u1_qEUH-iO~#l?`p2ve5>Ws#6%r-Ks`s2CxwgSeUs4QJ4O@BwH^0=cf!M<faS zd+F<tcGiO<6H)4b3r8q{+;xL*rUyqLWSox)92KCYOCT1cz5=np^%YT_w^vjMm39UO zh9EqlVu2@Akhfu5S=AwPi3}I`u556)fVv4H@K6D<AfW<c4X#je#}g{Z`*^La>X5la zh6;RJFFaI?;GqIyK|%$@8eE~`f+tjvH-cJO)gg0<3>EmkP<W{5z(WPZf`kf)MSQ4G zqg<&4FXh5LA7X?jRG`}lt*q*xEF!}KzOfJ-7Lf9U10EV679=!4EaF3h8s!P0Qq~kt zXdvxPv$Co~;t?4t@SSQ%p~43b6%Y#&Dj*hpL#3I4fx!<?DQk@<R1mwItgPw~93sO6 zzU2uVCZG~l3LYXL79>PKEc%8Bp>$%0FGLVKWk5lK;1L-n@O?AjFoEPA1$d}{SddTw zvFIBrglc0)JfVWT<HE|S4w*}2xWG4HfWrlpR@C630%Acz1;he}3OSt(JpJgSX#Hr= zEY=)w3&#!bMI@k^E#y8RdhZ#uF31dL*8*cd0OB$U=v)+Nod|ln5o9N*D*@{3&w#HN zg!GCrOazUBpl?I~#|W~k5p76ZJy(<+2v~ZqAUA>5$|4VW#X%Ql$1^~>0SVBxPN1<P zNY51%>X2>#h{eS)gMonoB+Jb(2g>4N03F8$lI3Q2#K6D+VsSBmZsdZflVF7CAfX%J zf!Pf}O-#*i1Yk>DpLDvu=yU}wcm>azqTloTC5yS&_XT80t2K1-GW2e<?l0&v7|UFd z?);5IIr8r?XqXS&kO!Ue2#cI}pZw%(@GZR;z=;*K)Dkk~3Od@h7Q7_d3!Yd(SEnon zC*W8H28KGYENCe#WEwV)fq~&7*c8wyY`eju(x3&25Lr+(Tms83VPIgm3}%5`0h$;E zby~nqV_*O;%>>OS!1xjT3=CEbkZajMLpq?P+NQV@KWx$-y4oEj?SuQ#@32%{pyi;T zBS}H@Q?x}=@Y#8&iJ-KPW(hdyBfA;4oEUMk<{jwqdiWREqRGPMQ{j6YK$kOtVlNrA z%n}@Ppk=k7fh<sH1q(BP*L#DO#e(=@!qD~J7>fx({sd(#Q24_Z6ZSALG=RdOj{$NI zXFmhv9?pr-3<g?)0m)#Xlmf|MAQmKpfn*^W48-CBpUn=E<z{#QI+2f+fq{$R7c}0v z8U8_8TnwC`(SPtAp1e>N7Xv8!fzlB-c&ROj#l_&p$iM(HnVZ22%Hm=OgR;08qM$4; zh5{&y8+=U}NC#3Tet~g%9%%gm<jg$KLAm~znK%&J#sm1;b4VryEh~fMQ`8*>he5?C zWDPlJC0heHyMW4ANQMBF;t&=n8ql)=Xk9c&92AitjK04B)Y@=BYkz_Cfc6)F>Y4p$ z$rx#EcpaP#PPoXnAlS%#efS0gP-+A1RRTH48n&ANbABJ>4$wMo<Z?S0x}P9~fuRB9 zzEEhgY6j2mgT@R%EJ%F}VsSC71>Gyb!oa}I06I_<B6b2Ub_U7<*V{ymEr3j*bYi%Y z0dyQG?w-*nv`|M`DO`ud!w7j$kU}tW$io*{gWE5Vb{(jP2bmQBu^=G^V$nAw2=x*F zqJ;#?;!-QCIut&Up#fi}ixe859v&n#KrBdTfLP$r=yv6a#k!FYRzSmOPzwu`T0!X_ zRLOwuXfi^}T_Cj}HK6rLQ$Sf899@k01*t`#IRJ&c)N-&tz`_^=C{{tmH^>z5v8TbA zRjCZ1O>3Z5DKiTLLwtBfYEdfWen<4lKaj2tCe+PU;S3B7AooNvFf@SN6a~#ueefIw zVnIR##DW|L17bmrg8{L?p+s&&#q~qCFGsh4wO}dJ>#%NDj%Evn5+RU~U^f%|l<?O! z-B=nl&_j!1vr(`!i!quv-L4;qZ{ZwbVMrs;$T<yeb|4x#F$@e0klS2A=h{P>J4Nv3 zP9p;Y1EjeFI!+eS+?fTJ1zmk{25cT^cp1{%0Uav~Dbqm*%bo?xf-1msU=}EKp_lWo z7#P6Igg|njM1$Vk>0)4DaKP2vF+p#fz?(acj-dvI4vtPB(jkh$4cP?r!;XnH1%C6J z3L^u98(QuF`2*B^0MSp-@;<sNt*l^~#ul7o=+Sfn<up((LfRfG%D@bFC}{p52^9Ve z44_<!+Q?#JU;{U-KzqGFYG4g5P(KR92Q{=nRU>HM5{wTjqCmMAw9XJD2Ew4Q0X4h0 zz$es$L>L%qpv|sY=-sUK3=9nc3=9kn3=9pRtKu6O7#cthYhhq$0F}9|3=9pRy1$)) zp#ijCs)K={0o0A?gyw$GW?o1$4V2a)%`^~;i=mEzf#E#3sRi054PtRIfX=W7>ELGg zz`(!&VsSBOFfuTJbZ|51Kv|IH7bp!wnqMFm7XxV3G$@60Gej~nFo0NG3@MBZ44^#0 z4W3j1vA7uKGeS(}W>^emaWNc#vbezu4IuVjfQwy$vbY#P^Ohi&ax*+(gt(rI0d(I8 zNC!8=AGkV{juGmS$(W5kc6i?fv_v10T|uJ|kcJ?rFX9bu2!i%TBPMl_8-mcqXV$J9 z{OzC<5xT!*Twq~f0LL|$fHe$xpdC2yQSGe<N?43fmKt<_0jmKMSqvE$VLG#zVA>?0 z+M0hbmNK5{{(`IutPM=SREt1W!_UBFV0Ps|ZHgXZVGw3uV2A|w$w0f&&ww}TfEuIc z!7R|ts58I~RM1=^Butz@XJ~_EL6-$z1+zdij#t5<14@(-Q?eKs7$$@DmcR?g4h9AW zh%9Jx)eW#-(An*`!7NZ;un4SU5nRVA&<$2#_km80hqwS#D54jbpduC|4#J=;gx)ZI z$iTpmjaE2;^ne=1n;94w(m+uS(g@v-LC%CHq5zAI1(#qj$AHX5ut9Y`s1FC)qzj+$ z1POo&B5)%hAio$~vVdB|Aib&3E*v<185kH!p!{hdNd^Xn3V4?e+@}K-CQum$kRL(o zgFsCIP-zAdKf}V%0P^=a7RZgR7g!h?K)uC_EDR0HKqsHGFf@R|<R%M41E?7i4Idl> zu^>$c5Q~cel&3%}ZU)ej3J{Bn;U@zF1Bk`V@E6L0^yeUAp#B_)#l--sE<h}9aM1!{ zftwx3jdtXV1bzQ>hjMf~a%ekofO=NQcNTya8E1mi2&mVJJB@%gJ%OSDghAl|YTkkJ zI*1Qy-W|fS;t-?<qz1H2@-bQ(fi0t^WJxR{&FEqz8IT(x7&*!8(}Ql9fz@4G^%xl9 zk&iY2RWP7#Bt$O*1IQ1cA`|3KPzZs<K}TMK`~^Dl613g{bmS$-k0+rOMg~02K`cm| zgIJKwuOJp=^DBsj5pU3f5Y+g4z*xeU#nbKkClI{6zxfCUXiNSP7L-dTK)r0xjIam; zXiqulj%g7F(1;`MsI-S3f)4T$$UEp!2|9Qp0WG_O^nkpq&%nT-hloo2bKnWZ$%#3M zMG7gYIjJR?dFcu%sl_ElrJyT()rpKSY;)o)@ZbfpAi)b_Q6(rr)5z2dN>Cw_h$kq` z@dPFEOu3a66~YpA9vys=xfnbsK`cm6f>=}uO3>Uh{esdBPf#LHuTv!`Q77NQL1_XH zN)QVYlpq#Wf)X@gO~0UY#uJptbMjOPO4J#9a8T;OgA&Ao1SN<?m7oO8c2h4XLH(5& zJQ>^&Pf$W<^QjVw*yj4V;K2xDL4py)qDnA=rpKuljD)Hj6Fk9)v;=@EL5XdFfB-xw zK`cm6f>=}uO3=JI^@4H==*$&7Dbfm0P$Cu%P$eW$mKA^+!!qz-1hF8&2x3ts7(o;9 z)C)#JDbf~SFd`NkP$e9(Ek#g*2PKFF2}%%)DnSXFy{BGK5^4lF;0a3P1qxINOVs5H z;Oa&L9+V&!Bq%{FsstruiiBECb8JgLkelWQ;iGSmWd`tRDXN4We9{Uu5(f^tR`|d; zhy@8c5Q{272bzJQUMlQlU|<NrQ!ai)3p%8kC8`7-wt1(u@ZbZnAi)P>Q6>05Q#RBK zKG3RzFg(Hc2QBzeCZnhlfT&Ydpz7oeJorE?NbrGJ;NU}_f>D626}i&sdZW|zPN(aG zPFMWvMw)9m7)tFZnQVET-R;WJ&C%)mpgZ(KH<PvNgOW&yc{d<KjnHw%<F25AR|eSR zO}Fod?$8I_PAr{{EZtzeoq;Ufpvj>Jog7FrJE(>bnAXuj88%3p0J<w4)cpqy%)^EP zZv6lMAI65PV}X#M5wI)Z2^Y|)CS)~BC<6lnWO@fQ<pUXR08RNorguOC>yYUk(9vxW z*`;tDpy?fm*lzfQ5NIeLq60LZ1d;s>x?>P*F9Rb317t!7w3Y!P3mR6x29^cwLAVZP zIWRIX+yJvc{y-n;3}9qn0FB~+<UoGE!3~;rL9B#fWdz+m#tKWz@$pDU7{oiK<QJ4U zpwGO(=Z7K!oI){{bvYP0I7Bgo<C!ZW-&hqxS{V%9>ja90!;F}RpMk;<wAc<rKZAu7 zbmSL3aICB#-UE;JfC3&A=pYOlt_9JE<veG|S<XXfb&n7Ow;;$WY0&DPfW)HIyb=cV zIVvBBJFw4DAu9$YZqVEz0|SEu1GnIV|Ns9RAk2-29BzxO0dxo?Xn`E~E^=-`Q077` zGXl+kfiP&63v|OZ$Q7_zFwk5%h!2|u1D&!5;=|;@!+{J83@~}*Su&7$$b4{J4I0%1 z9h?X<1cX6x2O8-HjbwxJCrAu*e;_DcLH7rO!ej;mLj&mA=$Q<VyFfvAq=4oiKzF2o zf?*y5Lj!330d(yI$d{mNC$=*%Fo3R|0NqWyl!2k)Gy?;}G6seQ(A4d628IUE@rx@M z7#cwNavgNE6f{{3nO*~xFp%jr5Q~cebZprz@bnsJvKYkTVgPylCRhwK(FS5cb{m0A z;bs8sHUhD@7#4!AG6t(#3T1II><4Y11B-#uHK@GcVmJpaFSr>lL0Mc3cNrNNK;;TI z!$T;Gi{TCEl5nuz4^S2t188mlWE(ew4ijY3n~Nb7%Hn2-gtE98+Mq0MhAt?Ji(xgC z#m%rD%Hm?!4P|jN?1!?r7*0c3+zjWTEG~xIP!>1CeJG2I;WZNj11L1O8Qw!#TnxXN z7#KjI#?9~_%Hm=WVTQPrn?VA~;$pxu)%T^>7hbu5CMp=ZLsU3=op`#vZeXnV!Z!IQ z37-%I-DC(Uu0b<0kO@K1pn4E^%FCL8fdM`t*!)HUR!Kuwb9TCZ>2&?k>G}tBd?|Ef zJfPS2J17+}WHG{6-5+2Rb)5#izAwPC0WhI%2DlEm5L|sXN2ei1y&2bhL;_J+9!9Ky z`2PR@f7ltP@s2r=91m*S9|y1C1l{`F1fEL)%^*~RS)dueqhMK3o&udPEy4h*IU!=8 z>F5TqI?(jgNw7N5VhM<B0|NuY18`jinx2N#exMu&3C;x!3=9v!vY^`Z5ts$4*Fbp- zG~)`&(;&PPTwZ}#5Im2Mfk6@JNK|G<(3Cmq0xXao(5f^LZGhvf2=G>2=*E8N@e#xy zqZ99#larqeEi+{pgaqK0Kqn_4ZUxQVpq26XxuB^)(A*&Wyd2OWdZ1{NS7u;<M;RYO zoFHh?D+2>7gBWc74^&2i%0!6G3=AN@gJym}Z6Da|UlkMNWbqm%h6d0b)wN6v4In*r zObiX6RlD^}3=LJFr3TPb13)XKAWNx0EJzC##Dc8m1jQL-H7AJ0#Q-{;1{9;*4DX?F z3t8a_N&}D;o*)(%gEk`r1IQF^2G9XqAQl&c3tY?t$^y57hi;aFT#F9MQnla=f|{jV z!D6Uc3L=J@r98pvKv@bR3(8V_;F1Sdmf{D?g0hqVm_<&O5@KXv=tk=-fszv}OVuGp zJiuqhQva+BP{WJ1IShWZ2JtxzV}czNCZI|bIg2?!vzQY!i#bEHm<u$Exk9s;8#IeK z!$)sGEJzjuu^`zA6o-)P1Y$w56DWou*$KpgOt6E}1UCa{f*r)-Vz2@=e8JVd9hAkz z5CUa!GekgH&@2YuhVTJiUqM&nfqRgkS=*P@j0_CTC;l5>`d-Ro?aEQi-~Hu3_|#Qs z53t*ngMYm%Pp9h-{%yVjtta_gE-^4LG}iuL5MW^7Z#v4rz|bA~qxq0}XXux1*Duzt zKguzT@cjatC}!z&{m@+dfuS@WwDN<Y^->9o@qtoZ)MYYRKA=j60pA)Ks1mR`FadEh z=-h9}^6c)=56y?vn;$*s4E?hMlvT1%{O=C^)9w19lZ9(1Sm5G6(5)UU0>6I!`t`b` z+xG{OBmXql{vqJVD6qYF9SKnaRtF|99O?Qe4)s7h&~evG!K-CJX9_^-Q_#{xh#07q z3lRfN@8p7OWzedc^WXvjv~>Csn6(YmI|Z{q?cEz-7U&#($jY6I@O3z#4KWbe=L`%C zx54T_t=D^C7O38Vtlaqn*I~xUzyPt=osogzAy^$~ZT=H5D;m@S1+zel!yqPuTD}l_ zLC3T~T;C3A(Sp_WFv9Ge$jHC|v3EKn0|UffP+J+IV?84S1B3;NI`o#rc1F-rJ_hi} zAE=h(-~;u95C`;^GBPljpcQ){J)pWBbY$E-#1dafu?KDhB$lLtyNB2}I)PdMu*DkS z^*zq{rFkU`d<@)zpdlczP;eE45(Bp&$N*5!H9n-MGCnaUGd(XgB_7;LNd(;jz#z)N zE%@XA|NnBJqt!!;Q;Xt@K?{aqO$P9S;ee7Nln&xy1_p*4kY5=X#2B~*zreIR<>V)4 zL-b2R4`&A(8&FadpPZjpl9-v7TEqbB-@%#>k^+$JB=ryz8DM-+?gk0L)+T{g4ubfg zwMn4<To$y^36q}+<%8tG{X58p0nlOAAZ;KF3U|=5K2RC61th=#UdsZ$fB<yRJE#V- zgkD5o1>FE<3tc#A$H36w$-uy1&%n?C>Y9QsDgXt7I|D-lD8N0S3nx7p7#ey&Ys?rJ z8fG&vF!+GhSTZs&_=0+Nj0_C^3=9pjjG&_f7#ct=70?C+(9yo2<<+2Z8qo6UrHl*= zF$@e1p!5+7(#OESumV1=2Vy~rbP$V+ftwK`%gw+KWpOe1LRs7lflw9~LoAfV&5#IX zaWUjVS=<bTP!<<MEtJL0&<JI5G4w)N+zg<+0<m{4Tnv;~AYwb<Vtb%0aCLyPy~URU z+!txK5GdB_hH|<Ynh!97?$iKF!MiB|U~cmfp4a*?l?XX_$K?cA6-)uBuwh_;@esYB zZoW<qETUqa0$B`MaP?T%GoAyNcA!q%888df06Pt4ff~#Z7HB==RInIm9~(prlujTl z&}bl}Ka>nwUI%V~frd^XvY_oA5R*aMogpkxKObT*=xQ+tYb65%1LS}tQ0m29Chddv z7eM6|D4C<LT?EOOp_NG>G0?~dXgkbp&^aR@jnEM+3J)6swY!RoGt=|pi^{;I8q8fF zD-di@sRk=|;D-&tiaBKwENjxh6&uJ9P#pp47czqOe}VH3SacgRWL@HRW`+jP;_n^I z3=J*}3=F%N85%&NI(wKQqd9w-A$fQ|GeZMtO#c8gWU=!>W`+h(cpQSB0dozW2SF@I z9t5$t7(gSjAQm?R3uttN1>}y<?l-9E9&$SpEPdkUfg4C{Mh9M}zfOiFa!~V#3&wfv zgL3r)H2uT-@0|uPh3KgtVrRDjb14T*NvFXEMy!e68=Oc%t#e;63$)73AIt(3gHd1> zXqj$2m<8(SL3$^kWNil)0~L!9Q$S@qgaw*$f|v)IOooVonh_9_LCpx<$r>~)4oWT{ z42oa$WDP3nQ_+$&NDnAkgO>f~gUWZ1Mrg7oZ%J;vQ)wlUsTjT(7j#z%Xvh^5BJs|N z1&PU-C6x@I9ye%FGpNT6DqKLd7O3F^YHER<$-uw>azCgy09t1Vx<nczuEPdN*1BvA z4YHuMhinWD+6)W~`fQL>whY-A8bA}EMr;fXpr)KL8$$zVORWhTLj&lPE>kv!22g=y z&c@IH8dbGmV`u<1>MYq98bF5`S+g-TfWpg$4YFJ}2Hu+hu^`DF#DWYwf>_+(75*R= zBrAYekgNb=L8<_xo0Xu0R?P=kP*&c8kIILP_kdywcR~Pdtbrv0P=KH>)&zN?7%d@y z^nd~pGzg~yYJ7n-LK6aP-7UCXME2;7Qw2t{0NVj3kPA2XI1DVpK@BvpDh37ykUK#m zETAn{uo0`hObiVmx9?+OXaKo?KeU?%sy!ehDIgXkVn8fN#DG|khyk(CBcZvLhp|+u z*Hr*sp)$L2!0KC$*Rr4<S73K2PY|r2K$7M`iMB&L;GISLz?C0p;BPvZ1scVKh=GdS zX<#wX0)O1m3ffQ%idIk?78D%l(F)p4Uy2s3AU&X<0p0oIgBGonS6j{*iQtNh$cTm4 zTA*qSp5Oh`(%>8LAO!%twGL{X7l76#IcGpN<Y9~kfcyta4#=YcIUJDWkjuf)0O~#D zaWFK1=8^I_7#cuLlL8Kg22gkuazOI$BY3q1VnLD#h{XlISqQ}91}~lmu^`C=%O;f8 z10_<hqyVZ`AdNWd5Bx3AohjcL$laOp1Ev#Shc*MQ3S8@h3G_ZK)_QCaIOTx~6bK8n z-3Gz}HQDZgH;RA;q(6gMpn*%s1{F|=2}!G<`?$V=Wz!fK7=D6Tpjr;HL8Y95fdOI) zsFs6tH$k-=MDJX<EU1?I1J(=L(Ff^nf*Kc)?j~rG2%-bDX#m0k<puQaCTKr0NF0Pg zc?7)<1oe_C(DDdK52y|V)g{kB0Rhs8R`gM}<p6wBMPdm?Hi5YkatRnHSAfQ$@ohK& z_3S`RGmsNuyHr5a<{&<-r?(o!0X3tcqtu`}6SNl`D$D@#FDTD|X8cT`f}a^6b>>&- zc^==P#}52pU}yk^%P(j*3$*P6Qlx@dkh}t7aWR0>ABe@x02-12vA7sG7#SEqEN%uK zC<}6|07MLQgBOU!#b5xH<pv)N2oVeIeuKIkBe406OmJ8@^rAW}D>6X)?-)>y@kss9 z>H7w>E8+xyr|XMuU&tmFYu6XWpsr4*?~B)2-L5Z;FYN@?Cf`4T@-0M3x4^|$*4N6J zUVFhbbsJoK2WS7#{s&`QT9iw}*vM*_4LVC-yyk{Ub-KQQ4)1llzJT=Qpf*8Tr=6}h zx_xhS`aXCa-<kTMJCvg{^u;mPKTNn(U+MO}0#YpvIaL;77O0~J?(2c~xgCZs5P8iG zWxz%M|Ns9VEDB;Y*YYrwNkVEeh%o`(t`A@}9S^eky}l0uVIB&AF}fihfOA7%bP9C4 z^1$UWX3CI`Mv0G$Za#v%#)N|bzH=BfRSwG^@t`3VP!azDJY$7ePXcOSKL8hCpgtm` z7YOR1Kv<v~)FHB<$#94m=#+B^3zV!OtW%)A5!jT+3=9mAekf>V$#$@qAR|l+w2A~G z1{#@w^fW=|SMCKj=WQ7o7(RpD7tF}O@CD2QkE?-AX<%evm;z??Gs1eQvq2j>!D36` zcC2P(V5k6_x0#WF0pdQ;DbP>A>OeEkU%@6{hOcdT3m<<2tq1xBmgQh#VE7JZfr1dd zkQ8KstY`sM!Jz#Aj-P?SlR*G{{tRdZ2dJ}>guMI&c}0tJenF)JrAGrtczQZOF61y~ zVqhplE096%19hT6^i1kETJj4Z9TZTT0OWlT2DLOmG-7SZ5pvd+@FPM^#mCRkk^xP? zoFM_BB0fGju_QS|#Xg>TVX9(Ca~lj8Kou3}vJrTD4m6zuN=)G9n_p@<c#IUZjt10J z1q=G;q~xULF@VHCYsbK1eyQa}sl{N^K$#u14Go;pLH$1P`T+)322kq{#0TBA3F-%e z_@Hh9xFHCtav+h$zyL}sph^uijsY4c2Z@((K*l6XIUpUpG7g4@cm@WBat_G2Mg<2$ z188+@6$e8DsM4(FU}ymC->l_eXgCI1jKIOr02+~R<X~vH!N9=K#KF)2+HKj)!O#Gz z<XSiw8kiUv7+N_P8rT>a7}_`(8q^sX7&<r@8jKkk7&<u^8f+LD7`iwZ8k`sz7~Z}A z*AN7n=Hp;!08Iyh_@Gm7dpQ^y@)#Ky`atesWMG)U!O$?7k%3_%2SWpBbbS&BLj!2M za54u&1Lz$1DbR-NV{pS2G*ApG7a^-)KrG1py&zf0{k<R-WCj={3z-21vA7sK86o8a zH+V!8RAO*}C#pcD2sc9vBLf47#l?`$$iM(9ceoj{p)ANHFQ8Hma>)yb#l_GJEd#k3 zK=TNo(vS;$n*As6wAc(r1_ls|i{Tq11H(tK*e@uHi(xwx0|UsV+~74WAQl(HaVD5L z(3%#I4lafVaCJ|hETprAE?}%Q;bmZ8fUF<^?RqQ+Pi=t4?~qoIV3~`9PP++My7H98 zgDXzxwsG|NuoQ4h8(+&j3!((94osjo%e!59_}9A%bh`d&to;L-y0c&c57Bn|{s2wj zJ(4fM>xL|_v3T78Q36&6CNSObqxl6(r|Xw)-!I*QouMBP6LVi0ZMZ=5aQNL&0yY+} z8z4%+>c9l18$MXO{wRtE&G0g`o-AQ8zJxLTSOM0F*BXctusSe-VU6z(ZQl>gKRJr= zPIT6QHRH7jq6DlCOkmg)`a?VPL-Q~7vQ*?Ggnse>XfYjFKR(Mc;Htn%!32hVt{*yG zK`mSOY$@6lCTPR)b8rp-?e={IW`Rx%f%McsN6kSd20^`JNKXy4><H4^0`=`6vY@`* zTd-bGX$<M9fo@%f^wdDBB_KLLV`Lw|>Oe928O#C=qeE;1jq^gxI}bm&;3jCG8r=8+ zHNPOTpk*x(+rEJMieOVfN0>ou0}UrbY|{f3R$y6BL+mG*1uAqQwt2&+H9?Ith~GdH zJ`la2!WUv&F(U&5#I_3fq-Py`(z65J)B??>{Q=tnYP$UgvsS{VSU16K+r<bwlmXO; zgV=TzE_(}Z+kLogPvN$`hua2PK*j{_8}l(SFtCDI!b}Vd5WmSVF)%<}ufhbgO^*pS zDQgdxbzy?}&65c>q3h2Co6rR<J%qR~lZk<W18heH69WS`m{kk6trKqEM7V9U;kJPm zCPLh@1#a6;xNV>%ija6a3D<FhiGd*x+_-%P7sJ+QeaD1<BKa62XtEM@Ng7BGsQn09 z@;Dzf6a;D&FhI7s#Ji+|$1@2}C4-tfpw<n1vKKVz0&m$M=9WQiNN~d@xC%UP4C>2+ zCwLL_#>gvuL1jE>29$w;0n~niPZNWtg9}QE81T#ygT~9@v(g~-rNu}y$DpP&$fL0F z0MKzDAU<g37c_ow7Q{h1)dJRxg2{uXL_tbm`fHG8jzRiClbFczkJ03npt}TM`hB5% znECxsK1_Zuln;^zx9z}<JLILupm+pLOoK*gK;<CF_9W;@b}0-D4Ir^p28M<{(7__m ziRBFFi9DGM3=N=hh-?Oi22fWnmw}-{5|qb46Vaf~76U`WXGR8wY6gaeSSALBW(J0a zvrG&OZ43+zmzfwCx)>N5K<TF&Is&p1+~@+Glm}u#MnFI;$l)9y7UXaa5Q~cev=Ru! z;${GqMIaUzgC8RU1Bk`V0BQ_^SX>Noa52zr9uP55sRUwigYVM=vA7sOWf6$Q&CmqZ z!Nt%AWpOi1g0i?6=0RE942z&FE{1hb7B>T^d;*!m#jp=9b_mLXEN=$MLY6m!SX>PE zpt9TykDx3rhIddFH^V0=i;Dr&@dWAMX5e9h_!2T=iaEOx02w6UfYnuKgXSCzpynE6 z$_zC5(+I8>Kquuu3Mp(w1ZcJyBo4}~pd^AmKn_}%k%`vV1nB_{kb~wG8qfy+$eaLk z0i9Tp59woqoC9(SDn_2|fKP&fN)?dH6+nm3xn&j=mw?Z}0u?l1A)mzJ638exXh08n zP6Xr!&?FdW6bm*dV$TK{1b1L#XaM=m5jt5F3!kh4u^`D8#DbhN0%AeV83D1tQP=#2 z<GAaOGiT16LB!!P*WV2A!ERrUPLAHt-`FNXIGT@eAQnX*VqpLUFl7E7<bKHX2k533 z$dm|ZU=w%jf{x<?g%2!9L9q*J$b<NxQ47$jwF0!*1?d5)0S$k8gK7eBJU}V{%BMeE z^NYblx*%794Mri5BN=~B8ByqgLIq|B$nBsWEpn_*=U`|6`DX?PLj%Z9God{}(C83k zSQf;B#43oz1s;qAvADr=@E{gARzaB$I)%j%1RgVNKEl)O%E9c)1C6lQ!=QaSUErD- zG|P=UVnE3Y<Y-Vz1<|000XZ5LF`(r>=%+Y>^nlcW`t?GfQ~}ZmtC`(0b8_PIz(ETZ z#vnjJ3)*`F3V3kd0A)FBlSrVd8&oZWN|5-l#2j$`0c9W1%3zqWAh&?#H9+o#jS21H zf}HBOmx}?s{AnK-Lj%aI`?(-<MoZwe0Eh(%a1e_NJh~2IaWh;1ZES%pb!dJg03EqT zEcnE>K>?Aipo<X@I}t$Fhd~870^!>jpp(U*<}?EX#$YSz5=Ll6%>Y{54r9X?xP!b0 z8T$kU2xLzJXi>v4a1sEOF_0Ywpvj<maA^!$N(~VMO##(_#X#dL5V3p)28PGrF-TAY z1hNwW(K!GmiYH)M&?#h3!7NY&ppR98_Wyxm5EfaW#3cn?zXQtkpvbI7%k>~VAT=Ob zA1&8YXD-{VC^Z#nBLcDmVGf1N>EPdafF=t{t)NCDd;%QQE(FCD%0>i4X#pxBVAg^B z3Mwr?8*4xl${_J(CWZ!3IJ7cB7C^KyF*Jb2&fA$F>w7ww7#ctmsGUp<4WL66yP)&t zpevpsr3r`yN!%b77sG7^1_n@EaWjDKW(Bdh7(iV$P)u?&fX?&=u^?xXf#M!=CK-qY zx$_BR3gpfw5DQ!q4ULQeX^4O_24rUeC}X&R6FewmK=uisW(<fJYQ}(wfii|5xW|Yq zV+es|K^a3B%pxaaFoFgi@nnoz^imgkpCY(Z1YP7o>4l#0w9O~@w-Z3}3AitTo>4%J zCFG3a3C$?p(2U{(%_zRmjN%8)DE`ol5&+F8petV?83n|GWE2n!k|{uO2gwv579>-E zViuAqKrF}%DJU&KW=KIS$hI7iDclU8Z8;zoIHMpR)CVo}QP!D&mj{7Pv842LZP2mw zm1rpk)T{(GlR-!S>C&V~bx$pcPf09E1Xuf@1P>~~P%)_5$0#Eq(G02vkQ+}R_kxN; zP#Xip1{t&wx=d&j6GH>YADf}E2wGAFiA4|#5{n=f7x*+*5R01uH1-5y5g!wmz||&b zIs$jg3FI<luYxK!P$+}MK$RPznD7Mkkw9L9wVa@P>X7p=REUIab|l8cLtzGnl8nq^ zaN7#9sGLwtY=g$cc4$oOfX2irc&iG;g2V)f1&Ij|3lb9`7V$9=0xqX1i;2Aq3=AE3 z@<cT~N>dUe23|ZuvIw{&M2{IzNr;?B%Aqk+0gahTXv~22#6j{1hy{rm5DT)N5yXP5 zX9Tf`kC{+9#7y@fjG0(-lq^G3%z(C!g31Qa_EAvj1=>Ce>T!9&JM<tHBxXP?NX&p( zkeC6nFk;5_Pxn*oNArXBfPji2aOuLpz<^#fU1nfln1_}jKzcw<1a%x$(JKk({M>?~ z)Z*gQl=y<g%pzzDBfKcF0J7f(A^<MAK<D^FF8Eb|UhxZSwd1(#8FVqQor0Z?p`Ddg zJSdl>frn2(dxVkw0P_o^X%4GNN~Dn^1HB>v`3clHM9w6tjF7PvHAaR8kYCjqA)UhW z@Zt-^f<y&~1-aA+#Nr0ussdusF)CDsOjJxEIV!ZEQK1cu3LR)vfX)Gjlvf}YBq~5G zNK}AWkf;E$s2CMb85kHg;K>!G=!FrfxdQznbREd1IB44)NA|$bL{>goYKfdrFe`de za!L@q&;qd_(F0;Zj=cx5AjjT=Sagh@8ACXFwviD%xN=W0JbFMZNc4bMkmv!iAkhP2 zQ89WzC%(+blY43gv>+=^P0r6tA+mddQmGJAr&vM@GAn37W(_UKKpi?rK?Y($q5{N% z6l5S4q#y&a=ol4V=sgco3o=-h4Jp5%ofI797fda@*di$^P%0H-qQVXu7531maDYYy zs7D8h3J?nt6(ANQDnKkqRDf7ijEZLr3=A9b<ciKgR%nqFIcSv%G0}r7r+~V7kmv!i zAkhP2K?*Gp3sPu-Sagh@=|ees&?*&Tq6b&*0rmAD(F0;Zq6fr+L=T7si5?IOBYJR- zcY&JHl#X|SmVTmd_XUm2fVwiEp4Lv#j2pP`0GT+1bw<E_6-c)QCPdmOOJWX@wF!Je z0Nj&Dj|Grh(Z{-$L;LY7p#Auj(0)8<f(H@{AQmJRKrF}|L?9OA4k8eX_*ek7qG=rq zI|e)!PzSn*iG?-LSXc{<g>}$aI05e{f>@AP0I?vk0AfL60mLFc7C?<<N@D>uiQbA< z*?`g)EH7lEmuAqO2XbDZc-Fu@wS?%bfi}p6EmqLSxN@Pfk_U~Id}yqI=6E1^1H^*F z3Wx=nL<g}TljtB8@v#DGBhxxodInpppbc;l6Dvi~SSg0aN(nSpJm7s15DOA3AQmK6 zKrBeCfLP#I!M0!pbO(+FLn-HRSMXxD*Px>Ux&^zLI$eKsyZ*p61_oN00$O4KF8iTl zV4zY6G^PX^o(G-U=8BeCKzcxGKnrZ=pf5Q@yRaBCSOq%z1zZmxTLrTcb*Rb}|4=)~ zZuGILZ48hVBio@H`*uK=v4OUDLJ~WO1qoIV3vxXrhy}Tx62yWAE6;J)FOYRWXv=|M zYZgF<Fu)H^fC+XpfP^LCT#mr*P!9NFq1QqD+gy2C50qFn*K!CHo4}R%a#(W|bAUI( z{dmm_7iIv(nD383#9D~g0^su?xIkx=KvqY9_+^~OUB7^qIDq!KfhKPlx?I0BAK`&6 zZs~p+dx(QU3BK<OG@bh#JYfTx&V}r{0<A`ZtW^Rnf(GqJ5Mjs#-KPdt2U>Cnkp=BC zgX{$Zoj(FvVIu-w1cH0o=Nbd#JS13zgT_`tt1n>b3ba5IeNPlf4@eDYUy2u6KbZ2B zOzuVbkXuthBg%-h2V)^myy0KU1X`5?G6OWv5Fb*MnG2m20uOP6mW#uT1o;QlXyImH zU;ynm1BuV&fGo0^#{pTdFdwv!hJk@$0cigW0|UcC4#;|iMI4az3X3@y8bBL}mvS&P zfOhyT<A9t;vK+d9X9aY1)KhqM3t~aiI*7%^Ai&7L0Ag{2ubl_6z-b-ZRO<oM1&ZL= zR?uvR2zXH&?#KqM8308r$b%pZifmAA3K9bqBG_tNkRFg4&|wA@^eEeXD^rOc+8|Kl zg4~W?<4%Q^?bDzKG)#w<?VwXlAcYW!1&J6C3sSa&Sdg+E#KIjhESS^a)QFfp3=9nI zXr(*IbFhfXqEEz-GL?Z6HRzQt$nEG6(+G{2CTPTfRt$l%FX-SINW_3xkca`XAQ1y% zK_UjkA}L}(vrv@g7(x+KHTWV1r9DJU#DJD+ff5>MsTQad04>!5MT`%;H3VWoA_l~Q zL=1=pi5L(Icf_FH=t#Aq478)V4Ns2Aq))`;fEG#<H}{8<VZe11sNw<@(;$p3$8<w; zOb;~2^g@d=(4kF`90OuOA_l~QL=1=pi5L)zq==zLjv*8=m4hx~P%;cr5i<cAF%zK? zGYJ|oe()RvVnHGX#DYW&hy{rl5DRC-Am5(}&Mu&}K$Q0CK&P9apGAV)*RDfr=D`M; zko(%ufpZeZoqQ`HN01YjK~P7YFem*$?gcgDkf+B%ArC6MCPRC2Q=l;cS{4k+A|Mtd zCO|C6>K+gavbqPvB0eS{RXt^^d$83gAfJJJ0U819rBD7KC1OxYF7z4&<aYF`J_4FQ zBB8Mo1&tNZnp8-vfLM@N0kI(Y1H^*l4-gAitU%8I!EA>?vI(dH+YRnDDZ@8-f||eR zYrR2-w1LDyWiJS$H<hss)PnSYq6u`++g?z|8>Eq{%i(-0LA&wD$u8*80&**QW-)+9 ziy;%_usS1Xw1D=;K%xc2f<z051sNg)u^>Z)AQs8d0$M*O!T^evJ#>f`7xcM8XrV=M zIaX2x9ydWwGT_(;6Ucp5{3Ey6qQw*%EoRVYF^5LWet1_B#DYW%hy{rj5DOA5AQm`U zaE(S)NC*^(bo>744rGDtzhUWg{qdR;G*oo}#O!wcfwFz-FzCYga`1{d(9i_#9;Y7z z0|RVm0TdLVYy`>~pl|~9I6=E4Bhi{^AUz;8piM<;IO-kzv$IxK@ray)Y(2;c5R4op zN2E|zlb~l6kbBUx$`3}!P}WaI$mXX%(0N%<(E`aTAQmJ}KrAls4jd4Rn*p@60K^)q zapHj^4^cHvUXUIq|DkchzyygCW@tVEl`D`q0kI%)0%Aep1jK^G35W%b6Rbln61Zv< zP<@O$1AyA?pu`SIb(m`xvDG6WJ)n97R48iW$N-cUSfJBxs8NrA+=`w#E<y{eOVH-; zWoSfz#xfxh0b)TS0>pw8SRfXpzyh&wM}!D%A_8<{MmbtZ1o9j#BDRByBycQJbLQ2z z5_~=p88LxgN`c&p9udc(5pe<<5htM$0U9iZL<EQhi3ku25)mL4BqBg8k|F|9nNyY{ z2t~xUfsY83I-Hn@I0KD{v(Sh*2aSlc@G2a{f<y#}1&Ig{3lb3^7OsdOqQN_d3N5P* z44`ufP|vggwN^m+1JvNHrAa~MUsRBhm<L*wO=R;5rIUyrH6Zt*=aIS4sF??CUCoC^ z4QQ(=B#(etkf;H%AU#A73(`Xbu}F>@NJkM=zEdM=K(}{vp%q;qufn3H29zO@i!NGB zl#?7&D7{9EVHJ@3(YuYw(5Om*MpY^_sz93`AyEZlL81!8f^0hgu^`(HKrC=nHNO#o zUDWob6Le4!(k*SSf0`{AN)jQroTA-v<NK#uu=x;6XXu;Pyxp#Ex;eT--*h{&bTW1O zzG=2(DB%V1nIPMrU*7|@s0EKZfop%z6?LeFVQi0%1KmmkIrS1W2@F4c5_A{~*bLC& z!#?@R*$ki=Ldeafpo{1rZ4c0a<B;1&LH80s#CjPR7*2q9GlOnjgY0^q5AXGY%Gr}( zS<rz{r@$<bJ?K4Q&>^?*$zuivhG0Gh205hr*VGt6CpMxM3?MzA8A1^K0<<jwIrTZi z?iYy%4HX$0Sy{!SB_3q!Ku!YdW&kzW(RL~0=fZYXD8r_zk&nDdWME(bok0b?+!7SZ zh|4XJ6@o$=bTAbI19(?I=&(U0@U@wFsTH6@FxcSNq<~HY0XY?R%_V3~9>fP-a|vE8 z1y1Fl3%)?2APfp0&@4G8_;P2E2m`}42FT3g4F-k=kOOZ)Z#B8Yz|i2%z`$^q0dge# zJqF0k<9+C@CJz`OCkQ@*&Z>h-7D%oDu^_nu#NuKA%?*R%o0|bN><40TF@VwlC^c|1 zfCivIEG`C6LI$NDZU)djm>?Dx_+~edDclU785kHqEXXmsAQm?R=onoP3v$>Dhy^)p z2E>9KHUnZo4x0h7Aa`GaSdhCfK`dwv<p{$#>I2jrwO}Yo2WKpBJ_N0p0A*M4Zr>l> zg4UsbN_atQC^(uAvUK|Xc>NG`Vx1L3sbcq+jFYgFt5J?C<AGma^#f#TAPeZg*gqhT zGcd%Vc6mX^@t*{5fd-u`a0bjuWnf@{96=4*NDaw#pe`+h1xmW;xe0WcJaUh8F+b`Z zM4%~HceJt`qz6>Hg3gD0j-Hz^*Kt5IQ!eCMB4o=z4uT{yP+o#%4@+#>19WpL=%fm0 zst29$gqG?-$1j0yNC6oLI{q1v!oeX75@ujv0J$BM!nqg_cYPdy9+z~8fuR9p#}Nj| z9Q#oQh6d0<-^Umj8bCL*oM3>Qm3fkZp`n<8f#DPbLqi<{11L3u&&oUpP3fQ;n;|J3 z#Db)B5Q~cebj<{a#mxXZOB2N6VgTJ{1!8eCfL1euSdigG5DPNA2x7rfAx0wP-{#8E zdZ3i)bv0}uNVA1NQ67u~x-1)%l)&ehz|ZT4wb4N58!Lg&H+KC2JJy&5t_mi?gD|Z5 zAY)*6=nwcB6{tZl1;-gc$54R|P=Se{q}f9p44^~)LH#Ka2GD(vpxXsRK=&dsKv<xd z0WGf-0o`@PPzD~*Ndlcp3TEYj!W!Ik1RV|lIWZV?a5}_1&@~hgy`aMZKxZ_HFo5p# zgvf4UU|@i(KLM2|xbp*O4GAcTf-oq_pbrp%j@Lt9e*)42>I7_KU|={4Vt_P4$5|;~ ze-e_J0y!@U<|MG`Z~{5!z}KI^&PxK#*u^`QX6BTD&rt)-l7dfRgPlW*T(5va7jy*x z0|WTjSx^pxA3F=WcnguAkk_h!{0?fuBCl213O$Ku8wcce&mGXq1$J>TG=Q#l*v-KJ zz6Wa$2SWqsPUpQGkjq5&b1*c3ZazN90l7rv5C=m8C`=DS*Q$V45<&76hy}@4AQl$` z=z>TPi<?0VdV(|;1L$;Fh#2T@ED#Hvhp^qN(`>=O-vYX?4wh=+Gy^;{baMp4MWIWs zL1&^vmQ{6&X$v6o1d=A$0pJj2ka8Sm3^pF>H3Wx+LAQZ{(>`e00@Pj<0pGU{nkf}w z0IkOYtuhc{03ELZI+aR<0aQ+bmV}5fguwNJnidds;9JMQ=7GvDdoT-hjSEB;boBtl zWYD@Th$*1^P;loKP$vvgh%+#tUnu}O!!Hf3_5kStl@g#M>GRNf0%V>l2G1hMZb7h- zvk3f1F>rDQb;yw0KOnb(TKUNBpK|DxITdV>+M$Y#p#e19T+IeKDW-;vp#gM}LmeAK z1LzXedNzgz(EZvCY>=CvnxLnP#la_AK`cn>1+gG^*MeA(yK6x#%#`{CT!}$WHHEej z(9#NM6!baxKuS>EybOFBBPe(wv8M%ZXM@58y%hi|i$UVBQUyI8LAemU)C1`O#Up6m z$^&F2STiSh(-P&SUIge!Z1iC$gcFgYv|j`|Tn=ghfTkot4&jtzfG)2C#WAQH1c`z$ z$lah43wc`h7zgBvhvOU!4IuxVfR;F*b&rq|2gHKJ8HmNj0J=~H#Nr0m-yjwj_?ib0 z3v$f^h(&HZKBQ4Rf<|}I^CKucVDVTFN-&^6Vt~XWnfZ}~$lD0p?vFL{u*DrHe<H`- zcWD0n!3K%DpV0gUx?BtrcOVud?m#Rq2GIU|5R04PI;aoJ3c7I(bS^qX40H_&h(&JP zJ%PvFa=PY0ck1WCqD06^bBKJ$z<^*=IS-zO=D{=2Ja`tG2VcO)Bta}lJc3w|JP2Yz z@*s!>$%7ykBoBgE;CRG-kOSzJ7f@=4`3cn610^jGA2b^XYGzuaRbL=IAT=NyifHV` z$EW5NlvKv2=j10P=ESF@=A=UJVFg)$i9vw}I>HRpr~@CK8=sb6l#6r<AE+Y&(+08= zbQnHp(Kc)>;w-eYkq-|Z5DOAKAQl$`=%PmuiyPdT2C;|;3Xpq1)}jXmsBM5RD8gtE z6rk{dH(8OxhXJzKhS(q~ga;9b1qmV$3vwVKhy^*25X1rp5%PqaD+jy@h%(W0h=l=E z*K7v&M?fxt)U%+ZgI>FW>RymI2*bh_G!_ctgOVBO-j#5)WCqd$QX>Vr$Pb>gp;J8s zPX@8F0?)_6&Tj@;1hN<vgOVVu&+P>}T>{o~0Cy8$=Qqa*f(|gixMKpjRt32ibPO>l zTY%cCAgdagA!mU!F+<MUYlhy13A!f+QZj>BkoW+xxWMHxh{X*)O%KF^3~z&2kl}3* zi_|!>0=IK1izCo@R05tjDu>sc1mg(($O)1oi_Zeu;2{uMARmL8x#+bhDRBk5juR4B zAQmL9KrAkX2Mi1hAQm^n6DW%d+ya7#f$jhSu}F=pDk{VkXp|)bPh4Gvm7&l+dOYs@ z1a8g7BSwh9%h2o;>`0EYElR}2nHbW=WaQ?rYIsir#Dc^bhy}UZ5yXPr?FeE)<|IHY z$eaX-g&t>Fj9HAJTVugvNX<u3H+vjnVE`5VpgWvJ7(h86cR2_eT>uqDAPg!WKy?hL zj05pO<shi<?}8R@AUz;8atsU%m(a>VXc?DZ1UV3i<Tx=RQ0RfmcjQ73Js*MGhF<1@ zb_;;q3)(FJa&rrGP6$*_K=KiY1&I?73vwR~hy}Ti2E>B&2th1Jj}XKfs5k+go$8Ax zPWsTwJw%+K7IP#=&UaYH07oGQiyT-X2W=A|=NVGs2UJHu;s?Zn#1DwY#Q@rI24ZnD zfbKg2u^{;f#De4_5DQEEaL^;qfM!fW@x;$Pw6YEnKiG>llH=(Tfr1SdPq2cG!gvDJ z50H2Qu^{mTVsSBCWnf?cvA7vPSEYbhkhTMe1!+5gSm1cVy6_M-s0X?fi9wsg+Lxmo zzF`x*ZPFJuaMvxs47!ByM;1f3>koMAkbm2W){`X~{M$em-y*ddkp~WuN6uaUppT79 z!*@`E4iy&!_ai~+88nh0!e9rN1&!>1_Tz~#fX4Gci(*6=KqF9~OISrfmoz{}x<S`O z;4Y14L6<@zxA;LNIjl4Woo8Hxma;&4Kx(=`^R5!0G8}{<Egp);d=d)^U_0$#ZUUK( zz{m|&jG=Cn1}nE9sNVn@r;c~dfDdPbmH3tBLI#FFr8(%T3YhsIzk$YuKz4&p?*@tc zu|Sqp`m;c;$qis(XaHRc8q5N@EiIG<GIAZp0-5WKU}0zgg-s+2<kY(x@SX>V1xc+S z78iJC62#&LU!)6Sfm0@E>V$uvuK;)>Fs#0XZp=kKbsm&da7QgD`GA}c3Iq@hs%SwC zb6C{QV_;xFuV_JfKx#m-x&qSNXJCLfkU)nF#g`N%W|kDgt6Ie6#vmIoF(|TNMK^dJ z0dj2vNC@OCa9qIp7u<rNQ^H}<1!}TFI(VSO4>K9$z6u5g29O&;%?yyZJ`?05deA~~ zkh?((#X*LHZj6Q$5+D{N*g-5vqZP!0G+IF{Xs~m1`|@-Nb_ie}C;*L*fh+{24G@hU zprDlv=m84S19B{=JXuMl00nI!2D#yf5CcQJPik5TcnJW=%ilmEL7C|ppd|qQph;O! z`bG{wkbBSr&;%NQpe5ZPcY>C5gG>Y6IRObk5DOB3AQohaDu@MHq6%Vx0}$;x+T*St zK)c~VL;R?>&ia1n_Wb}(*8xZj$c50|p!>PLq;!HD!VrmaI{zUS@CBT2!HYtq7#J94 zaxgHkF&Hv1FhI6ZfEGmT19!ziH+8jxI}xDc+i~X+&{R1n)q(N^EJ}45AohS7qoA9X zmm*(CiFDCtQfhi;9>o`Z+B=5XtH3rcWtOBCfzI}HKoToU%y9?>Dap(&$VrVasVqn> zc5rbhE=h54fRaWI5m5{bAoqeMIMIjbL4E`+0s&15Jwa=zQCwVu0|C4W4it=_AOvAp za3U@X1uakkH3C3G4Ilph{|_&@vFCG;n?c1eDC@xTxiuR@1IQmXY><g~Tj&t)9dPjq zy5td*G9Z^cf>@BV!$Go;v%^6wE{1&2jbh-76~Q-|frouTH<W>7xfxb4GBAKxNEasl zAaG$~9(c_Ks6K>Wm`Hj)K)Ui5CCMKK-Rb)tOM(Y&pAcanyv+eQRzT$ya^eP^DuC-2 z+vND-k|GKdx07ptlS>5T7F%oy6SRc^6rrG#K+HfBSD>T=t!yYxm|zc(kuc%&NZ1o5 z$j#^p^B6Q?9%o}{0QuzvG-2L@CrnTbLJ}s31?la9WFfsh5DRkqC`cA^`zVOT#gG8H z^p1srftw)($|50QmS84K*pOy(tpGzQsAtmY`scNHH@Kz26NKDT>2&=ATG)iLtrN8F zs{>rTg3eLFU8p)jZyy2GA)qJ)r905d08ps_Dx^Raf)iSs5~K&D26X$zGQ#y_GVF?C zkeMJmP%)_40lG;SR7)b79fsiBbwRE&5ny152RB8Gz;!1mmmsx8AW;uq7l&MTg4~E+ zcM38wG=SVK1icVJ1lrRFtxJK_ogfyZ?gX*8z~f{f7B>T^1_ZIdbtf!pKv&*?F9%1g zG(a73=3oF-eVf4X04f@B#{;P63kn}lD1gET6c3<L36K~l9zb~#eVY?V4@eDY)ItN) zngVHr=1DvwWT3Voct9)#_0B+$RbUfP2vGEZDgw||F7PpDkO0V~;P?VvXO5+j2#FZ< zHVw$l=p!&a&{5}JX2`n5KIo`3XhjetUO+5Jynt9-;0p{uEN<}lC5S~%yjX%89hAij zXft{eTK)j}5f(3HXq7mgctIV00gYIa96|7LW>^G)?~}q8L6pP~Xf+BXen2cp{D4@H z)o>sdWHlU!MNa%wQXzgox8!BviJvQIqb+#i2m9~~S@8rPTZYAx0eC%dNfEe&1C@H{ zB^)L31iH%#5>Fr&B%VMlE(Xwrvmh4amOKy(J)S`0$UFhvzPN8T1nofpU6LpQUJQ-9 zgaeh%pdtoTZh%S{^b!uVuG|eRra*c?ISDjmxEQU3LyU`o3p6V$l5-1uG#M5P1dB8D zSOB>Xy)*+|X#jFF=t={SyX&E~45$`>!~%!~i3Jb~(!~X_AYEJ#Yv5u5w0g`RPb~DK zm1l@pKrOz=hz|JpF)TU=6<(CY2B_?Z#0H23i4717GExj;K}L!}ER5LT01f)kBTs-< zx1rB7gVG!*eSy-}eYDaG5gXVGD>7mQK3WWm6+%T7C9wi3@gcDSVnJdB#Da_qgIJJp zVGs)(D`>s9Fj9swK#M^kBOA;HVcovihBQ!b9EXl+yaRXfK;wCkF%8giEXbG!XsIk@ zOv4pE^b5MJ3o^O^x|9xg@d#Sp32NGcibzoL$ic_JpvS-g9z_8)0726_i*bx@q~@hi z*!^>KrQX;EWOM_Rbo0>)5|AH3jU&)Ka%a&B5{f&Ku#sp`Ac6uAgkg0JVr=8Z|NsAS zj%}bPU66axJCLqy3=JSZxUn%bfc)VO?LgjzcOXIO1JZ#6u^=NGAX&)B28hMQkju!x z0FvcqD1@@O7#1)xFo0ya89-wkAQn;w@(Y2HjY7;0B-S|-(B`!NC7`22K}(ZB=ShOk z5beT!ZYXGn7$O`Y`_DlmD4>K2N|>NPvO|k#kRFg4P}cB3M08nEL0)`tYEfolPC$N9 ziIr7maeRJ3DrCtTvK^qfgJ9(D2QO@b5!|%^MHZ+Ggs1~um(IYz!2-S*mH}2QUV<*U z`V5X7(A)ut1u0iREXa~85DT*83d91JD?9%G|6h-NWEr#%1!gCR2DM{ALtn7)0PTBm zMhg#+9*`Q4A2)%zYaor#o?2dMZfa3xa(qr^E@-qqGq1$X$|^Up0z4i9R);}=0tFrh zp!xu&0%Xq%Ce$H!&|%piyH_zWG=S`14Q-F~!ovi_f`kc(#l-+>1AtiE44@r;AQm`G zP<p+8U|UU4&nrB{!T?$UzZKl$1;q~T0uQvN1r%l=401mx96|LOh!09vppggkx(}oW zqz2Th-i6j4#M5#IHxNM$_1wgYcoMeDJHnP5fY!Bv!tSpe14BHPb#2IT0CFRGn{Xkt zhr0;6u4*x~hr1IV2Ot(C4nQo($ODK48F>J)NR0y<aPNt-I9SENz<_TJRTm;}LmC{o z*X5u#56OrOPS_eMJdpt^6UdDV2lyHs5DO9)AQogNJ%|O_Ne^P7$3^pr|DYYWprnhw zln^vN1`-D)aS%pN=9O4x_CR_-$s9B(bPX+;Bbs>NR1GdFNJ-Orurv)WKrm<RKz5@i z-&xRY)3cc%SA@-h79m^U$rr?e1R010Id&Puf*iXHVo@>3niv=u&{w#CoDB=I)o7^_ z5oD-|kmRuYgi--vj5&hbKy1)i!&4iG1qnJ33o_meVnN26K`e04!5XOWsb$cWub_Yx zVF39XcR35I3t@>6lmJ2X0f-MOXF+QYV$kX<kRFg4&}iv7TnP|1zYNa#h%g2xON{&t zO8S@>RFUy9a0`OU*0-P`5J$wN=E(UN<R0{p6<~%;B?~e`M|GiPDyZ&(^dUejNXUX% zkeN^r3o;W5V&M*1P`FbXvNIVN7*g?s>?~aA6i3LSrd~3F*w37SAs!mUSXT9r63U?3 z1ro|279^BGEXYbY5DT&r4#Wb7GLD<E`M0@#hcC#1?oI7<{n1?egRz|Rxa$XSE0wd` z_eb+f#!lZ4-L4-{=iI=1f55E`P`wMPCq)>7@a~)f?ZQUxBY^S)s67G851{?iC1|k* z(gRWhT4gc|Ek97)aY1R6AiE5aUqJZ;)c*zz!ow%MKmwpWpWvZF_#zo_sbqoB$^ddZ zs1pP7pAJ;~78_)J_iZ+Y2GErJ9X5srkl*e?J2Ma91v`iZiCqv2GO`O|K}L2#ENJX< zVB6>X8$D`K7Em1qHBLY`9f&Z1&K?3)tRmnQ0=Nq^&}0^<uz>mle32)pqXF_9s4xSq zlgUJjJdhrc8qk3tjc8epyzNpbF^23Mn6pqXI)Lw(f>gQajTDgk(6>m<hc07UzyjIW zz7V=RDGFX~fLM@-0kI&1h#(eZ5D~-zM+|)PEXp*ZV)qy1iA2aIMbL!;UqJI*43G&$ zwB3rJ{M8BG9|c-Z1&JciFb9MMiU9Pck1yKXB502y57N0G8yOfF(B~FGdO+jfptW<$ zK@}=ENFnRhKs5`jXauoA{iOUd$RPzF`@u?~c0$;od_%$9B4~#jXyYizuvh`u_C#<F zL#~}bZbqML)POdTG?^G0Kz`AN@~6Uc7KjCjKoE-yyap1);s%}1!2n`G=D9#D$UGN_ z1&P$-u75zQbvk|jWc|-#=ynwd==S9SuRw#Xcto9t<N@CfaSL2dg318gaR%zSgTfLN z2Ow{QN=H!p0we~?V0Rc87>dy{7)TFD4QS5!DOv`jxO6N^Eyzhs#*Ac;;~*Fm$)K_j zR5-$ys(=JQITKts`lqEafSMT~Pk{ye48RjDpu+Y9sMhJ~IvL4E_3o}ktcXr>Tk zWhyIVmrNQf<b0KMR><1HoA9^=u^@2^VnNmpf>@BXgCG_-9-H3?z)lhR(CLbFgb-|H zE9kb7BHnIa0dTgob`>dxFK~rLbT@~#FNd`+Pq6@8L_iy~*p&ySP1{ujbkB(E4{KM6 zVzzGIADzAu&FB7Wmr5Y(;IaOMSUn4uV9<8u(RStNbo~Ms;$Zfb(Dvm4RmL!93Rs7J zDCPqt#1Du9-}jHTuRuv~cjy=RK6_?Y4rcItIb?G^m@5GrNZ{#ql?Z^jnb}nYZW6OA z2VBj|DU1vZ-M$jmzC7i@-JudlMq}5|?fM1TAUxK;v;-S10$N5)va4Yp!tRKdpuNZ4 zz8uWHJl4J<<q@QY3B>enUlB;qGap3u5<F~PSA)+5fkq0h5F|c8y20@bKSP1pRfHKF zLlD=1Baa7ed3WdscwBV5{y`f!hg^~XS@#SYJiQMti9o~Up#7dA44@@|5LwXeG!PbO zSs6qf=+qjB80ef3$l7YqIUx|S&G4ai(8(4MG0;kA$a?Gdptc~`wtsLI7b63>d=+7k zWMp7~tj<zpWMJ3_R;S0vzyMn5A;RDV7Yl>4;^BJp;9|9KRwrC`DO_v|oOJ*$dmb)! z8_s$Hmt|&xxkU)hl4F9oSr;zm2xoc0WuxI@>2Ov7T(%xA)(2<Jg3GRfi|vN9j>BcI zF~QDbc><CJk1l~~1@v0~9TNiss9**4CP1YnXd*)zsn$1V#H>L;dO#B@cbOO%p3|}h z0XYohC=doY9z>%y)+nk$K&yR0{svbvLHTKE;A#fcVE~IjR!@VfCX{wNXh7@3|NsBN zYG4Pwfa)vIkzx=*q!sWApe_-_-3*{`1JzETrPd-)@f=o$22fb$vNAM)&Kt>NWoWQx zU|`5+WoQUwU|=X<WoQ7MFH*?L&;UAfs)!YG8b&cILqjbC149WbL&FpX28L2r$k{IC ztPBmH{jL?P3=N>u#wuAE8bJGMs#qBs?lUkj)UYx%JZE5FsAFYl5M*RvXkcY%uwrCj zXl7+-aAIU&Xk}$+NMmGRXlG?;n99h&(8bEoFqe^mp@)^B;W#4$Lmw+c1E`xfk(Ht0 zHzNbXWLAa-RZyw}xtEE7VJ0g>LogEq!)%Z{nHU)6vNAL*WMW{L&&tqnj){R`2`fXx zEhYwrrK}7Mp!Bm0S{s8}JCGhKhy|&QK`btY3PuJ75R03k2Fe20#;9|N&2MCOfZJHE zH#%MKbh<w1bbZq4`l8bnblx9mY#M!;^l{fepcv?ORS4+y<p}Kc6#-Y;0llFQf?zAB zJ6-Q|gABWI%=Hgbx9^R>Ug)$Vd~J27>ziY)e;9jxAAofqbN#~rQ*+!E)WZ1>GZ=Jy zpfA$mYYphg5a>2A8Su2>OYlS`==3?rL?x(f%>d_H&<RbTrL!UoptEEkVxT*~KrIsy z2GCh39bk2!H5pl8);b0T1_%pO%HnQ6USMEg05zFGR~Ud2DX9JEgtSQe7ZU@+4jj{% z(54>6Q<;vAVTMM?%d(U6^NLI2$zHH+;OGQ0&>@OpAF|6!^U5>xQqoHEl5<i^RO|=6 z>s5?~xcd!<xcfnUMo=FLbaDxL9}1LjKxaa2Wnf@<M9UfwlsQ2e6NC{pph1HW0~dpp z;1yic<Ddnep#IcFJ=kho23TbW7V-gIQv^~38q*=rrvmvERBIvksot_OG<Y(AC&e2; zVelSWir)tJsX!YBK&2UES{=mVV)(|u!0-mVIRJFR8;Hflu#J&{;Wb!n7nH@tP{zc- z@Cqze1!ZwD#4s~3fK29QNPx1q7>+VCFn~<vW;h9DaWNRMz|@&QSzHXgz9KI{f!FKH z0i_>+>Fy8}j$S98Zm$OzQ}v*5h7_Kl9w>wbY9>GmS<nG{d%%S(Xow{XJdqD7wBcJ6 za15QodSv|D4zwO973+m=(*Ykl)$98q5L|(vj+TO^o<VcmA`GCl{On*$L38v`;GK)0 z_V`|~7~ydp<c1Wej0cU5g1iYz-=MJ&^cir_7zs!Xs3qcwNZ%MM0*X=#OEZg7i~V8C z0+1~N1v>;I_xVwl1%UeR$fKVidqJxLKyCw#e1Nor&N~IU1$5r2CIbV*Lk36-=`nP* z00VrG4a9=996&6{8K)o?<cw1g3*2(Ry3zvL4+GyAT5b!AtZvXY)e=28SD-WW2WX8Y z;>;4ru2df6GaFGxO%Jg!fSPxZjt(frK#ofUjUqzCKm)mu&JXCAQOFUBgx4N{GB+rY zKmi1bP|%1eh!2WTQ2ItMut3W`Kx#k-cs@i#D0ni63WGkysYTF{J&?mdjzY!A2>{+? zhYj^X+RUlt$%zFFq72NSX;iRoP}dW*=>vLVFT4>RoLQ9$K7$uBKnot=108G$)&w5# zVqgFjSfC9)prQyQ{)r8;(eyJLWFyH}HiiaJ0salTE(mnU6)0?Ahg&@a7i6F%C?FOj zQGr;H;~YRN$Z-xJ78ipKBLf47#m!&<Wq}hK@)8Vq`a&7%1K;NbI_zD90hHNsH`G9b zb)fhK`2~bQaSj^91Brp+9JJo70BxWTqz9x1)S<ZqihPhp=rR_H<D7(b8Sp6(r1%0= zu3+atPh|$h7jgx2l?^gzca4pq0p$Mc(5Vj45Cf!}0AfMn1;m0Z1O>4m3qe6FNF0PA zMqlCC_ye59r_IrQ5N+rjv?K;}Bbx{V=$w1dZH6KYptOiPc0j|9pqPO92sCugkJO0< zZGA?cS_J6<Z5aj4r4*p$Nb=@6uto{OS;%>iz#Iq2ZRm3xvsf4!K<=H*!q5P6^Bm|L zM<l%X1+gG80%Ad?7C|h?)FOxljuEWIuj`-Y3KoVEZs?)Rp+Dej-9YC%KaD*MiU81- zJvQ(GY3QREpyCv{<N;+5P>Kin9+W*mJ!dPl>;cjPQUfYt4!{c?$lOJ0MRICENoIbY zl~s90VhMP07qa=Vh(;ZZP!fWkK?6?cpt=n?nS<=RfVSEz0(wJsB=m;tC}^G50xy0* zEJ&b&SX>OCg_<B1H~9E55DOfrpyQJmVh@A-dkowp0kP0S3AEk};d02@Kv1RwsRe}+ zs85ML!voR-QUmfm3%quBjE~RBPfpB<FD^;R%#SZ9%FHWCi_ZrKSur@YknKURL1|Ei zfkzND4-65F_lIZ-F3B%SOb3<g{(|Ts2Xey+M$~n3o(v2PAa{8)K-S6mKtrw@9&#WS zB;-IWE`~)63=E*K;bvF{WkFVNfMg-7H$W_KXohuv=>`vJgU$&++P&B9!4lXl5Cofm zlYku*3hm3s9tNc+kSUOpdiufhZ=jS5DLO#e3c><~IC|{Bsw!9@@8bm>2FL<V@1WQL zoe^q?mWDxkKxTnjg_1Ch42<z*Y0xOi!H5iya!AmFA_G<j3xKxm1(y`1Cg#Go@|lCg z+(4)1m4L-S=5v6=d_Ym33O?}|)Gh|^!*DE0_sJ|SVE|3Sf$la3Sz!jBghP)}kh?)E zSwJxeo2LQozyLW8v;za=p9bh0+yr=xf>@9k1+gIK6M|Tf^9eyLF7OUB5DRiXA&3Qz zQH(+d+}!SU6#&h(fbMi>0FTBa<}L&}UH=?+1+TUR@7Cmi#xZE&7-*t%5@ht5fq?;J zhX@0x0fIYjLCeZPIS7P7Ap<I(KtTucFDPz7X;T+1Zb5oLYCz2t8Bo}RG%_$kV-_5* zFyp{7aDtS01r26`8dfNA2uc*7!7I@5jPXIK#icp0Lk~dl2=Xb+E|42R@rc~ivS(&! z0K1!+p#fB{IWsdffZF&j%#e1wD>J0&<px~=G!Y)ZAQmKkK`h9sN)QXOsuINFVmQjm zz;K$Cf#Cux1H%<o28P?L3=DT!85r)fGB7-2Wng&D%E0h~71B2ZZB+*?+Xn6U{lLn= z@Pn0s;Wy~4M^FjL#=yYM#=yYK#=s!L#=s!K#=s!S#=s!W#=s!Y#=xM+#=xM)#=v00 z#=v03#=zjr#=xM&IvKQm3g&qX8f5hU|NsAkBtU9G1B@UxHVl#j#r}Els2?bLeL$`v z$qr<@n6Oy_6@%Gz6Kof#Q+o@{0yV6H!L}ls1X2yvh(UqmK(4+6)(>)ZI9dAd!SzRj z^@BnS!!jfRP{`6#4J<rhP5}8E#0I$mRAzzL*f2;PD11O87;FrnkOqx!uz^>&gT_4A z7(fFq*>v|a=xRk|_oDM*{)N#Xe}L4(Xpp}_{sM_%OKBi=AaM`|g%5}iQVYY#VxUm@ z2#$ZysPiW<3sk05fI|gTqEv!epwg!b%<2GLMFnQT+=ou17li2YFn5651;QXc$WJgf zh>wmza@14<3LB6eAag-9G6tn@Q226zeF+L7Rxk@xj{XOS5GbtVz~erk`tm1O3>0dO zV0EAqtJ=XV&}dF8m<2lRuNlk&o!3|oW}RSQU}yldU?D_|4?!;D0qX+g_--%@qz~B# z=xmUW&{G-6=O7FU2@nm^19Jz6jf_F&gHjDh45k*uhGCExD4ayWt^wt$DPR_8z*HQ} za$#U#m;`2lhFB(pSs+tkCSapMu7<e?q!wfgHgzB|kQ^vvq`)SFLS{CY1=9~w1HvG6 zAR2~2=7RLW_~<l9JxE>#Y#PXqvS1b{Ey#gc;Isf{fqXk3%!1hpG96?Bx~VWeNDgGW z0$3Nw)r-L_QuQl=b%FFR2eV-Mk?jGoL2(VDLGA+C3u0r#Fn4KzO#}H_8_WXvS_jMm z`C1pu0{MD1n1!CgV6K4CFq=T8gD{8>atX{;Ffoug41>f#_M3uj0QKNDf?1$8>v}K? zl(IH}S+um@8f*i|{_S8E$o{Qh7Rdf>U=}UycLCb~vVSj_1+srPm<6(b510iDGZ@VZ zJ~j#z&u!qo52#!Q^-<XvLi4io^2_rS;5};w7X~Ya7={3bB8Gg1bcP~^M21`j1qL^U zOokkWREA=P7zSU4V1_V;U<M-w0|r9|Q-&CZFa~Fa7=}!SJceY39EMVc6oyoW7={Xl zQic++zD$M^2GAA_PlgZ%SB4-4M}`mve}*6i1qL4mPljNI5C#PXXRt^RLnuQ4Sd|L{ zXg)qZprj~18Fo{df}*X00fQ1lJVO9O2}2P>JVP==K0_Wu2}2^-_Ed%<1_cI123rON z29P=h1~mpXFq?rvl_7@#G~7x}|K&2IGUPJkGZZmYGJs;Fn4yFrg~5u!iXooCks*g6 zhasOKnIVy(gaNb;M+xl4GKNHk9EMDW6b1!`M1~@UbcRv}kU1b<fO=>kAEWydm!IOn zYatYDY!x&>qfGH7ni{%>nhN>~@xfK#U~*>2XD9^+kOG4ZI9N0oiWxE)su)rk;u%U9 zG#NA)bQug8G#L~a^cfTw;u(S&Ksu2F4%t&K45?t}qk2pO<mUL&;?yDqH3f}$Cr|fy zM;{-5XU7mvf4_J~A5V8bUst~n1ziP0O-%(`NE~V)#bPN#F#{y-K(Pgqaboafa0iE? z4}%YbKZ7$k&3H2SGx$M8LGpeKz6`Dme&F<@%b)=E2*@k8V6UR5fTGmQypq(Sf}+%t z_~gXm5}VS@ypn>FqWBU8Ejx%G3QCGJqje2qL5@WCN3g43h^L>c4}%gz5ko3CE<y2H z#83d{mw;1aA_FM6Y#2(R@&(XzTEd{fpv7Rv0P<S^R16}g$q)^Wf>;Ix28g@k8Swi) z80u$F20sQ@29SG@qYE4th#X_102Tm64md@?EXS5{Y``f1rUDizN({)x8!2chfYMri znnqcEW{QHACMfyA?NHE#*avq2gA#)g*zXGPgqP2d#-PDa#*h!q1zO<b2T7iYoDH*H zfdLe=2ysk@qdE|`Q@{@O^Y@Dn4R#HR5B7|5MF|n&ErjKzcm_Xcf(&H<MM@Aj|9CP) zF@Q`)4mDUo45LANbs$5g>(B~h^ePghLl$0qzeQ6Gk_BNsd&jV%(!7$)+|>BgqN4mF z$T@i+DF#t+^Aya45->YJ)hS2_R53_^Re`#mufcYJ#6cKjGQ4si*;Gi=7-VV_im4!z zL0A*+GgffZ8BsBX6lJESD3s(YfVMU(Bq|hxH#{p8<QJ7Flw>59D3m7_D<tL=r6#6S zg4O7O%tOJEaKpKA8D3hPip%W0{1S!A)Dj$Kr^3w^L^C@mH90l2EHy<TF;4*;6$<4U zsd)+|MU|O(>2MDrc?Z+srf|c>Ni{q<C%-rqIj}HIFNB*ei)Ol8VrC8`&~x)sGSe!N z%~1#n305dBNh~QX#x$}PZlp36BTI`?74q{?3<E_QrZJsxV>F2~ro1S#Bo)&fU${B? z#F>+pQ(ByXX^tb@98==VNhwOq%)>MXl)pH@CV+BWEI6mZI#I9`3sRE|mI38~OfU<i zS`o~GsnWA|4E4(|0nO_>pw0R_KpLII<@N-ysi1tx33eBf`C&Qv>6yu7mLh3zbJt+a z?;v0Dfo%l&Eg!5JTS%0GWk4Yz4Q7E<V}=AM7(i*Zv?!IL&?o}i0SXO%u-jmv0i!{# zW&+EA+))iyjm_1KU>T6B@x`Abq|gF6o+4M*fo%i1ni=dim}_A)$kifX8IY^n!K$&j zx)&@1ay7oNb_NwJ)ClY@uyr73i-H{ob1sYqIa>`Z19J9cuxf11o(YyA<m_-z2|*2K zPXk*Aa<)3yaWLn?XpplNz%n3b&j+i<=Io_l8A8quN=;0mhN~BWZ3DSl5$raYYhg6V z)jD7qkgHdNRbzAYMz9PaSG$3VQEE7Q9oRaMvvt9agE<#QgPd&ymH|0?J6JU~XYU2e z5OTH)sMMy0vv+~513B9m>^PWnVKm6uQeYX7vk!w+V{`UNunZw*2ZaPv!_mjUmVq2C z4R#v!`p0DqsSL>sCE)%s0|PP-)E6jaNMa~vNM<Nv$YcQZgcQJCRZu?()IU%Fk38ft zq=S3T!6k`#DTzfX3eMWv3O<=hMTte3sl^KZr6mgaX$nD!dFiPPN({l^aezFA6mY*9 z)W3FS&}PsEk1}L3B!Nu?*#;WLP+;%}k4}JWO=D1C2x3TNfY^rGn*jCZAU%3y_k;R( zdEov`Izt{qD!4D7%#Z=LR|h->0_q1AGl2XF8xa8Y`Vrk`(3k-}Q|uTN80^3!3Hb~K z;Jz_v6al15fgze9mVtpm31@hLMiHnNixuD=EhyYT;lscHT?7+ir%;lguaJ|Um(Gxx zSC*KQnW9i!QUq$_7UUOaf);5oK>2WW)N>RlFw?;a3pBKp!H~<q0Pb)j53b}fl!Av~ z6c`G?T}{vc3uur5Qzgg@kPIS-LBn1k?}CPHKuG}ReFX+|wV+6b41DD?<T4b12YWz? z4K!HBz<?v+dO`!tu_(PXH#M(><izXAkjH@RS4WJ2B;?*F$On)_3>x174V-~ooDLqa z01cmk<l`}XW`iRkqniP7hYd8Dl!CK7a>56x&jg1JC`>@3PL<#!UCaQo0g`DT$sLyD z;~7BXR<O{-j4#j-07MoPPp|@pda0`dJRk=f*n^ecs5GbqhxBeigY6vPo&rn-Xs8;* z2C3mjkzwFN<uWiZz&hiQ<~v9m0|UfhP??NsFhmwYf((Z=w?PgNK`|FLjt){Ijv@or zD+Lw;)kX;Cz}$?@IS^|=&Ox;XY#5XPSp^wG069kiYy(t^0oggqC^BFbYG5JaoddB3 z<Q!CMz=lBykaHjnWRP=oz&1doz*lL2*dR6fC^8^XFg5}UgPa5jD^OjG2rHO>u!R-G zQjp_NEd?73B|sKKn!zB)S%B?=N})K;8bt=Cg24_f400SK<cN11#8QysP%VWU&A<Sj z9fvezK#p?(+Xa({HC8|#a7U4WsbKH|3zOqGh@~LMp;`(z8tOPm;}GPy0I*#!d1S{0 zqsYKiFoc1H$#ERSQjp_NErlBmbsVH)4RTxz*e;knvg6`WWMC>7lEA_s$B~-mAeMq0 zhiWO@XsF{L{aldaGQf7h<dGehjUoe6!H@?Q204z@GzYO1<TzAI;YLFp2Wf|b99IIi z3nq{3xN;O3m<om}urN7}gIEf39IB;oqoIz2^rJwI1D*Z{T2=*7f$X?uuqz<qNMsvW zm>kDJECo3Z)lwwG!MPREH3d1Y2W%Hi9@%mIC^9e=43ogZ<TwsuDadiCmhK04B48FA z0P{fRgO<}pGB7ZNGw=$^f!qpKLY<8cc?J2PnLY4w9?<n++zcRhfmmD&4$1ks1$vn& zm!er2K}*1x864756HD|A3??!%G(bf3Qi@WOOUgivJqA!c$jrzOqQEYM5qc@9Nu}v3 z!5}`U{AXrd(Z;|4Iz$a50>Mx<pj98>a-5kl0V07!>J_CVmVkB+LyuTtW(4h00x7uH z;t$>t%fO%#>~3OWVhWm31TQmXX3#51tte5+%>$_eErwubY~Y00zQ#!qw7-;r0jdVH z&;)cx5Ca1<<3#Wl4F-m84(`_=oiH^Jb3jL*F*AaWRRP71!?MV3(Ag{u3{YQyeF~~t zm>EGEi$S)6%wPxY*MZsvF^3a$I~4(QKud+08D*G2*Ghs+VPN3IFb8x@8Z#qksV+#x zo);S*VY&xY@h~%LFe1$1#xMtTj}jqsK>IJ489}>3VE*F8FbA}%o|zG}%?{+UtE`q- z!UvR)nHf(ofi5foxtf82AITg@T!7ZFGc$sgR)fMhAbq+!vKmMjg6@K0W^87F#N3yo z8ecH|4%+{~%xHmRmk@?spk*1Tb|I^Q*acc9%ghMcx&}(e!Ezg}VcG>c+?SaVw8a}1 zKB7o=LCgWg6d`j!`H-2h0V%%3G0Xw2-6WI_rNC+I1(G?E80LWXb1^f5mP3GIqIsVD z3QT{27OOBbS|FJtjbRRGcL_5iDCL99DG4|>AJZJrt{`Sc&@yCL_{d_I16pLu%s3r- z-Jp(jStO=8paoLQjG!YeKxqtQpFD;+pk)xujG#kgK{@tc(UEdYb3k2wNIC?ievmne zNajG&At(hhGlD~jfq`M3_V+MkHIO(}0f#f_fCEtFaa4EXX-vC7J1v<RU68_11<5Xm zIiNjG%#7C<Ao*fykwz7!IiTGt%#1xu3=A+gt09>KaWiO15yH(=g800U)j;e5Z9ZgX z1TDG)<*)PBOm8vm0`2f)X0$<avnG;V5OY8$n=vysLi6CxOGh4KngiPW$jn&6$iM)K z3s5*~W0(WVS<H-}YkffOx%T~OJ*GLJIU-0o1~W$&!yHh(K*$_W6~W91+UEu{M<2r+ z(9v|vjG)R5)Nb*ZSY3<h9?-&mX2u*Oe;Hz!1M(3wqdO>tFfcG|-^<#CX%6U6Gl;)n z`N9~(9MHxdW=7DF2_QEs@t?y|{(!b*Ff-0Ta*rv7IiO=Xm>IpH?uma=9)#&0&;oa6 zMh~QTH^(psv;l~j5wuwsl;#auIh`@h0o}8QT5eckm;>7Q%ghM#ci0Q<bWC$Vr4wr2 zvBogR7UUyF(1Kf#S+7}7VW|s1wKg-O50bxZG0XvN5@se~4rtJUnb85s9D59NK$k!< zGdhD@#lXPe$iL|_roTX&A($Cukj!z!Fb8Y`Bk1@HP`<ccc4;1_IiMwMkn{{I51ld0 z0ml>pb3oU`p_=20VGcMYGlI4@gWPknaqc2a_kc<jNPNNE<BnktXu~}-0dqh%5kle% zW{xL@IpCDc2x?J)$`z;gp=&VR16nf6%qW2r&fXa2fPBQv2u_WlUAOm=u(Vr1m%1@C z1|XT^i(!sGD8>oYgP>H(%m_M)0hCrj?)Jwp2V9#FFb8zlC^I8y^AF6NKn!z04N_)C zaA-3yFnsxPWHM&>fSTUSjG(LIVCDp4m;*|I%#5H0F{tGlt<b#z)0{A{-!+&KbyFyk zIgq*ubZ-HoZUWV($Z8;U3TUS?Gb5<A0BUQg1;4Vwv<uWLVrB$gd<S!L1d?44b3n(B zGBbi=4OE7&JF*tMg$uQ<4!ZXfQij9KiNY`^2JA0TXoJ$c;UmUkO!t5$7f{162E&{< zusNXe8x-d!E5A>}GzYYAo|*9j1EQ@ShhYw=e?+Lv1a+2B(^vwAIiRC>m>EH}JSd#a zHm8bWx(Bq6oSE?fl6#Uc%mG~x32E1XdMt^L7hq}sfND}^Mh9k4TOZ_m28I+Qb0BFW z4IDn88WR*>ujVDsMOFieQ_vL$h<wVe_E{Oz&7fl_Ams)uPScU>f|vt3m4KNMY#IXt zL(GTRr<mqsf!zbD2VrrRiD6DQSPi&!$H2f4rp|Z((;U#n+o<J6HikK%xfnwJ0(E3j z>(g8eb3mJe5&r7w>^8%659sb>W=0dFc0xXeIfX>{s|c(HxqVoOVGd}BfsnsIn`2P( zPBDf#pmP<N8Ns2%z`!6RFzpPczskVw0hI}`_$tLP2Xys0Gb8@^0;NV~#tfu#z8u3G z(86qHMo^0sly@ANnsPDSQw4U93X(aM80LUlbj*yP9w;bR<cPWcz%-`@Yz_~SIn@~E zfR0aNW(4&dLGIx^rm+XpoI0>M$m0OD80OT2)!_G616U2{&^K8As>d(~)FU9|FVHv; zGvgnmvZWEj98m9`kiS4%y;1A;W(;#$!EVOyuQsq6P`-fqs};i>(1DPI`~}+Lh1#xb z$1tZ8Y#09c0$mP|n%_Gy%;^T31M(dx%^NG~pTvy!9<UlvIR<M-bz_(Vx|Ezy|Gf`v z&J(2g>cudpAFKxdH~?sqEo!@^AHy8bC>$a8Oaj}5TvtxSFb8y?93gW+M-D>jFIc=! z#xQ3p*e?A3ng&(_8VrS*GZn)e(8vZM_kfNXMQsC2$1n$Uz&{~#Kqqyenllr_oY`PE z<M$V6^BprI=<r9Fzh+~YGZ$<QxWxrJ!0`u*I%YZqosf<i&T}!$0S(I%@)zg;R%S-z zaGsB04roxAkU5}@>Zom`g&5{62K!5$5pu9-ZudS0On)r_tJ%TIzyKQE1C`^8k<0<r zCJYRqGi@OKWl&g8eYjd4Sq-F30y@fp(AXg8rg>&Y(BYAwemBUjWk_~G%mH1ZM97?# zU^gS1vjW2$&=ow)jGz%GP@QtI@P-Sf-&cdp0o9c-_pHJ&2Q&)D%m^x_LG3yXp`YfM z=Bx#q(}FZky9UV|NEm_+f<zssMOFjxJLtGj$T$fot$w~|W`k)L=-3fv#s(z2)??TO zIv^g^E@U+jyFeEsGc$rlLO|hT$S&E8X&2~-U`QDb3!hC$c0tV90`@z8b3g~vp_;P= z!yM3|8qAEKRuIVVyC=%ZVY+8K*seWDe&2><4kVmG=dU3A9wnC-jjRUZ=AB@3K%-<J zzu*09lYwa$=sFA3@$j8Uc0tSmU1AJrAA-y|zPI59ra61Sb|KF@?8Y!>FIWwzH3jlJ z_IL;7U1r8PNPgdoWDdmd`@!abMtwnjJ<z-ZvKok+L0ga^c^TwpwyyIsm~K7@HV0Ja zg4_ejrw5Sif|zp%tOhjl2{H%!oC4?)VaS*a%$!3Q<{TlyoTFeh$Zho_80LVES0ywD zbR29Ba@l(f!yM4YY-UE#j0wo!^DaFO#tfg6U~`biE>2*Wa|)~mR;FT~+d2(aBY@O4 zK80b<8L%4s?l}uqgWMK9gJI4&uo_S+5i|z!_S8=-V@>D5YCv;;AT=QWpF=VSlEy%@ zV~8=3w(^h)WHpeq0XpWGnGw{R1C^NtU;NxK!|)Q=t}~3Fc|nj(3=9`B?79qA1Dn6- z;ai)6tOjD&6|fqR-$8Q<|C*j)8Oyy2Rs))M0L}1$Y`cPC7ii`JQEt4{t>8gc1F`Em z*c|XkHE5N<I}t2lcmu2k97-UI7#J9?BiRKp=O$PUXjB}OPv@>k?!gS7TVORHf5Gz3 zO$>8D$F(yv;&%_|;t6I(a413Da~s2)yI{NUy9aa>KWe+>E`~XvW336f2Q(Uk>Yn=; z<~$_AJ&(X@kn{3G409fX)!+{wP>%rBJ&!TWc?vcMfA~BDt3h_pQw(!J$9)qDA5f{n z%m^-ppz-w_!yM4LlFW?w-SZ0Uo-auKotGHqfJQ_Kxd$}T3z-v#wE<pZnDZ8F7k>A= z1FJz!&u=lz0bM#k$UUGQ6RLaOW0(V4c|s_BKnEzH_TN8ZnDZIzX8h>~6vC+P`HW!> z=zuXo?g1Uki|U@Q80LH@!ablFYSi@n9mAZTU~}-t7wB+c)cpPv!<^q>b3kL=prm>) z=K4#_atsvX%#5H=f|X;xG0gc3HU~8G3o>W7Z_Qmyb3oTnpqld+!yM3gPt1&<87@$p zM8M#N2&Orp9LmgyT<8ABFozLz#2q7k_b`FgAp46EJQIk#ZigAH1~l3aD(B~~(mjRg z9u}|~kb6L5ARzxkM#quOVFjxJ^*}-WuPPH?EMxd=U^Ov}i1`av4EL~u)!<Lh9AGuz zRvE}K3=9nH80K(-)!;V=bXf>9BgiyZymMlh!%c)appiq=@{k+D99|;K;RCAynFezY zFNQgwHDJt)pcN6I^mAawyyckj1&S%ioC~Zx<i{`vbe#hsbA-U|nE)c8;Vg(@jxb1; zfO|kAnUL{bn0tgV%n=2f1DfFi`F$c|f&!+$#K3B9AhpLtk<5X#{lvj)VC^wb+Yea{ zq-_J5sU+lg(DgCQjG(b)n42Y#?1Gph1-1)+Tu6h}fNg|^p%jKWpc!gH?vVwX1Fm_Y z=Ez`}BL`N4KMdu;YQ7+ap&XJqkT3*|M4`5yk<~!_t_U^<zu%R>YQUu{)Xj=Wc0tTh z2CD&$Yk}f@vWu$@X1s%Aff015C#=n{jARbP&7ezuP~D8I24a^Q*e?9x0~(2ftnq-^ zrG{Y_XoMftE@U+jyEMUe;SV1zuo`f07aBgANOnQY(FUu*Zw_ds4KrwB47|P*WRy0B zIl4rc1G*jw)f`<6bM%QY2Q-p^YK}gJIfg`-V+2+M9xVZRih+T_5W^f}up0c~1DbI_ zb&oNIIi^IIV+K|O9xZ{o#}vaH&=p98@-k?pAF6xIG0XwoSVqVk&{aIB=2&8wV-0pQ zXpSCKzaQ*Axf3&gfkrJL>q%f~-WtgqNdB?~n}b}gBCCO<RXea6&?q8kMeM6TCwVdL zvInbK!N>r<Odb@Bb{KYnR{kLJ7ibLwvKok8j$m^@?I@7HZm(VCiD?(;iXzB(IIP{` zh-4SU9A~gO_|p$)RUtDYcoY%jU<L*TXAE;(i7>|vtOhwfyJDE*4pswdLxHSX@#Fjq zOn-q!y->&1-7(DZ1e*iuVS&aR+Am(mvd$B92^uqF0uuuRXtgWIK2IcbAo1=EHU~6@ z1}dLlR=<CUtOgQ>pcP-tjG*=yXvJ{vjm}M&ZuSM616s=mn<Mi<vI}C4A6N~j%?4`Q z<SnqW#5BhrtOk@~LGA&$*$=}U&<Y}EM(|2A1_lP(`4+91<^+PxK^_AMz%VBWtOmb1 z!C*DW<^*Aw69QI)-<(je8f0@qFw6m6RY%BQ;TYzGVVDyER)gO?kzh68kv&i#GcYhj zV3-pHR)gQ1Xs{Y&e??)K1L_eF@>eX_9Ax*zV3-pJR)gO?piBNx`@(S;=73f>5OPl< z*e+y$C19A71XhFJJ;`7-$Zdcm40Av$#|XJ66>JVD55n53DH!H}u4*G>PCAA;X&B~! zXQROD^g#KYZRSND%>0!JHfISl1Ni=DP!h^OG6zz&WP#Oy!Ut47zx9fpjI0JyCS-%v zfM!ELyCdwb%u2zu3skBwGxi|$E3=X8f|!#_ggKyVADJ2FAeobkVNO2Sob8MZ;QJna z{CVq*>7D|xnhGXF9hZ+`P9azgXvPGzw({FC;Z#g>ioj|>p$#kR3Ng$n2CD(h@_@?u zFQ=b4V44G38P3eufwUf}7{i=WusN`~NZS{7%$Vksfz^QeGBEd)Vwh77Rs&k~2U63& zFn=4SIiMXJkp3V@4Jd7tW0+G3HV2g7K|4$m-yZVCG^Yxz1{B(`I;9fBoNBNdK_&(U z(9VY&0luFw%>mESGTvZj0N=g?a!)mqIgqppx(F1}CfSwfY=o=^lE&)5c7ZN#1g#iu zK3t`VX;(d1%?zk}Kz7w3*#$8Nv@?a75xkO|fq}t+Pv|<PIgMa*KrLHX7&c&-(*#xn zS`7<oBMGJ#ufsH_8LS4>gMgXSgkeq#SPd*~Tt0eWKc+dYU^SqTBA7WX80NHr)qrN| zL232(fh}0djdrjakd3f7ZNo4Jl#-bl@tXs>u9cY)bfqxNoDK|gy1;hfZ~JwF)qr}$ zFn@Jnm;)+#2({IFG0f?~FsBc!2ETjy!D>J~ESP)xFw6mu*bo?#nTTP|1PpT~fz{xj z*P9Gh18O0|+%pNo98fF}ny&<19}4M%z|5I~Va_zLUHIKI9jpe_!hxAH4Z|GJ4h}-@ znTcV}3=DH-fz{x5&up+7<nWn=VGgLqA><y=wW_G$GY7+*d0@NnyJtRF4RZL*!!Tz7 zSPg!27J}6vo3jAJoJC+Y_|x-Zuo}<^7%aXPVVJW7tOmb1pi7xi*90!XFlQMN<}3%R zK`sxMVVDEzy%NgrD>2Mjfnm-nuo}?16i_|j`7DSHvs_&bRs)*hf`!j240G0i)qrM) zLF>a8mRR{<nzI(H22``a%vpnB&N{FfSUJB-WjmHN!0W+kki%ykhB+I+YGCGIZ%b?h zt3ftr1BN-9z-sWDvl*-g*_=%n=76s0My#{C>3AB;T>n-KbGBfZ1G<8ekU5~1A?kXP zZ5Zb40NaH>J?{joL9TapV3-5C2$N7c+zmDdIed0un6n402E5adfq|hY^(L0|vlpxe zIiK#qFlQfF4SsX>gVi9Lvk$`@(9ToHz7o(lz*M7bHO%yU5Nr-;rVN&z4`7&c2&@J) z_J!M=!(cVY<{ZK>=LlF0EFDg}w~`6dJx9T6ko|Q8!<=JaH869E%46Iy%{dNMgKW+* z40Avu;fQpI-JFvc=A6JV=M-2C{`fi#R)d@lPhpq?S|P*Ch~J#EU~`b$EoU&yIR{n) zTD1ilhqRe~3d>yNd9WH#2!Q$ppmOsZhB+6&YCx-nL1|-l^c-2taJ~pu1L|3W>;jo{ z0mGb2U^SpsTcEyY6mt)jx#P=VHJ}n0)Q1I`a|y$oD_}LCRgoZbJdR%Yhv}ZHU^U3& zT30a4xdv7P+7%0G&!19wqk(D8b+8)H3<b<R*D%Zh&7d(e;y33e*c?zggqd>#!<<`S zHTccB4OWBfo?95^+yScr#T6+0u<ud53swVKBLq`-2g96uU^Os#?B?7Dt3j?$?_rn& zzF!i)Z_9W0M|R9`eh4-PlrLc6^8mw~M_@Iu{a@J4c??#A96paQ%y|M<gWsH|U^Srp z1#{0640E1=)xh>>G{|I3!t~d3uo}=DG|Zf580LUZJV5Nt!EVk=usNWy0+=~3FwA)c zRs(Yn8^h*!O!vG7t3eLuR~Y8J0jmM6#s}r){EPds>=AnlRs$Ldfu)Z(80NeKs{x&C z0IDyn1B9@Y8}GqtKr`$xbKYT?16rNP%m`b@7j*ITDolTU1e=3g?|i^8=Mz{BXlEa2 zjp9T9%tB0aK7-YON*IveLHXwsk~xsE3(#yYV(bDmCyuNJGUo6VY!0Zd1eGn==ZU_7 z)qr}JFuT5D*!3N(26>(cSq;RlA7C}09o(RB=48$Mi0QANU^SqX1F&%Zfn*oNoL^uy zu=FFxv%(3}oZnzIpc!PCIlnN>`2$vi-<-c-HOTF#KN#lx1FOMr&VR5P<Z+vS80LVE zrekIVouU8=pRJ`oHe&jV5p+2y${HaC&|%OhXW%e_)!;XW8LS4BPhsK1gkcT~SPjga z`6=&TW4ebGtOk@%Vdk)4n8OBE1KP0&Dih}DOvJLMj~%QARD;9P7#or~ko3#}Rs&08 zpf$J1Y9MKY6RZX_mjucapC>Brz;rVgSPgQW!ii)T#2jw08c@FqWX=xp756aB;Q^}w zt*V9jog2d(Ua%Ti8J;iq^#P_id|)-mX`UCu9DcAG{N@ON)qv`5n0xp!%mIyvBE}r_ zA2wl`BNGCfgIre%VwfWgRs$O=z;2ERSPk+zG+_*LM8Rr6`!qpm{*gj9D`xnJfz=?F znW7lxh=bMOH%9`j22{tv!bcp#97(Vm(7F`Re98@VM=ay~QeZX6d07&}9BHr`P#+&; z&J5XGwwV3`oj`@U-cK6C99ghA;8PSB7#N-{RKzkjDhE~rD(gV`3zS}EG0c$%s{!Q; zP&l`?dto_WLIJD>G^+~>A9)OO6v1jhW8I(=VIF@k!jhhqz-mBa-7s?$G0ag0s{zfU zf%4dk!!=m;o2!7;B(Na%wkso<11S?!!D?W8+t>VUnt-eZl9$!MYCvHKa!;RoNegCN zsDssjR`7z<fWlA>$u5XF;M=Z2hZHb?>gAq)30U@9X@boGwKrgKp@CtJ7FZ4FR3cDZ z+)&%=i0K|}uo~p@SqsA)9k3cuoPyHW?C*Y9=E!uxYLL^s4u&~;U^Sq$3OZ=+O<PY5 zrhD|kYCtRGVd0~PVU7V<4JbZA=A;BIz|w9p1gim+39#@nz%a)MtOj&C4X91>!9Ng7 z8D$JsgWP^L!Z61KtOhg>0tz2)VdFeZf0=^SAlL6EU~@nz0AxFeW?)bNRm}_x44~7~ zP(@%XjPEeQ)PUwSQPqG_9!TUKTn%Xd2}lHlL1}=20km%!#6#Exnj=IN0o7QjBA_xF zRRpyD6;%YZ+6+|$l*3U)Kr^7IBA_vDR1r|G7*zz+c7%vP!j*vmR4bs0fYJo2h!4cW zU_l5o8$vO#!o#N>D#8pGSq2qxgp2Hlis&)HLjEpPBnhtO7gPiks+o+fEHHP1EoWe0 zh|f*UO)dbPIRFxYnIjHLE+7H$o>Y*U;#AOC3Lqhv8a1dI1Gw!jP!W(Sh_%sB5pKAe zI;e;{+=YEm5rnR_P!S`ru6Wp0&I}9;CSVbe%3V-33GkHp7AgXgh1kvvO};<icIiSz zWZ~w7Lq*=f)igpyKEOp*K}8TIUxbSMh1>oSD)JjHA_Ofatl{Q>ZXp1faSkpL2UWue z7pa4a{D+&f1S;YQR|C2X8Dx$fTm*D=Ge{%@E}{)8pcxn#R>4IwpduIGA`_t^EpU-F zP!W(>kT5)jA@UAGL<m}t<-^U<gNoF_MZBRRoNy7)oh%@GoZ%uZP&Mpu5zy@%AT=p) zkt0wwko3G3BRzvuKZdF~0S`k4=(4h7a1qeC*C4eF@RR_$r3fVQ3~m?b3|f$gAY9E1 zs5zo=krz;rLvWLIq0RRPaC0)DBER4wE1)90aC2TlMRvo@kq1>H3=9kh;JRX<B8T82 zGod0faFO#+kv(t`b?7wkKDbCdRAfEeuE$W3HE<D6&_YHA1_n{Mu31o#Y`Dlbs7M=J zBoH*c&A`C011@p^Dsl=gA`Kb}WME)e1Q(eB6<Goo5rqyRbiqYtLPdJuBC??6BcKxj z;35m5BFEq&zn~%~;3C1$3hW46WHnS|5?mw%w77?Xfnf?<<S$fY7F=XCbP#q9TqF|I z^k!gS;D?J`f{I*(hpHsByKoLJk^vPdgzGv06;XzZu!D~OWME);0~d*cipay$&laeN zB3wiOy1i8yF0vUa@(FH^Gw7HQ&<TrhH5Z{GU*T%xpi3mR;A%3UB9d^CZBP*nxCjgA zh)@OwhH|($VNj83xX5CtNE2M-9aLluT*MaC*=1m0xC9sJhKgK+i(G?>+=7cJf({mC zU|`^di#S3>T;U>dP!VppNF!7v4KA_>Dgr5O-e4_l4nx(j!sGOt3<Cq`BpZZ?pezFe zXcQbFq9e<|09tK_5J>_ZbjrZMzzGk-7LW+|j9yrsyBMSkMTAL?fgynzbfy<fjj9|2 z!vz$P7&!(82Nq;C=Ru7&He?YYdB~O52=`2sXJA;sj;v-cXdw{?vdAlW28IL_5pe|u zh65-f777du3Y^HgqCv;3GB7Zx!F}2Y6}bry!xc~wO?X_Khl*T>tN8;J34p6n2Mu9@ zifjf2hD=5lXipj}04IW=YF@(4DTRs{!p)fh6?qO<a}X*L0ax<^DgsFxTv+Ym2OR{< zz`*bpZjKpL#29W)EL7w*Tum2LBnqx(D^vtxmjG6~9zfOHg`2|xI&6S}fk7K?jsaBU zHe5{{R3r$lrVA<pu}ciAUE82)KElnp0~Ilao5KW}=4D`Dcn?>j2Nj8dtBHV$K<tvi zYF86f%~!ZNE1@FhaC0s|MLxsT{Dq3d!PRJhj^+ZV0#Mpe!fIDARLxJgIn_`ROSn0U zp(5YmYA!-W65wk7LPa3{(!gq$CaC+%z`*bnZcZRnL?3QWB~;`wT+MQ*NElqrWvB?m zE<LPv{fDY~2scL^G#Sglz@Q5^#~&(kAFierDiQ)$vl1!-vC9OjU00!M&cMz21Qj_2 z7ZHVS-(-T90QOLk7jV1Mpd!L>HC<2<ak$7WsK^nx$?~A%hZz_c9>L9thKl@wi_C(G z@Waiy4Hel7H^&Av(8$2RAP3jg1r^DKi#&#kbihTdK~upD3=F&ABFmv7XW%0Lp(4xR zB9)+Hj2RdhR=`C*Lq+=FA|;@W2n-Ai6W}6Wp&}dLB7UF&cm@WBO>mLrP?0Tgk^fMU zZE%rr&@dJQ1H(GF$U3OV0eEOUfr==?)kuK`#TghFrolxHLq%r5MRGugxPZ>KhKopn zrc4<a7#6@qPC!Kj;UbQpp)3XlhAVK}3!oxua5eLwB0BIGJP#F-hKsO(4nJmKVDN$K zGKGp1!$mTnA`Nhng;0?zaFNSUksELkR?y~b&{=_S7urEZ=E6lHpdz4a&mcXi%}|k5 za5em(fhz_E24T3#*-()ca5ZP4BFo?+hM?uK3=9n0;35m5B7Sgl{z646;Ue*%qn8;N z7$o2#TcILb;N}Q|2Eah+2QHEi72$`AT!D(jz(t}!hcSan61Ye!RAfF}<TF%cHe93! zbRaIMwF4Ik1PymFFfc5Hi%f-zNWw*;K!-7dc0I#I<UvO-GcYjJ!$p#yB1v$OMyN<G zT;u{&gaw{jl%a!Gui)WR3>A3-7r6ly`3Dzq0Byr!0G-YSYkl2;itxhiQUgu*F)%Q+ z!bO%qML>6zLDGf+=)h(M1_n#Gn#E8NQMiab=)h+13GOhvI-w%2a5X2PA}VkZF3^H( z1_tnz-VnQtp&~osYUV;kq~QK~3l&)mS2G24%rgT6gE3rW4^+e-E^-el;tUs&10DR# z09t_#bMpkKh$37K1L)vq1_p*WxQHTD#1k$8S}z2ux+CBsr=V)4!bSK&heI<kFwBID zgg`|m!$oF7MVjFvpP?eMa1le$k;V)R483rXFsMi&Tx1Vaq!TWZ4mwhrfq`K<Tx1he zq#Q1i4LVYqfq}sqF7gX1q6QZU1|2EQz`!sOE>Z*)0bQI3iNW1a5kt5dCg=dGBV0rc zD$)oS34w~_!$ta_BJFUI?@*CaxJVvoVw{12p&KsJ3l;H&i=2mwNW(?GLPhl9A~K-k zt3i9x;3Dx*5qr4EBB)3dTtpQ#bj`rP5C|7>hl&KlMGiwnyx}76p(5^Z5q;31*9;5{ zp>UC{P!V&u$V;e5I$Xp6bTBgm14AWTBp)hb3Kuy973qhIJcNp5!$s^tM`bfGFx0|D zrb0zB;UdSOBGqt_k5Ca%TMH8J9H8U0LD>MVMj1oI5<|oTLnItSBn?GG#m5g^SAqMm zpjmqc6(2uvEeJY)6nx$VNCaHtf=;-Eh=3ec1vST(QGtP(L9e(X1$McP8F-cfblxmT z-Am^8(0X6R$IlSdZ~&bw2wnvTG8tUQfcndD5pZ1v+J6iY0hzHpgn<DxEaMHf3uF$c zxdEC_1MdI@nFBT%G&>C!0h<FlRR|&iGUp!D%@A`yBGRBE$wB*1U?zj>V31G2`+Pwr zgTn`OdL>*092y{BKtw?1xQ8+@fVv@BFmnt+o(9cQf_64BgUm4mxfwL~0v7?h5VSuP zE&>h>&^mgE2*~7qs0$$`gGBCzLP7%}q8-Kn9`@YG0E!Ecn%STO02mk;5F&!%5H;)I zYMMdEsDoOAaFO3o5pkF=;C=`1Py_h_oHjsbRl-HUp#h3PxCmGmDE)x<!oYQbPHcsX zfOUaF6(Rz1a|Gzfb_NE9%W(IshKgK(i?D$XabaL!PzAdXq$@I#0et6_Dih4_9H0qp zkQ%ti-YAIQ5o(H}A!l(SMAShCw1ZB!hnsvDD#8IbCl+)-I|Bp5cet8uP?1`=2!9*{ z1L#~I(AXDbnj$TZfdO>l0z?FqdO=M#(4J$^zAZLT_!xpB9<<vME@A`<AkZ2jkO(;a z7=cn0sA5NmfN~RPT?Rx16dHR$$HRk0`QRb;B#warvSSGpJ}N$b;8X`X2>>+N02$!t zjAvi~b?Vu`x?pNRb37n5VB0}XX7B-zH8C)NMZmEf0T%(;UJ?)4T?R1+B=R(#fdSME zfQZ2SeuNb?Mg%p-5R~Q4pooC{{sKh=l<c0sML;H}Brq_5nsyMAK_V{`Kvx}u?s0<p z6kH~BfXB6<c7cMKVFI!U*k5ztA|P`>cZ7jXNk^E>ngmHd`@!J@Qd0yv_MU-(0U`1f zDxv^R39xb%l)}NgGC{En@&p4Y@4!Vs9tDpU!bQNL3d%d+{a<ihpu7VY0qX*p3=sjj z$37Y2!fS9BRwXkqfX+h&^{v411@=4WghJ5FDkR=FgAV3rU|>M#`T`Zv0Q&-DvR(?r zWD&T@#h|1585kH4BKuMxc@T7+GbGKcf)?~KFfbrQCZ$5mL5TcMh2%kmNKP6=%?`L- zFF?ongJv1vB3bDWHG*)F+n@vZ!SmJ7cn60es6zp2q=Nkp4tY>R7cK%0Lr~)ZA_DSh zPzI>}1)Z`BH3wW`gH{uO&+i4r1vo{4)-J(Cz_|&uA`Bt|GKUp(EdT?|9FWMqOo*G8 z!rfe+1@SvV#2_0Ih7b{0`mq6>!vH#!3uHUo7oes;*k5p8z(v4*2i3ix0bH;eurAQK zxo{D%E>Mbsh=5%95_AOt1E>@L`5h#Zn!~^VN(`XZJJ=ks-$5srg9byvr54yOknx}< zGFT0W!vJzKTm)<vsNoF}0hxRsbd>=E1A_)UG+c5)tzZTQP}>-64meanr{{tOvk-QH zG=k46hld7erW!5+whPpffs4Rh2<k$BO@_M=E&|pCav?+n<ih2kD+0hbCc;9)GLL}) zbOJi4RS7o75Tp%s9xAAMW@FF;H-A*X%XG}a?H^EU0A$vuS5uZkP7wj|PJ#*+1_lPO z8Wdfi+vS)UL4!e{7T}wQ-<LzqpaALmo(D-kU^O5C27TzF3Wx}@?Uop}L(UZeY0H4> z0;@r>-3qJ=6gZ&#D<f$W3)!U((ls?7l2*ZLKmrW+pyohCkZrdHn}h5N$ce`wZ5jm- zUx3ws1Q=$5E|CEBl0dpp++zb0K?x1WDa{~l+=UQxz-mAO40WK3CKwnPAR@@_u?3rh z92bz2vOwBCL3M%EpxADQp$l@}DM(iU=)wvH1_rPi6kYZhy3T=5v;*l{0@VdpgQCj; zLl@*sCy*`%&@xg`>lCC0MVBK;1bpKjXfZ;+wT=;FB^XFoNHL@&0jmKCFtC8K3FrnX zkS-K+oIoPrU9=#DptK5EH4Wlzh3W#ULDA)mp$oD$6{IT&bjb#&)B>qN(d7aXL9q+6 zY8s^LEmRj+4T>&Tur5&E1Jzl7Ii|jb>`4ddaxY_G01d)`)qn&T7M4NEaD>R8GSDqC z3=9a7$Z|+}Mu=<%UFg98Q-hp-+`zVj&Ta)wn_C-7fi~-dZDL^HtzcjPopS?L0~Rx_ z0F`PC3<#093I+yHVTKUttboK0LS$nF0|ThXfe?|cgt!nP(pAa80Lm-~5w0poE<lKM zS1~Yvh6@lP;-I6f8DQ=~_Ln=@UsazZu88%wGoCWF<01Q>)s6$%3b14IPb91pNL z$oUI$iW*2;BUBey4N9DPf^~szAOf{74}NR=06F6qr0Y%%1EdB4sR0QvNYq05R$yIV zk<eO5_#i~4fUYiKU|@iVAiK~DWDZKIgPdaqGUx(S7g!C73%$X*ki!RZn<q#YcO4{r zz-mAO41u6aQ5YB)AR@@NgVujBGlE(kAfH~~nsFC$8xcs`j5<hK1*-uGfQB}~G(-g1 z9A6CgKu%K!DbK8jxCg8TB*5?tbO8$k0|P_^*&II%b09aOg0!VHK+FNF0SPc%168IB z3=9wvWOMw%=D_?VQgxyeauWean`a}$Utl#L0fxVzi(D8O7$73Z<^+Jv0d@00<yb)2 z{;P`cGILWC0|Tf=0;>U=qu&gPcZA5=W{6z~5nWJIhk=0sB7$sJAckF#8!bUbuWEtV z1y%zRU=V19*o6=&Z-v-}5P1N)G6ghd1u_{W{RDwT7?J%2xuFbXv|Ag*F0dMq0K?5T zh+PPg+;)gv2oYvbr+|Th0V0BYmvJ!IF3<uUP~8nSkO5Ryf>_f!7{K=!gVZoFAnOVN z>jI6cfYkl8W{2Jd3F57V+67X>#Gsc{46TP47(&6ipbMcuO2MlJA&eVPT_826c7=g; zLA%ooT#CL65Ni{Kpo>94YEX5BgLQ#>y`Z^er3uiR2tc--h3W#SLDdxj)&*UT!|);P zBXplHNLM=OG91t;PvE_+$e|Gl)&=T`g4BJvoCdx52*jHW)df<6YF89k7c4Xq*Jy1= z_$vU^2xVYk0I5OM6%Ez}3yqaumc=4;)k1ZF)S&8$0qX)S<^Z{A7e^fQj295k0#rSM zZXm<(S1ec;s1*%Tr&zi97s9SNP+cH3sCLDHbwQVxF_=w!4!!plWQG*zk{{3*K89WK zU|rCq2@H`cqE`@hIYD)S)S%i0I+=}`5w!dTWO~W9rVfOzqflKSHK@80!FGXK?I2zI zLz@2}bP0j37-C>x0I5OMl?2uWbK#R?pmXFwt!<DQFQB?WYEX40gLQ%0`yh4P2fCrB z{eXDkpsR`)7#KimP<5q%bwQg@4DWLu8Y5gd9jXhY231!oSQpG+ExfDr5W1p3T{Z>= z29O$5U1?xlpmT{qZc6q10Nw8Z;?05T0;xgOl@8VgT~Nia@QEgL2PjBaBIxQQ1_lO@ z8dO~wU|pb+AEYkfQ3Ukf3J`B5R2N7Ms;*41F3<=lNS&UO@iBzI5<yomF)%QI)S&9h z0_y^`dqBE;rfxSu=voKW1yX~m3$(%-a&rwxSHQ0m76@InpsSo17#KimP<7>i?E>BU z2hzpCQ6`VjwFjyTqy|-2E?5`#vbTN;r0fN$LDiK9)&;8ZKz2P=*bUup1>(&BH3b<M z7(i-Jb>)L~VYll()Gm-3NQ(XiH3wuS6N4UTbY2D02`K=Z16oi8+PRQ$Dja&NEJ!6U z=!z-^1_qECCX^bj5UdNd01jmS(}l00_xONxX+w2^)S%i`1lI+!>r?2S5JadJLUn=E zpxRXo*M(_UH&ho$4Qlw5fOTOHpOaG|aRE|;s;d;N3zoYRvv(RGT=))Z7f21Nt}?JL z>~?8RgV+U9gQ}|>tP5VF^_hAh?D7I_<p-^z#3)xmXRI+ZVz;XeY8OZis$G>}yI}r0 zv6f>t!mia&yFhACbyb0NVYllk)Gm-3R9)3zU7)raC^cMin+v`B1H|J7T~@}xzyMN% zs;dU93%gye(;;C9QiH0i7OV@ph=<{&M?nL^Uzt$5Kx$BR)q!<kw`(!fE|3~jUG-pH zu)3-J4(P02P>KZk>jcy;kQ!87pgW;(#TU~Ih`&H;P<1te?Sj?s9e&fH=N^FU(g0oN z#=yV;QiH0i39JjdzmlPLfz+VtY6k0q*;SDJ7rL(vWLGEDE|3~jU7&llaQW*9)Gm-3 zR9&qocI|xp9m%d&P`f~CP)mR|urAP&ZdiCDVp$b*Z5;yx14s?3F3?UIX7D}EpqB8b zEhnI7(}Dcu4%G!xgIY#)fb9ackw9fs{9+z|gk4!sT_826c6EYvVJ{E+pt?Y6Q0?jh z>jH&5$gX!5auEo-9zb=0)S%kc4c3L-u0K#+AT_AEdceA{hoK$lAOQvj29O$5UA=H! zm|>U#)df<6>aRYqF3=)5kiRA^%#%d;s~f5dqz2Wley}d={@M)H1yX~mYXVpoc7O4L zt|A1jor9F3NTae7;kq#WWen8?QiJNRNnl+tf4y9K87cKfL3M%Dpt^7}SQmDGH9>WO z)S&8`0@j7yUw5FoKx$BRO@-^i^cOQ|l8AwU0i*`iU(>+4K+6+B@umApydM!?+E85} zHK=w?2kXM_uMns%kQ!87puMq>T#1>NH$ZiP)S&8`3APIq8kqjN4%G!xgX*tYU|leO zHT1jjA^i0pstcqB)vnoKUD*Al0lJiufq?;}22~g64me!?YJutksX^5>7i<@Hf31S* z0;xgu*F3N;SUNO4_Zzw!7gVxcgz5sRLA7f>SQmDG{e<cQsX^7X0IUn-Ld^IIhITSQ zYEX48gzLhLuPUf6kQ!8fEduL;#n;Wh)-w_DwFs&Uqz2Wl#b907{dF3u3#0~B*AlQU z?EX>*T^Y*2zyMN%s%t4+7pA}bpt?Y6Q2hnk!3jAn3Y5PhO+BDH;z99M2Gs>pgKF1u zuwB^wH6N-Aqy|;j3a~Eh{`w8o1yX~m3v|90B=utYO96B_Dgy%pNDZpLR)OsTwZ1_9 zs`(r=9T8t{P+cH3sCKOe>%#7@T&OOP8q}7<8n7<V7#b+l(o^0*PwNHojzV>T)S&8G z3)Tgig9NF2&eD%G{!<US(3OFK0i*_1*E+B+*f{nx-NpihzYIZFyn@!rK<bntP*)0M zHUq<YurBCQ8;16i%}AwaAygMg4XRxmz`CH-8^hefA6y8#j6u`L3=9k)HK@8af^~sf z4j{Xim~Hut(DebT3#0~B*Cwzo=z<uA&{eI_Q*A+JM1htffYtzG_-iv*7j)Yj!!3>H z=MZ*@f{vtRU|;~LLA7fOSQm6t8H0uD(Mp6a52!AX8dP0d!MZ@H7v!b|@pIY`x~ibM zKx$BRZ3F9qE_Pu^jh?p}p=$|L7f21NuI*r5pi&fM*WUQFP=u~{(8ak73=AMOsJeE5 zbwL-?Gvq{BKu>G~nehm!3#0~B*G{l5SUO~qT8`Ax%LiS+%fP?@QiG~%7g!f`s{=#Q zgeTAwIY4&FgO;3ub{t^D*KV*bSZLgrnGC&e3#2O!stcqB)h^Ket&p2FK<a7^d8Z>n zLt!OIjDZ29236Nyuw9_mGDt=2u_;KS2e+WQKx$BR?E~wArNfqB&On4+L7*#w85kHq zYGAq`LlvN1?~r@aF>4}T(51nk6*x$t0nv2;Y!@g+fy$_P46C3ge1hDo3e^QtgKF17 zurAOn4M-PAEy9J?P+cH3sJae;b-_wD_p+N-2wj0tT_826x(<VNfySsY{Z#<f1yX~m z>j+pE%wM(as?d|5KyK}V>H?`j)pZoC3$*1J)2>BOT_826x{iT$!TgmV{AV}9U%Q~X zKx$BR9S7^e?yuWWT_826x=w&~VfWW}s4kEiR9z>*y0H685Oi5I0|Ns{4XUnFU|rb# zr47{uQiH1NG*}mQfB8Xmfz+VtIs?`P^Vehc{ysz)mOyoZ)S&7*3)ThNN)4))L2--F zH3O;(qy|;jIj}C6zdUw5dW_Ju2dWFC236O2urBQWdI{A9QiH1N0$3Mze+ht=oG~yk zfYhMsx(L>V-Cw3qT_826x-NlrVfR-QR2N7Ms;<jmUD*BA0o4UkgR1KaSQmDGt%vFY zsX^6s6|4)pzpg-afz+Vtx(3#T-CsYUx<G1BbzKMR!tO71(3M1>TW&GR!y8~-*!|@P z)df<6YS&G$F6{mSov{x}nIJW&x^97WVfWVzs9hj6sJd>0bz%3{F{mz(8dP0(z`C&e z>jhL7NDZnk(77qhjM)9f0lN5|fq?;}236NRuwB^wr2*9iQiH1NK3Erae+5Eyfz+Vt zdH~ji-CyNUT_826x*mdcVfWW;s4kEiR9%n2y0H6eKU5b;4XUokU|rb#^#-a7qy|;j z6R<Aq{t^T&AZK7;0I5OM^%SfNyT44Jx<G1Bbv*;?!tSqds4kEiR9(-(y0H7J8LA7U z236M!urBQWS_#z!QiH1NC0G}Bf1QQu0;xgO^$M&DyT3j{b%E5N>Us^<h239rpk<Z} z3=AMOsJh;Obz%3HD^wRq4XUoUU|rb#l?BxWQiG}sbjBJpBX)oFLv?}FfOM54t9bf? zo09Lrc7f*6FxzZ<p}N3o81#xtl2t+=x<261bp@&mtOiuXF}#L~fH<JOaB5O%x(ax| z&PT90pczA0%PJ3in%2LK3=H=6Mh=mV0ge%#4p9vD_Qnp8ju8Ql5g<-{d}?k%No9O` zPJU8iPJBvgPHIW21Cj!`YOr3s%0VjP<1=#$;^X5p^U4x)GE?FU5{nXZQ%h2d80^c6 z3i9If3sUpqlk;<P3-XIfK=yb9IJtOvgqwh6gI$B-0~~`qLn0j<;{8DG0}B_Ymc$p8 z6oZv}z(tdDQWJ}?isu)nqS}Gbl$KLkoDrXyS5R6KpH!NbmRf{nDnvnkX$ejhDMg8y zdGYvE6s0Dn#3z;|X67U&<)p?ZXCxLSCYPiZL46S5=n4udNPrNbHo!5oBr`X)EHTHy z0q*<qqRbL3MmvFxhQxxsy+OQBesXqZi9>Noii1O-qpJfbBw(_J7_t#j3=qlq`1s<I zl=#$&<kW(a%zRLk6;$GqOGzy*Dax;8u(vmWYe3i-=;Q)&G*&rBr!WIUu%GM=(X@s- zx;jKeG1!-9B$ha!%Q?9QIJtmi?c?3i<s4n%2|eBwrzF&yxv9Ci`DLjL@$vCF`N@en zAYW(Z#}^c3=9Q$y=Y#!TjPQ42a#2ZqW`0t9T4`P~gMDsdg@e6HUTJP>QD$;{PG)Xq zNwI?m#OuM19$*K;avmhVL9GRcZe~6>k>=;cm%&aNi-$Aga~SOHRpR5zKsJ^o#ut|) z7L~-8r50tTRmLY4rI+TW=9R>kR2HN<fC3nlVUZ%wxv0b?DLp6^l*z&w?342gDjn=q zK<O~Pq$m;ON*9<b0~}pI$jJqqBtd~eoXW)F;>`3s{AxYHF^^wmgrlR2BRGjb!p1({ z1yrcT=cX1HC#I)DoCzwgoZ`a`z;3iRh<DD<D@n}EOD&2oD9W#>geU?fZ*Y(!%O@ok zry3feDKJDb0Gon%|DuA7#Ju>#oE!(-N+Y0_d6uLWC6?qD#bYzd-XI>QyrWYnEcKh< zRORRhQiP<`5T{abeu;NX$uB5zz^N!Az$p~dPe$NO81J51lANE1Q#UBvVbu%@30R=z zrsA<2tk5kpCnr7+5+|T)$rV%}x;nth9{c!+BvAR8larqeQv?cYSo(;_NzF?y$%s!a zD#|Z{D+oYILlOC<CGq)b@kNPwC}{|sAmbfDMkkiQ6Bnq!@PyPi@h+)}XtJQH(i58U za`MwNlaXx(B|3=J_V$JtvamwT-T*@iq!Fq3i+9IR5sFfh;gvS9SAn`ZzsLcawLunu zg4-UKB*OL-grBh+6cOMEDIcJ=q&i?%2UC`tSP@^GS%qDhldC7lUD(vXN~bU^#zSH{ z*wNF`2~8T3ctQS*4=+kA0A<_!WCt`w;2IEO1}J1O41rWbNd6<*ESRTJLXl|Q@SsHs z4<a=?xq61i`(@@hAO%2hNl|8AdOWDD5NfXyADo$6kdq3oCyHSS0}%+IXo&Z%EGQ{* z0I4NGYk(uT`Xxs*s1N~bwl^fvQb_rR?p|<|Ie<M2@c^h8hWQwGB7lbiF0W8#F2a`v z2wzfWq@$|?j#LXy`p}rC*bWtyKu5G-gX9h5_@dYraMA;p!_X?6dZ7fWE9~Rlic(W) zWVCN3q}4$^Cp$U@I3ic95c7>72_C62LOmNHf#jZAl9+>(_bH85M@LXTBvc4P{Y72N zom?HANV7a1G<8Z<&xax62X6t42mtE30Tc!#y1@z5gNdh7+2QCI67N(|0_tnPj3g!; zd@G@C1(+tvlOec;5l>}<LBR_%xG1%ls!0c8u6t@pd|GBvaS6z5=ltA)qSWHzRM03& zW)ZlGBb2qktsLT$fQo?uydESq?+%bdL6JaWJ}*v9&d*C3kRT;KD!>&YDE<e?wV-e% z&9&h60G$&lxJCpucajo|Gn3<s!7V-qmr$&O8)&T<BL{d|r<O6`wi2`tAMXer5s5D< zbFf#T%y|)Da}A-*dP7Q$1N%0ypdb~T2`F=#qhpw%kppC4rzo``Covh+$)k#yppG5X z&$KZa(ut?8*+^L?IX|zsBt8>58U*Tp!s;`;l_0ptb}(`<aC8C%EoiJXDK$M4G_*!p zu-b!~@h~Tl?JQ8aM2&<)J=cJ<J%xD;-aUi1JSYii%<&8=m{ycpoLW>ydESCd`NTVC zz(-*zah#)TgeN5L$2&vDlqoh1l-}cA^FggCO3eZr<zAFuPGRD3bdC3e4F`r~rhuBW z6gn;54?KPt4;s3p&~Z+#kgi)qQ6i;91k@;dgQC(r&;%3CaZN1ph>=Y!lF$J*XvJtB z?~X+c>gXl`1qR@0z~I!P%*31k@Wdg=3S2XXpmbo5T??o*vp2+Q8b}H>JL!N;HUghr znZ@8~O)MInT;u&f<|gOl7pG#8cZ5VHcrFjCv<G;^hl11x3JW~O2RONcW(4hV&q87g z4UYgva<qY~01Es<u1g)!=1)oUEXA%yw;nRXj4}m{Es(+49HJI=t{JCdY!lNs6~pG# zaVkJeuj5owlv-GtS(IArUyz!InS34L<%?quD99_ZD+A?ZP#&>2#H$QZ;NVpTG7V|6 zEZ!ZjYScoAXr%^z`6YxrgHs8@BRG{{cmk(NR1XlP%mCzax5Uhx(jx3d61clyZ-`eJ z!V`FvVR!_uYE;h<t<=C7RJs!3BmC+RUc#>q!%z5?qk4*XwFW^U!9@58pDKip@TtP^ z4?e}Hz9CknK~QR93NfC+rwqwA_>^IK2cK#*{}8LxARM&%h6o?wSBLNtesvgr!mk|F zQ^cz^a04xlBEnbr)ggR^Umb?8@GD3474d2fTtMr!i0~DDbqHVKSBK#%{K`>%MZ8*+ zNqtw$fi3V5I%rjj1Ck`c8GnS@2+*1gP~#D55U3{#W#$(lnF&*dG<%Jy46}y}SA%uN zAL<N<uP|r)U6CieagB(hm;s3tl<`1U2gs}@)FmMQ;hc6yHw)%z;%5BOb;E-eDa?qp z8rzJ2SZXq8@e$Y`;5mY@)MW5dB<LKtE1I_<<4s5;p1=VQ@lwSCPzw*T?glX_OAUj; ztz@*xUh0{PG}B8BLrIwCrG|Bouz^prQo~66lSHtTj+ozs%q~-IGiY`K->eU&&G4C3 z$}M+vbp#KkLQTRtnoCm$fP4=cXePk{zLoHKM5r!`3J6fjbp_{Psu~RPSfC@!;G9Ir z#3!{KOg(c^-3u8OkEg10L33L$6Y(ZAZ~+b~x<RpmTuu|O3$)ymyjfgWY6m-l_>@Wf zbTiBXL`gD04h6+Hi3JaN6Sy!RQxv4cM+GR=fa8CFTnh?U(p(Ep<D^VCQz1klLm>wC zDrMkCmII!)6euf#2l+wnBu+Uf4xsZ-L}<WlL=&&c-jPTzI6}9k#5<LOracJT;0c~A z0d*AOT_D>)9Eh>X)6o^w3^o93gwC-LWf`PR1D!`9LI-RNQpMf?v}J@S$AO|Uz{v&d zID3`c%sdBANLM7%(b37%(a94k1D#S2aCD_`P6yn;FfeooaCC(j4O%k_+csceXyg!D zl$e*2pBtZ;oSa%*44-3;FG);?xXcB#jmpu<B@|=bKgOyD(5hQnnN1^iBMs=%$Oh1Y z3(!6bP<jMc!O#_P6wT>_i*jgU!n*4M(gU@3M=Tqpf_+Y|ph+X>+*>@Tz)S=$C!?N^ zoLnOiYZXAn9c+;S6<iP9^+o+SK#YA*-)vCofp263l{Aj75fm2*;L-p*{ReKjgU51Q zpo13nD)FItnR%HdnTa`>RjDcQDXD3Rr8%I*gW#<-paBYES}oud3MoNATdW*iJ&Eh! z8GyG7*{eYJY8B*X=9Q!tIjE>OJ3)7!fQ)l;32=%Jhg6Cx;GJdoO^0fQxCcT;I)cI$ zpI2a-3>+LCLk(dLOUo}RPb^9SEyAH-!V%dGVdSpD0y!)U?l61MG9TpKEznkqib@!% z3lyO`A&w-zErr|&cL<I5&r6Lj$w<wMFH0=SOiam42JJ2^jxTXAMBi-y8!@wo#U;wX z5-c9TNeU8eX!7U*fhG;sNJcQASPTjVXhDay9|Tiu<Uo8dfKniuTcHKF3Px-~%^!^3 zz*&?)x9>UxIJ$t6Ag%#bsMjFL4b*85a0KZ9Z75esOi2N)RL)O>?J)vv>vM5*1aG&q zR{_@xMWx9lAUi-q31nCV(H6yEk22_rC>k-hPk<8?vU4$&7&(ATC#Wf)F<>Y&zsLbo zHL8KwcWj`WhjU;TukmnK<FN!K94NFV0*^iRD)t8W3Sg9C2wwss&c~o)++GEze_*yD zav-SjO?<53F4SPz0GBiII0}~*)C7YykYWBnWDy*Og@TsG(#j2>A}-Vj<`!5_4!V1m z_{azQ7gX~*x*FiG>S56ctFQ4VF_fZ*=1B}@8!R~N4M4>e`AH0^(FW>w#V040IDobc zLqp5n5nu1lz`@Z8w80--%!2l97neW^QYVn32zP+N1vR`c3vI9ElsG^-vXF8n(lOo- z)T>3b)<C^1Xf;aa!eOxIz<nP_7kqsmP;Zn<Hi3py>{VdPyQ$YJM`}}mb1A(04QgG& zx;}VY8{oijFmx~oaC9{UcQIitXUP6^kXylOpm_%o5ukQ{az<)$c4`W!KLCrb0MOQO z(2jY~84-v?<p|AIk&Z+pDo2=pXVAKJNTQ;`NCtRVCluQLh6fdRqym<qkdrahY=o?* zgQZqf`@#})z>}dkgD{|^2%IflkpnP3I5{yVu_(TvqzKg?1|V}F12v%d0rkT`9kBQ` z$hiito^Vq@fkAYa${-YvjgV9W4OYxb44isksROO0=js3|L=asNm?3CwS`;Hd6#|+( zYV#dt2%256vJ-3=Xt)g15GRC7U{x-t9f{N@!n!5^#pGbe2=J5~qEH4EvPccmct>0< z(olO9P-iv0C^07<oShRv=Uw=z7&tmOz-lA7=fEvom|s8~cq<e~qZaNUiu{0N3oM9m zv<i^VVZdr7E`4B6K@tpRVB*pQ8ll9LgJo-2s9~x=vJBEQ#8d)GU5M^GIAXv>5~fP9 zVbInP{@});7vgIONx9!aIVIE>76x=}IuR}}kV{$;8w~i1a9CVBI-w1XL&_<5J0rfJ zC^ZGNDkUeixY!{A66ok{k5GFRs5Gdc@-#%Q{vd||fvZU)P_YX!0lA*U-+F?%C$qRD zF)uk4WCYyBpwijE(GlEbvsZ!TG_=A9)}sYCq(DUg#6(024RCaU<X5B;3_}w{1-KCh zvj<n|L^cMO8gL$fxCm1TEG;6Oh^Yo_0D2}O*yY91g8^p&c<&(v9@L1jK+x<2yut*Z zMg?jB6FE@?YV0_<fZ9%wptlc#CLnmS0sAHpwAljGjD@IzCPCQHBubTxlE9$O1*a~I zq(M^RG6FU0p~ruLQmB)Qfuo}bQAVJS=E6cKz|ocD&KDxINb7;chvvZ>nuv%C0FB{7 zM{%G-&hZ1{x}a3J>mY4kaGXavf-;sXm;g1R!5J(b)|zvHN4mXZXuMy3UNP<los$bf zKO{1c{fW|wftm^{iAWD{0&YP`zu=M&)C2{kEsztT{swJGGJyCSF~*L_@vfjF)$oiK zp!fk&kbt#-0}xh1fksvc4#a@n12qA=%fZ<Kx6_HqABgG(+6)9WEuqK8*&{c_z@9)V zL9w=pP&|*>0sxJ32RMRF!Uzuh4G!WAhJ+GET)~Y-T3rjOp+GT-+Z||%9ikW<;)6n* z<DEgB#^92~<m|A-qGAUN28a0g;?(5QqRf)YcyLyVPtMQJ&P;VMVTg}+uBZsfD9SH) zg`M~4V8IZNFvqpH0Lt~u%Pet9ECwBz2(l$OqqHO?zdR3gexh?lg&XLsPmjdBl$_Ke zV}|(n)Qk)WN5$Trz?plfiitiBFFw9BuRJp^1#})`PHKsYy*;s7RSYm32<k|KrrE%& zXVDG~L~$PlXY64(n0&LqK0xz61*RFIg$L3Y5IAXqT5+(^4ib;pLhrAFI&0wL{?J^H zJTprhJHcUwoGhv7OHexqrKX^ZKXKTK;ZvlMHj2X*eAFmfFj6qj3K}P*fsx>lfh>eT z$-bZ^3siP3Y}Aq5Nn%(n3OQbbS|g6ghe}`+JcHiJ;1rBjLJWRKgNo51=V&9;vVV}B zKZ25ZA&agl%f8?(-LSe0He^iVXg+vlGK$Nnc`gZx!PGo!BR)Pku_QS|#h!|Wf-@=& zj0I&S<VptTxeahn;XK*_>_jB9@EnN%9?_;CePL_Z(9}9~zk&AJV?TW!+eUtHUZB9c zphFq3)GeR`oUt8%Pa`J`a2TK+@i5Tgf$ALeumQKSsj+DVy;%?HIAcrwG`0}Kf1s8w zRs4soO-j_1J9t?UqEsSf0|D4KXblKZ01|Dl3R-0jYV8uI8N<7vrL0aaprx$D830{0 zkCFUAONhu=eGd)_q(a+Xg;p!>vACE<R)PJ59=){kmkOu`rJH5w=?<xD4Ib=*Pok69 z(t`Dkz$2j8E-wI2cwj~$UF`?QD@t0m2hCW3@(u-+E2v`(+7tqAlYo2epz$dOoZ||h z3`^U!=a~M4b;&>@yj1A^8W<uc4~h~FV!;h&;us3+gur2qk$s0icw;YjhJwREW!R7m zarEJK738UZnlG|KG<E1|FF1ps6uQX1rrv@F9Nwdv1z7ws@N<yJo*r=5Ktl*L&6Amz zmQUP#5|V0SXN4GGHAM;N<~9<hlfVOLNEYJ1r3o~=gHTNVqz$@rDKaTF1K}i4j{`P9 z25xuIZuSQj(n!rUn%PJ*FM_8UkmjAyn`pG~ByKxVyb0<JLswW+9IntFB5FFJuzgDl zGr>WFnE63+FI5gxN6o&lb`2F8zlKIsYy4uH`+=syq2OTTBs>VGBM>QS(9K66oJQ>l z353a1oIJp&!l-z#czk?GQDst2esVT6<x|();3<#d%3SJBrhwMt(8gp_j7AE!(Rk3A zC+MvpJTot7A&hedh5_211cw(+RnWmpL`tLS%n5qhqqSwoh1$T)(m?aVKsaCk0|0eS z1U=^I92gjmK@J#j+nXx$7ihzVX!A4BbU=ISP&@}}j#9;QSlf-n%~OC@{G%6fq|DJU zU{oxiKqSR(L;+8dP8G;752AP^d2$CyD`>Eog4rEd@*&$8lw?7xDG>CGPRltY6b~VF zXDJ%QCT;cu7Af?$9mVUQ6hYfr2+UZe$7~C#Ct<y)p)l_OOBO?6)&sqfO4ku(%!GwJ zqD+TzboAyly?u{VG11j(jE28GiuF_*YR4bJ)U*a~Oj6S#Tv0|fJFvygfX@hEiO9j= zCd^nL46Z^+A_MLq6(a_F`*`zI_+}$;8^_Ga0VM3~5O3h*?BMF}@8am=>f;camz|ei zo@Z|gS8lK3=;**;AMamKl9``Z99)uLl$f6CU~gz|A0MBSpPZNzUtE%snIB(Jl$lqO z7M~AM=ip%JU=r``2(`q}&DX)p&(R~m)5+NZWTXp-ur~&iMj$c(L==IDd=QZiBEZ~4 z5Gxl%*qee#HxQ8tB62`PDu^fs5%yqnd_l}$5D^9<z$~zY0f=h|BEZH#RD;zxg9IUb zu(^34elje43|*WZ0{s0wy`3EW!A|!CNr!+4R}c{dA{;>kSj->90*gVM>jUD0wSb)h zRs)d%TZ>Q*))NX+4Gs#hLa+sppi*&m0?C0e%w+~nt`0uFem;)Qp3V;O;C-0+c_oRN zd8tJp8$cRd{OnD^9*5~Mba8j^aCh-`bqa6?`^H|y8SIdFkjY@1OF%4e(1XR2L0oX0 zfWrkW3yu>+Sb^gJtOI1PqoY0Cu`Yff-4Ic*J7Cs9gzQzE-N6cAG&pLY3c=~lKHk|O z-q76HFTlgoH^2ktWN;z?$3G<MA&C^C*v;3$-O=CI+0VxbtQ-=4Ln5g;`8)V|yZL$r zID%ac_8U0BQ^27F@dKCyM~x#$6dVd*0vt);=mN(NSR*)UK+50=z}elw%g@Kn$<N&n zYzZtz5Ybr%QV%u)Y%Ev;;s9{;fMvk34bG&cAl2af3APK7NMHto<YBfOSi1XoIXk-h z1b`DPC>3B&rq0d|?%rNLJ|3RFD6Rzi8!efFOrd_FGjQ^A@bGo^^7r-jbBK4&FU>0f zS>)ntuL8<d_A1VvpyQ<DOYBvgy+AyBOG7Zz)ZWnEG(NZr+24k)o({e~{!Wh2;tv)! zVDEtQA2{;BVTlxi;PAFr0oe)iAaZU3+o<B`2u>s5C<0pujsvi%;OGZCNCl+V8C(Y0 zTY_8#E(PII5KACpU^ZAgxU>Qr33DsR_h6IUVX<lG?Cjv<@8;#^<^suTV8?(hhNKs8 zQiYWAU_-%K5$r^8A_6BbFah>Gp`>fz;^N@$<nHe7?G7rtoISy1UTHD3xN`?N(AhKI z$<saF(Z|Q%*)hb^-!I<L2ku-CR|jVoUne(zZ%8Es_n8VLbii&zOI%<vaJ+y$2X;I- z@q=uG1P3Tc;XH6KgEfK6YcLmF#(~AaITl<cfC+Hv4~~AY1h~ux>i|oD%T9<km=_FO zJste~y*ymKoV^^1QbA|y6crSumc%C~7MFk$N@-?Z3FrtVa9VZtwpVfS2c?ww0GJ7e zUj7cQ-ag)*t{wp>IScG5u=l{J36ToHVqn<<kWaxZuoyU^!R|xE95|4`5+K)r)Putg z%}B68U{zq#z-EBC@L==?X@$5R9LV5MiHCW@z{$tK-`U&O)yv-xT#$ec7eds0F244r zh_r!RH@Lbw1h{xOdbqftrU0-Du*E#sXW-O{2oP}EMfeCD7GQtCTo28!h|Gk|WN^5E zgA2(3Xk`pD2)%ZM``^XM!QIEr%g4{z)xij)+S%LQ6jU7Lr-7ooEI%^^Dheu`Od)Xr zDz*^8VhS_N(8JNe&oRK=*8|$Xfn^JDvk7DjI0hgw0`?Qw)!+aC7Z70ggTp8d5^Ip$ z1g=KF!eFJ45&^8=UImmg!KQkFbwEX-;RY&SL1h+L6lct!hab#42F`vCPCg!9&W=8i zqya4;ETL&48M%!FvJo6CelYEZ?w$@V9$xMNZhoF9`GaVOAo&Pf+CoAQr*=wG7-~p? zy<nb`pPreFe7P{Vsh?Ls>7~y`o=%{~yg8Q3gTXe~$D5Z_7No|5R*X3~K!t(~>>b0f z=m4L1;2dIaACFswJ<h9=VW*25g1a_g6X5+7$Uz}!=3~g(+Z&*Xffj$Gnrn{thEk{p zK^-U;7YBb2H&<ULM_-4KqRiA3d()D9dsEQ$#`dO(_NK+)o0RQM3-XIf>`hBD5=$U4 zh4TVYWV4+eyuDrh9Q_>qk<BhGPQ_ugJtSY7<Gs)m*#Z{_S6_cOM-Oi|hoIEt)XXxF z`x8N3z@no3B74*FjMO}P(~_df%)E4v#~^OUf3+sE`K}Hgj;>xl?p}VRn2+zWOC-~s zy&RmJ9GzV}e0&{1mkxs54hs9+{FKbJO7x%)3JHd|9`6mANX9$)IRv<QdHK7$`Gbuw zElRaF&Cf$O7c`$~Zvx8q5aaP*0*P$Czk{ELyRT<}uQNXL!87H^7T~{+5!C{x07rLk zZx?TT7Jx54Mz#R|)rc4t_&PfWxZtw@d|5Kgg829lPh)$>P@L%>bVf>uBYq{&q64=f zs6_xib@ul7uNa11h=EkxU=*^bwuNDlx3@RI5Jf9=U;%?S?;-*RzcN?=;Z=p|>`($~ z?d=I)XN(kBFz?_kM-kq^uMFlLysFT=LqM&)y#Zbokl2A-RALC)s{l#1_=`S-e+a09 zc?iEUG#?RCY;RA*{mfXR2!Dx%@Dl-bFhAi}hUO<iitX)*xBwW7pYRs)2ruDR2J;bK zRcIa}pw`}=@D0sayo0~YNBD<;I+%y>D?{@UA;tFgMBHYK#ZUOF8HAq*sDt?lzcMsG z5mIb#PsCluSp0;q<$~}LUR5yv;8TR=8~jQ^Nshn;=SV)WhmNCqI(WD_`MUVIf%`$= zu^Y%(4rHtx+^H=BwR*svJnm<#S7gGU4*T_5mZEw~Q|9_s;j7r|Xfh&ePEvG;ZG z@o;zcaCU->qk?;)U~9phE$~PK*v(+)LL3Qp5V%j71o9G?3swzQ19m-P)B>UfYy?;f z*hC~jNIw|de+6p?hX{B80USzTr+{n$Hy1%&2xnIZe>Y!GcSm1ehv1ULyp+VE6nj%= zdlhFNFgEqcOe#t&%1kY`H}x+qu{X_6vo{S&gy}bQb9eA`3h;DuLmkrv58{Cxhj0P7 z9}eb%od)JYoDLp{0$T^_eS@ubbc9HON2|br01h3nPJ|g?39zTY!3NO+9>O9NIzezB zczHVncssi}diX(xrNAbEoeps!(oiCS=!6cJf~^LJIoK$$8^NIu76ZE$Vlp_Iz)_t6 ziW7vlK#Rp39l<i-gbS7d8wMtzJuT4ugp<F6uWLYnhd*S72sVI1X##=F%zzvP4<<Kn z2WKZ=S2tHLuOXHz4V+vY{C%7po%~(B9U!asK*LfY;6XmqlKgyo)13S~a16nGYvAPR z;OrLQ<K*b?;gFeEmY4$?)+#P30(V6V@{2P;bCSs6W8mcI;N|A$>F?v{?Eq7V)oepI ze+NHzPj4?*N6=uhqvH@N-<-W2T>S&wJw1IOi2$6o!O0q&HNfdK2NWz|38YjGRs+r$ zU}-P`$*thB4V+%VdcX?7xeuIC!1*0yAS`AKo&6nL+<iQ~{X8I}WC&dZoB&pcW-{2p zU@@=@Ahv<CC72182D=EHI>0VMag2+vgSU&Tx4Uluq^bgEPq2Al{a`B*`XL?$3xd^v z%>ye0TLczExC3k!k`}Nz;4%TM23*a70}r7YY&5u>1P3tKd}Q|;ID0y{`2~2mIXe?B z?LA@19yALNt(g5C+`T+K{9Jrc=f(!Iv<HvRgTn?-{KHd^ucL#Li>r@|n+I|8MhKsQ z;|UzVV9US>0z9;eh!U^_INHEb36=%x0CT~y0X78@Vc?hqi-AfcP*j0U1IHd%RWaP< z&h8FAu3paG&Q1`QgAE4Th{xY>6TudtB^j{2U|YcM11kZGfpo#`b@O)c4RH1J_H%{g zw;@tm1(~1?vqFcCf{f9`EkI+-K}J|b4ILfq4ICX@9UZVrn_vv9z%9X$fm(w@9AOa- z1twUAvf-9tk%L-?QwCunP9-LIhbZ8d<5dN91`%oy4kALa3I5RtxZCh6gF22FMF`gs zquK<24-f7<{K}xtBSsOzdBmtT!QZKdI}g7ysPl+Xgm4})s!ec?&ca=WQw7vf1mqF! zA)wF%@317?Ie1k;okWBhgtLfHY=W=f4R;wnMNo$kR)TOBVYMcBhoBJdN=-}w&6<=J zr8;12PJ}s(uo@(n5ms!1f4C3sHvGz<jw419!gYjHL(X7_9lEYpRFbUX=^F(-iye0O zI#@UaER1x-JNR&S1}=RgBU1$=U}$1yY+ztvY-EBYsGy)=XkcJwW~QKEWNKt;1eQwR z@?jKZaM@!VUJ=5;(8K@%dMQPz$t7i}5FP_V4Fdy13^R-erMUzc^ioojO4C(>p&|?) zbQu_KFf%ZmFocL~Wnf@%U=VPEstbXLGB6}CFfiP*fbk$SL|tM@B7_SjIT#oitSlKA zoGigy21c-X1_$(tQcx70VPatLfvSP11ljB0pjVPwQKFKY2NOHP#lRq8!@%&w4I(m& zfq_ARAs_)=9V-I^!wVmX8W^b{5Rd@%2i(7J7#JAd`Y<ru^o6Jb>2nYeaDteZk_i!I zU;sId+mC_4#SbFF1hN;4c{dms7$W=_7!3R&>QK!?_=Agqfg#DCfguN~4iqlf-1min zfuYQwfgvjZVjepv{NV0Gm}kSlz_1~Jf#D5Q9SaWkX)rP{hy*e)*aYD>4`fVJ5Cg*{ zs5(&6!R9_4Mh1otK@1Es(3Ao9Z&GnF#0CfnN(T@Yf@~0QIG~57?gBy@&T3$AH~`K( zpgaW?1^Le}gn=OlYA-1K90Uv;!0JGm3`t!~2m?a`x;p2e5S0k$P^dBnka<}l3=Db5 z>KF_h6ciNn-5foAJl%XfgMA%CoIR|R;+=y+;)6q6JpJQ6gZ<;fJzZSmg9BWhJ>5KA zgMw`hloa$`T-_W)eL{RZovf6~i;d!qjr4Ldlh7o5gTtJILR`>9{e4{g9DQAbl@vg3 z`pCe*PyxzA42*&xx4K!y6cpuWr6!jY$AAmoq|7`pLoX$>C<c5B6POzx3|=~*m!Fiy zV8vh~$f&@;z|J7dz`$@RngLGxW+oTq7w4yyC};#}Du5Ph=Vn%A=A|ouuA|S)NiAad z%D}*&0<sv27qBoefPzQ_%2(iEU{GY>0EZvQtq++P7%Ujv!ES{rVF2k-WMBZ(KC&=T zMzHfiOC92q^K)}SOB@(v7=#2sro+@ArJ7bD1}+9G!9V~1{}*FmV&G-qLAHYuE<Xb+ z%qSHfKO<uXGyx-Y0Yh{F12h3cO9o*EZb6XiO#~PiKwisB%uQwBXW$m(VPIeo0%iWh z(iE^N0R{$!5(Wl_<c!23&^jyzK?ZI?Q1IS0Wnd^sEXpjY1gn!^U|=v{U|=XJDUMIe z$uDQ%W8fA%@c;k+$EFMn$tC$<MO*&={|_=OEx0r}IkmVLtmw}F|Nn29GBBhhCxM-? z<NyEv%q$EH8P55+415fhg67chmJnb7^K+s6W2O*(7nIK_2jMS<@?q-FLHTE(>R&_o zF!hX}+{wVea2qPm1u8um7#LvsHKBZ%{0b-^CVw2thsm>oN+TrwDo{R5J{HP{xu*)s zhq-40ln+yX3Ce#6b>Dj^AEuraloO%uXJYUNrIt^i@)qhWkZ(b098@QQDwZWsaSH~9 z22i^9XJBa1V_;wiU|?tfm8(Gv3=I(s3=E+R3=OrQdYOTtp_ze!A(nxm0aTyGF)%dj zVF1^$4M#vJgMp#p2?GN|3IjvKZw3a2GzNwSK1K$HbOwe7F-8W4YzBq~B}N8@JO+k_ zWsD3A1q=)gYZ)0B3K<w0HZd|V6f-b1>|_L|vW9((3=Cxq3=Kya85qhL7#fZ<GB8v! zFf^QFWMHUbU}(6&2yQDhTxVopsAXVixXH-CP|v{7@PLtlp@D&+;SnRajnVLuk%6I^ zfuZ3wBLhP#14F|nMh1p928M<&j0_ANAa^n{Fmy67H2h^`VCZIGXi#QiVCZ3BXfR`9 zVCZFFXs}~qV3@$b&=A7Jz%Yq{p&^!ufnhQOLqj4H1H%*shK6J&28L-23=KI<3=Gp5 z7#a$g7#L<SFf<e~F)++xU}&gjVqlofz|c_7#K16zfuW(1iGg7r14Ba>69dD128M<{ zCI*HD3=9num>3uqF)%dDWMW`g%)rnvmx+O42?ImJd?p5lWef}r2bmZcmNPIkTw!8h zSi!*1aEFP3VKvCVObiTb7#JF!F)=W#WngG{!^FU_4&+ZJ28Q(v3=Q9y7#KD%Ff{yN zVqn<Fz|bJa%)qdPfuX^WnSo&|14Dx)GXuj;28ISlW(I~`3=9py%nS^B85kOhnHd=N zf!xW=z;FQM9%crHgA5D}OPLuMjxaDZtYKzgILg4#u$h^G;TQu$!!Bk9hT|Z2g4$#Z z3=Jok85mA6Ff_biW?(qYz|ioYnStR914Dxl3j@Ph28IT476yh33=9n_EDQ`685kN& zSQr>CgWSWyz!1*J(12c^gPJp-)D6O*bj-}gz`(=60x!?Y85kIh(8_a=9#Ao6&%nUo zhgO~!r<TMQl@x<Za+sMQbCK8$Lf}#eR62r+Dp27ME_I|q>KGUpo|-Z+fO8orkAX@& zs5k@2UQiwb<xW_gl+Vb}0CGzOBSQnoJ-uZ3v66v-!32*V{n7lGoRgYZL^WSBFc9O< ziBNyeg8Fkk7Jp7>U|;}+DlDvh*%%l^k>YYY1E?K~S~r9Ah%$ilEQ2qGKl6)IQ7dPV z@v!KCS;GKIe%PXv8(dq1;<zZagh7;n8B}nBb(?}y6`0Axz%BR#T5Dx8Ffp)!(}EIM z4pL*l(*mgMgo=a81aKb&)E;($3Pv+BG=Th)z{t>G1gc^g85#mX<tHOULplQkLn<Rf zLn{LVLpmcvLk9x`LpGK$gjIzw&&^<C0EZxm4{G0l`d7ASX$7PQB(Do9<I%zpygn`- za_MnWX<Axp5jbl=T@0o`TEPrl;b<ucYPW%uz_SK8&3J%>pcv!^P~Ko;U|<0C1wg`E z85tTth96*LXaMDxgNzIf8Vn2!hZz|fv=|r|jxaJbfZTivOE`e!L1uvTgJ|?{0M%D^ zXyE|T15&TRz`ziQH5~FwOA1O$;;9%A=y?a^22eO4mk}4B;c%Ogp#kK!hgkdz>MDZV z4#FV+qL+i%{0q_pDtl}h7#M=k{0m;T7?0^+nE4<(kl47&L`jf3<dz4ze?e|Q_wRFP zS@DIDp#kK!Us(Jb!w7DVFo4_-vcsMowH?2bk%7SlEq+0IK<yb29gOB*&_Y(Mmsx<5 zJ95rNDne-2rbp`!fEwN)dqHIpxV{0ku|Zx3^|7F-QGkJ45Y!eg1(h6?C8@;>q72-E zpa%69Qw9eAvecp+&{^{-3?PM|CiOc|ySum~u>{;=zwrP6e^9BF3R?SI3~r3WiZys+ zT!?{N@B>s`UTH39s101&d4pnrfq~&AwEdX@<-^*a3!wZ@Q2D)3K1d#1Izs9YP?-jm zVF1MuC|&R|fZKCmVP+;sdz6m}QV#GlF*N8iFfa%(F*KNgx+P2u4WO|b5hjKPP@hwj z3DQ25V1l$yrI{ESwlOd;$S^T9oMm8OkYi$KxWvG~pvc6~a2?c7WMXKz$-uzi&4k&` zsAYtdOP~-2Ip!)m1A`d2WMyCgm8)r3(i=#R7y|<Xhz=nsy}?RAkWHw$3@u?$!X+<J zfzkk|clTP1fuSTbH#NVs1l&nG0j&c;RV65eefj_Y|1@z1hT@XMq7rbLI|EfwoS&9h z1Wt2LplZ@G^D>Jwz>1Fi|NkG9sLL}_i&DV`Ux6yh%P)sCtH5;!@;D19d_ieN98@QO zf{cNIA()Aw0TlKTObiX6ppRr?Xix_AQJ5GSG(mk6CWZ!3os-DK(BKKmF-!~%;h;VW z6GKBJsIFy#)VXO)3=N?6RXP(x!v+QhhCC*QhEog-4Ean94InoZFflY-1@&r~7#i*| zFfbG|F*G~_^@y1m8eV|LzL*#qK<T5LiJ{>;Xe@+@p@9|DR{^;T)Hh*bXixz4O|Yc7 zYYYqwIt-xpEW}ff*cceZk;W=a7#SF>(aJcG9#A-d=unWy!CE0>72w76@t}TsVsc4p z5u}j|vH+|G+W3O98-yqtqQIH9_6agD;4QFj{Qv(St-u0}MS#XlK&2nNECLm7pfm<5 zv+_!FK_lEHsd?by2o#?nZ~TB3H)$Xa0|NuBxB=Bcp!5P2W&nj1h|kFY85;tLw=yv_ zfWonliJ?J`fq|i)iJ?K2fq`KH6GH<i$fhtcG{iG7Fid4)XeeV~V3@|l&`{05z%Y}E zp`ng}fnhF|_{?DdwZ#}1U}eZ0b_ND+s2C`X>|$VGFh`3|kRFhlI0goWFs$)eoReRk zQwgr7kctYBA7B_;<qWGp@WzKEbR-89@VS{eIhn<&$?++vIf<1Fpk^;9PC&H{sM!k| zQ~-r5Xj}khFUakna0S&|pn4u8zL1Hb0py=0(C}Q!#L!^Hz`(GKiJ<{Ba<&|r|5h?F zG(<BnFsx!?XaM<rH8dYR=K~Etu?tGeFfcGOfQR5pib_)%gc%@W3=pxj#GK+(1|g^* zRAER^s4KccH%FgfS0sgDK>>d8XbQn%5QVY~?1H!CK>a&s|DgCV*Pvj~Mq6J;FA&d& zL6U)8@Q@q>12aQFetBw9XmM(hZ(>DeZfP!qHUqn$fgs4yUj9z;{!U)5&LQ!Bt|9S3 zjv=n`&i;NOLH<7Ru6~YAKCTQ#P{m9P_!Rp(M#MWg`niOAx`cQz=tA|d;ML<2>>Lmu z;^@v`09DS8S9zGDkEct#n~$S=FayZ%pfNpY5C^*k#RoVBd4@#B`}zC1GRQEn3xcGf zfsG{X@8Sa2%mj%aBw5!mS3kHkGlsOUV~{t49Mo(U4C&wiM`u?Ceg<|y1p!b`KR2-g zG%6^=z$3^8Y7>Cc90RDy<eZ<EmzoS(HCN1_#lS9Tf*u#1{#c_zn1M$Sl>Wg6F(j83 zfsEHD#sK87Q)OTmtO6&Dkbrn+M;{+2M`!Q&fFMtQZ~%JxffX}oG4O!>0kI66x-;`i z;z3hQ@oD)*@u_(!nTdJvC8@<F4B8Alf}qh^B(<QT9lK&sc)SG-+k#bt4Nl5ThnmNr z$-pC6k4si1GcU6wGchN#Dz!+3L56_??2&kE{$LPc;1C22=f*qx`}&4>`nvjuh6FR1 zF>nZ;6<}b9k1tCuDv2*kjL*p|E{V@9jxS10OD#&xOHQ=`Ib8vKfSrOCgtlW4W#ABe zBo0e%skw;-8Tm!23|tHxf}r7G7iT91J_Zg!P!R+kd5$k(;Ah|v1hs2H4hRl$3}Mh^ z;1E0swL3nsq@*Y_sk9`u*vcxkEH$qrzBs?MC^^*;CeC2Vz#({uXysN`pfg``GpkbL zQyEMdI0O%npcTAjG?l@QfkSW~Hf<THIR&XjC~ht@j8Dud0ck|I*o}cha3}ftt*k)C z#ixROzKuw8N{bWIkpj($fkSW;Sz4{Ez(&QVGH5Yy2(HCuMo9*!YnGXpj_|TM1Bc)e z;?!DM!S%<df)m3+Y#I~O(~DBm6H7psF(B*##po=emBT|)pMgVgIyP;PBv%C4YFdP_ z2jrhV5;VYVQfJ^0?8K%qH$SB`2PuX?PO2qBA>3qM1`feO76yiZ(D2}pAO;Nv4shj# zuQq~I5}*tSDoK3&{oLaNLV_3s7&rt$ZM0Chhy(+Npp75{Ljb4<@o{zZ3k`^O5AqKU zU=U;A09PU4@(EEzFz_&N2o```<Lu!W#J~;B|M8##03`Jl<TLkBPZtJZ1`fdwrVI=| z0sdjGK|YQF0j@3#)(jkil^`W}il6v+P{{;7)G0N-ARm0XM6rUF9oRC^m_fLI5U3L4 z5cCveU;sHBR))L!g?R?~`^ASDg1yQt3@Yb99it>O6L9gwEWp4J;0y^zP=tXh9;9$Y zuXZ58C<iKs<QN#@LqWmd=p5o12C8TSf?R`L{hUD!77js>v%nz*I{CuT3>-?JVe|k{ zNQ12gg&DN81$zWEc;plr;tJ-#VhLQN9{~qiu&Z+@xIS_W2?_Fa3Jq}$W&ouGQ2YgZ zM!Cj^FerlpUygwxD77FbF*&u^IlsswrO2-|H?=4;*(EhCGcUCm>=KY37jUTIidB#w zL7|CKl^_MD0Rx9%upk2i4tXmpo6<bcv}B4ds0h<7wPOGkL{X&ZKsTe<4(wl0wdxb# z3`+T+`py}aSYdJQ=@%U02#N+!;0S^eX0V5UPzZw{G_8jOz?z2OH1Ql9xX%8*;2H^( zMjb&t!=i#b&_rlriJ1vlC%D&xNVcGi!wO2a&{SE%AkDxbc*2x{As$;if$RpwFFZw9 zfRlg{3n({0A_7!dg1Y3O)LE981C|H%iNUgFCJa&x9D;68zXp5y2Kczbn<`+nAmg3< z{Xtn4>=p~CT6lW~8hK#ffX2$fZpq9mfhJDSoNYjuzo!e>G*F`|wWugBKfVN<U<w%+ z7{b9BT!?`~5EK~kNSPSqc2LC*3q=qgl!85iT!TY>Lcng{BL`_KSXq@6RmPX(gAQrS zj)#QX8zGonFsvcrUYb~x0*-Ic@H8mXn3;fc2FPU~e=^83a0p%lMFDc@0B(#GlqTh5 zCNmf_a0nKG72s~!l!KZ!@g<N(4X8)~#T3ZK_;^r6n3=?vfNd2LU|?|b^Z_+yIRves zK^x%j?*n!sDC~S7fd?x8Kt&$7!~=x`s30hfFV4s>DuJu@aP)KWaRnzoP!xkpUyv8U zLCqu#8M{dW7wq;>yPQE03oDD`ok0oQ2ay0kkpgOIf#VcZ;usr&8))}oi5t=01LX=( z_AiYGZEFFyEb>STBuHS{fgO7aYyqgOcVyrY%phP8j)EL!AjoMTUw{@W#6v<06cwO| zfVLh%Tu?xPFxY-jLWX2-P*_I`fbx?wJQWLraz99|nF+Y|0kwWn8owYLK~Wo@nV(de z29D_h1_lOjLI)Ktd|(e@seKq2Kx?N2m_S`d1_lAfXNM1+D+tqhbCWmolJ5V&Qw$8C z`4a&~i!7zpDSk6&C>%eee=c@w2?N7K(3mLWo?M+yE8cxZhC&sy)UMC^!@vL<pAuj^ zRm+ynws6L)$e9~jR&6*J!N8!+2r_?;`%^gq%O`7tVoi7!TmE5WVDJKq`_|65`*F&v zNe`kwW%=;doMT|f1dBVZWxcg|wSq}#MZ%{)XWX_iFl+~l>rS%S`^bC8C-HxrOTXXf z)MQ`)Ete2rJn3YenEHcVWU1K?qt=#fybKJWWfKC7+8O?qwPye88Xk%-o?&jl%)kJe zBNt%2RDJp6|F8XDD!b*yH}^!dF)$op0=ZMg`L^VpqpgoQzVWVqFYDvOz#zm75;w1N z{BrBrPrDV8Ti%~nn$H1QFDSss9NYJ)E<lZ)uPoq|aJk3=28JzQ_0tZ>y?Am!dP0Ki zWK#=^*FP8-*jPa3ES;Vfw1wsE-Mx#|{?D4yv6z7&3M_7A5a^sVMdiy5Nu^UeeLF%K z7*>GA^Iu(jdM~46p|s%sQ}^SRJ!W9|4i;BF)3H}}O5mY$@lDQb5A%E(80=X==DYbN zOFfSGqQhAr^Pt}J$9@Ke9<aD>T;|-5`)<rXbLKqn`6Cko7#OaC#SLr%mhYM5b46{} zBA$9NNgW1;&!917(4a~(crjIaQDUw_T4qjav4Td0g_&kdd1hWpetEG%c4kR&jG;kH zW?phmX-aC0p@E)(o}qz}iGiL$OldAiU0#V^1_MRLBo~#$B!enoY8X^pSsVk(i%Aq3 zR-BPol$sKgUYePblA5NM!H@<HDa5if$Qm=q@icnLxTL|RP{%3dptC89@{1@mtrQ&G z`9-P8MJ4g&kZpcAy$9*~P--JMog^g|r&4GTG){_3iV|}&)AJ}a4Lu-IGV`fnB0NMX z&lAu{f*cW>oS&DLnNAHCCPU55P0h_Os-&`s$pw}1#nd#DI<W%tb2)X4%S|lFpwN@h z#0<(7CB-Qe8U{|w;B=yw!H@zjsSss)Om1;mv5|qHX-ru%yd*D6Oi4`xMU+a2fr3hE zQh|c4f=X&;fdYtcqM)r12Np<z2tYW+5RQd{wt}sKf{KwbSh0nIE?6-GNGC-m85&W| zC==?L1oNMQijfJ}!=}`8rUlHMaKkNN){z~YWNU=G!3^dqN{oUg4w!e~hFiizj{!38 z4Qht4G583k%YxTOGPpB<)@g%w5rA0S40jk9z+zksDvS&apcz(f2GAOQ5Q~e!n2~`2 zG>gW~U=C$*F*q@TSB^4pGq^!nTnvGX3=E)IAZ~_GD2t0Bff2mol!2Qe1<K+At%zcX zVF1ml<ufvXSzHV?j0_B*nIvw81}KY*p_h??AquQ+B9z6&FprUe0W|Z=&9Df{;$m3O z$iM)a(c)&<3}taKWHLc~#LbWkWpOc7LRs7lwNMrpLnoBQ&Cm;Fae-zB!J)wonjZwS zxENMKWw{yFLRnl4JE1IYhP_Z07sE*?i<{vrl*Pqx6UyRdxC>=*F}#GbxEbC;SzHW1 zp)78Ozfcwz11B@gAG}Z&7lR~}#myiKWpOcRLRs7lx=<Du188+9Bz|q-VxCYIH-j&f z#l;W_WpOirmNbKOa4}@U#d4u6E`~}di<_Yq%Hm?^gtE99dZ8>Xh9yuIH^T}ji;E$K z4bl^0XIKGcaWkxevbY%DLs{GmpP?)+1`c+J4sHe>D2t21ft`T?G;hq#&;w<0GfaT8 zxEMgIJwUSD3^(CoAD}F5hA&VS7lQ@|1A`Yh2b4fr+zb^^78k=kD2ton5tPNn@EgkF zX7~?faWRN+LQLUikbttd7;-on7(mNx*co;}S=<bJpe!y1E-r{HHv=D(#l@fkWpOiT zKv`T2C0q;)pqW^9h67L*H^UJqi;F>+8zRfiAP!}5G3Y>9+zbX#78gSbHv<D`yAeCX z1}KZ0VGESS#lXx1k>zG!hqAaBWS}f=1_daKiy?%E0lXrXonZl##m%q;%Hm@9!Nb6i z49=l{pe!y1c3$urat3Y&ZYYb3L5!Dy0klbsn?VZ7;$l$c1+Ot@;AYT-vbY#bco`Uy zz~)&%SzHXxybKJW^+MbX?obvN!%JR>tGF57LRnl4KcOschQCl27Xv3BOdT(j#l;{A zWpOjeLRnl4CQuePg9Vhu#c+g=fdRB_ik(4#AHw2h5P`C|7-IMt7(m;$xET_lEG~v@ zeg=jtu<P@oEG~vBe(=h925yErD2t1slb?YBwD^jfp%=>HVwk}XUTM$3%`gYb;$lb; zfZ3Y@WpOcpNAtjGw*@pH1h%aM%Hm=;E(l(q&%n)a8p`5gxF*QJkPlXO3(DeRcq+)i z0NQ@R&F~V+;$rwB$iM(v3&73r1IprJs1Smz-{WSefwH(5I-o3Wh8`%3i(vtj#m%q; z%Hm?+5N2Qit&3%62!XP=86u!8E`}da7B|BmD2t1sSq!{ufPtH#9m?WjI4j1$0NTaI z&2SOQ;$pB8XJ7y=S>$H0gR;07(!?1Uq`<z+g0i?6CW|vLfQFH{8Ky&7Tnrn<85kPD z>b62zT;NscQ4FG@(~2rp#U{9Tb_g1K3po0p2JI&yW+#+$eo?9dX!(JHb53SzUWo$a zFr-Sof|MkN&!0a2|Ns9#Xhs*b@B`#-HU^MlD}|7Jh1|rvN(IowcWGW`aw2HnTOk=S z1+D<vx1^(xnvz+f03OkUZntt)NX$!7C`wJv&n?KzN#%mfw}TYJ*HK$3Bq!$O<(Ghs zP=Iuy6+l~ru&OPET&tmwlvtXgP?T7bs-T*a!o|R#prGNKn4PLnTw0V0)~x^<%2&uN zRwx6Vbpv)rW{E;ZVzC0quB6n|Jg|kSDGEuI3W<67B^jwj3I#>^pq8>GUU#OamLNM5 z6bxyZ>7_-GKq*cwDap)B2W|EP2Lzg5VeW@)WKw{t#%>=>Eoi_OyuwNWG|Z@=0pf#M zwhF2#_}yBJ=2p;PNPcNaG1jn!#sj(@NM93||3I^;SQom2<5j&x0Tf)xrA0-c<OW(D zS_%ppi2Vfhf)psE73Jq52RKA8`r<Q~bzpIYl6({$kTK8D?l;YELc+p(YuD@qt&87r z=FFKhpI0vgrFi3`ovwettmXrZ%|DE4v_Rz^L-&^~rvD(d49!PatiOO(;4uV%$>t** z%_si9e8|iIQpAwOkj0$EkOeL+4|Mx-1VVH{wRF1fXs+Gyztpk&3)onQB*I9rAVIrI z!FKhA-U;e<-4OsW18%{V=GrX`rA9a`=>F2}y93otAlEB{ObmU}{OEl1DS^(=C*7_* zovs@iYd18gGBDJ;KpFfklNcBn8f!Nsa56B|D?k|~d5yIjK-*nQd>d;wY+zwvC<%Bu z4WjUX5CcO=_)E|N+{W4s3=bI?>Sdvfk`xfbn}MOk6U3MXV!TcQF%K~^lmxsEKkoVf zWa`Tv1_p-Xt`9&4zifc8LH55cKkoVfWd7^C<E{@t?tGnk-1PydG4nbG#F)mw@H!a8 zc*wx;+6%-u#K`d4vD=p?kYF(Lbbsj%-4TQmw4iYM4cfKkD$?n?rnz<vOL=Iw@0$NA zy`Xf{4GO)#ouN;TxxQz3UD@sWr1=C>rz?od_&TfG_et|frcPfFm+5shNbxBqh+^i~ zKFErhU)vIN9S4qBjAdkCIOh6+p}AIoqm=EK>pPCuzRk4)>|i$gYsc<Tfgpm0gS?KO zsz6=`?NI06<}1;9vP7sm^hx8R|L6bzZ#>1Iz`y`XFkgCI?*w3^txi{h$q`#HPXR|W zXb<QA<F25UyZ?{7o&eQt$6Y~dV;PRSo&ksXmtNNcxGmMkod>X3`dSH=>lcH~<^_|X zJ32+c@e7s=>OLFL3oZq~SwA8wKCavMkMUVBulY!b^&2p&`)TZ9=vGGt(1LgwkWmZ_ z3?L7ImN<jBppB`ZeWxHcIu7lA6Bu^f^$)06>i&|&-0jNI%>&w?!+@G|TMv|Q9(M)J zs4%={KkoVmWKOs1pEyu?f^f;1Gic_qP{F+BHymNdU4MXF2zMwhV>?~{bcb?uhW>cX z+3otH`2b_5>yK`5@HW3>wDkQ^E7l$QqucdIH%}|5z0t`t737iEm%G6seVhf%1qp%U zp!o$OB!a*m<v<E@kYm6&wEIn1_m?aVTn=hIP{L+>;5F-O=H?Us<De$Q9tP_L5m5a& z!wFprYWU)|wUnsX0>@YLn*dP#v|%SGy<pT&$6Z0&U>T0P9smW)aaYi0ScYzJ7VP!C z5ZE2c(G3YT^vdB!bL|g?QW+c>qxr=D*D=kt4;acqy1(@LZVBuS{SegcDi8oFGbu5Y zz1#J}YbN6Z1oBS+G%7&(2b2;(o&#+Qfw4h(3A8x{Bo5kE0u$fz|NnnbIDy2G_M<>| zoFs!98w{{*CD8b7eq$5fTYF?DKLY~;G<ac!3aIKk(p)RTP->9H(Cd385S*u*k8osh z^oCvu>UDhrtN3|9@=xIMufww#dPBbiA*px$5`bg^Pj{$Dx9b;XP`%LYE7BeMgE^3; zGxSAc?F$Ddeuf%xP(=XB9#6V`Uo^f1iFNwEc>SO|R6slQOi;J$kpNJO0%|@_r|XI4 z+7tgvSwZpU-5q*{IrKzl=$UTUGuEyGrA)6)yM2!^`=03Z1^cFi59GQlaMyLaUa@w4 zQZLZ$d&S!KN$KqF&>PmFFX|?DyPm;}rsg9yNO1$&Lk0?K&@y?@I30)$+HwJ7gLYQH z*r44N&}|ry9UEt$>01YszOU>At=Wc0zypv;$6Y~tx*3kUg8d0f)i(lqeZK^PYOiir z9#9Z;L&{{-`nl8fPjl@b{HdF{+w}{k@8X(|=pcCyv^5&!5C)L{U}+4reE>@uL)sw# zN?8yLDi5HgBD7Qnm3)7|CEuTJ-#^yA0>x&Z__bU`n%{7I;umC50ecmc#2C9nd6+~0 z1a-S|z*AZC55^L39J9XO+3hNTTDpTyKLG8OXJY`Zi~#jJ*%&~3mq6t!8~Ah<(2h?w z250CV1QGCP6levr2)K_8I=_VtwDTQ$dPN%p0|RJp6dPz)I)gC-0|Ogqzd2NPHUk3# zD9f-hEQRh=Wn)+mHyLy$4#Z?oE$sl-3)=q#T7NIX@Eo*y04(;FfdOhVXy*z<mYI=( z0kkKNje(01vRgugfr*KM0klejje&;=v<4gG7BME6tPB$a1H?9MCYW9$xNHCuWK@`q zVF43pWj{#oD!3_I;Och4O#zLALR@eGE(;pf1TEZPV_;{7xj>K^<^pkMm<!aHVJ-lT zWkP%u&&<H!1om$lTt^u*0|O`(u`$#z!@{5qE;|Ws%1pS}6=nu-+_5p-hKs#s2JK%4 z`RF6ul;3b!b{3dh_~2)fNU%W0B-j{0d!QhxL=7%xzycY?U}G?ai`lb4M#0$_Tv!+w zK!@FkFa)tMFo4c+5MhXco1DP{89`@bC}Dw&xwC;c*MjzEurc(oK*qV*7$&elM#0$_ zrm#T9$k`ZXus}x8*%;=qKt|Qs7`DOPvX_N{0km_Sjo}E~wr6k_8!ODsysR*FBCN2O zF@v*W;p$RYVd0Vumu+Q*h083sx`lAoO1SI>xY$m(*g-h!Jlwo@aCKi<85lsT@z@yt zz-0y5VD8gngSp<64W`ZpF6#nkrNGr?voSD$_Oq}t6v1Vuz*#%kz^76$urWM?>v+q? zz+eYXe_!D0SirjrK`Doe9hUw?*kP`+W{0`Ti5;{945ZEzE*r@X+9d`Oi-+sYgv-{m zGl0iD*%(^bVd-TOJ1o6`b|gV^#R_)Fcqtph7Iw%;EE~fCcF6cE8^alP$fzqD!wq)G zSSuTY0S9QuEhyhOae&Uy0kHz$VhM0o5nT2F2V@LYgyA1tR*e%fTFJ(s%?Wd#1t-ks zE}W3@O*V!APRJ-J8$%2yWNeg;A%hb#BFe^agcBA*r#T_}HrW_1!A*I@$-n?AkJ%Vr zaKb|O6I_;s3o=^C#=yx1bAdP)%mtuPb<p@G8-oECWJHvW!G;Sm4$8(bnTvtJl>y}Q z6<m<<O%d?;IwVX(yWhkf231t(hgg6PodVZnPy!SUpvoJh7PK)8v}r#MZDSZn4@eCN z8^CsyF)$+bSb(eX__EZZ%(Tk*#G>@lT+oIG&`KSwn=L>`7eTE@ry7KiHeP}@;KLMv z-0*`Dv>S?n0oHi}9f|^S6X;MBP$Lku$&wvBi3VbEgD2%cEH2P-Aq*fEH^T|=#y3zF zN2-!{fI5=dCm0~z3;um9T%Zb;?U?I-#@8&zT>mq4`Tp+!Ri6x?b||P10ve@dV*nle z1{#}X1CPF<2Q{c31qCb23!tC|wQWFRpr8in3}gVUf`zF7ojC!TQDk5Mo%&D#s_4K{ zj0q`~d5O81$qGmtWE9f!ixkws1Br<JHR|dFcIP4Ofd;Ly1se}O>jH9i7APP<wGl}C z1Oo&3yb#dwagbmIu^_<;VsSC-U|?VXvA7vPoevO;iy^f84M>;)lKhImr47i(=%E9u zaX_}fFer3DkqJ@@3Y``PP+f_70tZMBNDZhZ$pTM^j`*%f1_uYs4pds9L5KmgSqZdg z6(WOn|1vl!f_54rpR59Mg9RgK-yPz#FHZ)B29UeF85kNsZu5bL94LK2LJq`&gdB*) z1v+Pk0Tedepp$jLEJz{+$wCq-hy@PKu<kG2t|9^5z5;>Wp*)CYV7CWLV7CCY!P|U9 z0y^A>=!t^%l!8nV0iQ}{0*(pL*-DTS0@O}|us|V>9y_pI;jlnPKhpxVx7`q}m;mVk znFVTHO2RZUFvgdqL2s?j!H5iya!AmFA_KJF8x(v3pmnOjB}J);xeOpNaNY)qx#bt- zCYFH3K<0CR#C$-vV}mwjLQVn$?L&xnEK2vuECy{Bw*+qp0a;-t04h9Sdq<ID6y$Eu znN6S=1fBf>QeDRcZn7}cGeOQrX<&ln1yH_(#3+abiBS-X3%ueL#NuXn!~n^^Tns;; zEN%wSKnzG09HY%|I8X;lz-|3rR{_u{i0_ZUEC!T_ZayN=>H6omE66m4Zr4A}N05g& zK&26=XcJ)o#VyDV5%6kV+;Iy!VFDD)APn*=DCdFlJSZ|iId2gI1A{JF+=BFg)PP#A zGN7;rX=Gr8#w<8qVa9=F-~=i03fg=PItT(K4nYY3wEGvdQa(N?wYW5=1e`A+=Qx1Y zCBy6jxe*kP$mhD)Gcz=R-ObF<AP-s#&CJjMI*QYUnE`wTk}ESq1ISNq%#ip6<qAmr zf>@CF1+lmoKs`_pi<<!yTObywB!JirIvNpVD})yY&S?-fq<my!Z~)D6>1C!|ie_a5 z&7(0hIHaW}mgpH6fKDrdh#;Rs3Mz-089^tJ!pwot$Y*kb#uJ$tL8p*{dRY*85D8TS zN&pO?G|kKiYI%cX5LgeiwE)Tm#XB=2DEdIQPE)uGI#>-!4#WhjVL(2K6jUKIGlI?{ z1<AkP*$JB72AymX>~3snYy!?;U^NUX5D_C#{Gf;!uV7$cKoKzorEz2tQ!`K)Ad8q8 z+c2W)GPB4)6EQcufi7aa1XaYu&=AyHL^9dL&?JHh#bgr`%PDXXkS{?M@(C0XP<{i2 z4G1$cKu$u1oHPnb56q09Ggv{vX{#X*+PcrcfT9L;A`>$s$PFOV!(M2ogUTod251a| zI#%FQs+bu;XRpH4v4g`5Vi)ApRnTby%#5J+1}IIa`R$azGzXMgnHfQ=rC{c8BAEkm zGpKdK%m`8mN(m`J3kosK0Tsr~jG+AjAlHN3&5dCWsHw!v2r5@W;qt*huocrB(1-#v zBWQgV%p6_}b3o$?%#5IP14_r-!p3=+=70(#W=7Do5X@ivU~@n&1Fg>j(cBCQ44{w! zpW6o#0Aq*<Xa@tB%K$N(0dyuFOaQ8DAC%7vHYXld>VZc-U?!i2s$qwy$xY2oE&!e8 z0TPC(`3K@aF~oKeP(Y)I=wXOBVu*lNra?79U6_TTrWr$IK8DCv3=!~@3e;$b3-4j5 z`3@I>`HKsp6m*U*)IFdx3_-?lGAMw{AO;3|s2VnK_<-a}K<5s!fO?NGb3i8&en1gf z#Kgehz>2J9KNADP0~C=5ObiSPY{+Vum>C!XP((n-UM@fp2>>N24rE;&%nS?-oX8@p znHd-oxR6CogLHu$5BJ3*43WPWB0QjMfTBwpMMTBN4_sh^#zw&927`)^pCKqegU);e ziLil0j6j7d=(I<K2&jDr+QWhn0kytBCp;oVKqGdb0Zh1vG05Z;a5#h7u_``(#-KVe z2So%_!*!sDfLa+X$RdUy+n2C|!Ut-OA;^VmkVQbofLE=7Y-a}f0%Q!sJ7hH=%Nd>{ zi+~)+a0gig92ySb*n!yv(&m980xFHmQA9x27odoMtOu=dLv@b=IF_L%gEWCxvcc7W z8qW;g$Z9}VF*v|Qkk4iY)e?~U6ddJX0-E?4w4m`0Qp3c6tP8ZmkeLxQN($D1LV)55 zBmh<eVlY&*K+Z3Oh=5OWhMxEg8k=Nh1X%;mrqDdez%Ugg%m6vln3(~r3wr)DsEve6 z*BYoUuo|%K;E@F|3sz=cgQ@`uGBM~Oofr*jpQ4)#QU$^fpt`_n7&t(qc92sq92|^2 z92xAvom*U|Qh?MrLDhhky<k0!!ok5fz{$mlAs%lZF+M&sw;(<~K0YzIs06foE<UX^ zFPQ-<TmYUmg7M<x!OQ2tYn1Zy;GG-Li4)LzAwGw}-d=^6(GiD0Cl?2YNXLi>&;j^h zH#iriCYGeSW#*(hIv82NEQQ=9k(ra~1U?tB*uexQ13DNDq}svA044-Fp9pLMk{I|Z z50AvWl$=zAUT4tZoX+{Vxvrpt*c`yOuYw)nTAZ9%kP4D<E6oERWCFej5iIAPS^|;? zE=ep&MTiEJ7NvtVAcTUkDujxLK#ub&1}O)}ayn>jRBmd1T1sLiG*W|eQd0|ji&K+} z!C~a*5CyuvCf*gS9x>zrmW+skYC>641(NazaB}hT2sZ)i0_|{z93<o55DzvGEDSw~ z6|CF?WDQspes(E_IPzJaXp)$RSYlOxa@rx93M}U#qNxC_eZso13ZgE+(bW^~3nJ78 zIEI22f0ZTXI5@!dffq|5o!|vE+6l>Mh>~LPp->2EPyjl_2ZcDtJ7=UOX9t%gCTE8w z7J;JLAs*>A2asfZGWbphaFT@Ua4jx?UIziYB?8KY-44NEk2X-_U~gz|k1vNiI9NKE z#CyYv6y(HX9Pj7EU=Lcoh;(cZsMv4}aEx$-+6;3DxX1(*w2)gYU=9KcgG$nPWDkP9 z#t<K$mQzw%oSFhnpa{EBPP+lwXa*_>92xYDOwGX8RX_>&{T3*<ULfwburM$&GzY5% z-EWc3;JU{+{0IXh!!BqAfZVSHmAd?l3=BG;W;2Kb!&vUOSkcPBU@geN@EEjmi-Cc` zpAmG=1orzaeu5WZzzl<`L%X-40yN*V1fd4Ra$s<9K<<lz#6Xq8#T5(;S3%uF2FUt6 z2L^)!kRA`Drvg$JF2%rbe+2`B*<lcmf#Ei|{Rz9@0(2@PL>zS1*^$!>40YfYLXb1j zaNUC;2Rf_~q76)9yT<|47gIjVz`zeZ%N^A3K-`0Ya9<|_1B2r^28L5mb)bF@HuI){ z_A;MmU|0gJ{6W1ZT;{1=WMEi-5$rSueCB<<$iUEf8KMrCdA~p_h_5g(u!0U11ovea z7_hnT4I=}??5hk6?VyQUs5)%!1DPj#gMmRDbg(5<9X9ho=bo><$-uA>6k$+x*vtb> zMVQ}VVAu)T*aKcIj@^9)j0_C_?=UdrgEpOm{DkA)572n`-FplSf1&C?Z8B``<6vZ9 z5WLU8APHW302vX$=04DPlJ^4!hAgN$T;>TdGBDIVU|{Hb2#F6|=>_E90}mM(oInGJ zc>G%eIye3i1H+%k5c5F2c5Lng^#rn>Ffhyk4P7yS+P2uk542)v*AoVYs;3b1K;0Ky z=FND@z;Fsl9k%cT%>}%8%D}J$bT}o{UTo%p_Lv-c#=yV}S_S}Bhs``tw$*;l!0;VO z9X9ho<9MPk7#PAq19W)I15E*yzF=UmeTm<{AooSTWMEi^qz;?=K;|8J$-vO_3cq=v znd?=r7#Ln6sl#R-$iM8b85k}@?}oq?AK9RNajzK|Vn78Fbo2t7c^?=U7z*AnFeHE$ zSwKhJ5a9<IK?1oP)ajb^mVx0kR2{DL3>rha|CWJa`#X>>-1!5v`sC$11_ti;5OpAb zU~?ZRd1}6AVBiHg6q@c4?n9KPptDDUKQJ(qK-J+hZ_)<_hBDA#HXidp?%VT`f#Duh z9X|8^d}LsF0GbNIV;;zTYM&Vx+(CyX;7NZV|E7LsVDJPDqTw+QG!EDQg@IuvR2`@~ z#}<Ad>BV0d7^Z_JaqyT28jrjCm4QL>8zeqJ^(;2?Kx1-_-xwG&K}&J)m<Jk{TmPMb z;XhOzuJ8km&B^{?VDS72u@_$c6;~jQLPP51YN#5BN>HLUV9*0AQ-N3LptEtie=;yw zgDM>8Si1v*fdg`H8l)dIq79;vF}8b@K;eq42E=Y)5Wu*13)KHD|HZ)24Ye2I570eI zDBb|C=Gps;f#D(nbs+aK|7Kv|23=GF@+!FA!ZZ)0P9CZT<Ten7+~0(0uljEW25YEV zT<!yzm;0N6p%khPl+Ur52U6DwRRgjUgt4guH6<thW?)zdRSQa2*wle8tvCr)12PMQ zv8hvIU|@KHQ=JNE+7zS}9L`*S7#QS0lWWM~2MQL1G6v8Y%tn707^0!-K=JJ$0J~QW zp%CPc)ISUirKsv0AhR9_b)ayq|HHu0LO>m8nL^(m28LBob*SNtFb|Zj_WfaCxP-0_ z%^&Iv3=GfyFfj1`1$!T~`kn!oKg9nsFsP%d!|(^FU1<21fx!-{4wQcp@qut3$R9C( z85k;{>Tvl3q^{>L1H%e*b!h$o9WA`)F9X9(s5*S{@%S$T!)H`=82$jwe*FE*z`zC_ zUdQJ?secR%X6WkB+y`0@;PsDzAs4C+pZm)HF)*~Fs>5&}D7{Sl$G|X+fI3k4E%?X4 zum`FRmp?%1<-$J(h9^X*`|*!~fd{;A4>D2*j$bVPRrt@q;0#rV&%eI^85m+w)nWJ- zl&;eMGcc4u)!|E5lm0U>tb?k<=ifvB85ph+q3+dx28Ms=>d^cPI$K+afsw%+oP(hK zOC05aBLgEtAgVeH|AOK-nt_oafq*(t{AMvQGPFU}A^ckcxdRiDt-))FW-%}_%!8_f z#s}8>`c^P7GOR&Yhcx;MG7?lCZv%}7Agg1b{(XHIcmMeYJA)1<v^BIe0A2KlA@3RD z8sr$_9~AH6>J;i8@8cTg>SJr9gn5f#P-z}$fC{=J)z;S~CEleHydVmEiyzvpfVstG z$pu9vDQLpPULn}d0NS2U;uV5HsVSv-DT#R{Aw`LK#krZq#hLke6yGR_ait)riwKHN z5C%o90yku7Hi!>u#m)y`k%qcx3Zw@#*$S#R?}Ex+kVXc`G5uJbZDj=>{=_N=Ug-g{ z4QvQ10X_R2v{*yYf`OqVBNKEyC**Fw{bHb%o#4f1pjI^KSUQ+yko!PwJ5V<^1uDn~ zx}FPkj6MV88X7JJ$Td9NpliAy*Az5>7P9g(Ff@RUdJtfMTwf%}06EHCn1P`IWR?g6 zLj!2rxEKTGH5;HU|DY-#Y9#|GEOi-J7(kOgps)lj{I*8icNia^nvnq>Krd3Uw>QKc zL=Fz2j;;<7pff+f*LBPTT?K)*oCah!=sF?L0S@<xi<3IsHi9Ds*(-<$5@>+j1^EVi z7bIw<KIB>zcm#o?1boc}XgUoR79jV5;sj(6=n4XmxFqOGItB&?X$HvB85stK29W#Z zu!JpW$ty@NNFNA;!WNVUL1Lh=1?``UKnoL)9*`PP_4a_cFiA;GODxSP2}&(N%5{*t zCO|fUY(~RKX;c%IMj=4}4g=8iB}@m%J)kfERbQ}WVTz#Z1Q{4W8!N!eij=YV9kgl{ zWIG6h%tH4&Xgft9n%_ZsKz;{xNgtBrch9_%)FRLctDr@-Fe^dUB4ON~2IWO$KZD$X z?q@ZqpVdKECo(WFXkhU(=s*Bu%hCM|+NA4^=4X%|ke@-5e~*asb7rw?9_ZZc6mW`1 zwvY(lqWcwOKe}JFp?=k2fLxEJi^Z>?V=`fR0%YwHZqSNk#I>%VR+$%?UqO06)jx=S zOq^eH6EpL2^79M8UPZPK)GY(q3%N^<q+5AFSEZm7&%DqZ<;*P@7z%S4KsR-Ob~w3P zFfbJ7WtJpofUm`Qfpjen=nhoy`d&~<5C_#hmV&E5EfnY-qmax53Tx0(E~q;}*Cv6l z<^_cTbhHYzc)9_^H)nuccLKTs6m%t-EdykUo*e^2186CoJ@o2NN6^)d4B&<T4WJP@ zSJ0J`pevL>S7$PS4}xi6V`Kmw^a8%}6Lf_rXn9Q_14Dx>BY1gz188U?n1P|e7P6tJ z0d&|C=xWhOMh1p328IUELb3=3h6d1bnn=(Ul#nBv8mb{jJT-u>{{dY&x)5?)RKsCL z@YaQfvy7nXjiCW_6=*7!Gy@tc1|?Sz289WF{s3)g_drWCAU&Y`0ZOM&h)Xl6;M@UD zF)*7zwjp7pq5xh6fD!>HQGwPZ<mZ7GSAyaXxm*Cb1wF51K=Vo_149GIjk#F-4NA8l zmw*<Hfn0&^?*rg?Lv62s^nm;g8U}buoWF}xOI#pT0kMTY-1E}V%ZEXW@$*V^k(+PD z4D!%Rh`}dWBULf*LKl?UL1BelcY@px3M-JmL2Qt}LD$QI`~<p27PKt8f`Op{<Ui1L zvY=5rSp5Q03%V{9G*tl;^X6e-P)EA{i<t?O#!<rzqz5!S@RW&x;TdsZR*;yS9iN+8 z47y(doMJ$Bg6s!jklR5tq>RBRHbB=YgHjAA&~j4qz!zGAq8J=bnb6ytLG?ID0caZt zxMTrUs33vj)V!2b$gNzU{0}+-9ePa@C^A6K0I5pONh~go&rgdlPAw|SOipD0NrJ)z zv=A6;Oo1vd@Ks^hVhWVVL2HYlB^}5Ippp(`80Z=?9_V#*AbuwJW+%{SI4B5U7b}Af zAOP_-poQLf5C^Fc^o16JnoxPz`a76<(E3x57KnVD;5M*&Rt8fGNFjO+%!gg{94Dv( z>K-z%f^H}VyT=R6hscAH9k{&$I+zY*C<uen04UvohPy(bhBYuSG=S0t=-OdWeg<7T z4BEH{x^@`UK<#E=Xh>xMAE(y<TJ{avQ3INl16?N!nyms|Ck&dcn90D<02*}%T_+40 zp<T$p&;aUXgRTo^XM|h}47yqjbS<zIBLl-qP}$AMz_5yep`o7<axF0E_&d<Gz@Y1v zLDvFrVPs&~1ie;yGXn#-3<X^a{GO44VLJmu18A8c=sIA~>ZRQb3=RBD44`c$4dP6Y z>wy)RAlCz1FflOf2VEb`1i2;{v_S4Ks4QoKTn}8&1i2QtgNXsO`v-iz@ks`ThJ8$s z>w!-(L9PV`9dLIAbZs*e1L&Hr22ftQj-^Zk)$gEm2y1Xhax*Y!A>~g$M$i^F)cgt3 z1FG9V^mAPK(>Xt{q$ocpC$%U(peVm2KRG|g$|^N4IX@*ezBsi6oJm0zgCZM*Q8Ot? z4FNR8une9IYZ8O92PlJsHgM*EuR4R=#tzDud8N7FD;q)n2W5Eh1s0$dD5&)S%3`49 z`_K#x%5|Xa`e2~~a47)V6%NW}Nu_BJlj8(IJuT2Q5~x=QYG1^He23AV0HtlH1Oq4> zL3~i513K;tBz_y(M|=RfTAG0Ybh1nXC=)+oU}ykchy0iUa_!d>2FNvP&lngQsz5hM zGB7lN+NZA=7#cvC{59xmX$A&{w+svoppDG$u%rP{-xC!4Ap1dfqt|PoTPK6j>T{4D zP#pl;rtyNLG?0>tk_JE)gDgeENL4#VJQ@grufhYj=0I*PWnlmve*lk1P_YS*M{wx^ z*<OKMuYueT3UiS4uzKw?v<>hDbgef718BSge0}>jEMW$k4F)A&P`Uy+9X;PzgWF)J z`39s1ly5-vOOnD2ns1O=L?F9C_JT0T4<H&+zoF#@lDGu34k!zNf*jhqqFp8dwL?HT z2<k5eP?&+@3wd1SCp3@zgXWR{pzF>-8W<sYgpm=FN0=BPd4z=#l1JDXA$f#@k)Z)} z_6ipxL&FTvQVT5C<$}^TD12e@jGi}Efvy)s%Nrm)pu7RP{_qt^@eIuyNbwA^8{{Q4 zOicEG#}x|$1GFU!$p@gi6J{RBt)Os49v9$eWM}}nUw{#Eg`*&rZ~^U)0l5u?L1r=X zfQDlb*T;jFDTSkj3rG)W69j0g^)*T1Qk0sWSzMA@6c1{CVYZ54j(}tUj6@7-4uRqi zGHeGblR=Z)AXh6xn>V11>@Ys0zyPH`<njXKc2GEhtb&ynB8&_TApeLmLax&lV`OLm z`Ar;4cquc2Ha8=#Bn71-Go<mkFh<bkX;x6a0yzYAe9i!Mv<y+TIyeM6x;g|nhM_7z zZudLDr4cIv!3!gckVgYc^FVhWfYu4;q?V}I+tb2E6+;I4+X+hRpfNhorZV&~I#8T| zR>y;uNWCGP9??gV5zzo{%z%0bpr`|3P$~h@3=FU#OVFqT=vrM+;smuJnqZ9+SmK;) z!N5=iz8w@)zCw~JBq@U1#-PKLAto{~fZPpAi=Z?OI+PY9F3ZT!06O|invtOaGzJag zgT~Kg7#SKsD-Y!vA=mJ#FhZ_uR%K*p0JS^Ru%uPcMtp=17{Fu6pz;7D1`5kQ2GCI# zsC64i4@eDYL&AGv!V+x+7%ebCR)M^QhLMUrcmP5I36x(!oh_IKkb6L31nN4#Vnzdt zUqPEbkSzn{OOQW6Vj#bQj-Eju%K+&CsR2!`ejvuLD5GB>lVPqzqH%i-9RHwn3{wrV zALKXWGFuy3X6rCQu4~rE;#bh|8pyVz`xSK6y&qbc4blVhE2zx-NQ_?z6xA?4pcd7r zkqL@R<gyp!29SS2ZU?yoWQGyczs8J^xfD}I2JrR5W?1}v6ts~ObbUEUBPi{1qmDsH zfv)U9^EXHjsILj4KM~_^$ZQIYyEdRI9hB>tSr`~fQ{bgVq67m&0k}B~Dq3LO8jxbp z_~>#A28LY7p7ICKu}^sG7^DW&%K<m3K}J{#f{suI1(d!8Xp$Ya#T-<xfkZ(V6eghf z04>>d0SPcLFjz4{`sUV*3=N>UAR9)82GCY52S&)eiZdfa18C09m64$V)M0YN5>KG? z2g<9UaTJiTp!6w)bj>qpC8RG}Jc0Cp)PU&EB*YU^6ANS|$T~Dk`bFN5$w91f0}5wQ z+<@x${5%E_7b$8$T%=e4m1v+mfE?x^|DlJuCnG}x$nRc^ka<OKM#wmvA0q>}ujtPR zxuQLgk)Z*!{4)qkn4bY3x&qmL1quLAm?O7KK&vM`ky{GL^M+`xgrL;i{E}4EHVImz z!ynlw0*wyB#;F)GP}x9mF$*g9L3L*UT3Q2z6{x+ik%58X3$C;VaW#5d0U}C9J7E=i zI{~R>07@gEL&!k!2Erisfzk+Q2?uzOAE<8vZ5M<>+XZ2a3=JT^MKCfnEC-c^SkeTj z?gW*!ATvQ2lqNuR07wiJHrVF;KzcxGK=uC*LSche_ag-k$O@2^Xc(z-ga-&Hmq7Y6 zgzEihEPe#lp~#k@`w_I+*##~BL3%)b1l9XL3Hg!4Iv>qjMAi9m&^j<4TIVNW@h1-> z<X{(2qY@OT=;IWkjG)8CP}_1KJ)m(45dDjgKj|};2M-?jSRMmn%m?H*l(9RIB2ak> z9;ho#gV&6piU%@G$1Mn}3PI;Lg1UsDGhjdg1RCLnBrR|pAh)|g;Q`8Dpc)v~?oNfa zKhhZ)8bIkIi;<xLbVWfnBSQn|AdMVGh6d1;ErpDbvFRd4hKBtN3=Ab$;)(?tSFm)6 z9#>3^n1={~^nl_DME@ofS4fo}ZO4z`(FLm6K*0sA_sEGD(5NM9#DK~@<ah!39X(#k zq481)jh7lmh6d2_Dz(tDp*m<^y^)cj0dzr56C*<dXePJ?OT2*EpRhOqxdgqesAm9O zJA#^rKzcxB1*pCHhfutb)n<l=F*vn?!h}$pxgA<wbU?$V3)*Jx#^UG6&~_Kh-{^jx z4n7nU)z2V3AU}iJD*tf%IXN}6EVT%;hJ=WN>qwZbpwLFbNY%hi0`(&DAu%9#fzk(P zX)X9183qQ1#f%IMpt;NWjF9<x5Fd2p*8)a{2GB_*3mF+2KxQmrWM}}5$uDJOXaF^= zmqEu4S6~S<Q2s>DSD-MnM;hY+jo+IiH-M1aQfO<if}oe3qp!aL)$yTd<u%A&&~_Zq zIsyjJpd&cQ(ALDk479SssC|(F9@+VbNPrDufX;|T9>hS21lUwaCW8nAw;*V|W1<=Z zLqV9Yvs1iFY7T<{1GgY(;TBvJJ~s~<p8z`<wCtS`a&#N$D1bRo!PU^byPlDu0koED z10zEN=+fhjj0_Fs3=9mL7#SKs{q)U@3=N>R$reV22GB7zTNxP|KxS-XWM}}bTie0N z&;S~*-31*B+0Dq%04nzPK+EL4j0_E+U55J@85%&l2oEqaG=O&39b{wxuhBS+CC*Jj z+Z`Do+dV+eeaHh^Q-&A^1#M47?^A>HfVK~SF7{$19AEI#0n)`R0_PCWd=<z(5Jp54 z1GXFj8gc@a!Jyg?G=9neI)n;TXR3-bFu=?NomK@h6Wn_#PK9iC1r6_mdPg9g(0Oi9 zfexx#L9v*e%D~4ECkV;utPB&>AalQ<yIerdg3UF9hSxxRb#Z8i5>!@!)=Gc`K^PPs zp!^A1JGBKQz`($8l98bS6h@~Q8NhQerx_U<KyB|cjF9zuXQ650JhVK&z{t=5nrXYp z$j|`l!Cr#)H!m|XG=R*$0!<Uw7#SMYF)%P(XJlyD%)r2KgOQ;DG&XpXk)h!j0|Ub? zMuvtf3=9l+85tTtTbu4NGBgM>GB7+~WN1)gWMFvA$j|_aw<lQA!hL8u0EHvS8|Y~P z6cFfr3XmR<KS8@{nFyza(!4>H8bApImKw@3lS?uYtFET1A+5Ty6zm5D2+}MlC=D!t zih(FlIDp~_)KCD;TY|)1L({-VMurB^i2WyMef0&JCcZK<G=R2&eP?870F6WZU}R_j zUH0@FT2}vIWN4^kU|{$QEwdSzAmsxi6J$)3nTercEoe&^6Qu6vU}9(hm9Jb(3=N?8 z;AX;HXA4@>2+D6D400o=j0e?uAU>#X1iA?Xz25-R15yJT*I*_b$Dm7uiilkl2rq&` z855MtK>-Mz?E!@`a^DE#4p0~)kBRbP@gpZAWS#=#Cy*a?co`Vvk=6u&{OO5S2Z8i} z)>VPl$*~ajBlxfdU+_(=;NlEa9D%F?VVJe3LxgaTf=VioM?ouXK$kazu0H|~sDM_$ zd;pDg6@a;*bjc{dz>o$R)`E42VWkqNumIUs2rachjTR6eCJ!2H0`ZI0prsb1uL+u4 z2ML2P$j_kg1Z@!k6_Fq@0Vc@Nd?HK?4cZJ045Ca74WKLE#F-cxKx<VLm>3#B^O}lG zkU2>uCP*En$^@ySG?*9~b~Avl_-+90#MWkFXaMb?)@5R70EMj{miPi4E{Yt0pfm}J z0#HDL;tI4r89ly0dO&JG=eV(g7$C=^ucJq_8NjE9;D|4<P6&am`T-?OP+UNx2HaYO zgeCI$7RWuIutXkHG-QIzKbkN>^0z4yq-|!##L$oqI{B6fQr25S!_o>%*z5$AIS|Kz zNl@5;@&qhwK&KC&m&qVKAT=QRFQj$@9o&FA$A$=-prD}C<ou!(D=QcaoTNbu#K2af z5~L0*f@*KjP~kyXgBK(K8cGE9c&k#2^1-9Ppyn1R31)&DRSb~u1*J2X<siR+!WVh| z9CTPC$e(@C{y;w?Ljx$AOkiYa0Igz~3N2TsLB|hgK-*t4q4Vjp7#SKs@irUU?wW(8 zPBdqR92pHN`#^3f=Vf4!Ln=!^>x*L1$`X(sP?7{4I?o1TfHdMxn~)|<d_jJ3ab{9Z zC48rcFVb>A<j4R;J=jDBP;&{CJVC_?xZ#6sNF9`RL9Lzg3`kIe+OUwI25ALF4X-75 zfF0Di1w{-<GOq-(BoJOEL5ez1a|zVC0Id&t4_zt;+VBi=4y@pDf-a2%wa!2T6QE-p zk>y{b$uokcfk3Go<w)27P$3V}2FfSQkTx}FKEnknZV$~{4onOUphmwN6QnNnfaa-S zCWeLy3=9mRObiX6zFs&JL&Hqacp(#H+%TSrp#hYp5||hoE-^4LBr-8HfKF0KVq$0j z?etG(VrbxHWMD{RVrT%3F=c{|o@HcU$YNq>@M2_O$Yx?_0IloGWnyRmt^3PkVrT$e zJzK!U&``+8z);A<0A8P5%*4>p$;iM^&cx6FT69>!#Lxgb3Z{|?vOc*QR4y_yFw}sK zv}IxdT_fAz&&0q0I`X!ViGiV!iJ<{>$!rS~Lqi=C14A1VL&HKQ28IqMhK8+73=Ewh z{Y(rDT}%uOQp^mXD`y+znHd-+fWn2DfngF8Ljx!sPG(|g0F|X%Z9&J$vI{B*fX2;= zOH!<?@=9}4i!zhrb24)?ONwpc<1_P0%uMX8tWq-5GfRpY^cf(^g&2rYZfL+D#K0~n zEd$!h2QG3-ib_)%EE(7Z--0?tSPd!7E6z;MOHENgSe{uN4-sP!h8o8Jxlb-FF{d~c z-Hwo;P*-$?ZjL^|u1E?&HzdZRDFll_6q-T3=|HRtp}}JT)hA4vK0^Zr38>B#h{t># zBjTN$9bJNg86+9l1#>{%dx%VkYeY!ApMQ|AqYr}=1G}IcsD;h~4qT8Xu(Xe>AA>g3 zKnbi)Nz2JkEI~x8E>tla5sD2B7!0AxIq@pbO{|EAgbR|E27+2rD+==SQu9g}jG?xu z5v|40fWZi=iJ_qxTMC8wJ2x{g9&V8dT+eM{^%xp3=s<OuVs&0herZxpDk6mSpsM+a zQH|seLHz1b!Wiy%7Hr;ty9lHQ!|x`HMC&m$V1R`fV*~Ra{Q8i?8J4RU8_xbCT9=^# zgDeBP;4L{&)79BO2()iC*wf!H-q+C!#501YM(h!hlb@Ha0QWm2J;IX~_SnFt#n6Dk z92$k#qXbnGD2yR?A!%g58ZVd{;gJI>C_#lY_Q=7l(a-=~#)7osiXk-3$kAjC^(U@q z!mZWNfI*spUGNIHfdr1>l+?WZqTKkzq+(ExmVrt#LJ~DpvY;pxEGy5zE_f56wJ5(d zFD1StzdW%hB_7;3l!GdOYKJL^&r3}#N-Zv7P=*@M05Lw^uQWG4DX}=!$|@tVI38jf zg9d8lgH=&{PJVGQgDPH?nR%d_vPvo$)bJ`REX_<UiT6wNW6;8@4phG-=49rjgVln3 z@)l7;A~`a%I6es!FsUgFiZ~6-ERIjDNK7taP{OAqGd0=N)Dj$OIPC&0u1HTU!f#M+ zeoARhKDeSfBnLXpDj>f+wJ5YWwa7QIA~Ux%7r%Cp*Hcp%)bY8sxF9t-GchN#Dm4X9 z43=c(RpzA@7sn^1rsWr<GJp~ccCVEbB^DGjs6Z1GW`cpFt>Ti(oKyx-x&&n<OjVE^ z4vq+X3JeXvX$iX$l#&8eX&VTFT1#I3PVxRuUarm|@qVr$@j;FuuJO+Pej!2rKJl)8 zj!r(V1k8jNBA{9UWF`{>J~KgW2Pa2AmvB#)5Dx}WdjO<|1+N~LVCR7N5Jz_g0|s_M zkaBjs%EKIeJYC}5d>q|_!I6zSJYa6eA8^QJ7AW!HFb_$Yp#eBaU{_d_n37omb{Hth zK+70#&I6ru3n@pCav!X8z^M?D13?bMYaT3z!HN-_=0S5AD2d=T5IL)WYFtnQkpog9 zg6%3w%!yCV&nqrT%qy{hH?}kLN^~sjtgOlsb4pXe`4tpOOb~r&p#TXfO=xM0>|k*7 z3bV`wHGa_Dj9n?D<i+MkboKD^7t{_TWH_P}26Z4HAp&kPJNkIK`+>^=kasVzg9V-a z{rp^=Lm-Wei1=VvKNr`aV0fTlR}~T&;2I3h34|O2D(?_QJ*asPvYVmdKiG0dzeuQ! z;2OgOy)^Lj$66SOLo01$V?a)Vml8}348On@Ao(uDIUwFC)D6^K0CnsL+J&5hLD7%T zr$|`^RGWdkcz_k%0iiB%2Y?z5AVtuz5m0&L>gN*R@97s3%m9jGup~5)ko*9Nop=}5 zVCNvu08pgC^DuIOjhuYo)g!1%h8X(~-DRM#LopQOUx?bj=xRZ}K(-&D^bfjHAAffg zQ(>(UT$w1dI38L}BZA;Jx}h$f!O#GS_jL^pc64_IS4p5`&Isu=LZv||I>^<>6I^|O z3LKCUCJZHRo)NAt@ji|ru71vu3?SdUMQe+og(kRMNi72BBao3S7)JW|hocw>QpJIx z3Sx1HN05K0yGKB12)L>TDHXs_>f!0`5s#!2R?@LRN-VI8aF=wT5e-O52a5naX$4yF ziZQSYJ_L2PA#MT1q@TZ^E4UL55{CvgNZixU+27aG&mArY4P%g;e`tuiKS&N{GoGji zl@zHd;My1z1Nc-TwT}puw&<-SP%8*zJgy*sw3R@41=Kpn<p|^!6UanRUO}!tkdq9g z0)a&tR26|JGlEx6pvDQvy-=5+4OxK>oVT;GLJS#!91d~}J0xXbR}O8-!7>@tN%+(n z8h|T=8N#6PPjFu+7d$Q+pI?-cS`=TLS{R>PTmr8Upn;2KVmZjQ@t}bignMDZ0`(q& zU@=4q7LY#$u=*2W6V$7q0w1ItnqhD{45Hl70Ne})<wdAZ;-PJO8x#kC;svSz&BUbq z{2WNUK=TtU8VM<fW&&6=LW2dn=@7><z@iba(Ga!JCT115-x3lK@9gN~<K*b<9Ul<n z=^x}75*hF52d?%QVDSPqlt8=~z=H)eR`ON|)TRfg5;TWHe5U|P2awQ#2*3w5u%}vx zBA70SPvC<Z*b^@{ErteQUx8c)^%a`y;LSq}_rV6|pe;)R`k*c}g*H;KyAa(nh$ce= z2DAbV&935%{36sG1ZqBlk~a3y9hiEE@!-N0q!@cXKvfJK%ON7XVEPc*8k7t`_F&JR zaKFPeLR|++bRb>WU57)Lp#g&kG^7<Eg+Y9nlV?aUI8ottJSdJ0&Cp6CP}qYUfZf?h zTA&UFbp=7{u{#(;y`cev76T7>1_Cm{18&=ZI$WTm0prv1i{exBQZf_s;!8jyJlYIA zf}pu_B()$Tv0g9&zCjY=Taa?F!H6UN89-&kTb$W4GY>UMff_*|Z^=W#6D<isR6|1m zmin*{jw35IG+@wV;1R3`H?FX_5#<^J22kb!Iha6Bg;;<{ccAV+$mP(KfaY>|3W8{Z zdI6SJv3mil9;9pvbs%N|3915g5CtQw0>ECPgGL!qN<>%%fISMJ%Ap<rrCLx}L5;@Y z6hz$#N(`Vt!tP-dvxzS=q1q5p0V^{JL<LkI)GMH9$L%zDT%c%z&bNR<02&!+(GJQq z#zr`@I(FwFX@R;7mesKb8ism919)Qy8ZBs!!ZzQ>&%gn`Cp11ZGq1$hsDy!+fkO~9 zz3t)X=i=kaAi%&O2)b7(-X}jV9TWx(G7KDopxQhhTV>9m#=s#MEXTm05+71okm{0J zoLrPyP?BGy5}#U8Qk3XaS&~{DZ)Cz?#=s$X7IcYed>QECp|ZsIoXp~q_{`$?qSUn1 zqSU<PRIC>$OE7Q<f_AWhOB;wAg903b9DNx?88`$Vi9_ctgHv-83o<}Mlpz0X7iM6H zkIywUvS8q2;1C2Y%`Ga<tV)e9VbEpZ5IhNWM|@&QNl|7}X-R6al~rmP=pyIh{L-T2 zR7aRNgCzrp;31-wTUq57lw{_DY)WM?W#AAzK!R4#>dW|420I20!F|}YWu)d5q!yvL zxy&#=F{cEi5#eGt1`ffU<m<Px0vQ(%np5Tw+(x81rJ$3Q5KeGn;1JwImR2h(uu<`; z3|b5vf@`svQIY|=<|i{R9bun21Bc)e;?!DM!S%<df)m3+Y#I~O(~DBm6H7oR@FDC0 z#po=emBT|)pMgVgIyP;PBv%Ao%#E-I<exqgG{9|AXW$U*#HJD4LqJN_AScxlp%88| zD4X{Y%;v`6(xi}ufgvC?JUAqXL4$z<JdTZTpd2!OEylnhSR&8BfL4q!fXXXSb?)Qu z=N=yr5(F-wKx-94;UeM;9D<>e(1O4<FQp(K)ZFn5U;vdJHi8Tc0icr0$JNm<G$7tR z$UiiIfro)Z5VZd%z}dqwh(VfxL$D53k~k$6r#gcU<O<EpEG$iB@B}4h38?94l2%qW zrFozwhAFzBT%(&34_R(h6rWgHlAn^AlUkCQpBE2VvuOt|5xQ~MV`UYbnwJuiT2TUB zndAhTlyXkY$pJg|D=4zuLp@y>q!>5^L92hj1tN5G3R*5QSTk@4R)SRGDP-g0LFI1_ z_$ujma8RWd6)R}jF>o_*2!a;UhWiJ(Fi0|R2!hr~fNcRUfe3aDa|LzZ7-ShZ1U&^A z7(jsv>)W~dg?R?~`^ASDg5!r7T>gU2F-|fw0T;o{0t^fR&X7a_N=v5*rX@oLP-+H^ zpduw6^s!n<+K~el(sB$8@u8qg&m5gYJi|c!%zz-*U{^n9R|XLV4nYA}xWf_%gAmle zU@w+t=9L(lfrDBIlzc&n3tYD)5Ok;k*n^<d1g+G-AqiSK=M)*@$^dd4t30&TkeOFd zS`wdGl3J8ll3x^Gl9&!IgY01P@xht71v#mZlT2*DE`zx@-ZKCcOY#gHf>zj-gBl2S z48jZ?g2}>A`{I4_le05Rz&?2{2orS5EGf?{PL0n<EY7e2)$y?De1;4L4nch}n7Xjk zWRNQpb8_;NZNPo)_^{Mu@N5K57wUl3fwh3Vh|LcQb_#ajR0PV#VCC_SCHc9T$??hg zrJyrj<4eGm`&}8BLtyjH48;r_f_tQ4!p`}*psDWS)Rg#w#LOb76T^!V3*x~JfCzw@ zV7Gt+NWl)`#Q5NnBGBw`Sz-=E9ctLa)Ee3`fXbJ%u)qU{8F=W;4xC9Ipg0m#@PH<^ zz_AXRwFi3-tQ<OB9uJuUodYUWL}4EBgeC|BLnDY=iW2iu@^j-8laoP{ugK{|2QyLV zfTo%-g%!YaQVLpFbU>xlpdkUX9vriVMs^H(3><>l@L(nwpbRz)9D)|`L`hJ+l~qw{ zQf6KXxWQ)!F46K}DK@pRG%+W>B;TeiKQqOSL5YDwFkcoLPH4?r=o%CT1qKemQ?U4n zM@ih^khcRD@JTRJz;kb439x^`(R&$YeNKLQW^z2_7EF-2Z(-4kW;dwkWycW5z#(`I z9*fZI0uFX~9*4vyDBpmx5{|@%8F_Z#Oaf{IiNV~B<^p&}1v0<^4n+@`Tk^|Ni_&uP z%b`926@ZA$25R}6#Fv1>Z3oPBP<oFqDM|z_QiKg{GAJ@|2y(#V)wdMf9)f!fTzrA* zZCzL(fmaWLiw1E1290hbWdP&>ZBXHRL<AbI#o(OCpu@l+7y)w+F5klXGz^*y9D-(2 zP!kY&97|9#s4#E{%Hc2=<Ztj84TCBJhoC9Uvp74r;O>wYEV;y^WgT#x1v=3i>}`<Q zurNiBE>JD{3YKWWg$hbRtjxe6_yiWLXkh`59#GGW8}1a)AvuYed8tL<WDQyX$su?b z#Rgc00ad^PFrOx6reqeSf^R-e%t4J?P}PO65Ci!EPaJ~+6rMD21gHU|6b%xBMr2ZA zN_=WXa%usn;RFur53p2{nOByWlbI5qSd?Cx3tIdHYTmKIQhZKoUV2FeG`)k;Z90w! z2j_f<tutV@!flK%C@BJ$-H6-*t(xHOF99bf9~`EGq8vO90ItE*F)RQVMWXOHLrFfM zb$J|u#&Aj02sJbUCwUee7Q@pQ$OU#_+u?~Bv_=?`D?vq?9S##f>CcYA7}R2ir44wt zf~8_`vWAO7%5Mcba5=$`!&qqX1nRA)!-4}8%V1N$!4VIO!&1;;xk$wpD1v2RlKG`2 zpd)gN67$ki89>=17>9-M5(1<hG@Ar=H1b>$xa8x8c`_}(2)rT=xt0Z2?M5)Giy(J$ zKob`z3~Nw)QdE>!8K0M09uG-`4E_upf-<mV3u|Y9{R^!PpiK`@O931&#o&;H)W%?S z$juc6J8(Xb$C54zit;Ne!Ls{c4$4a{E=fhsL!d60F^-^uCmPUTC4)BuhakL6PD(7! zOpb??%t)>Sr7l=v0I{KsDGW!06Ch|D2^{#vB}J);x%p{n;PSByhigCy5Z)36HM&aS z5deyGXz+sy9V1xDm{|<Iz8X|mfE@{`>TO_67c^&q9W?<~B*uf=DVcdC;O0vitSW&B zgLOh;3(N#Z2$s4<!Hyw<fkRLkmY7J@4Q~ozF&pe$W=3eqm{*#UQ&3VAU&7!B>bSrx zgu4zFE8qZ!i(+qogZl%*Fe7j`HW~UEI0V<hLx$A$HWoj@Ti?*e5-ANL9YZ^C5$K8| z{lHT*C?P@O<vT0|!5Uz&Ob&@!m?$Z(P_P3h;vcXih*mix&kBMEAa246f|PvFsV~q} z3>tF4RnmhC#YwR2jue&P7BOgm_OBc?QN;UY=73AHM>w1V&ZFSQ80gFeaM}O~!4eCI zZO7oiz#%wW5@sYBF$1muZoxB_6LS9&*609L08?Nw2PqH=@{1X~7&ru{z<Qiz;0`C2 zG>cv|Vog~LpuVvN%nG!40he$_ps{XP;Q%X`aYQ~iXcX+gBfv_e>9Mkkcd96<1P_LR zMpVi{-NF)ZwC=HhjwHc1qCw9$0*$`F#<{>T>Ixdrhz|-0@q`aLAx781MuU{c=clE` zLk96dO_pHKDA)K9@BqXHaC9U><Up>7&&<n@2d(Mm0I&TIN-fAqOinF!&M)#vDe{AC zQ*ud7%gjp!-DL!sC2%1$7zAn}f(C<7CI^s4gA72^1A?GoJ*1TY2zm4Yv{E|;(BN?t zDLT;2D2CLR&ai<$*cg?kUvP*cXgCNoLm&tm<O%lh4+>!rgwBYB1i*GefX7fkr@n%d z8Mwh{W&$4A+5vKyZ&GndVo7QVScDZc+y)&@D*>AY8u<Zh1dS<KfXe{Tgk(u-QEp~l zVhL#2B`+l>wFsOmcY$KL7<9!tQan3?8Wi9telEbkkdu;G7GDA$WCHE#1dXbJjvxn3 zY=F+10!NXV3Aq2~2K95Wr*D9dD}3n%xVZ#QPv|xwQj`(c0+8FC{QW^=rQqah0W}c5 zhyxmRV6TI=G8U8+rDTGWAgG;@hmpELZCJE}-ob&i5fqT1U^FwyG&TY!*o&Z`2=H|Q z%Y!zmg98yUE(e;V3JCM}bOD#YjUd%f?|_GEJu*{^5{r^EDiMAHdkN&q)S@DA+6N8$ zg3bmB2M_y#hL+!eqYoOypp*bo4zt)85-6a2<`Lu?9O@GSt~l2a91=7K$L%38XkLd6 z;W>f^(m*W<aPYys2pUTON8cVfhz2XGlA_A^lKl9b{N(KT60l)wp@vym!Ayho9l)`B z4lWHIH-@P}*a*s~b3|e0!{kBH1MV||WBZK|OddX+=3bgulmbqQpvD|%RMgA_tQMSb zQHv)?vIP~w*Fd2fk2KB<UVBhbnv|27%m5lOaD|P=B2EAV_rJlh3N{sIoPs(iMPT!B zPb5Nn$k1UfEjw_M0(l@l9+Z8|K%*bv0#|^6!Ohdh72KusM@~`spkdgORR5%`)Z`MM z{A75nfl7c}NC6NJDFHyUi=eCyX`F!)6-Xr1(=P-(UjY)Zf@Y%te}5lvS_cj1gGcj0 zJyl1HT!VZ>GXtmy^~S5j%Brw5wKO#aI&%O{_Mj5KG#=df0;e`mQ30MZ0mUJBoSR9Q zfdLd6N#I!;d#DqgL3tlGPZIA8DlmNz1qo=_2IM<%4gq=E*a)0BKy^=PJgD6Tt}pXQ ziyufl*?|Xu&Ve%*G-JbSK5)`PnNl_ZH-j?>ScGG;17;y8t<J{?T2Q8dlv!ZEf&2@d zJO<SqpkxFJHfX;5jiDX3_a9tLF<U~iR6J6B4>?f@bRYoq%mmOx$4Q*#fD}T`5CBhx zf$RsxAqaze2*+S~2_9PD=v@t-gUN+vS3M!njCgSgQqK^)#s}`h_>@#oEdy$$!Dp9z z{N3F=eL`G=z};a`C03f3T2YXi4C-M*XS%?N4OEKeKnqb&84D`fAeAeqmJ$ZlwIJt0 z=Yl|$T0B%Ws2x0A4H8Da#p$5=uB61|Y}dS!B1roQ6#Bvb&fcyeV5bU!B0MucsWc6o zk3feQfXi}FOoqb(0#T^M`{d^rfD8n8lKDWIk&7kR^cQHU5NM};1`B9aAp?T|WB#j) zPw!=PER+`9f9ihRvd0Vzpz|mM7=`v{e~g^!zh(V4&4eey?vof8x<TjqF#2y_;dlT4 zTF>{Zrp@45tvZ*1;SN~*+2KRy3c_^W+~m!?r29Yc6y$tv0Y-}~rPV2ZGiN9qKcs&y zc54X(Lk{SyD8|0)49DGS<0Tzq-qZ*;D0VY2%mRz=$<^t!;@xLtC{!^^?fR@g3=Ge~ z;w?YR{#RIKm2;gDQNPt~yODuGj0xoa$~m{qqPg9?S@Y&+*s{InVPJ3ui=V1xOJ`d+ z<5lF$4K1rSoQnYOWoHmzoOJkP)|McF{ffR4E8n%2X)!Q>?u-#&?0m{1%2x0rc74=u zOa0^4&lwm%CkzNM3Z}`i9Cb7)vc2I^=T^cJ&cGnf46^s?zB@Zw4xUr7$~8I0eI&tx zfx#6lE<CSeTEEx4l)lueMxM+MsSFJ1U~$7Wf2Oy-y&gIDyo*M~Y^R3|4Aa2k>|!s{ zB!efJKYTTJm5)@O3<JYXu=o+5I?H#~R({_$E6N=Z<XXYN0BRNpF#6WcxchO+t4R-{ zKV|vw)|_KtP+|eOM|YCV-bda$K8gS1T>AY+rzQhKDOlWTE$gk#s})Q_D-u5aIpemC zf#EP%d{S%hk6n^I6AZS+FXYa)y~M!4%L+2*r2G7r+L{j%j@;^+a=syjnSsFqBJO0J znEHcVWU1K?qt=#fybKKCU~v`a+md&Vwm#<g#=HK#td9=^!%DEYd7a~zThD<&rUE z{=CwB4hDwLU~%TyzE5=lYV3Sv0k4G1MHVnHc(Z}*HQK>8Ycjj)(T>UMDpwiR_A@Y) zgT<#EkbCjufb@g}*~z9B7O#IWFq{O7FP)wiw1wsE-Mx#|{?D4yv6z8DmK|h{c80%Y zt=a#&hKJ&dXP6r>Gccrq#TU8WRgw!>;~HtcySXZAu>%9cbg=lP>dPnpf9?NL*)1== zxhI;9f#E4wd<jeIjOqu{>*K@2W;x#4Va~uH#Q`$k!<wbnF707x^~L28Cr;!}XJBvv ziz}b$*eg3F@X)#VCTF&XdA<w`Jz#O&xXig9_uZI(=FEBC^G7BGFfd#Ni_dRa_P@A_ zPx#vfg{2W6GLA7YFmi&-H?Rp<zGsrp6}4T9c<RL@br=}*!QxB)yvseZaeLiills?> zSKGQWFjRxZzaFVMaVn1~WSvIpp$XLuS_}-Uz~aR{AF_I;MElN>O_+WB#-#`bh8tk< z{G(DD))&+-{aJkR%BqH`W(*7*Tp)Wx(we8foN*%N`KGsA8@iiI7#J+T;;TjVe>|~Q zo&50DZ!znppT`&&8o}aje#uggBfjWx7RWrPH~q1nf#DojT)=p_tyvyh@{PkgUoKm{ zeGLP{XVBfQpo5>1tzrs_^3#hFa}_`*78NUKR9Kj4#(=I|$S*He$j&S&jxjWd$;?a6 zDNRX@F*MLK&@(hJGBMCIh$&4jDv3$XFG@`=Dv2-8%-73cNI^3$Cbzh(*vP=pG^Q*W zZb(@&d`uHI*shnsKs}d$Do9EV%moEOUJ0effI|qhIzummAq^Zhpe9{$45$eMCgO`y zQy>=_BVVnmmrQwZ6jv6<fI=dP*k~y(Nr6m75EqLTkl|U199o=_Sd^L)lU|ycl9HN6 ztV1hGOEPmZODc(WC&+N(6ldlar<JFW6jit)7Bs#NzFUu2Z$Sb-Gd~Z9^~w2pd620x zYNX2Il9ZfGP};zrEFm#N4U6Cf1SGvsXe7j4pv(!LCa2Iea0!+R9^@o8mXdQ5OK?Rw zWOW}k+=LWpDd2*Y;?j{Sp$`r(nA?g=QZn;FdymsH(}@ke9PmLz6qOk$Zh%azQ8UDI zQ*)CGD&vbOH4|KcfXV=3gQg-kH!}~k7J)*Wp*f_uq$n{bGd+)3>k*Z5UTQhc+A0;g zz%e;LuLL}FL!o2AkqOFC)G!B}Ac^)bc(k9mTA?g4B{hxW6ai`rfGTCsz$3A)tSCu` zh7M6Js|rYdFd)ub6(vQ6$@#gt`FTXDPXsTNGoVIXfd|PbGzgl~L7A+iIE6yPz$p<{ zw3R34=Yfk|l@J33mDHpH1zQD`)XV|}5Z^>WTOkfCkOUEcaEc)u3k7WjTLlJ?LUJ@J zs2CYTY%x&K1zSS}qb#6CDX18kfDJb_f{IXXILvIyO)@s4nxhP<=RYIr#e*UBJZMC{ zU^jt<I_L~R&~cM&3_gM_atsWh^U2qM&LCz09XJbOaWjDKln1f67z!8}7(gs;(0vhL z78k<{$PL5{><ki23=E*N7P%Q@pe!!XIfx9PGmW_!8koR06*F)#oQKMCGhBwUxENTN zA+p>I98eY)g9|eQ1L$mQc7_R17B|BbD2t1Mg9ReX&A<a?aWOcsFff4bXJBXOfwH(6 zCO}zS41b_3ZqRmbusSXV6IKR>4PgH^Kv~=jEl?I0!wV>jo8b+V#l@h&#=ro&afh8D z2g>4RD1frK81}I-Fo5oI=4LnqWpOc_Wn*A?54z8j;Ubj9#c+p>f#Drk>;aU;#h}Fw zF`1h|56a?Vu!6F<8SJ1eE`|^&i<=<=%Hm=O;Q-(F%)rjD0LtQKSOR5nF^F(NWVsn6 zpe!y1A5I1a(23*h3^SlCZiYEf78ip97etnu!3E0VVrbxEU;v$m&dzWK%Hn3Y0A+D8 z@bf@qxfz6^EG`ClD2tmx8Oq{f(1)_P8H}MUE(Uuji<`k2%Hm@1hqAaCf}t!fhIlB8 zn;{v>;$p~$vbY(Fp)4+jdMJyVp&82JV(5pmxEUrxSzHYBp)78O#ZVR(!wx8mn_&-> z#l@h&$G`x(jf0&b2g>4RD1frK7>@Hn##Xo)PD5E-4A=M=7(nB@+zhv%EG~wpe2{Z+ zxfxzUSzHWX_!t;Kd61jo2b9IdP{j|ijhmqk%Hm?^g0i?7`k*W>h9yuIH^T}ji;F=; zfPrBrI6W6YS=<aIP!<=1gdjwgn?VN3;$nypWMBZ@j>^uk1j^!OSOH~mF)#@+FnkB6 zQ#L4zi$PF`fdO>(GdF`Ml*PrMAjH7%4XjQD%Hm?s7Xsf|%)rfH3}taK%ol>##?7!8 z%Hm>J4`p#PY=*M97*0T0+ze-+EG`BIVFm`!S=8(dJx~@m!vrXci$OsIBFoL70%dVA zM2LWIHD_RFSOR5nGpvBJxESO_A+p>IN>COTgC3N{%>Y`9w}*j&fr|mO#u>!oX7GW^ zaxrv>g6~OZU}xAN%D@1+wVj(`50u5lpeDw^@EaT&T2K}j!z?idhF@T@c~BM?gNZoA z6mA9!D2t1sNgQTg8<fSxa0M#M&2R(C;$kq70N>Egz|PPBWpOjKKv`T2KcFmbhCfgi z7lVQ%_%3$_c7_}%i<_YU%Hm?U0%dVC+<>yU7<i<>x4tv5GekgH+zc^L78k=2D2ton z1eC?az#`4Sa1fmS0-!8zh7c%=i(!#81Ne4vZiZ!078k=tX$A(+ZTH*^TcIp2h6B<J z41d94bp*=dVmL3&!0-nwb{WdzVz82d*v8FZ2W4?Fgg{x`3=vQk7sDDE28KgmSAiB$ zfmqxOf1qMq48F1q44^wpxETVWEG~u^Sq271Mg|6Mh6E^!iy<3y_BL1yv_F7>5tKGg z$U;o!W;g?7aWN>!F)$nl+ZF&ik^-zF1j^!Km@UV^zzP<d4`p#NypdyI0NonI&F}%r z;$ldVhnT|6kO5_JF|3kjU;r)8<7QX~WpOdQfy#0-e1NjJ7)%rx7*2p)&;Vs|GqgZi zTnrzeEN+G`P!<=1gdzjONwAI-D2tmR1IprJI00pGGn|34xEL6e7#L20b@)J8+zbIw z78k>0B?bo2{Sw>^)1fRbhDAyY44^aWxfzy0SzHVol^7V<!J)Ag%Hm=;pv1ty1{OO4 zWpObWDno4JW-x`axEOq(EN+GXD2t0>jWPqnX|St)Kv~=jf1oTb1}7B;1|G1<Zcr8% zL!b%+1L$OEZiY}Oi;E#ag@J(^tS$x0;$p~GVPN0_ixopzTnwjFAhvNcoP)Bs7@j~` z+zc<EEG`BYRR#voO%Ch~6QC?^hAB`M7sC%Ii<{vOl*Pqhp~k=fIt!kip#{p~X6S&j zxENT}A+p>I98eY)LykHF1L)*yc7{3X3=Di=mo9*^xETIGWw{v`G$87@7~C~r>b#*W zE`|+IS#E|cP!<<Mf+hn4=pGt&hBZ(YH^T-fi;E#!3nI(SkPl^XF;qiY+zj<l78gS| zl*P@^4`p#NEP=AP8CF19Tnstd3=E(%$=MlpKv~=jd!Q^Xh6y?lS#E|YP!<=%3Mh-4 zVGWeU#Soy&zyP{4hn-;#l*P@k0LtQG;L(G~ax(}(SzHVzdJGKLz$piG!3&7R&CmiB z<6;ohhsbg>h(cLh42n<|H-jpa#l>I<WpOi@LRnl4j!+gigDaH9#SjB!aWf=9SzHWH z^cfhggI!=?0AX=6m_S)v3@e~4ZiY2b78e79Ap^q=unr$6i<=<;%Hm>JV#vS%x+{j8 zVFi@M#jx2BG{*!g*S14hTnvW{85ltK0&z1OgR;07IE)}Bb2IQjSzHVaMhpx$!M2@& zvbY&8Kv`T2vy36K+zj)eEG~vsP!>1CIw*^aVHcFe&9D#3;$k=jWpOi{gR;07Zb4bx z4ELZcE{0c77B|B?D2t1M#RO(A2b9Id@XQx-yE!+*D=3SLLCBAR0dxd6H-i|I#l>Ln z$G~6=&MD4N78k=~KL&=KV6o>=78e8Pi2f)BQPF8dm8xPBTs%7jjlBgN{ZE4quXjV6 z;fYVm%mdHz=%r*9#kiy<m8Qoy=NF|agarloDLCh3rskC>_+%y(B^Fic6{I9FeE#$i zG&6))uYtT4$I1${gf}NYzd%FNN<pDGwJ0;cv{(VOH>4;pF-HM1AkGC^PQU<J(}2sI zg2d$P_}tWD(8hTy1qH;41%<r)5``4-GRzc3F38DfL8&S65xJQq@y;bhISSBw`baY0 zzqCXlKTQELHf61#keryOUZMbAHKYJ_g+f|>kwQ@_${ZLMs9J@)0WwL38Xjo=Alshu zBy|5ER^h}46y=xXC+Fu_S*7MB=clBC?oqZ<P(ZOv4-r-ncjD6z2|_GJ!2OC8-o>dU z5VtA7*YGGH2LdSaN}%h7!1{?*he#W+B|}zLNLSxjDJVeJ2PtG0E2QQYlvL_*F{tLG z=&9zUD5$2O`xjvb`Xx|S3JQLp!wfRZQWZcGp$Y|w#l@*93YmF&;G_yp@8HurGK&im zOOi7{_wN;@=H{2BdL)9Es#+=d<tr4ICTA!>SN$OL!NUY$KdK*`^GkD5K&dUiAT>`x zwHTbvKuR+6(vj@PVh+SEoL6^Xi#~A91N(<8^ZfGjK<8pBloqEJDWs?7fo^Vqc^Q;9 zN{c{2MkVth-UH`3h`C_LLvLJWV+iej6L{S9&zUo4&UE_z>301CYQ!=ybo>744&~?! zWC4jdfCh^|LdPA!SNwE`{yFXhK2g#5K)3Iov`$AEun_2)HU_W;@Kq<>zJHo4Sr|&V zyF>qUd$EAVmO!%2M_8=iKsZlh53w+StVZC_?l)QgGeB-kSqLHn0*||X07-*+#zzBs zUB9F(2FY~#e&}}n0CVmKm{lL(R{4HO>Es2ejBGw4fUxo~$TT>{@PD_1K=;#FxFSq> z50UNwiEdYpPL9q1mTp&$ZWLc&s88#5kU=sqwEIo-8=bK5z~0&`J3$xW>;O6C^Xf=Q z=r>oeFqE>sTnoCTgrV2>MIbn!nvZaR!qADM)Ah$|&Tiiy-GMrtp+A~ye=zX3fNoIk zcKy*@A;G}kHkAPscR!jBss#3iz6gTp=HGUp^*~8=_m?adux^o{Zr2~(9xQ>~p+CBr z0>ENCLEVlV5T-y-x9gv74;GN6jNM)=-2n>!FIj&9n+CG#fJ^|g+d5tEbcQ|v8RdGX z(@CY<_d%zZ28in<(foq3+xJJOqr^+M|NsAYhyH0k#L*f0rQ7vOH%F&0*asz<-Jw64 zt0WjoeL=zy&k2CtC(`MAqdW8l%o{A-u0J|muVfi?`(8l`m@nN-ovuGXDK?O&`4wZg z>z~d5p4WoizCW4|>U8>k=?;accs&uEB6%1}I6)4n;$SEd>URCpT*1RoY7ds;U??#I zr@ihkSxo;yR{=7BQY*yc0buV#qT;v{BqO-~IS$DjLEUEqdchjNsv@G|<C>4?ASF6b zs{xc2L6;<fvlHm<;QVsT{Fm14%aPXU0ZKEV%z=@fx_vo1Jp@28<I2<NB+~6G(CH-s zN`pM$oCHo^3Sr<>)#>`6)AdQG>x)j;H=V8@I$ghXf&%alQc}|*?A_)Q|6g`9fs)l9 z{{4Y6t(Qt|yT5e1Dg<=<$^>?YN(6PgiUf4~3IukC@&t9ef|AgmZg9cTEd)wKP741o zK-11k(CR=)A|zF7r|XyIS`~&`PH;R6bcU)l*J?17a)Ki8fJmpS21vG)quce%%X^F< z$7(cNGVr&8N{#MNjpiyA2L4vioqoq%K_j&cuQ|J2KQtd;>~#Im?fb#nSEV)_6r@fp zAmatPzjS-DbUUfQ9Zt5JU(Wy;2n&rb;P5~gYkc6PAt<LCfD=vg5tdHZH{HH(pc$i- zh{yr?7c`^{%5AP3olXLvtQ^YI8OYJ?D$wc31Llf!3WBneuS6#(OLM@pQ>W_-u=tBk z4-s%46k#Y;C!8R<UBA4pg+w$c7Jqa*iNNv(#6FeIK#6Wwjc$%^PyzX)(?g~+K%v`L zBd|A=2WB}3C~<~90o(te(?g{@^hsxc2AKP&JCLI@KnGj|@iZS~><<0Y>BR%$`u^zj z07Y?J^AQC^-a4cLPWhm6^voG>`d5La|2rUCaAbkwu1`Rj7*vA$KI!D>4t)Z18%w9_ zoo?4Vovz^WsZ@<{kQg6$Z3-&qd_RCPL9gqRfL`AZup)}5I}}vj3Iz1}J_+m%{Q$ED zRK{VH8*$A?RFJ$Tz`!rh0KIIB0d%n!s8<3iN1puu{~yLqDoq33D4tZn0QNshea;im z?aKjk2}gG*sA%VaMHdICbVJm|pb~_n@B=xFTHz-L2|xbrp*%qt0qFXJP(X1oq)h-h z2NX8MgcBsS5DG8U@Zo@lZ`g4}gXs$-akz4H3v~N(bUTS4$_(E>os8X3`B08-CXjr9 z2%;kO{nP2l5{GI9dUFVro>ALF&2Ko4yS@QAA5X*RxGQM>j-k0$fT2Vc)Jg(Pl7ULa z56uTfz=h3mSJ1dBL$~jn=97$_zHhP^Kq(jE8Q%{uC7@ahq#YEh4BfsTK;=59jQnui zg%O<kx<fyJnnIv*2cjwKf4A?4K!`b^AG)1D)d50VuMZ=n9hmjMJM=>kM49V{ZV#S7 zkV#G~paL@VL$41PMA>my(A{?byFsNiQfp2GDTja(Ehsdg7^A*C?f?!7a54M=WP|UY z<1UQgN&r;nzvKb?6(ttnjlVOP=>yy>0+;8#J^~O&;?xUr5{7#~J_PIU_7UI-1Uca# z2iOV52e27LWPSuig6p4NUxiNJAHAUuf_hy)fSPj1=68Pq6>;6J4+20j1g`A_K%pYg z?J3ah!~svY#s>)HH5nXv?ZN;5|6y$#@L&aK17TiiE>iIfO3%%2M4-(RlvW9<7e0Vm zr~yd9!@u44Lm<f2UINhI!f<Bu5#)p+10GcXrCd;X04p2v^N?Kwj$cah7Y}Csf;bOb z{^EcpcvA8gLhXN00~$|80F_Q)|Dcrre~vrA(t3B`7kK&yO;dt;bj>dzi4R-S10`Qj ze4&~LPrpQ`|K>MD*2fTsx(Wnz`+~{?4rnU=(+tfaunL*!bw(CLukQmywe}^8u{-n! ztk(j|ULxT10xp7{1a^l$2<iss3UKQbREquS4q*hhD?C`b9l<R>p>7{Wo^GTTD@Gba ztDkvr)z8RzAuqq20aQVQ0+h)7-0AxV+EV4;?#dAWYE2;J1=N5DeE@4waCCzL!u1Cz z-@uA$kS9USk3Wz?_DK**2>>Z@|8%=>@qo&LKo(GMFZ540L$?nX4|2DUP(ZK{Q6?aV z11Ky&m<r`1YWjo?2tda#z*S7f1$G98tQ>G(0owTK_Wjd%@Ps!rc*zSWCme4y@qyf8 z3L493vVd}+BOHx3KFkc@UL$xw1Kc|X7egR3@eOETjAt~zk${$d=#5iQUxfkJ2*+_( z&`t25ev9vu=7Wr#zE2u!pMbnoYn>hXBnMPO`UvE7`o3wdeFG|!Lf>?TzUX#+(e1(0 z>HDTT^hIargDe41+=HFne1zlm)z_OrRr*97A7+NmP?$zgSMf!+?~Cq0p3cxW-Js6n zoh*TF-#hT!_WEjf=m$`bs)QS4tp}tQ>_#4LL2AMxSEi8qwE2wytbLBsC(VMCoZxN{ zXoLXVssGU($^-4b2!OjUKe}B-I-NM0YdQXxs(`yUf4ZB%UI6uW{&a`_=mh)7_`plh zx|P>S&9xj1wYK1NfWKQ0>KlImc@^Gr=V(6h|8?PO`Rq`R9B9`hL@=i_fG69PBL|dU zLVt9IFy=sc{QE-~3tBIg+JU;qpf2$rSUZRVRx*YD>4uD_NWhzcAkCnu2T<xt>-1qN zFg_56GG28^0J+8jmmk=}4;&=C-L8LF!NKAB<uzZnFGo&y=$~E}uAENSFWtUhx&@)* zMkQt-4{=!g@|22!I*(2))~*7j+@Jsr<ggAEDG}=ijnOn8<N=SM{OES#0S!JK0gX8k z(@6w{oFd4=P_S0;D3C8GbP@d@4s1TfC=VdxAsyiShceOzDm}pUUGp2Bu;Z>@K>Xvb zKOhv+fM)X!aK<La(Jz-VFfhQH?7kd<upuB0==cS!+|}p~h1KPF28wuIM}a!69U$vF zeZRcs1Pw%ig7Hgp?H7g;bx`O8f|3SkSRfE2$rJ!droKO5nN8&NDNwuZM-a>@EKsM! zH6P(YY6Zjl4dC>_gC{t;q3-$dng`UHY680sJbc!?6T}7=9)CcI!-J=@3nT){QlVc! zg~u0o$MN;yZr?x08)2m+iepf6JlH+35)b=8)NzLdP%8~&pkoS%WqhgI^-o%7KnAo5 zJnjl^t{is-7hRwM&==q$@I`a&3yxalZcst@r`z{KC(ng$-!Gj$7g!)d$6Y2kfXsV+ zuG{qwMg;~Mluere>fwOYfZB+#wkv3G9+u}I?uV6E=pKNyS)sixki*`99R?~(Icj6G zLwP`TPOpyuM>nV_6|rWySn8VX%LC1m9NnOjS;9Kx1WT!2wkr>)Na+n><mh&N)9usb z(0q^)W<rPnNU+nV$-(%*%YM)T$|+D|x?Q+3z=K$S`1el)Ws=rQ{4Ez47#L8@`_Np| z<iNn+vYml}0lAn374)6H;Pgn$XcK5CP>_j%0p={Q$3AqkT<rF_$kHA9rIV@Civ`8v zFQ6JGq|2c*05ooM+yOM=0;+ABcY>2ni6A%)g4m##^WcFbO4l!);B*NtV!w1w1j(Zq z`=Q%cq?6}Rx35H}&mk66=NxyL=m3gU$N--zI|D;QC96mCi60KoAnSDD$^d6fa53o% z8c~N7QjqZ;{+2dSDd78~xsu~QX!7Dmw-X1baLn!g()>oE`wX;366kbf=?)bE54A~v zhT1}9Is*l|T@^YVMZm=<3#bdz&GG*tG|RRgC?R4*4;03r#j`Kd|Ns9F^;tK#YR7bF zGj@k&QSMM8h5<n(Jp0S6|NsAk%W(;$(ny8@bbNprBLf2)LpB2g1E^&q!cf7$!0;SA z@idJAvS^r%VHE=d!#1!w&;l)p4$v};MPPNHg~bpZ3mF+0Kv%$vFx+QkU;teLFT$Y9 z1T)W;iGg7TSjRHZb?RW&E+z(sb}&nb8MJ5%<Q5rb$VPfL2GDit5R-L47p;TU`7%S6 z=dv*bF*7iLE|M2vNMMH9k;4pG(96b9!3<gM%f<j20|Cw9urYA6z)Tipf$5NDVPF7V zUoXOt2^U)eXDPA5)J4Eqm2g%&D+2>48HzB>V`X3f<r+4I6|68jHo?{HV1?Q7m6d^^ z1MCkWHU<XJycZjT3>!>`8XL?u9X6N_4>ksdNnjmCY_Ra#16Rk#4l@swg+M!q*%<WM zVdhz~!_2d1hnW}4&cJXNY+fllWKp>YLn}LEsVf^p7dtFWL0i8eVZVYMvN)EFVGBEC zIV~H*0d~kDS~iB~><kR|z~+5tXJD8OX0dR<?DgY-xi6K2fq|a^6u<c#F!xo$)zx#r z+&7Pdf#E*blyw{o3}3-IHgmvSbpWp80taMSD;vWd4#+}SHij1*kmavz4C0&&3=hDj zsBpsE;sn~<4K^<fE|$c}zyLa+f{mdJF4hibE#rhN_+(=^%n8c@FF6?)?7?~A3nv2u zXpU2afuD<k0dz1B8-q9(1H%fiz3N;H43=PZ)?5q>Hei+y7Xvsii7<q7L6%3dF%)w# zFf0Y@sN;exSY%_E1sB`N1#|rqxOqR|<}q_KFsuaY<>iK{v*%`D05y<A7(C%(ZQPLM zv?2_X;9}3XAq$R082ET#dZl<E3pv@q%flggO9w7%!vk6R$;RNp16eG}#t^~-St82D zu#^X~$XA46D-UEzy9mQUP?iAu{1^``1~0+Qd%y!($jQd=h6l3DlZ}Cmmw^GajFOE( znHLt~p1ceU9$-^Kcwr%)&&vQVz1SGad0`>m&db2y1Xeejmw~|*%v#I~3-Lp|Fke1_ ztNQ_0$IJ&0Nj{i5dp-sR(6p@xgC|^U1$1e-2*W-;SXn2{57VK_4_O|`#-POy^RGEv z)`K6ippuOtgdeg5lZ_#PAF}Y0jbS4{WcjrS!*PC?$)F|UkUXd-09oS5#$YS}Guc4^ zW^aH1WKkp=LyQ0eco`)d1L!my(BerphGhb<*azLi0Wt5g00V<JID|l#D}olPu`zrR zU|?tkrzR#r$PzOV2GETOka_`hup2~gnjmCxA{#@GAS{kR3)CUzeHMh3=sH3$ma7m0 z1Ej8q5`ww8PY70az7%3$04+seWB4otD;fU6)iDdhN(OOZn0fKSkcDMz47I{A^Jc?Y z<{}IXlHh#qC;~IjTLh*qPy}XPsR+!xR=DgN5e5b+u-<QQy$qr-y`TezA$5hQC<B8u zSe?8m14A#Er3qJOEy}<Ex@w(`!BrII0)Mz{s3^<@6GRypKr5Ho7-qu7R*5n&^nlIV z0@tx0&N2{#x!Fey=BoE%kVS%Q3}3`xX@f-^vY3#K0d&^^XsIC^!&h-wi1SD=Fvx-J z5R-tpPeB4^o|**Aed&@gG0<Xkd9aQuNtlinxNMgsOoxCJOoyZt0|V#;IW`7mDVPpj zxU8`hOouOAtUE-7qt}V2+v|t%32+|*w6BBVC8*us?fRzq0V974r~+wDee<u|7c@lz zmO2b(bAZ`!6TT2<f&f?-u_nNr_XNXmP(A((oO3|6fCe~Uffh8r0*e_jFfc3uv+NjP zrHnrV0|P`y2m=FyCRj%#0|Ns@2k6{6h>ixhj)`y`pmv!ySO=)Kh3Ein{eqYW+5n{s zmfZ$7FSPqjEa*rZaCNEz3Q#C!h0-uefg5zeJOg-DC1~$U69WT79D_TkhJ-0$0O<h@ z!GW*=czqE_iZLF3%}8-cVo^zaS!z*cT4g-!fNt>7#^7UlA?Ix=XhCQ@1{ns>IZhxm zFmQtq0~3S4Af)-Bfg}xb18C<NXubfH(LhoY7#JErZkoiv&;Y7;Kmo?i5W&E}0Ag`7 z#6VeG3`d|WZU)dwe2^>`XoUx2%n!W-nbz&fk=E(@gMT}s&(D(9>G~$E+w~1bm$mtb z1frFF7-?qs$N&HTK`sWl_6-s{zqBMQF^3^D4@7D+FfhyorxsAJSQ;FYt_-kz9moL7 zU!dN&3|KaYfq_95%mTID<-jb^v>&MLgdEwO43KgbBnNT=D6&DN4~P$nY+*(Q1}C)0 z2I&E*0nv9s1s+Hv^b+Z$%92#beXLei87297HsAy1AQ1{G&%sJj2!#eA23`gp<m5yW zSAc<A5Y+t#834XLg~5V>L$C~XtQxw5tgPbWbBxfB1O*4P9RtWLP=tVVgM}Cb8Mp;O z(E<{IMhQ6eePUo>0L2B&E1<C0zzE){$Y25$RA6Li0ELq(BSV8K0|SE^BSV830|SFP zBSV7~0|SEwBP3Bi0x!}AB}xzrk|;qeE^z$_ibZa4>kY)>VgTi3P<(PTY-M0z0I|3j z4lpn<fa0ASoQy#%E{5|A3=E)@!VTUG0Ag`5gfKENfK29Qh=8&NSt6eYPvlDAB#SGN zD}!Z0iChKD0wr=)FbkA$sh!C0<4NRsCHWZxmB_2GC3291h)U!j-KdEiBtmK;*M%l> zBWNNwh9+_oXd*X-CUVdm2&Ci%u^@>Y#DXMpP%J_cIfw;G<e>P3Bytc7lE^{v4oT!7 z79^2_QVJxIgIJJ64l)^%$U!V<BF8b-44P#qVQa4CA!-Q~XzZk*+m)x;f~lCup%zE} z?Y;uAVPQ}e@gs|=HxxAI$<Ym8;KS1mT4>UI0JPSmld(ILr<<wy1yi>#PbVYxX?>(I z<iqf>P*C9ot4$!ct!pwcF!+IUhB0W!3EW(>g;yBP46r5_sQ3v4t4o5b1LZGB^S%hK zu7v?ogouFmo<jy9jxsPXh=TQkc9=oBh@hP@5WS!n5ChACW{JhYENr<HwA&I?M}sh^ z1l8dMHJDl8?G7zQ1_oQSstBY9RM&&(Tj;s8G%YQ)2$DB-k~0#EAhi(8c#st!XMku1 z29j$bVQ94@FV4V_nOB@zR1yF>-I-euWPS+?0|Rtv7pO`BHHf5TK<Yr1Iq2@BIC#zl zI}&?-1xFyFQUdEq%qdM};A5~9G=#XDK|+85%m-EdAR!PRTthK{swhxX5hM!2pfCbe zQJ{t?s4)o=JIu(?01Ceoj0_E+w$w>Rh6XPN28L6N3=N>>=vhXFhHwT3hI5Pz4V4TG z4Cfgc8tNDr7;Z8$H1sntFx+8eXaEg&+-GEH0PV|v$jH#Jmw|!dF(X66eg+1HC(zsv z8oYtzeh>?i`#~%&aI*%KCb+>vjUW~m_@n|*is1(D^#`%Iz&nXSX^fizWG;xs1@72` zOyOp5V}uM4aWMozS=<a^P!<>X<V=V<(1{2j7PU)+JaCD?LTrg(4_b5!?#_UxOn+pt z;4BYVK&ysf<pB$k<pIAud<6}tM1Uo8aDrl>c8LHQ%AOCdw`VcHh9wU(Ffa&#b2_Ls z4Ji>o`}+_j0;plh20nX11gs9^M)Z0clwv{I34}qZ6}?0Nt-y7`QzH0+dR`!nu*NAk zv)RC}fdE~LHsA$=oB(pc5JN`60M<i7!9eqp0W|ahDj7h7M4*xZbSem_WB{E804f<k zB?PQw01Z1sN(K-MQZj&8T#)WDcxNAY@D#j%8*~B&DCKZ7fab$MEH3a)aZp<0W;g~- zbzBUdjF16sZU$c{i;E!=%Hn2-g|fK7=c0gY<7TLUi-G42vCqS1F@e_1as+~MD>VD^ zfJK@QGJ!VTaPe<<{Q;Y4Wx>)3M6R?!GhLv>3Cf|UbvCFZhSaQ1pfVJkw?L(_JUFL- z1_vNH3RLDpaulehRshR_TEdE87PcG(>brw-6G#qZH>kS@sy0D<P<QVw0|SE_T8;wg z0jUAe_dpDgMre*I%}avhDR4IrT+2eb@ZdX%gakl#ft8~WBv-beN)*(`69HGE1*Ik6 zGtVnvc?ISQqN-7_E^uyvRFmM`fZUY>`4d!6g2oeIUAbCDh6a$=I~f@o^cff!dKeiR zY#10A`WYD-JV9+EXg&8B-jxHfAgLL|;sSTzK=Hy29_$CPxWFAaP^@t?fX)B`u^{6R zpm>IiLx5OZ3<iu03?Ngu8BCxoaQy{Z$PZ10po$?4)KY{FGQ=JR1s6z<2zclcl1f0a zj9$iqhT}ky15yv7K`8<>VggbNN)e!19z8{X^nlcWhO=&if(4|J$P@uqia~%<1T2yb zgg^x%D3U>)Z%_&X-Nlgusl32(25Q+@AejMj4=Bb!Zq|W{zhH!n{JdmjXaMc*dBw=k z0CMkZXiR}7f*|D%hy{r$5Q~ceGzAZ0afA1@gIL%?8zZnEg0m@Tj2U-egGNh1?!y(> zpiw+uwCo4c0}5<0P(vQALW3oI%qk5f7lN$B#Q4J;bP6_dn1izka-f6Ug)h)STM9ve z4stgv&_Q#8kU$5qAb}2Iae=qRgIL@QpkvWNEO4MVzrj%ugSYQtEr?mb1#vg=<uFR; z36z9DK?O-|h=SOWfq`KGIEMW|BWB<NHW)qv7Z2}HfeK<tuq>z`mIAXtW};_1P$2_K z+8{ZQeV}Xy%1IzTDBFRS&7h|QkRFg45FJ2XN&s02vJMr4QUY0HZm8vP30dVaSQorJ z24!tZ3S$qX!WfhzA*l_-f}}POiwk_j87OYJ!J}y)78e8P$RJS6af3(GKrAls(IgV! zCJ1OW4aDLC7r`J?xEU-M85lq;a7sm9%If<EwpRnZ@>c{_NJ9%}(DEfvk+ct-o<M~c zWL#eho{B)J06oQkW(+{$u&4v27|`54NDP!>Kr1GK(8>;w9*`Q)i0?blP$XD0BkKNS z#6EZ{tAsMpNsS6Asl_ElrJ%c=)xksYAUnWXQ3z17;b-6$1a0(avS45+$;d2b02k1p zWCm)CK|&wIf`mSZg*CJw>qo(%1!1DDY6pcDs3Rc)o;{*QXn{H{et1IbJFd`z+{Q&g zNUg#MDNuz22`LZ@5>g-*wvc)WNle|Y9L*0HOGGlJfYyol{%L+G0vllB0Ih3&A%YTs zhgd-KmEiWV2!kF2Y`PFssNt@xycr;KKCs9~PjH|)k{Glg1nB`KIBNz5hPSwa5GBDC zCnx447Ad5p=A@Qn=A~1d^dL)aK>bfhkb+o{AO*3o1SvRkLc>!q!vVBd-1iSkV4^J& z2bH{_lY2x!NAo}zDuF6S+#v~S#e+f-gh4q7JtRSGtSGdQ1nB{VBq$62#}$%@BNY-T z567Dr3G)`bH49=vLJ`Em5{k_)A^8>>kRllqU<ngG@(D?p0@xBJD78~BVS>7!5op1Q zoG`!P4$j>Cl2j`zDg-8KE{7z_v+&>qu^_<-VqpnR<V4ArrO-_{MS>O{iZFntnLrhR z2!ko!%EX>P-kywQju)f{lp;a>pL@815c%8_ssyAWMydo&dqMIxhy@8o5DOfP&2Kou zP?wT}c2m3l>Gl<9e#zMBE6`l~hoOw~xa$v4_xm;baaYjMhzy{$@g-8-U%Guc{)dV{ zSABMeaxjPTbcS-g-W}I`gac7~9}-{yr6)*+PsAJ0pf!}B);?$m7?ky=@h~umG9U)E zLBkl%XlWIs2UO!lf!dd#(OHm22F3))<(H6_J*0M4fZbLKsir{|fz?7|7s3Wr(|pj; zYS3Lc@!-1xAp_N*%ah{ciy1)jASXijd0;-M0sr3wbSqREc!U`=7Y8yCBnGeLL2H8` zkpW^sA_K(Y0<YHtvADrqR}c#vL9lkx4p8`KpJ3<)`ILcw9}8FW55^L<W3K-hU$Y!@ z{m;<l`@aJ;RLuZuE`fS)Y@j2wz-K_Qf#(I#8%dTZK4)M6m9(H`o}iK!)JOvPFOUIr z3nIuT5Dd}-QUl5{6`)yUurOmnN@ZSRZf3GVW?p7VW@1ieRcaCVXc~2J^C>AaJw7!r zB{MNk9TNB;E5JHY3HWjaa0d$1*n`P~>;-k8Kmh>?YmoQ}=sE?^NGc>)K`cnHf>>M( zp!F{x7B{%T3SxnSHLUv!c)J;7vjH>#$3c^9>|szqg3eH2V*uF%Nw}bt1z~}ljvkUq zAm<>3CTOV~DA|J4f<hA1fU-tQxF9_sdC)|^E~uvhHUrY!M4yKTw=2Q&Py(b8!UQE) zA!vdH-BOp4Ut9v(j|!Uh07Vo?Ri-clq^Sw&Fd&C2$PMVB$^-55gO*T0LKVb<ger)| z#jqN>z=9im&M-s_v?2t=f{es~Sg?==4ZPq8Xi&=+RCuy6fYwn%f)^AL5EjUf=m8D# zA;?D{IS@@uK!fyv)Pu4_6(Y$(5+>RT3?c&>lrxY68hn5gXfpz?fCjk%J)ni40S%fC zfCMy%1qo;n3lh*E79^lSEXa@-hy@8~5DOO2gpxF9yo7p58q}}Gm!$PT5ebSS=uj7O zk_OGX69{S0Xcnl11_fMRD()1GQBYt@()`en1}&I?gfxf+326|E3p~sSVsV2H<p!}J zAq`?dLK?(^g*1UA4LY2NdPy2vK!ZXBmZYokBxw=?8kD4w0vaPlV+1tF4d_W)6dKT= z!5>IKgIJJ&2C*Ok4Prq88pMJGG>8QWXb=k=(4fMbAr`#q4m75Vy$*x96P(f*AaxjM z01y;9ppq9f1Mh@Z@`Ch$)PT|#3#cLoYj%tWT@ag?6A!+1Bfg+0Gp{5qKEI$OGe55w zBejCHfC*3mEW^Mf2)Ys!EWi-&5787{l3$dVo(e8{K_#yNL>f$j+)%&-St|${Z~zH< zLf7AUGcYuO+~xzV-@4#UVGs)vnjjWrH3%qdAge(@EJ$dAWFesmVu3?547OVnaext| z-3&S%O8~y_P6DGg1QnYgQ$!d*?(74vi2(JAA%!$(i57$f3UTz}8Z_z;@)<0U(Ti)) z0!u@**a7JQnFZ?0Ny0QTFvgdqL8BxGBQikBLDoQ4CctV#0nq)F!6ikhiMb3QF;Hz| z4ia<AFUn0U0gHjm=KzU;E~U*$WdJQy09E=0EDQ|sjz#G{nZ=;HqAdkM#R|v@GXZE- z3eFG6F$!`wXd4YEWr0Epq`HoYp#kK$dM5Azqo8{Nz$+_3eOO5T0I?u33Sx1AH-dmz z+~B2WAQl(+JaQ0=8+=AIhy{*O@Chl%`#{0*+3PCM3EJlPBM@@b38<_BOEe!5=yd%9 zZNh_wJ&+sehd~WX&=>`zV+pcDgaI@>h&ygUH+X_lDF}o73Ti!qf)3<gP|gD_SJy?0 zTaX@*8c=^-1{C%njSP&?m<7ix%s8+NoB(AqP#l6}3B@ZY4nfm|C~*kV3>ta^t>uUh zN-ZwUDFNq8$jVrdPhoa}+z5(CHU<U;P@ICq?U@-G!0u*dXaEi6J2NvhfJQM~m>C*C zJv~=uh6a$I+?XMY6hTYeA@K`hLE;z0;$i@;?*Xy6!5i{HEH3c95};GoLEAP!XB&e~ zzyR3_!{~e^*2$om6PPpx4VsGsse#RtVklsM+{;R=8f^MuVj#OfF%CN6n+?2y3v~WB zq?rL)k-!FC#t%9#o{hnWfq_8>Jjf5aXcn|W2^7XKlTc~U;!8-04=N+r7(fvZTFeQt z12nVE#sEq{puO+7O-TmZ267*09Sp=2&{jN%DWG;N#1znyP*hWT;W|MrTQ&wz+5y>z z>PiF;G%o^iFX*Ik+%|zu%0{(mKHR2r;Ib8D6R4;{n2lg9f~&m^RtpLh(CO6>|A0=G zW&@v@8V{Lhwo>p5_3=@F-pdO;;uIzYp}_~_<|G!Srz)i8<(H;sfGQ@0g)kP#LE&J_ zL4gnjX2In2>>b0vjcNEHp~&MJ4v-0o^(b0Ey*Q9|kg=fk1xO*1fT9qj2$uXI27yEv z7$9x|b)8V%0+EG~Aj8wZrh(j?31&fL7#J|!j2LId>S9o-4$=%V6m+*Rl8ZsYAe;}j z0hHK^z${SY)PY$bSy*Po<{OABLB2t_5*9?*)R%%y1*r!u#6UO&?ko7+)mZ%ka|*~W z)nKDQ4uoTf>p}iNxE>}65(QyUAqf*}1RDWzO$(R>6UTH-XkKPvX)0DX!MqD{Q#*<= z3|**P1_lOfVS>#SpduUQ8W0UK91_-;DFP%9!yt8&!M1|bO#`!Fa&TY4Q#)jm1FNr) zQ_V~iV_?QH%mE97!W0tj#HSjF3qj$Ia3RROaHBz2;xaHWK-7U`5bBWCfY=}(F9o{< zq;3V61ri5gY(9oux{lS)$T7JZ#UO@ts9YQ|32_I=U#RW?wPFxy9klTX!2=ELurW9! z=jRsaWu{z;W@Y^UAJn*ZNJ~vD(K9fZ$jHzD5z$L2N=+^)O9lB1<Wy!x(DCpf9s=v7 zfKE170Zmzh4<%$~T+zzF;15y`R|Hi9T3^Hfie_d;&;ld4G?<}Rl#*Bi8uEk=4KXuT zfFhcKf#J_TPtZ1R1_lO|V0SZP1JI%PkO?GasEDx%s8Iq^4ihmk1TF1C5iu5EMAc<( z1S%1b)EF8XfCdkdMU2e;pz1O-G6(IKLsnyKD#C<fvZ1-T4O|4|Igo15brT?(nL!WX zQONct(3WxdvPzJ82nMYY0I@*L2B^P`%uQCnO$LXCk)_cGR1sqXixhMb%Mw&y7#kXD zFr&EH*wAPWnl2Ob0yH(I#s|<v%oSK*=IE8AR+OmZ=7HP{N^Q)H;Zh6?pvw2}(F35K zIRgU&L=9*K0|Ns)18Dax=*l5bKDx!d6tpD`t_ETbD2FpMf<gdfYS;_ybWoRqfdQJL zz^RTCY!2u|KbSfWaJWM3f|vuUshJr;duc$nR@5FX!88Xn0?5obg%Pq-9%LUEhB=_T zPskk5kSMA-JQ(JHraPD!L5)7pCc`a8N>-Te0m(2kzF~yyWCyv255pW#$RW%TKm9rv z(;U#42Q%XrBy$8X%mGb3GBbiA2^2ojHB*0KngbelWM%{{bOwbK$UQ<B=74GuW=7Dk zDX8K+y?p;eOmjfpCuT;_r7*Dg62UMBw6=$t5!8JEnd7Pc@HVD7pw2ckBPdtH%n`#d z2UId5{I#+Fg&3wep#A|fBPfT!{3U^5jubeJfx6kC^2=1<(F9C$K!bS9jG*Q*NDU}_ zq%h0@4UIE1!pzZ#nD7+S9MB9HGb3o#2+SNA40AyHX_*;8b44IE54QzO!88XHdd!TV zMl?tb$USlx=73^~nGw_-1F2bc^phl}IiSHSW=7B|36L6)ISLr&fV%t$_r!HseZw>d zH0XnBjuM7BpuqrUMo>2qWY@$T5nW7kKvR*Z{!+m(M-3cbp!qIP`dRz}w4w&YLM}Jd z!D>KTM_}nk4auC8Ops4OWiT@%XhH>~Tg`8$1g3jH%ift8LA%;v=4c?911Wz%D{z<@ z!J)*!z@Ye4<}#)^puL#PjG#_0C=Y^c*TOIdv<Q)z5ga273=Gyje?>6O(FOYp*&H1V zb3lVqgxmv~jzx8k9)>xfK^;Qw0c|KjHOBzM9B__c1eMaDhC@owf<jDxfwmbjGlJHy z!NSJ~!yM4ET4qMjPz0#1{oo(iifImLI*yqUv~L<_jtPc2prJZuMo`Ngln%Ltjq@<g zF$ae;sFMzhcQdd#pqK+Kss_<&3<}^@5d#DG6fckvTm&?V3>JWkfTq4sML@$$s3M?Q z43LNsTo-83J4ghCL8%mSF%pOe!VnSA-b@e=gdrlJizq=n5Qd0=hEqU16R^qguz@B9 z1_m>*2uKdJ+Y>}{fJNdV_ho|wK*PyUpMo}pL4}|qpl&Ow2&h|#Dgx?Up^AX|G7u41 z7|sPH4zLhR<QRs?2dIb!g95m%$-uw^@g9;3jWI+bp(0vfe}Swhhl=RIMW#YUbl@VJ zp&|xwk&93f&}jq^=648%WV-?=Nr9|@>vF&l0S&5wmB7{P#!&MTLqr^u=)u}x;p2fJ zl7t~rk0G)GD#8Z0{SoxsB7_JBDA9xaC@{O6Ss55WOU)5#nphba0#MX!U}XSb9*a<O zmlZOSj}YNxV_;ao3_809X0i(#1H%OrkseS36VxMsyKoy+1Qha_jG$#3@PG%02#5e( zv3h|G*<>|#1_scHnF!kp*cliEIFQw>2Ne^X$RZ!u85j&uMC>>i7#5(2Oyyu;09}fT zFnK2jWXc60@`QtdA%Pp&WKm8Ah6N}h5u6MR1w6=V=7Ac#pdH$9zaN8&K>Q9`j)v*? zcThD_a9zTn;+7ZLWOptGh6^Yn>0AupOHUDQ?&D%$NZ>=(wVR89p#XFi4cz31Tnr2i z0?2CkpiL_!xEdp<2*k~x)k>Id4uh(Zf$J*gW?(pgV)9yU28IMdWV_CDGcXhgA&V&R zFfeQoMiv2G5j#NyS!6a31H%CnkyAVj3>QR^)qLY&U`P-{7E$D7U{DZ876F|Q1WIcP za5v8dbqGL03<?aHjG$$1m_7xsqhMfQ5P<7?3e_bB7vTYQ8W=#EGGX~b4=Ms$y$Ufi z6e=PC*HsA>;ew0IhKdNmMfO8Qc;F%rp(3EzftU=smKN*@xEf(l2L&tybB_{+h#`iE z1BM9bd?JuB?BEhxuebu<KL$-3Ff)SsI3Rh6zGa{$2`Jb5_!)v~-wbe>02;ec@$oYR z)!CpPE2tn~W&nwRYWf;vH6Tq4OV~m21=R)8#IOcg1k{9JIE^d<GKS#@vIy9mGvHDJ z*_<oLB4BeqBa48|c>@;#`KgT`bP5KjFAS@#Uh+fE`hkQ7NKKFc0|UrHh=_`hAK1+n z;4%SfJJ@8<L5gs{gBnW=iO6ce?ukGa0qeShECN;ox&i~$oDXm{AouJRU|;}E6+_$u z68SB_zz_?bc!l}GQILTFw5=DSM#aYu<N*d3a47+GGuRhC$Rc3dGmu5VE=)ld0h{9k zE&-6u2|*SCn*+M`814(OIXQ4OAUC%QGBAMJQg9c75*zqtK)5cjT^!)tjck_)vItlg zXe$pWm4Z_pSQlvg4K4!qDX85F7lG>nWiwP=a1ppJxCq!6pmrp<R|`tv5TAnfjey#s zAQ5o9*C304%>f-p11j#pc7e?SovI2K0qX*_KH(x@lR@UdMZmg1wu8qCKz4!EfTpM5 zB4Besy5J&k+rc9zAYEW{K(@n0z`8)T!$rU*gUo@5=z)s_74WbTs4vFM2-*@3iYMj8 zhd}dNpa^APVAv`MIn4^J1}yeM5YqBSi1-MBN?8U5gvdrA1_l=fWRXuG=c9<22!l#O zm>RvL;$pDz3=9mQ^H!J{LE}^~5lBw~#7hPZnLyPrF(B&#En{Z}-75@IhKA=tb%E6| zAdicJ`ZdgqpfMIu;|rn<6bc~L7GcOZ97qiliZ0Nh47haNfa(INLDdC1JqqG4Ncj)4 z17;VO2*fUs8dP22o;y4=UKMz|AVR|l<ZuQC29O$5U7*=2TrNz3+67XBstdHq0GA6V zL3M%Dpy~pTb--PCc1BAa!iC46E(EDT)df1v0#Xw}o5tWNMNpV9Fg$_U1yX~m3zVvu z8A0PhAeEXN4wVSISU|&I43LzEstdFnmYESWf&tQ{BsmQ_CIjMu&UypUAT=;uDxfno z7~DW5061+R;tR$qh1vyD!vq<BhG=4N2kQcjV1T+!t7pb7L%47jR2N7Ms$HPbc1UP| zbj@Q}bq1m9AXFDf4XQ5Cc2>w(E=U*17YJQXpt?Y6P<4S0jbLU3jhlgd<6d?XI#LSK z&kh<UWME(bsX^5R9vQ<C8pcpvAT_9=0h)AYW(183fn4|{e`+kkg=tV-AT_9V`GUg` zRJMb3J!bFkL+I*;>H?`j)dkw^$IJ+7<iWdf(B3iw!y2eAkQ!87pm7C6Xn5>;^cZ2+ zS*R|M8dP22aSV7ECJ6u8jnMTSstcqBH8en{e=#$HMk7J~YF*eYkI*F!8hmA7U;wE> zwJQiEG-}yZoe;W=pt?Y6P<4R@@|hVyT@+9(gW?vU%M+>#qy|+NXhI1Q8g?y$O$c2H zP+cH3sQwBCyAU)Q3G&ypBXvl+TA;c>YEbP81M7mtGHRM%3e^QtgQ^R3#0jo6e+a4z zqy|+N=*S#|zfjZseW)&w8dP1N=@UpP3JOEXA~7RGXt08s3=9kmAT_AEKzjiYx==&j z4yp^J1~m+$!Jz>Q!^{nv-XZMDh3W#SLA49i3SkDf=RqNlnp66qx<G1Bb%9!zxN^#B zs4kEiR9$gk7sAR7)SPkxstcqBRTpT#Eh04L*{MH6`0E{17f21NF3@ZyLKkWnDubpM z7#J8pYEZ)vG}+0_2pY`>g@)GD?_~(PT%fu@YEbP09ioH?L)3H#Izba;J4g+xu4Hg% zfLaY8yFh9XcC|t60;xgO1!|??N{36Kx<G0`>5YNmEK~$!I>?-oWED?eP|{%lO&~L) z&2mEYFfcrT>H@1_&?_oQRtbUVN&~wYRNrE{`8!k>SPjTR20qXf4VVS;nVxe{h)RSr zC>t}RV=)J+kU<fu3#^90Q;LDX9=tp!Gp{5b)D4YK%P)fN#)vOTEiQ3zF!peQssSDF zf=f|=lZz9By?wlgL!^5|fMbNGXMmY&fMbM#LzF`lgT1|xL!=`}7|bzth;#%i0`uZS zk>%pUppp(z4DonZ-Nwgf<`%@q$Hylo7nQ_k<|oCcmF6WgK!wwibMlK*;XKfd$S_Vk zbQN!Mer|4l9(?U6Lp+=rpTl5puR_e3n+}0aE)F0UM}V9Qb`a>W#vBI|m~9|#F@g(P zb&Vto;(}$tv5=lxQj(dQnxB@ESP2dEkj&iFvc#O=(p-==_Ku+-1!ajj4i1h^p@t3y zpdbY6g(`F}N=+<DEdnWy_j7bYC<m*wkB@f+t43_P0jZ3Lh=N)NI|l(I>Ji`=;N%j3 zWF_1($oeptB1e}1M-PNeAXOk=J3wrL@1g)HcXtQLf_#lz7MEU6PkeeIvWY1vL8)n} zMX7nosSq0w_q{tf1UkBcy$ZQ;n+S#W24FwHmrTJHDFr&ZI)K8=-VnQdC{!MPKX_tk zNq!1wXKrdrJoGkdi1RRv_H=ah@CYz-_Xu!|2nCz&;ppe$;~Es;806^d;NTEt-~kGU z;?$zD)S~#@#LT>${QLskrh$E&oRgWFS3<06bZ>)0&H<blAglS10~O>L^l)%+fQ0~P z&lj5892|TdT|Gd-2M?a&)V!3`qGFs1p$>vCt3q8w2#SpW=sH6jF2kV{=E{`Rw8YY! zlAzR*qQt!7+|1%)(87L*b8u)4baM3s`2nicGp{7I2$V0uQHEO&at;P*&n$M$OH9g1 zO(A5N8%Q;3Y~!#c6q?FY!3N_u*U>e?4HSXJsU<FuFn~q^9<x1BvwA^da&~-fYH@L5 zIyB4S*6V?!*V8k=$;Hznz%kUw0ptYxcz1kZ7wQPAPryZhJ+u(RZ4a!fNzF^nPf3k0 zPAx$T2E>Za_<*APlKkZS9B?8J0GDM*t^~O(C6z=|BA_LwCwk!tbr05<!S5t+EI}PY zl6II|zy`oGTuEg?Dtb)gazF&myag#8;n9FF034PMFnw?ZsM!`KO(@GE8w<;@I5Gm7 zQgG2nq@NL`5~O^_n`j&yyzvy!4E9hX2t*ViQ!sJ_n)hI-93wyAROf=4!;sa%>PGaU z7Pf+wltLD!hd^v0DFeq8W;TVX067k=g@H9}k<}AU@G#Y|>IfseVG8h-Jy_MCg)>YI z$Qz(y95akzYi3CcWtc8lIKz`VB>fek6?(8kF2J=jQH_k!JgOU6l$xAhgkIYrTm}jv zaLkn#WtOD+rsn1sRpRspNO6FZ3#g1v&Ph!yB0@PN_=AFi2s#7Yz=H&2d_jJ3ab{9Z zCA=i_#aiDXyn(-Xz>?6Aq7rAeMi`HrAXUJ58rmZF1ouWjEq6#o1_~N`hzfYq-cv=z z8PaP3sROm}A+;(*8Pp&*RD-}#f^Lu-hCx`BA?)*X1obE&ZUVRR-5^n$gwjWF!)gk` zGB+eszvrZ~h0g*eAMXQU=)2bUx!XNM&g6+2ikIK;;nrzV#cWtLRNCxay8lk@Yl zGgHCcG`J4e;sS<vumPTVnI)ixI+PonQCgCcU!Di*pgLDnxD_Slrg|jirR1a*88gJk zr)EG>O_7Q{v|S8OHmDUKG~1%;ph=w?A77eRo|%^d>LKT(mZ;dHmq2JW0eMxoiU9+i zEHXq3X0$*<DsSOFL2G3YbSPmni198Frl9);(xrqa8I(*9Dw9CT1r(2&d1?71q%b5c zXrV=wxQEAl38*(iqXY(yb=)2y9N2_hNt6kx8Awhb6kGOa8@?Uv4ejmmjcYkLSUQ-* zdpkl0WRM4HjN|>lgKXyD5+9yIPzx0^CkN0#9GV*BI5u+v>jxER&N+$2#SRXn>VOS{ zfc05`O@q4z*(P(WZh-|daqhsS8lM|rdT`kft8AfR<?Ik|;N;`r<?HL_?dA@vO~A+T z+8f)Og7!(;n?g5A+MC&{I68to4$|iA?%?6?<>=w(?hmcX;MyP+sl91leu=#)co(I; zX=)x=XOIbMm|=~<AOiw>Cmk$65glZV&n$=%Bf?4y9Ubfq935O8A>M#TC#usR#-X_$ zImU6sDHgvV>%#66WEBvL(fom_0GBTaszk~R5Ub#Uk0gWQOeArL4v6D0gbf`XjE&u( z!3vj!rCx|uOv_;M*sX-gLUf~9j4Fv1A~+mCLX5(U$C{8~8ISm60MmiuQF!Wu$s&6c zha{Ruai~J`D9n6x_Y&|VTKRz`bt7tRTpoj&fx~O4(zrc`qRt#NtP>Av7&th9$~M&2 zD|oI6G(!auhP7hB!k{Urc;r?wxIK(f2dRLDbD>9gsW><o2beiVL_|3<aOoQx7%3nD zLle-(MGIpiQzStJ1qDL`12Z!-1qE|+LrV*=R05X|V+@1q9^>#QzZn=nyU{>%RmeLr zL443Y%o5PTFc1fZxdc%5#eswu)G;tL^D{6ggU%vhU|<040C!*zaDwiG0ZopBl!0d_ zmxC^N1M?sRSRK-?OpvH4D+2@j91shE9T*H8koPo#WI(faHVYXT96%@aLyu5!U@$m< zyeAK&E?$L!!D}G{!%EOiFANL}p^Tt)RsjhRb>IbGAZ6g&r+!~zVAv1Z!OsBM5vRZa zQwP~&15yZ@;S2@s?FVt7SV15l0qS4S5(2O&Xt!Y06$S=3(A^OXklVE!1O%KQ_9Dy! zT@g}om4TrTbOA8~<n~r<=7A3Vv$)Q{U~m&`JoxTeZ03RXWF5Q7!0;5R4m1mj%{<WV zxSux}7#Km@C-JxsbkdUXZ3c#mP<5ac6xhtGVPs&?zQe$<9CRlE0|NtSVKp}Qf%cV& zf)2@scmqsgGY{lG<9iGY)}T92@VE~&SDt&Hf#D2P9WMXIFfuSaxX-{~13LB?ypoiG z0h{|k>(rVaGBAMl6@nZGN@v*I2RaYw`9lVV`Ou9opfxtw%mXdN-1~@u;VY6lT;>Ts zW?(oCI{6+npA5RC4NH0fnfLNB1A`)H`xR6jF7xc4Ffe>aQisibpmjr{PZ=1JK=(4> zF%Ps`u;D2KgAM3fMyNV$=7BOm)H4Q#wMgo)xes)Z$LVJb4E>-pZ3vjR7NiEW;1#M4 zmw9q87#JQQsYAFAveyn2pP*Hlpi4L{L0i@tKr{Ia4A{&A?Y8rM$-tlrx{wl2`U9Ps z9{!4f;V@JkuJi}mrE>ih1A{uKV8E09Ks)bp-!L%rLDk_h4^#v#dc(j_2D<kGkNZI8 zt$548a1yExpLuuRGB9j>2MQ(J<rQeP?&Eh13~!<8Kr1J(g&$}&^7nTP46mWvz(8AE z5b=R1|3Irr4L>k2<bt+ILU-n4GY_<zZt4dHhP|NEjPQgXXq6fBCkBRK&>3HN(hF!; zUEwDNhPj{7{EM_Z03-uiAABCF2E+$rCIbfK6~iDgP?dH2GXq08$m0wQ44`rnTyG(* z<OQiiUB?R&0qtaQIDou%7bFS_R}hVi8yEx*Ag|U1$$|E3Ui`wq@E2+?q}(-dKvxH{ zH~T9CLow)7Flf4W5WrLiGOztB1H)#hI(+6Seq&(J{04FbBp+cj4`i<`R1HKWsNBW0 z7nBZMzcDa0Le+vcao{pf{5u1K{C9|Hp!AGOoiS7mL?w26L2GBNiBJbxEgObY9dxlP z_*8rbhMMmT3=^Pg;qC)1_CY8E-{`#LI|IXBs5(%5I|vv+;}@Y2v>x#IcLs**sOq5c zi%<tz=lSqE1H(J0I!Jv43ulBn(0VnV9}El{;KPH_;|*1v%?}2K2y}I5{s67s%=y8< z&<RzC&mWV2Ffc4eRfpjZP`+9FgMnciR2@A0!0kj-_nrE|!0-%R9h&<<D+qu6U|^61 zo#_Q@C*lZa^`8t3=BVm0+y`p^IsRl|a3i1&6wU!Z85nY)>Tvl3v>?3UCj-M2BGj$; z$-uA&T^*W#LHq45{A6JG09A)CK7RdVVBi8B5rGI74F7`8b`bf+z@Q3M2Wk%?@*8S= z`2J#G$b_oH=il023=9*AP`C6K1H(>qby)m+_7?-gTc|pG{{8-ofq@-#`WXTL3jStb zP=cz%=U=bi3=C;db@=>S^_zjA4?`Vd^&+Tz0@<_ZHv_{ms5+=W9N?WrkRoXPxZyVg z!xjv6pn!oYVqgFt(Y6n&1}5qt-~f$Zm<UAOF(TES!=?^t9VEz9kUy^dW?;AlRSWh9 zgMovBf`Y!Aqo<Fjo3CfEuVaX_hm}&ib5KZpaEObif4pa~e|)&7i)(yvfUC2oo2P3~ zu&sfTg1(EZn`5X?h>xd}l~Q@JQM|E{UQT9`5*D+3gPr5UT!U;4Ee${#G3@dTaSd_| z@ehi3adirHkN0s6bM>(`!eUZTX&z|FpHF5|QDRZ0t*=W;yh|ncJZ%@yK}2Yd$}KKS zE+{HVK@;{34s#9)aX}OH_i^!a^mPqZ0-b5Y0BXsUgEs*&f^r#yn^jCfQGQlxa!GLv zc>FLaGY`zrOUW#X0b35{#s}mVrxxkuCuK2MG1v%#4ntuFpV@pVngLGxW+oTq7w4yy zC};#}DuB*F&CRR=-BRJ4pIeZblUl@paeMko7RbgWP?HA~l{2^*7<3s}7(knHKyC%~ z@SPY~!ER*$9j=Z%?*^IT0J{vj76mlViFNUs2eKL1r^$#hM+J231IS&Vrk4%c*_I%` zfR3r?V_{$j1NAvU9%6u;=M6U8$_gCBU^e)uOHf4%Rs_vt5Vk;r5Ca#375E};&^`vx zr7<7=|Nk#)3B5E1BmipTm<TX1<R#{&GVm}!&Zplm#=wvaKGhP`5(S;33o(&_0pvE& zHg-@zf=)IEi7PTNG=SWzz`)P|+C&55gO*DxF)%cM4jEBpU}&gkU;y2K*#J7zP>X?~ z0d$9;HUmQgs41(@z|c^}$iQI0z|e4jkpXnpe8Wvf1_mPrh6d09Kc)-}4U?F_+dLaA zn8Dl38tySOFjzA%G_<gQZl`5v0JZo)$D@GU1Hz!K7ohA6VuLU!J%C1pKw_Y92ki>7 zMGJS39*`Q)R;6g{;a-Op@F3$r#-rf|AqG&`f(~GW2R8WZe(+hZplS}L0c0mAJV8Z` z2vjhh0n<OAAuVLf{J25GJfM@|8NhiFl)f#|`~%VhYKnqR&x*kAp909~#Nb4PY&;Sh zn_oaj!h@F4gB%RH`4+?n^>bl-gkM2jevl{#gWLo1E68wAQynDcz`)P|a-$;yLqjzK zc)M={$h|ID!oY<Qvat@N4}{Uf0CY|)dYppvfXp{#WMGKI8wT-ZsgU!4LCymi55h=n za>4-=E}(1SK}LbX2@x)!4SOI_5C*vs6fU6VnF&aMfdRDj3>+>V&~O2r=nM)M(233< zzkp73Mo;sgySb4Z%zz#~pkp5#(9#G<4=8*<x4}kX4<GoV9?*C(<os%6Taehef(W#u z3FI$janSyJOF__0G01$-=}E|Z(DAh}J|xJ%`3AJ92P6!_Aa{ep3{-r9Hl2aQ{Gn+n zkb$8A)a40cU}yks5eZ>nXaJS7VGIlnp!=~S7#JErH<v~;Ff@St9fKvUEn@`Tf{jRT zpz;IM90&OpRDOU)#H`W65~K&D21LhT4@>Bh&XRm^jsvx`K@La54MGegT?>b%7^CC? z-7*3SC(tp*Nu_BFf(+b(U;h9959Jq>6oG|a{Qv(Sbf_`(25m^dgUWxzKr;ga$Zw!< z2i3En;UkdKOBom%K>jXcU}yksmMmvrXaF63RKvi~0NPSj%fQe8Iy|k8fuR9(W^Mxm zLj!1}x{-mQ;SU1?LlXl-1L*$wW(I}^(7my(3=9pRq3$*;@p6hlynsgT?9t){qzB|a z5FLv*UdmE);)hn;Am20&@*gN}K;3CjM1ta`6B;*N(75S_#?3@%+)RST&17iYOohhH zG-%vRhsMneXxz+VU}yjxayN&8p#gM2<XkLq1lr66$|tZ^2`KM?>Q#^!DDSKUZ~Arz zH6cJw1Y?jMkQ&esSRD2^Do!l{Ev-uhXC07PV2!8*wh{=`r~xJaY2pkFCE#<}K@Pho z$iPsLUz`a#l%GMAfm;w%`+@`uOF>&=@-p-DzzrY<%yYd#ZUu!isBH-v`T;p%Ap=7L z$o-2M7#cvkrj|g<pydn<4WO;+D;O9WKz>_^CA>hR*C79ZoCPuqz1#*3*P~xn1kwX4 zw?RXx@%Y0lz9=;(u_Ut$GvGj$f-GbJ6^NKE7Sw=~WZ)JAxeydauz-tCNzExq#20*^ z@&mct2Duv)cAyA>mD}r}<@N>!$ZfwH85kNs+l;qB)96+PhK6ni28L}63=N<IF}E`? zG=TiQ14~$f4qO0v3%VPT0X^*<XJBAJ4@;09P~3syHGx1_mZj$8Cuf#aQZEt0O~jE1 zg&DX7LB6>x2)dsavTp>EGC^SrN>k7%WB~aC6t<w@YS89-koZ1mx;y|)mj|Kg@(46t z9)+e$&<#i+|DVJXrl58Qa+sp0Ptet|K4@hwNDnA|f=192i40R3Bve@7;!micq>UcL zP#vIJ5ERa!umOc97=xx^86m^uusPy$&@_Ajnuaez)9@8&8omlm!`Gl`_&PKV-(p~B z0EN+QEaCo)i2;0X6sWER*?W;2)Cb~#_i6hX85lf~`=dDewDG~<-Cu;dw*JUQ;py5E zXPk;L1C<RlqPBsC)Hcun(ia1b=6Rvz2T)vs&b~Rt#K4e*Ek8g*6}f8<6#^GEpxOzP z20$28c7kXI23QaO$^ZZVk$d<8ME3AO{S#127GxTze*)q=gSw)iBXR^FjrGlFd}YvR zA(H%LBt9s&K<Z1-5i}rEK^WwBP`Ly;xdn8IEJ*AT149F-{rHf9p#gMB9f%LQruG>F zLj!2`|2YFg185ZP1p@=PKlp}$p}~rgf#DqkLj!0!{5`ZC@&(jxVPs(V&cM)chLM5c z7Xw4X14aghf1vUX<TB8W@k|U1jEoEo0Za@GY>W&IT}%uNoQw<&YnT`qxEL844lpq= zfbJ?o?@xioXh7v2$h{zpUYC?HFfcfx#WP3`s4fAuH`DOOGi*~5IC_z-0a*pbNX;2| zlp?|y)W(J?1dW-1j~4_@oxsLHK$lg4+#<*bX`h3x2}Adz853mlJ*+Dt!^6O!$iM-< z<qy<WvteXlK)<jTq(>2S@Ff!iLpokRLYB72Cubz)rKiHS{eeA<T%ID*Geaw6#0oTU zBF4Z(Q8x%wZ-Pu_W?^6`Elveb!N3Q&5+xWI3c$S{(0~|d{Hq|bC^5GftN_*#%4FbW z;1&d3025)!z>u2?<}UgF|9_Mv14D8F_;yBE`wy0TKpXx+aRTClVhU7uKxg$q!VI9W z1LXx!8xd4*f&|4F85%(0Db5IK_ed~8#?xdO85%&RKglsNG=TQ%%QG@G)PfGkWrXAz zWk!Yu&~f#uj0_E%7#JAT7#YChYwC;)4W}6x7&I6e8bB*DG#MEhKxL8^Bc#8j%LwWB z>M=4j7&0<2=rb}jfQ}_KWMpW_293KhGBmU?GJvk!Zs=xYU@&K7Xjs6=0J?a)VJjm8 zgC!$F1E{ZI!^qHZhmnE7j*+3^9wP&TJtOA0)fOfO2GC*iu=G{U!@!`9l)gZhErg@x zA&?$$`;Uo%A%mFo1#949OK2d=L4gdypyU9e85pRU(9pWyXj~d4!!!T?|G#Fyz>rb^ zPn9=7+(Ixn1~rj_PHY1C8<Z$PMSK>B11-Wqi4@w$0kzqnG7O+N0HssV6e)Cep1~QK zK3$;c(-oRNJsBAqKuc4+7#SKs$C`LEGBkh=Ec0cAwA=kb>4$-VA&8No0o0cXW@Kmp z9lRaF$j|_~sV0<>p#juy4}+%DaA-P>f~M1GMurA+Mh1o$Muvt!Mh1p>MurB^^(G0> zbehP>(6E@1fgu@GmNPOiq%blx+-788NMnT51zC&?4Zj%~7_u1|8U&aa7;+dH8dRAW z81fhy8mySWN3J%2t|TbLl72zvfa+dY`USPYq>(O?1ucO?zy2Mh2Q)PgqBDs}zo20U zEM+9fURZn}RS={O4-uIHK_fzF1>qa$h!CV81Qp8Af)JF5z-QM%6A_3HIxYs}T2LZ` zBq~tZ2fAV!BnrZy@BpPL&>20TB~&1>QbtIhuMAoSmP6B6H8hRYFfufNj%=!BWM}}* zH`Oyj<`Nni85%(I56z%@oPmL%g^{5FbhK+LBSQmdwPYJ3Lj!0vUppg111SA=FfufN zR%djA?iFNYVCZ3lj5+l(GBh|cGBETpGBm_7GB8YFWM}{#whX%FV;Up)%9DoKjNqlF z4WI*-r(#JXHJ~)a02wa?`RNu~9oovszz~gA#)0&J%6t%=MNArjmvJ}}3#ju4vK)km zPB{mvVBtks8R6P@%K!iWL8sQGK$0Y=GKLm=pd?7BGKQ9O(A8R?kYWIZKPXLt@+)+; zA;U~)TAT$<i?g9=aXz%XTL7((7eedf#nAeADYQOb0j-Z$GBPxP+O(?}85%%C+^a$5 z5d#Cm8fcna3r&;j7#SMa7#SEgGBPyCF)}c0f~LvMpz@TFfnf_HWPWTrBSS+UBLl+@ zMurB^eK<Qo<}xxc>}F(Wc*@AYu!oVM0dz{*K1PNHRwf39{frC^>`V*{2e71BP+kC) zFSz=apz(5|`j)Uo@qv!6c+UJFx+_SOaViGjIWN#y5PClg<S$S^3v`fhHr9Lvu>qx@ z1rY+bOF>}*P8iT-2oN@|epUhr{VdRx;~>*e%SX^bfFMy22Du%S7Lmsl&oV;#NoN=t z8tNDr7(jf`O7!!L3=QiT7#J=vGBkk7*vnYr7<7amQoVsO76uwS_C_n0KzcxZ2GCOC zJiOsohnNbDM+!h>3qhWOVx*o7JkUV31gMSxT_XWi2EO1O6b7KK8?4T~&B)LIIv4dG z7C(aKCXlT}ADe2!(nka70gX+8?y$(m>qne@G$bpr`3zJTfkG1GD<yHzLN$LuNWU0) z-VfvskYADK{T?zx=0hJbGBkiL#CXie&;S}^dJ1auFfcGY!x9Fdu~CqNK%=uD8_~l6 zRIa(A#WP3`C=99?7#IrhhCxwkVQFeHj-hvuwIC}|N08w$j5>l0YKVZ`h&+OfYwQ>l zg0MMaIZMb$1gsgG4duhem0>vwl$MakLqUE7g)j1W=xb>BzJ;c#5773-M@EK*LQws{ z$j|_~dg3c1Ljx#mzL62$pcS|1eP)nbVBuXzba<0GB8ns6LF1d~0S_JD#4+ehPVj^0 zXbFY?Z)o`cg@!)^6Qq5|$OH+0CMHPuvob-#pN$E#PdNj+$^|rJ3rc+G>75D7m<31= zDE!+Q7#NC(4}aMBF}Q9(O6=hA5s=*^Cw#bxI6@wjNkAS$8SV!~2dIYyvQYt=`a!K? z5FeHsKt}|E_^{jnDQ}SD0~7}6`GJQCQr_?}LGGOuWMXIl9Wp7z1gUR?nILnwVoVGT zps*7sBR<3#85q#}_#n5y;-i@K_@F_?fJF@ci~-6@=+Oh!K~^N8msy~2L60LDXdKBw z<46%2M@rB*Qh~;iIy8<nu*8u*BLl-9(BL2_iGbGa@iH*zAdSOtf#(uX=VU>8KxHt9 zF2Nf|&;#Q@2eTojXpya>QjY|*v;j082QTM9OBs0n{QnO+voyCj9kjXuwAz8?4`eAr zPHG-_lnz$w%0TnZdT1zUKo_KddW;|;+<6BS2I%pk&BV|E3LgV#8D_}D&;Z(MWWvPI z0NN#H$^;pIvtVKX?LK0#BqLrx>*UbK7eH<S*$bjeNs1TLY%`Q22tD6`!U8>hY@qSu z2#p^nX#BWB<HrpeKc3L|@uETel#v!cutEr2-wgNo@rA}u5Hx;*q45(2jh}F6{6s<H zCz_1-0j<76AA13%6<Gc$Cog`6O-3RnAH_lADH$41DbRRIhsIL|G@i1d@sz{F&;Xh{ zs<mZcFlAsDd<(uXqPQf*$||okH?=4;IX)*dH?ySJrZlfOGd(XgMIke<#Lmhpvp62Y zXE0)57gP`c?RF+YTS{hnW=S!F2~-a!1JQa64H)!L9hjL{lA2zWm=m9zpI2Oxm{($x zl%JoYV_;`xRhF1jn#!OHRnLgkmYn>&bQF(hK^-NJPdU^BFsDF`#^Dr0xKnhXW@Gm- z)F}|N4GkE~pblri>JoTNK(!&F!We3c0#W)P)`6oP6o1&AhHe=|lc52FAzn9vj+8bw zibqW;pg;rJgxz^aS|FA%7(l&)-DMc+4Gq9LKuH)HEoezNK0Y(A#LNUG(m`ni<R*Kp zL59!)b&@{RNkT*^H#A@nVqh1PmSJFEWB`xBloXYwG6+M(7$9P4i8;lo=n6xELS4}n zx;gp;yCNwJ3kvXyM^gwEgDAAb8$<AjMfeeskU$9#6e<o_y@^FDG<Yna!6QtXK0^Zr zZKzHOtUA+j@)JR632F^2(%6Vl3{9#a-(XKiFtc+LE8-#MBWY>CYXeA2YDGbQUTR(m z11$5Y5v|400A6@9G&Ex?3E^(b%!`Lx1S>ol8g3J-$IyTQRsxw~bzVw-X;MzAos|_N z1i(ctD9HGUQH|seLHz1L0S2)FNe=@HHgCXP1k!`ycN0dU^%xq!s~g4!=0EuLA%`<8 z6EHTM{YSJeLjwj`26n+)a-fk!Xa6A3Ua??Lf4_KNM=uc12wZT2f);y3fXZ|QxZfdR z1y5SoV*{HOLjwkLXpX`jC8(M}VGOYgNh9`n!PE$k98iG+@)`EX!L8BIfB~izR}7(P zMvf+Hs6TN<6K<`B1`N^+?1ERogV*2~PD#znFUpNiOezNDXc?#^v^IfC78Ip|W#t*z z1#cp>7Uh@brNo!ymnRmb#8;&j<uk}Z6+pGa6vXGHCKja@moO+pjfd9q@qVSb@kxor zsa94QiN)~{+ZZ%Z3vsN9;&bwgiy2h$s?5ww10C^G$)JW;Sz&2rYDv6bq8|gOHS`wI z8bq@g)b>lv$;?X!s|EQ4yV}g+_#{xkq^2+^;<PxkI6k!^F}Z|6l7U_DkR0fWx`6!h z)S}Sh)FR)+ip<>7Tm~h4x-(OgO-(Jq0gBTZ;3isX5q^Vm^HWN5^6{$yc|A3SK^>oi ziVIScA*U&&;EBPK%)H9H)Z*g!q|~(hqEv8#!S4Q&qQrt?a2;tN2x?1s`8&n?J9)V} zhs682hQtRshPcK%`}>6i`TNAX`Z+rJxH70fQy*sPf+WP^lFFP^aQy=^l8FJIk-m-* z@lK9@F5#XoAs*mnHAoK&UOg_s&H?cuj_wSgd;%&JFdYIZalnl>ka_HQ%?oq%@pOrI z^Ko<!1}7zaMj9G`a|3oIC}kZe)8JMHFWDrZWlRdB#Rd)!XGfQyU~n=ZY=EHwIBn;E zmQz5C2yu-FiTCpl@^$pV=T_u`PKtqDP!2RVzyfYcf*b)h#mChTpEHn*Ff;(CG3@Rw zN=(VD02>5KgU~_?ob5q($Uq7vr0fg|IlKxXSsIp2aGD3pm#}gPr$T7n1T_@#+KZg` zKvg&>$T%R)60lt;Jw|v_HZ!k8#{%A61C=(QP-24ULkk5+NNGZgZ)699+iRGGIH)W& zLC?6J{#f%ZsFQ^5KkUXrihWRzgrM2TnFm_{qFVs3EkLbCLass78K900B)GvT)X~S& z-49$4fx_|vJ6O=!-_Ot0IRw%qiii((^>c9z3I-RsxK)Kj2Dk=;3kpJx0hP{(iV0Mq zfJ|j*_z$++(JvBeBZD|JOCw8xtbyl7rUr&zU`<Fa4si~McM5d_<v39E<8usBRsmIy zAXgk<MK>?h1#TXwB?3|e-8>G;-L8Hv0sfwTA;AowXaGw>{ek2pNC3vWxCT21c?N*O z6`qHYOI+j_hS#^CbO|x`AG*sxL4jf@$iEP^f6>)~e1U8~Lg^oLr9S@dD5k=iH@GrU zW^p{Uaz_NgZ*)UlJcFSD67TC89PH@s3a%kQDG}Q3hDw7HU68AfC%A$H6*wRzOppQ@ zNr{_hgsV%uk7J0dpK~Mw$Tx4%8bWBH2`*Psi@-@8WF!lQkv{(6C<cO5abT!|SRCRJ z<R9wp5fB;zZaaXK3ScPp@O1ZxM^XtZ=~y5o7T86&OFGaP2xN>576EwD3bf!AV_+A2 z2&#S{ZUM!lpTD0g1E^X8i9>@LB<|_w?C<O8=MI;HhA~LaKQzSMA0!8}8Bf%MGIMGQ zxWNI60emWv8eD`*Q1oUOsHFrl9#;@R8egEi0&4E#as+a#3S=TEuOL?+$VmoLfxw~+ zs)|6A8Nn+j(C7!qy-=5+4RV2o#ZX4LKn@2vh8>bJuq%f)#bB8X>Lh$>4Gq9$_6%Xr z8E)XtQ!e;Uhxq)Wl+>d5;?%<U<l+)|nGFqGG!x4~u0<Oqgar%Kdjx_7F~kZA7LY#$ zu=*2W6V$7qdK07^nqhD{45Hl70NjoR<wdAZ;-Nhg8;p2?DnK(4G&T*17ifM0xfc|T zgp@-w0W2D!!Ghg%h+`RG(TLY*h+1e<xeDCt3JHjJcJ%Raa&-2N4+!$~5AqC&jQ8{d zw;sTQ(n$U%5HE;Pc+hawTOm-d1)NII91iiF0w^6oLI)xMA0@$_Y9WeXx*$G*kCI?d zyx6o5Kh%!lKG<j<v}K9rD|oXKst@Wy&<qPG&0%*Tc1=k09@wM4I3vFZG&YJDy#=-K zK-OR%E`q6tx(SpFL5i{G160M(!68s=VozFdFTnI690f`SAbYT9PYjJv*MSNHkS^@5 z!=cO2fI$S>x`R$N#D_U~h6IBX6>i6a;>yqrtuz8vCLjl3cQ%q1sDoj17T6t(q2ADd zL5qP0JbwmS)Bv3k0Cl)P$85!;UE0Z@&A=lFTKJEo7GxyW%R3ol7<i!bc_8KBMib)F z0R~VR@fK&cM4#l-WZ)632RDMSn1yn9G`PJ43Nh@{Xb^*;fdxyb*azm3l^Pl_@H21- zf|gmvhi2xL7#o!^@G@`+f_98Su2EzVVBio0ZCi}@$<Ip%4f-+2FmMQh3buG`<r;$; z1BYO+90P+&d`M+Ms!M8da#3bMNq&(^d}>8WQKD02NosMtkqLtt1Bc*Q0nj;AWuW^= z%M#;rGK)*%GmGPkU>8!_fFeNwJPoO!1)=R2Bp5gZL3`K00S|E_<f=yoQ3ejdN8-@9 z4o=NYEXV*2|9~`@SVDyZ{DWPCpt`_5-7XArLaw2a1p^-ghahO-V^MKtRcd?*gDwMy z;7O<p;}c6tiZYW*OHzxitWwKBcS9EEmlh?bI>N*mEEzZi4-u{0$|}F0Br_LeQ!0Zg z1Bc)N610Mjp@~mruw&p5+=oqDMruw$Y7vT?%M9Zab4oxO5iWLP;1JwNzJ4n!ka6*; zV4rUz(wtJzwTB2NI5BVtZX!#ol@-{i_*4ch1`ffs*vu%&C`wIC$;?Yf*k{hbA-IG% zwN_Se{qdklZw|qQ*fb`lrx&HBCxWkWLD&O|(OE<*hliv-1Bc*rY}z16t|%39d_BS* zkbn9}&;Ykdoq<EJ6PreGGYTnLgPc@LghIH<paP(eU;$tZ&V7X}3=9FG;lUw63>pj^ zf}r6_d;_MCVM;Lu4#5(61_rbO23(SX%2FSHKlk{6kRWi;1uEJ?;UeM;9D<>e(6Yca zFQp(KR3~@_fJ+q{K?a5ZP?_fA>gX355bqx39~!{G!@wa3IwmN<*~2l2L7IU>untzn zpj{5Z;0a315>V68B(1D$O7lP`%%$jpa*ZzhTHAQ|RkxY>dGV0j-t537LN^Y3tgM1l z^HM@mD@vfZsyTtC0-O_ba=?!L3W_ZEP)`>IDFzNfRhS{rE<CL4vu5BBtOTiy$6fr! z$Ae1doc!d(oYZ)5P^A_XD`?p<a5HcSg0^mj`v<u&NHTB;f<|D$1u}T#G}txF71YLM zkY(Ty^b}-Z00k<n0qp7*<{9Mg7awK_jvr=l`3pL+G0DsXTm&-<Ffar-LlOljEuA8m zmJC7rX$3)}bx4T^eH;*ycH}^Xv>XFNd}y$1P`smah-Vn6F&+@)8tm%l?8+d*z#%9A z3o=*&VGx4)7wpB-%)AmqGjLD~fs!vMae-?+(7`GAYdr(72SKR`THS#|5_A}zQ)GxM z1ITf#^3Wz=W?n&QNqlBWYEfcIeo=f$Vmi1&vV+OT2WRFM<fO)fQd6-F*kv&H#(M^U zVo9EXL(mGla!|!;#~{qWA($)-wJ+W$KRG+I1niUNf-pg+%#!lV;?($z#NrGaQ0)(! zL}kce;1JXogQ*KkO$NC#F()TK*#_Jpi4RLn1`pZdbfFGd9asy<i`e|2V5eXQPDP+> z3|1cRSdyQcnH-;-UkbWGIKBj2?cbGwIRrM_$570`A-G2xCJZ_@vnaK=I5j1{AThHD z>csG(#DaLR10VumCfF_D08+4nI59rBqzE)8SC*IqQHL7#Ftvtu450GmEG+QAVFn(b zumfk32PlpN6+EEPe{igW=1Rfd11pD4QpQ8(lIDO)6;YT+JfR7~z|aWdmZHSGl>FTI z#N=eqloxV((ZNg<I-v1*OkqgdN<j;Y4ycqGG$dfwgJagv$c{mefkQAG9?S#-l);99 zL(l@AC<&^!vMNeV%FIgvHwEp$C0ZUV#ikaPCV~ztvnk8ZOtE87V&D+WmxYECTE`JO z^Ut8bz#(`F7C-SQi5nd9cHja&31$j-f&wf7_AfYkFT<?Q$xqKrj!!Kr$}a+&`xX|x zXm*1~C>Y`xI0Uc3V-cENz)f3t9*4vyDBpmx5{|@%8F_Z#Oaf{IiNV~B<^r_-95@s` zU~b7TOD#&v$uEcc1XKVbG8?E*U=m*f_TLVe>7eu;Us99^TD}My{{fwtA;<xbSKm@_ zdkF3|aPbAIw{>BG1YVs5E*il38#DxnlmU=O{Xm895fNy-7K3vlXx+YG1k63Sd<$EF z#h}T+A!sHAH35;wu>>W93Im6r91ep){swns8B`fK1WjR{#T>B##kh{49k`?91xqgR zXjunbXFY&f1u`2Jrs&ZHszqPH5-qq;K`Drp88`%=z=9PmEa1@t>a%gfodUYvD={-K zwFsQ74Zy9RyC^omG7P8!7J&IQDKjOrC^Z>$UR+`hYTSaVE_{U;$Pakp7!;uJq=6$q z4IrgxkPtK?lM++nQ!A2F3qbAxhxG?oD#^?%OU%hkiBBv_FU<ulIRW(n*<dL?Cp9m< zBm<h>6&W}L(_yiI7JA^E53zLy%vQLK@t{K^LEc8>7HHK3cYg^uIr-o)9Ter@wVdD@ zOdZ1la8V=*k293y16mEmA!rPjM2%2GBXE*u!C^5xeSutH2euuam_Z9EA-NJ%RNCP% z0hIpi7>q$Jc39egXDe7L2IpqDD5U&WumhJ9{5Xt-jBbG)lnx6HP%MK@0S8AsEDlTa zQc#L5Pz1}sB=bv4;`7tuixTtFQyD<nBN&H;@Dc)~9W>+)b~N&UJGkWIhIukAzX-ez z3AvU9SM5eHtBW9~k3$m|C=6>*d{R`DSQ(#}S{@Hcgbe-+9D*{iWD9F&fc*=t4WLaA zP)h+EFU8=Hgw)1hb;!*X1xT4Ak0o6c6y;Zdj_l(Q+y`?|UTSekDsmnIb-|2r1Qk5d zfQFA4ycswI;bn4CVsU12Jfvhsavdmj!4d<A4Q)(eI2s(^pb;i;;1`z^r6%U)r=@|* z$1)tQ0VP0qOBB@TDuqV?DAJ+94=QwwU?pQ_aXjc6Qcz(5b|j>#w}CZX(3}N!)C5?O z7!PizWagECn=fUssstho)(MF%FcTahSn3u9JBA1b4nbvDVj@*HyeWjmY_M}dX9k1A zFt0Qxr=X-LzJ$RM)Nz4X2zMPUR=|qkqS)Kt;QoLx%n00#O@@934#9QskRi3bjm1y! z);F}VL`s7QRQrNzeODam2cDWi2?-J}-(e{T)&PTLa!Ay|L`iXlf*m*!|9~YywCV+U z>I7T`--HzeDfysn_s~=f8gjr@(t``dNwDmW6qVo>F=*)auN<_xjQ7jT0heZva5x8? zN5PG;f3Q#k3BeKzh;7H<z`!9mTM}j@88HK{0B*rEmJ@RS64vMd4dhONxdBoj6yz5( zcrkDYPJ#6}%fKB@ENK?KXvCVb7(jhv4VV>Z@d7U4j6kE{u)+aWFyn}PaL_2&fyY6W zNYi6w74KA0QVAXm1C6MZgSv$!;9&vSP!>4STtQ<N@j)RWp73!c#LzleH%NJWep*^Q zWCS17Dhc+Ca*YoG8@2%);)xJBkVWyCdHM06#j+gWMb$y61v!bysm0FuMII?devmy% zE~#mmd8wci;UH54E`-K=K+Pf0cn`|V0MdYu0cdVO5Hxa!G$V?TM;{|AwPOH{4@Z%r z1Ko^bNR{Xe8{2~oLwWiIhd6>pd_dD3f}nAnU=RPG5C%c$bVx`5Y>7EoNEJST0J^*b zJaPg$ga@3sz|BN66Yy}>4v<@YlZs0cOHxa~BCMc6Hs}~y3D_*qcn?@3Xe7x3oby3* zKqaX~xtV#1C7{8UycEzCAE5ec7bxP3K{t>hMZF`a83B&<=K>52IVqWC@g?A)CGY{y znYpQDi8)|C=nO`1teKgBdwp)uU<mf~4e)V=&q{+EN#G=gZWAJr8G#K1x!uX%A2dP= zE_*DX2EymJp|J_}I_L!Mf|8<?OmM0Mh3rO9@PGox%p}v;2%Iu6f;<@D>jDlM(1F<C zph1kWfu^DY!u&m5z-4J8NHx@v;LEr@GE<8Zi;^=c5iSKg6l8a5Q4u(igNATHCtHMr zhj2kXT+s1_@nDO<6GF~T;KAcJ;HZKIC&;-VL%^!QQ)6IrLD|eB$Tc|BCj?wIt|2%& zX$~IR4uT~h&^T>UVsdu8PiAq64T>Y|7(k^?Juxbwhxa%;1%uO%158f<D0#w8O$DW& zLt@bJXxQMOBWQ>Y)J6eE5j?;_eO7Q1*&_$hU}aTOR2g5AAD@$-oE={Rt{B!r4YRU> znFi~XfK$*pxHNb~8m0zeBdC0sBMLJgCJ*ntfK${PA(%XT3eUYXu_y(c+(FGm(0Hqv z30N&SbD)-rkgNeJ-migTGahLK8$9(}P@0sJnalthi*SXF^E&6}<w3f&;GR7=je$+Y znZiI_pCYjNxJS>SeQ)RhnwA|nfrC5{9}gPtHUo{TfCkcq1Q;0HJbhfj$?2jcftgc7 zb8x59A2}c7g9d_2QvH)amk;^mC&ObGR2t<%3Zr;PX#|?z1Qk1w<{@bA7bFtu=@$Z? zF#!o!L9=v#zrPPShk_;)!1D>9@nTTU0cQzV#sSTmf-02KcyRX(oT@;@4tUZ96j$Jp zawcI029U3lz?s1wYK1eX9D&WW#5;q^V;@AJ1RD4Oxeja{$kE0|;6wnb+DhX=EjMtD zn@3taK;pv=JebZe4+?E)aRRSc!AS^Zy4uhT+>*{9U=xn{5}1vkng-+_==3s(3rY^4 zV2LjQ7eF8`D9At<+@wDSOQLYcfkSgOc+w;nnhW%VKvUSoB}iR4@X7^nV1X=*Pe}z; z5TIrid^*U--`&mAC&V=f+<yhtKc#u86$Poupe`Zg(Apw!fd?uSbD(7+s2~NE7?7$G z6!XHMniJ$)=;RHkK8lB`26+%<eXzf?w`&O4HK4Q}pP3Ijqym)mK_~Ws%Vbb~4Tt#^ zksafG^79Kog(bL<D?lye;3sZz2=aj=1}Uq<CaXZJDnMr+Hn4yeN-;19FitvrGHXka zz<xzviIwkK%d{96^cg_noljXr*$RHdu8;a{sej!1IRgXe3>X1M!8AFRqmCv;wl_TL z+)7x&85lai>Wvy#hbGng)dl7zPMoq&N{xYG8CYC+UdOb4uX!nbsa1_UnIBRa7(nOV z2{5vYy-1S`o@D;;)!bD+Qh72A46niJkNDJCzO%OS`?gt8?tmcI3I+zy-8KS@zO^&% zew^}Z(u3$vSw6fq=NK457(wndT=Qpo>)Y#*bI-eIRLpjI$iUDH7I#|9dTaA)1(VQ< zgin9YxNT!#xCj>4on*83k@t>I;{Q08e!tPF$-tn(1TyEOlXYV14|b8IW<QKtTek5s zFgSz7&#&i*3CY%%3iCZ9H~&}$I|D-^SX?{9-?G;1e_g{v@x?RD4VW1iR)NJQwFdv# zCD}8<U|ak`?rhsj3=Chu;wRnbztq-zkZ|Ny*Oc=ODa;HE^2{K6jdrljn#`_xv}5wR z%2h_S{R|A=VDU@Umrwrx+W)1pTV8x~Pc$0?!%VQait}yBJ4ag|bA01n|6bO|hk@ZW zSlqnM@yo4eKkZgXZh3!RX+8%7gDL3#Ge+jvzE5=lYV3Sv0k4G1MHVnH^n%5w9gutR z<bd>q1lh@^78b96FfiN)i!Ys?7PN)s?cKeL)&9?#(y^F<!I%}~P7iCAUc0o1q16|c zN1Qm3JDq_c7A(HV^{$d!z#7*`^WDu=QHvcI82Z5C%4a(E%1#M9bS}QhneAboF9X9h zu=xCzW&ew-_=LY*P*@uAA>$YW0}~s_{NkPuSv^ytedov~%szhOQUn8o0a$zqOY4m4 z2h!`~!^37d-r8Z#z>o?Sck@e@dK~dZhqFNDLA~jZ{R|A7z~Z`bnR7qxyD|UFne)8o zk4y+)VE7FdU-IW&?vah#>kgaLzka;h)|G+5ogHNF*CRD2PUSI$tkXz6G@-gdi-DmG zES`T<O2hhs`lUaMFJ4*IFx8BKVHsH5z$Re%o=HAe)OIc6sTY&fVPLod77s~lp89ge ziJ0e`-g0f|ZZ2V9VBr9nzgkrP#}j+i$q#S+7PD^pd5nR<7c4Gdyxi6-k1hGe;his+ zt=_(dfdLd}0*v{uE<U}N(XmikaQ~_MamyYvFuVh+7uuiwF><Q^mi5~-6P^gWPhw!u z<OG@j?C_y;1z|dGZt`Yc()}NJih-d3EN+pdv^vFa<_v}7hxE_IZY^P8*a;T*-@d}{ z{{OX}?^jKm!L?d-E&~G>7s#AFxjLOzy!(s{g(_yLU7z)bfgv0$eyWx&oo(TaSCKO} zw5-~2E`ot!30U09AkaB!iprNAl1is``gVjeFnj`wxBM*oUtyJ1&UHpa{Z_Z_Mg|5& zZjkwvb8eeObGv!7=FQKrWqZ%V!0?%Yfgu=luwV-KqQLZ`#9W26%$(HXnB3yBVj}}X z)0nd4n9RK7oYIukn2OSp%pA}y8^ozDE=fsAO=BQRab|vTT6qdX8rT`2CIjTY!WeKp zTL5Z6>Sf@N1r0+c=Oh*v<5ZChZ%gTAFeHPmK=@Qaqr$>WGp0N<FD1XcSRp&Jq&UXV z0Pbf)13d#hLjxld13iP7(&VC&nBtO@oXjMgmKA3t7Nw@>Wf13Y_|QE??t<6}@&kD4 zj~c#A&M!($E-HyHhm4`(^e$vQ5>9DI)Fo5oyV6{c&p^>k4Ugr5N2G|2pXA)c5+b8A z2Yh%6MLvbbV{u7QVoqjy9yPp+6ptyH`P48Go**dBNieq+m!xFogN}Ad%S@++3t{F$ zCQYbpVsb%cJno_<6}o;aIX|xiJex^uLaWHl&CCN$BvZq=phQco#gIWu;!3LuNQfE` zr@AZ|HuIF1T27(2pg99n2$U3qN>_>#A2`ub=qgBkP+1%U8a^U6z$;49Nr|6|k|M+8 z{M_99JR(CqF(ow(lt789cPkRXOP36&5fI?P1!@=s%fIEx`FYeSv*0FzjUy^#5UCel zM^oxIa6Oh+La8yJMo2Pfi5*o8g4Oe&E<ZI4EUqk$0htAAAyJY^p*cRiG!xW{q=w62 ziGcVtP+XD%iG1R+UInCTWKan)P*6!tDp0UhP)W@!Pyq2w6torMzye7S0SKoU!m&`$ zR<Ko2P%$zFE4EP31uG`oB(gQaonT}_sT<%%85$Ts%~DV?G68$g(141@n;T&mZ*B$^ zqC6lB4Pj;>TyF&P5EYC!fQK}~d;=qjQ-FeskpU#AkwOQOx-dONMgPF#6?_)}=zv)^ z1|Pu=IR=Iv1_p*{3=9nH44~6kPcbksa5EfWU|;~TxWGeUXTf4Dj0_AQ78e8PMpKXu zZiW&@h+Zy+MT`&~+~7NJA$q?+Ww{xCKv`T2bC?(yrh{#J0cCMByn(W~7+jbkvfK<F zP!<<M4l@G-=$v16h8<8AH^Uw%i;IDc1tQDMzy)P-F^EA~+ze7s78ip7l*P?p0%dVA zfEHKJ1iNJq3j+g)#m#U4%Hm?+V}*$cL0Mc3a!?jGgA$a*#h?deaWfb}SzHVrP!>0X z50u5lFoBhU0d)TqJHs6)i<{vAl*Pqh$Oe(+W-x`axELIvEN%u@D2t0B5X$0a2!*n^ z7!si@Zt(aI$PO-s8n{>kl*PqxhmC;&bQ=OYg9bZ<#m%4tWpOcNvokP&?ndBd$cM7H z7^>JA7%qZizYfacV(4UNU^ovJ>xHto7-q0DFo5nR;%1lwWpOclftt+C@B_-?VkqHY zU;y2f!On01%Hn1?0%dVAuyZmnfNm<~X5fahxERDZ85pjDZIgnsxENG985lq}B6EYs zc|a^K1`|#OhD%^|7El%!!vs!<ZQKk~pe!y12`&bPx!^cYfwH(6GN3Fjh96KCH^Uz& zi;Ka7n}J~-SjQA7iyM451W1gF!Gs4Q%gtZ`WpOb~;bCBy57zMj%Hn2t0%dVAOyGsc zax+YUvbY#t@G>wg0P8T}gRr<6ETAkdh96KCH^Uz&i;E$FpMe2%J0Ls51bzmFYha&G zfwH(5Zu2uRfbR6*X1EV!aWUu!Fff4b3gl)mfU>w4K$~@Lfb}*CFff2vTny&~7#KkJ zeseQig0i?6Tm&JuaWi;8SzHV)f-rkKpe!zib5L1shD%Tu7X#@20+36&86LsK-a%R1 z44<GZE{1<l7B>Tv5X3ev20kc@n?VT5;$qN%vbY&^pe!zi2SN-COTpo%BMf12GZ;Ww zTns%>7B|BLD2t2Xh%jUno}EEJ1j6EG5P`C|7>Yy~7(n+SaWj-bSzHW_A`A?mbE>%+ zTA?g1h6y4J44`}IxEZEESzHYBMHm=vgTr(&l*PrsBMP%a0LtQG04+fT%>!^VD8R)` zpe$|%3n+_=K}C##VL8}u1yB|@LkX0{#c*4Uf#D(8w);>P7sD$t1_sbQmD~*Ppe!zi zpJEIQpxf=Z8U8|9TnrrI3=E*#F1Q(Zpe!y1ad8HQ2VnE0p)4*2HE{-p`(QCGD2t0> zqd3G>+zeZxEG~wFP!>1CQ7DUx;SQ9=&F}!q;$nCr0lDRloxwm7!s2EyfwH(5x+EDG zo`Y@cgR;07W=b+JfbKlwW|#|QaWSlrWMBZ@kIc=m2Fl`MV3UHG#|33^F^EA~+ze7s z78ip7l*P?p0%dVAa7Z&SfbQC6X9$6^xEUg#EG~w_(hLl*z^*zDWpOcFl7`I8a5G$k zvbY!?N;5FL0jqloWpOclkY-?b3l{qVWpOe5mu6si2^M3Pfv~t3_+%IuK(`-qGYCOh zTnsa1Ag<zOm<wfbF|35LxEa<$SzHW9pe$~N6Hpcx!yZ`%2GC81><n*Y!FPc&a5H>> zvbY$`<ro-1cj<C7SVLJ{44@SXARXKc8{{B*xftHa!SzB}TnuLN5Ls>p(54}f4lafO zxL633#l^5do`GRAIPJcHvbY&OKv`T2Aqo&#ZiWabi;JN}fq`KQSjPn@i<{vJl*PrM zrU;ScX3&DNxELIuEN%uDD2t1sLy>`DE7+7PP!>1C4JeC?Awvlw%gvAjWpOc7Kv~=j zHBc58LkE<_&Cmm7aWO1_vbY(RKv`T2Ka{|?Z8NYlxF|zd+zcL278k>FD2tonHI&80 z@EywHX7~+daWSx~!1QuMSzHVXP!>0X3Y5jgP@%%W0J<HCo#6<S#m#U6%Hm=uQ-#QK zGgLuYTnuec7B@o|l*Pp`4a(wXm<45VF>HXcxEZ!USzHVpY77jZTL{@1LZB>eh6pH& zi$Pi)BFoJn4`p#NXhT`t4Ej(O7lSpF#m!(3WpOctKv~=j5l|Kv!y0u4hMnMe`vGNf zGyH+FxEMk;Ah&dIGekmJTns51kXwYg88V<OE{0+a1_scrW!wzqP!<=%CJl(m+zi{G zEG~vaP!>1CF(`|R;S!X^&2SCM;$nCMWpOinfU>w4Tr?RNKsRc!GfaT8xEZEESzHX? zG#MB`cgJ!w{DQK$7+AF!7(nyO+zgyh78iqv7G$o6n?VA~;$jHaf|$(B5DsN=F(gA- z+zjbZ78gS?l*P?Z4rOsM^gvnM3=^O%E`}#s3=F%$VQQcaVR18<Kv`T2)3g~Fet^rN zSx^=i!%}VV4Z#fD3@f25E`}}I3=E(fx40R0Kv`T2pP{C3Gkk}#xEPpqV0N%WSzHXl zP!>0XIF!Z3paW%bGZ;WwTnsHb4B$QpJHrJii<{vJl*Pqhugkyyy5pFe!5PZpV(`-i z-(k$a%@71-aWTZ|GBErE`zR60;$oPi3o)6SVF8rI#jpm-;%3+YWpOd=fwH(64nSF4 z3|F8mZiX9B78k>6PX-3iy}{fJ>!B<zhU=aT44}KYxEXFkSzHV(UJMNUjG!JB2b9Id z5a0#ACy{}hAq2|e0^g4l#ULs=t*BB}Y=VnthoG^yfTRCu&}GtY;E6HB+*^E7W*&I{ zO)n+0D8?l<sWd&tIlm}X0d(%Pf^$x0YF>$gPi9h4Vo{}DK}r(C=T9HO({%x$={o3o zFDnJVe9&4G=vpQ&2FOCHcvLmXiFxWJ3Pq{unZ+fkMG6J^#hIWr@d_D<;6;aAkYlLu z>VaLvh($9|cEYZBAjMAN^nh<!R>(~)2AwjXP>@)elb@KP0G_A=1qXuyGSEoRFHulU z(NTb{dr?r$DNWG?DZ~=CklRUVV>aA#xLl6xYz5NXO$)OjOK<R}H<%ja%hMFn5;JpB zQ&7?vHg)j3CEyxR(-l@daF4<)Awdr|3z5<Q%sxooDKE+_NmWRMB?T*mlKkT0%)E3i zl>9d6^aSJ=TPY~0=A`Ms2~bjJ2rNx3v4RVsN`|H8Sb@_Xnl^|Y1vKNpdckIb$~cgk z_!NlIAVEZUDg;3;)Kdt^FOCN(Ln?FNazUv%i6xn3sR%_V@d;NKmYS2F3|c6G#eBFK za7Ca6VIT}D=-C)TyWeE}&j9gL7J|rtz~inT&YU@O2Fx=)8qn+dC1o*4rqlOB7DKly zPe8XXM_{+_2T+rq;kfG`kX(1@hvT5j8X3A>KXiMrbO*9@yM8$CA^^TD4W>4Wq1*RE z<G~3G3=Dx_&CN$Rc7cZME<WmZ{qTuj0CWW+!zX@07XgW#An}6_8M;GJB)BAYfF!a{ z;E=fZpxYNk1ET@hhJ%klE<>@x0Bl9}MVu1M=#GNuxcCs=O#xsx9ee=t9<mjT0bskc z58;r&^mYc=O<2600k#5*w_y^@=#I)jb$tV9$sX8rboaM#34m^s1qCaH7g`uWa@c)= zB!}*i7J&^63=Ck~F#OWO1(L(=9V9vQh-_g5wdTMs!HCNi0gxQnI*jN<lEd^kX!sTE z5-c7E$$_oIh`ts^xE!X(9T;(Y93%&}4kI30xZrY_9tRCufL(&c;~+U)9*4_edRzlf zjDzIB)?x8DTn^LYpe3GQmtcu;kQ^?LgXE68f^HT64=Ou+zoc~Xf=ZOg<|6{uZ@|Sw z_tV%zJPe>R>CBlkq1|r+kGuW>@j89~bi4jJ-mv1||NkH@-M)XiC$9PT|9`g=OSkWz z<1LIJ4pgS`WdI{&7=oes2n)jG!yuE8Fv$Ecgau${gW}{*^Bay&`~ohF5})`5SyaFw z1db4xgaAYW90uTIh$aCpW4pg(G5r?>ISJ&5FJSKlfXU_~3Q(=g-L7!024Ks;5};Uw ziE}~3!Hxr`U6=$TL;~zOaQvZ35Ojn_9LQnta6b$VZ@l3V0CpnSM%3_tNPyjr8Xgb{ zf=<B}9vNWEz-FR^2Sgl8ct9k;u0stEhy+1LXmp1{gRluyf`Y9ls7U}l5OJrkZr4As z`tnb6jQ|e=e+y`st@{ha65l_dsuY}@yF(axpsF1~$-7&q+lP^-+ezgA1#3t`>h}H9 z>Bs@o8u|y64Ln%7L;rNUaPfdLM<7eL7nsk`?Zd^>9U$`m60%kv^0f+(uT{kO0G{9i zrN8DkGCM#a*y;MD)AdEC>zhv351p=GI$eKsy8Zzd0vw&LUyi%Jc)<)Ud{NUIBxCma zz6k6M{SpMtZ30*l3shm~i=bZDFR*MWfSKB$>Rew0^!k2*HDv^_Br-^D?8RmvxR`_{ zEf;8h?!{&zsHlah6M!0s%`4d_n7d(V6_<fKKp~{<`XZ?NY(Ou#7y^ezL{#$;8AOqI zh=n0-0=PBDz`*e3|NsBsRvZHZ!wV#KQfV6KUd^P^G|(Xspy+|%(C#;s#uub~AR@k? z3b6$*O6dSqhb?rm6$(Ve7o_y)#bzQ(d_mO_jxVS}Gy}U~5sD~$deM{+9i{y84CKTq zs6IqghoAz;m!q=-)P@HYEUrAAO;Z>c7_ua~eFXx$L;o}%l7Qtfo-BoKSCN2j-#^U< z4Pd#12c>#BBmnAv1R~WhxGVr?!t9F-;9Lu8Ke_(tE)@V($e?;Rf`t#JpxgBiY7YXO zEg>}%R0oH|C;kW)F|ZCuHU#N_b}cSG0E>gu4^%x9SUn%uYH(8kq?}O#>|28%EPg~S z&khN|+Ag3RLUMQpU<=O-czAY){`tf&;0h{|z=;Gkd?lz5z5$@n!U*30a4;Qw$bcn$ z!8$O)7t&3_7QSHh=;0dx4&Mw!_@et6?A=fN5v~%DI0tue(1IT9f7JeM^Baz^<F0Q& zae=3&d)yUN4Kp;?3NVytfcmly;6f1GflYulBw?Lj-#5)C89RO7WHEGy@&t9eas<G- zyvJStfW`s3eLoxr(V$){tXBST+y%6>g8|ezY&;kNGxM11A11IZF-Rhyt|+XT@B!RR zC{>3v5b(4oIbI%M1e*?PLVV~BVH64KcKr|l(d+x6JCFm!ha27NBftW#5n2zFm_Zcb zv!EMf0t?7Pz8{XeF!F%fwcVi~Kmwq4$A@kgE>Qme5C|~}Bm){f_yBiMuMZ<h_JK@b z0l7956nYT*kOmyOeFQ`TyF)(&LF@y`fC?pqgL-|qNU{%P0%9-&Vjq&9v4kf$d_gV* zkAP4iJhAqT;+l_$Al29K&Jni$5zH}v;Eq8lBCzy-n%^XZh4<Dj*a^Dg9NhByyc#+h z)am-C+m)l!^+&g_LZ|PC=2{tx5@=}SODI_u-Jvps)d@78`2R8zlxRT~h`_2DiOvb2 zI_9`5IBCA->~?+8e1Ngj^+j{-3+7tMZr>N(p+9<EPDupx`hI{Fj2y3TAT)%&Xg<W) z84A+CQY+c*`l8$SM{meMgP>m553qI~iU!{o%?BAfeL)(SYs<SsUvz_9^rE};$0vS) zmJ6T(fHZ!6mva(jvgnfMK$4&u;)29$3p7cW3leGk`Yq=`Lm*|+Xp#_Nh|ZT)|NsB* z4*k*H1g>ejK>qJ^UDD~hB1@t>^arSx?R8xPb2_M|_5A^=WqU)9z^jX1*ChenzCV!4 z7UKgL4ZrxfZr?w~XTc%cd?W!WQOPjC+khXC+I>s@|NjrWNIkiLp&+p+F}E10f(z|_ z)A(iu0|P@?c<<hb|NsB*)M8*@pnEFXNMb4y>-K%o8*=sxYKpjxNJ2;{f~8ihJM=}b z%he^Q2@Xj$Qi5ZuSB50G?$8&Y_R2v}Yr^H~8HgY#x(`acJ_n9eP<jN%87L~DQNn|8 z0+OMiL<vsCpfm(Ylm|iS4wNXbff6N}<Ta2a)GiB%&2XJA2f>N*8Z=R&>jViybV3rP z>yK_o^ADUUJ9}gP|Nq}PHR1pN|5*~fu4e*zdsF`Z{}0QCJXs38p-X~#TWkLR{|`^E zy<lB|;M57P=Ln?E#v`Cqg_1zQRWbtu19JL2^Z);UP`L%Fi$G}=bXo_94RR(@x=kr$ zNWqeN!Q)HKZ$!et2^OuZ2`>5mfJ?qF&9yQPM3sCF#Fu<>;57TE+ZVIs12;xMCEpux z$@iwY_6@k?d($2Ir`P3F0CGnZT#&&uguVfnd>{?rlJ8Bo@1Nd~gBi#@T#nZ_x_$pN z9s~_=Aa{{Dpp77Od&|3hLH2gLzUeLnH9lKTfyQ4!N$*%dnJl{GF_0uE0i6nXZGk4~ zaw-5+9v%aYGM7oCNw$E6Av(cH4@&|;s|aNnCV-n+X#G~?LJHhJEdbST6Lx~G*aSy3 zp8AdIvD^fX<saB$8Jy)op^aR>QKe++4V{8gvLOl;q;id^RvA<%fNMHXNp%6#E_XS5 z1|kTGhzkL)&vpAkYnmlN-L5~H4;a96b+<35c5DPCBT%z^N_XgwPyB-5W;((?l)Aed zQg?$2BuF8KmXbgfJ3<mIC80>7rz8|fVp0-nMOZ*~IWy(||No%56i}IylF0xnXUdRk zNsRe6%KIbmz60U@2>y-;Qgav5$xwncr13TFC~lt;Ierh$8(3Pdp#C)4_yKhO5i*`y zV$}TwH1SAyAe9GsAQjd{`2+8wp!O``&1Q7_zd*(VK>ZF_SMX1_AZYZ}Ndm<J!R{|$ zQ4P3g>wywA!U1l4;5F+GP$`G%AlN7a3GR`B+YE9D%so1AQQEi%GLHftuwYTa9asu* zXCOPy04_?I<0RlMR*dkX$bBZXa9`t_Kg^)^bYSmZmOuah?*vVDL94AuM8B-l_eb}a z-d3JJ|Nn!U{h&1WquWUU?x4<Akml|$SuDN1AVq<o?u8SiH~j<JQ~v=O5ctvE0qSrB zc25BHK7zWzI>CkpLVEi@Ad?Y4Kz&QlWW*2HWCSACS`U;EF+|aP;{R(VEcH5aY20`O z<b6bed>CHGgS-J6(FT>Zxy9+ABXvOY1#}HBP$nP2;f0ueA~JmmfLaYBH+_*DUZ4S` zA)LP0pgZo^7^D~&7}^*a7}yxB85kHQF)%QQFnBXCFbILg;u#niM8T|d1_lOD=_A5W z!N9=K4p!I8z`)Q2mIduBfw1<&#X!4yAY!1^(GV6VBTR=9BLhP(Sg#daEEvwpfwNlR zthsR3HaP1%+>{4!)-O0qj0t9k5uD`<XJx`!t#H-?CI)a{g^ghkoOJ`v`V43BGsDzr z!&z?3Fx!>U5RgbY>L9zgyvA7vZcoa8o!~U?!`;S@v*NG@MlqXU%6}U^oVjkK-(` zczehKi?{bI3=EUOvOnSKvRD}yKpk*4h7wi=hDHWZ?ANivOle_dU}ypBc+bkf06IXA zjo~L;9WxtD9VZ)1oj6>qij9E*bO;_BLkk<s<UY9U6u6H6Yzz#bqxjeuIN4$9gxO&x zOR~dEHeqLAPzAfs4zA7vuFemxE(R_(lbwM<6RhJnTnuzB6ll1Mje&^+W(Pk91A{hL zoh@9<i-Und2P{?r7wd+zK5;NG90Z4pG$)MZ3}@xQSySPxy>QkuIO{hjWbYyy0|OTW z!x6A~JX|nW$#6k-JF+ooa6$G*vN4!&L3Ty5F)ZSO*?St!`V42uaKmI>;jCOZYZ{!j z6V5uv4cW!W#&DS%=9c^1Ft>c*W&rPdWMlZl4cRHl#=yY?*&oTq5W>U2&<1vWCY)8q z1Jmov%fL_%mW}3xi7nxU>DUQpU4zT6<%8+C#s|~!j1RKskBxzaA680f@iQ=hMr7C+ zEch81KqZg}Lli$`U$6*67C!@n1h`bG<7Z%y2D5tj85mZB-7*i(+QknJeg-y%BmA)R zca9%s?-hPn`uoNY*-6L706HJAA8d-W00RRzIF+ah!1U@1!1S65!1SgGK=!P$F*FG< zFhKNn3otN%<}273ro#2khwEJm*9$r!6f~~J#_$QQ_qPB8185Bv8w0B#%wB#$n7yKc zFnd8K>4J8au`whG!tBi!WMBXt@WsYZ3fEf?*V_u$y9X}zUXXzS)XWrN_z4#S?S+KY z6)r*y4E*3Q@DqZ$B|-@1mN+4pTXKXL7(h2jvoVyx)iuD?wZYY05@KLD1P)!$ty>V* zK4DmT0bOhZNoy~J85mZ9)qN3$?0aNm_$drayX+zi3`fDTf+8@tC_r~gvN7mD_g1no zSU`7FvN7a|z|vKh2m=G?07*9R-bzTBI1g^h5)qh>Hi<AWfKJ+FW7s1C^Z7Bjx-)Qf zqM|S#Im21AL}6(>QViy|JUFXO4Cc2<Vvrq>Yz))IV18RF2J_n{F__;Dh(UHwvN4>2 z?#5(exB=aR$;R*my7Q8a;e!}t=Or71oj3yn=qOJ%1`lzV>x0B$=0%9Ze3>Q=Y6pPo zg#x&`D!94^xVkgqFkk+KvqU9eVw)u(dnVZ!c1Xbdaa00k+Z74OE=x9s2NIAym~0Fj zlCbztkz`;1ErnrY(36C@)It)b*G>}VQXfeM1~G6-41=pnfU8S`t6MJ#bJblq>ph(1 zA_a??zfzFph-?f@(l9p*NW;QjN*d+@4d{+aHU<;u4ox-&2k5>`HU=N)ZcH}to=(ti zOg4rxX~@n-HijwEFkkMHW?)bUmr^IBVWrtCX;^9YS(<@C5iH9t!@!^dX35JiFo=Ww zt0@Bu7h@Tit1M+;;SvKEYnOqUvJh?xXiq2TTm%t@&2V)BvM^IrWf>SIg7c99T&xhz zYKOBX$TBd12KCt(X34_bvIH)>N*3mpgK#lMIhY;daF&7`1A`>kM_O_)Q%vBpR&p>? z0^wrw;H)ih)?PUVa9fs*;W*qB&;j0%meF;%DevGqK=;)_WI;PfA*@(=1_o)cThirW zZYh+9xw%}P0opR^gNq%IhsEVnxEN@sDbzd#1_sb@HXB2_0^B?WxOoaN^STuvdkEPW zCMdvC-8=<Ys#^`$u|ol}|B#L0hyrAHA{)a81(*v&6=5c~z*)VD3=FbhA5B+;xnLn& zcDW+V1-lg?djr`R4k*H0a842Cg4=K%FBBpB3fUOGC_;7}vN0$q!Cc^~1arX_IBTyG z1A`pc1;>?OF1QGny{-gv!D}VRo<BB*4@xi>{8NItfLj@6vV<~ZzaSffiZWz3Asa)0 zGRy^~aCJ}MthdSx4Dw(XfOf({%63K-n0cU`u#onyv<hS|9~*clETnCwrvh_<HC%^> z3S=K38$*Z+WS1ZtXt_x9K@QL!YliL+6^>pfo^G!n#wWnzqo5tF;O*B8-L7w%A29N_ zfNGHD)HnaYOG-csSHKz%gSnt_V=xyB4>T(Wk%QUsfjB$hh8~8y4pS#P1FWwA%GHpX z6qI&AXR)w>+w~{Gr2=Tet`E%eXJ7!IuOh+_%fP^}1}v5hXVoyk!VVnf;PMMpk3&oW zozeg?WgA=_Xy+&gSRLq07>K&i?l-ZAL34_rEv}&5F`#iJ5C-o{0WqL>1~&r(GXn#7 zd*eq228JdE28K8WcTlYkRl&dj(gRWh!k~jGAQFu6@ViEfOA?Dp;>%KtGSe#KVYhUF z?>7S9%>&xSSX_d*^H~PmFoc+bMm7jBFfsTGLb54nt0qhy<Oa|&#h`V6puzzpK7oOu z0pzAh3=9pR24X9C3vC1g0|SV~4L<T2#Nq;X89*#<@bS$c78htW8Lrt;#7JawEeAsh zTXQWB12L<VKtq7#-L5>%797Pyju?7C$7lt>%dx>JzxfEq-PjLV9H12--Ju-aOh~g* z9NmJ=hd4m9w*uY1Jl%rLuQ<A0c{&BKj60&NhCo_kbC_SA0W{_g3PI3pGi-*ZEHS4v z6<qK_nyW?(3=CS}WM#tuD}vk@U<H5=1FQ&2WME*>1*-!kVsN5m0G$&KDa@<k>ZUR< zFm!_xJ1EJ6lC%i;*ci~JD>m>^D3HPfbg%>@8-daz#1xQ&|AGr69!3U+e_$52)Gfvc zX@Y^8&mjL@<OX$xS>UPLoRNXS4lQ+q^nkj{AbJ<5i~(t6U<B_!ODauEOD(d2++?GZ zoRL^$#{f#bB49NT0^|+|OQBVWfs4UP5VQkCjDd-Pmw^X4AK~W;GjI!nqC#Grfgv-m zIJKxG0Cc|yw;(8Gm#{D}KvyXXFmMZkymwg;q%JHm2YhE|FYGXNh>NYP;^T9S&@WE` z$FLm($OKTtgY|$TosYp%&<f%Q1_=RBug6j_6NwMblAjnD7#g60APN*-pzao^dj+~# z10;5sk)Z(;mM0h)8Vng27)~-WGz5c&%@`RPK>6}4BSS+10|Uc3MurAZNpqf&p#d~3 zc9W5z0dySC9Y%%*&|wt!85tTth1o+!h6d1qR*xAO8bAjcJz<38bkL9jI|Il>5DSvi zK`btCM+cNXxEa<lKvD`9__zX4>fvVC%fP?@VsU}X0Z_{0W;nyZzyM-#G59k=1_QVm zK!a)!^Wx!R$xs#-Lj{z@%}@hnflHHaR}NTCW$E_ixhrXW06Nkidl(e6hrx*-)M|qy zYEZ&KFP=d)E+`;D>OnMm@eJx+x}zmvkRDJm2x`&qM@zt^d5{EwoP?ppF(f5}EWyMI z4MN~#0&<3d5GbJ)lp<22BMSpV4mdG^3u{oqus|{c<Q`DM0QnCzG6a%(!3Zg;UotW@ zfHKc3MurBEdtXB%6x4f#L@0;_iBJ%W3w+)ch{X*)cM8M;2X^xt5%9bb+PW4*$(;o% zCA&ESdqY3Kmyvb5a&&VvALQr`<>=&s7Q7!&3SNvwWynj)kPA`x#0@AXfr1I-OGuc2 z+QN_`6qE%Z1sy08fKG7}VE`q6(5x35Ln;HT#Rj^~22$jKic3i904+TL6?<&p5oAVi z0SgLI^b`X+;|dg_AUTj5Kq&@P;e+^~0`wOH0|R=B0qFs$0nsN&O)((LKo+55ipoAv zi3AEm5gAxg16?iE4=dAPiI}KT4Xg`Xs)0)_22kn*wY^}@1^F42IzbHz6R2P<BSQly zJUST}8bB$zhmoPdm4ShwpOK*<iUB;f3~pe6axf&7f>@AL3Sx1APtXCy5jXhU7Z8gJ zJT?Q0L2mF!Gl<2-06M7+6#LxZst?5CVz6OkU;vrI%>ddt31Wd$INH`guv0->3Z7zb z*nxTrpg0GsV_*QEe+C-80*Qgr0jPM*LMu5ydO&JG^BI*O4p=j!>ce-j5$w96#GIU@ zL>zY?fvQQ6-C!e82vFg|&%h0?CfzI<7)mlSi@^m6IIfTzeIO@+@(XgK?*b!31IW!6 zp(O`sloAprAQmJ}KrAls8Cf6}H~0iC5DOfx&2M;)yMBSJng0QykhWkpTQHPpL#FAS zAd7?lbPINde#zqLM(m^F04WIl(JA=)Z1WKwXd&PIH1;qkq1Azl`EYnk2^0wEnHDrf z1gh6z;R4FEAkTu-f+7o4CuO5W7Dx|BO&|jULj{Nd)=W%f)q&eG_#zbCs6loR*laL? zHMT?<nBgrO(8PfnSSbT2R)75e|KHz|fgvxoqJ)8ofejq9piCG5Q3EDHegQ=+sPp6k z7GYqx%E-_F^42v*h6a#%*P(5Q8;lGM?hFhJpf&=i>vW5ep#c;Ix1k9D)S84O01yk3 z06;7*aI}M1+~6a-KrAi>Q2P<Y;${FX)B~}=i2^yZ`Tl8s30YbX+VAs{1KcP_Vxq3x z0gbnTj1d9P4nbI;ITFZ7ktyC}U<>VdK|=r|&w`p;-e}1Hqz9D#LHFFGfWix`8IlZ8 zj(M?yL_4w=IGRCe46Fx*K#pbs<V*=l6>H%gD-a73#2^-yphH@s4PJ-|>O+GA5H-|5 zePvKXPlN#!)sP;o0p73zmCMLZ2W1&hIDo`JSq58Jf%JgXfabAsv4$1&SP!d&GSK<x z3Mr|@B}JvlCHY0_M21xYdRT#)t&rphVnM<R#KIa@pivBP=zzlt&ch5VP-xRHtWvRt zRd8xiS!$6L`C)~Tt~SEc6^I21D-a7ySV2O`m81CqV~Kdi4R+9Opg)Z-LCFiYKAWT4 z^^Yz{044Yiv4E!@AlXrmfq?;1K0D)0Y`)Np2})d`Y=WNHni&`v{LnHcNDnBnfih?~ zwg9xUN+?cF%t<U#NJ-5}Ey>JFCnLRyBBwX-v>2$#3rTPw79<csEG&Tt2`@^55|nR2 zsab>p)OLadr6=B?1hsrY!3e_Gg0hQ&fguzvC_#EaK?#ba9Be@u56`!hhbT%8hRigA zx`~h=1+gGO3SwamQh2WIhNaF2u+#~XLP?z<0rb=f3Q|y_r(cjJV+~Sx_NF{YQ8GFt zNI|`ENRWb9kRS!IP=XY^78JB27F4M+@b6>cYW~4k!gkE{KjUkbW3K-hx_tk4fW{jb zK#eVsB2a6QjRDlp0-fQ;1|H}^Z){mYGczdlfiNgDgXW?^DH2q3fCj4q89+0@AXx|o z=>e$$)!!BHrVe95N@ZSRZf3GVW?p7VW@1ieRcet!T7Hp&I=G3Il$jo%nwOH9n5T}f z{$PNQa)MjDpj9OhTNxNY_JVpRpaD8qN9zQ1coURUAVCOXL4pv(;sT%k2x4(FfX)X8 zvB1IF{DvbqEd01DW-GUwqto|CbL|g?62tC0-K8AOZya`l29>)1d|nD#OUVRXA^HE3 z^&Mz&@uS-Vr0Mm^__*liBOHiE?;#cjFL()%1ZROl7d<9&7#J8p{XCEy$j7sILGw>M z;8+921gK;QLn{kFdO-b?NCpOmDzt=)uSsiVm7JK96AwKHuNYjNgX{*`3&Nmw4Txr7 zKyLcL`y-&HEJ(ShC8$f9md_x>z%2-C+d>Ux0F9f0`iUTOOe`6&Hg!SnM{nvLXJlvq z`3W>k23q+88YTm!<Wr0c4Soy^45t|x8bBS0GmH!kAb*2~%|Px2&Ei8+0Eh)i0U#C^ zxPc2|af45`1+gIK!h=}c44}CP5DS(nK)b9tP{uu=(HVOfl-5B*4<g_xJ;+c5D7w(2 z612n#<ZVzGfoM>s0u4fe)Pkb2n1O-88Z9b8dO&JGCEiVtMIeo^k=DwR)cE|O6i@>r zqa;5M9A9903<4Bipx6Le4Z5{CBfq!=bVD+@zYpqZAZI9$o#+`#0@`x`jYdO)6U2f9 zCy2!bKHe6@;s$3e5R1s5>jZcHKqElp2VD_?pu3GH=<-VPGYABoAatM^6m)s1h>*i5 zi?9WqG&JZyV_A@(1F;}M2Vy~j4#a{49f$=EI`DKJWaI+W1;buagU*#hj&Afs1)6bm zLQ7O2J)lGdN)0TaG7M~hV?5}h<HVeJ@Lfgm1x1;8C28^b1)#GrA!Pwr83qALTQUqh zf}nMF5XpFdh^F9@{G!D4RCpc-^;RG%AgiK4YbinQ0F5Jo#66*tQ{D^=4IsDqKud8@ zKLrwUAQmL#KrAkXMGOq!?kP9;?om)EK_;$1vXF@@5DOfdVci&eGa$vZ2TNeLKoIO$ zCJE?~IC1do4O#^OGDQS@HY#Wco{a(2D2Aj~GrXlYXc`FQGgu&V@`0ue5tA#R8A(I5 z*a7JQ6$zlpBuSV?2FCcZG-#CMV5C-%a*#EUf*F?41wePg2A342Cgy^RVo-5t4ia<A zFUn0U0gHjm=KzU;E=|r!WdKd7fGSbYB@*$DMd_d`y1`{OsLTafVI}}6vmw)s$T13X z_XQ@%)F>=Q>zEio7tb=(Gch!P{L{b$nT!B+1|TsCVnJdQ#Nq;<MGs<egU@;gvADn| z`GQ#7;7JD%3ml`(Z#YmZYH)n^x(alH_OSg3M4ZO}mS{dA(CPZ;xGQKwA_M4<E#w;c zFsNk&n&cD#$1TVX5e5&uaSIxp0i{w9289eL=YfI_6d9o69F#V7(c%`Q2c*V{fq_8= z6!svE42;m21;;DQIIs+y0A(^_;}sN#plTN-4ndkhlWd@Ar}&`M;?f+@P!nw0801r! zT_87t;t{lV8x*G?aeHRS9E1}yLj!28!kHN|>g&SH&|uHNz~IWv&;at28#5$+L8T5P zenBiq{DN4J0VWU&GQb34ae?n-0p0cRj)8&U|9{A7Zs;_~6(9_1<$-9>_$G)}Vx24r z69e(lF-Q)i1{5pkaxgwj4Ty$`q0=BakQtz}<=McUNYEr38v`gdK`YSNz|+8>yC&Gc z<pk(X3O4X6U(k&eYz&}r70{}5Ht-ZXJ9usaRI0FoS?IPA;v0Z<f!tFIp4bH?8qlhF zh|56J#%$pAkf2*rAZ`TRkirIDMFqO41marIjUjB{F*wi&Kg8XjF>f~TiO-;$J3wgw z;g%@4t)R4xDu+;on-vS!54zQY4cxA!y{kcM{2_JcdT>~Qasg<43vPE3CzB8N4d`Tl zTKWbwBM3S_o{a%i-h$3&X9JHVfL5_UQWmHWgBl-oaM$gF`x<nAHl))9o};%?@C)_v zQGnhQ4n2|>GWThv0HGD~@=FwQ5{uGP6;ku^OVdGj%3ui{P|actwh&aNnSog_WqS6G zVPH$aqpA*|;eG~&dK4v~HULOD$QVl$8IUL#gC=|+k!TNA07~%QU=~OkRv5qv4TvQm z83qQ3yFl${gu6hQ86=BMy%X3}ka|}z3#1N&;r@VMM32=kFsFe0;(=lS$PfmI>p>Y8 z;d-zHw8IUO0TsY7F+Z>oAlC$fSuk--*M#O}7M7-Bbra0HAUA>108&Z`M==#-I<_#u z<_gfLAxJ$8gA9j+HD(%ssR7X-b)YdFNC5>}A%JiW+*jbV0zK3ntCv9G1T!rS!w(=C zFwO)^ffPd$5GdI|q5$L!L=?bMAU4lK91Ds9gkwQsU<;rG$TW}`Hcvs7fGLo=BCwl4 zfm8}+fh8Ci7|=Wq8LlJfdC<ZNL;%9f0@KxC<0<nz#IYdHBOHq@<{|1ZJ#`#h_<)_m zzyMxBg6`N4p!Ngk6c5mjF0ew-U<@0BLvns@fnH|HrD#@0P?La}!67X*u|&_nU?L+! z14KkGr6@JIqztqw05n(3z|065(gGU-C-hQMlS<Q7K;xs}6Y!WB7t}E@fT}XM5(cQ6 z5ReEcDKImFh95vY1lB7`Nh|>^+=Av*W=2!cd^iIGL&*Fh(8vP=1A|JiyP2`6A!wWz zJV3(?6EOodh(R#{7qI}X#6cD@G5{UYf+AuBn$tuUF*5>r6Gg<>gb~!G05!WIwp*Hj zDmP>`mZqSU7f2#zMh2i^LlhCiH>l>AnHq^Op_puDYV3g~VrE)^CSqYW1x>`#1hmBs z$u4sP;}586%nglHm{II9H?&MZ6EQNIf+k{Yd;(3x!~nEc7|AXZ69do{c_<==9xNz! znV6WSpo^H*z(qhQ0Hl8oTm&4>CMM<!;39g6qybs^$q3Q`D|SI9Krm>)3d8~>9B4`~ zF*V)*HwR*}smU315z{Z|B4(iD(m}Q`Gw7A1R+OmZ=7CHG<t}E%cohbQP(}s@_mmrU zAW;UW8qk(X(3OY`49tw6m4l$IHSdmFL0kFA=70)HW=4=ZLHfg9Xs3g^eGIUi0?tjG z3?OqrN6o<0ae#e~Yz}y+ff2Os4KxB{zjtRmra7QNV`fIsWr`s8fb8SKFb7m{GBbj@ z9-s<#&BJ37nC5^+xtSS3%X(q%;lVHmG)2P92x{(vT<_6u8i#2P$Q8_tpmk~>mx0{F zhhYw=q+<r{G5|?4+>5#X64M-zk5SztfME`3B@r_tXl@_mFMe$&S4?w28)=vsLAe?< z_YbmA2*VsuH-woHG>-;K6B@baoG{G+b#a*)L8D5bG7e;p2!=VJ1!l~Qpw0?NP41iP zD>2Oh4TzwcBZgrPsK!8;qn0au0n;4NvOZLEBrwd80;e(1JR!(ES~-pDG0g!D9Wpb5 zn!q46Ab&|=m;+k>%*+T%wjec2(w<MiGzYW<9g;6VYCz`5V3-3MO-Gn>E^Klcra7Qg zifWD=k~t~hRidErR%S-f)CDNs)%-w*?SWX(nh4}j@RnF+Mo^a$mYx-m%z@;0(69_M zBWS=Jr2Flgmv1rM0~(lPW(1vo4og2u80LWLCuT;_@FmC`{#`K|nC5_1sWLNyuCj!= zM+L(i(9#4#=BR_?6xkd#40AvwB{L(a^Z=EjDM1SgG2H`NMZ?Spx_k=eFAWTHK+71I z89@acC|`W=4{XIW2ekBrnGtljJ<J>}40AwTFlI(j%N&$8xP^`LFwM~g`%8xrvicvC zessX*fLNeaI3OCdAsQ6I3=E(}atM+5!uVX!kPJcu!~!1&!vMN~Ndeq;fo$dj$$&7# zoVg$-6hlNnIRPY~#Q@S34;x%!0Bt%3iGbulTOL3(2SiP7YHo5tB}jk);X=>~Ux*M) z7ov3q6Hx|54_FaQ1hifpB%r{c0Ny3R0A3jk5>Wx$1!5IKb*aHc`k^8S+t*`=fHvWS zbR*PgK|GA)<_HXtHVl#N7$O%jMBZVDh=U>?+?s{?6m+dGsO|<0p+J;JF*7iL>ScsT z88ZWe0viJZLSz~<1498jvdB(m28IP3$Rf9x85jb%kVXE3%;7;6(PDv&jw4KtV_{$@ z;6+w5nT3Jj0gA{)P&QxyO(DX3@fs=u3e`+T&?*RsUmzh3Az4`&7#{E;n{3I-z;Hnj zStOQ~fk8kBS!4+-14Doavd9;Z8gXP1do~7!4-&{ClR-@w2GI6?m<u04MFilf1+;}9 z<T4?+hzm69f|is)+@A;)k%Oygf{H+V3YtlWs05h=!;7J6B;dLZvNJFgNF%%OD@a5J zSwx6~f#Cp(h#3b1gM%!xnj8)Wh6^Ynt2r1L66BE8yaqM9<dH={7XX8<n?%HN0w)6l z=n_eU2<RXH(5@+j$SF<+1_Nbeb2vanDQM6c?l15yUtn)5Fk~`<mTF*zh8I+q7+e=@ z0Ei1N(gjt+0~gr{72$)6T!o5&LLOqv8w?S4SYr#WOAJFq6+^@XLj-iOF-VXdT>j`4 zSHRomph+8M$T7tX3=9t|9YGs%z#+iE&<N53URnhzwN!lkK=V2bplg*uiI15<#m5h{ zu7N=ToGZb-EgwH)kY;;i5pd7X0$BuX&Kqt}TtIb!&G~{X0yak&oV%fFz~=D4ML_l( z;AUXRhr19Y0vd$|)wd9zf<)YS7#Kj4>j;q^9tH+bV*(*^iHCs!)QyFRsQCC9f?6Rm z;Cu?T-4N9NQ$Y~{dBYw>#GHYF!3J5x2;}HJVn{wU0(tBRvIy8N&{e(gP&EP#Y5qc1 zV+2~7@*PD4G<Ea^Sp@9D3*d4C=4Oz4ZlH*O+zh&u7hxC3g(~2@4Alj8p$@VL*oCRc zB48ILp@@K77>^<Xa$yWy1QZt%ybREbcR?u%Boe{PzyKQCfQLNDfec#|kU|WcHufNk zfSk;50$BvC>xm+|t~bacU|m0uMZmg5z-0o|?_j%RkVU|{G>}EWx?EJy?eaku0qcrD z76Bz6@KhZrlY{dPD009{D&QhulR@i=;UZx7fF^{%eKb&x1Dgz*4u^|?5)=byoCG4G z2hQ9o;BGBwaW69?XmSJ8v#XOm3K}N|1v>)+!#rLF@Nq(5HDIwDypUxz2oYgE1_sao z5JDt`4|1pkLSz~r19%7?A#xq$5C#SYh=^WNF=!D7*alF#W@ZEx=wL3GfRud<43eNO zCIiGQCI)0(pp?Z7+6w_zk4gkXb%E6|Adg3ZQXexTsErCO#=z|qh;GnPC7>!Eq=pGa z7bq|xE`+%Y63-xgef*Fy5|A2HU7$$8W!Da<E|3~jU7*OtW!Gb<E|3~jU7$n)(FJl- z#9!|zkXAQ{Cj#n%GcYiK)S&7DB{oQ#9~xjtp#eHT1r!<}HK@8ki56lPW@tnSKtcng z22~fR?1bn7xoP{=|A7b>f(~H;iGtLi>H=*XWM%~QTS4-g91fKTUCW^U0;xgO1v)s3 znGsatgLElLPLo9Fx(n3>QUlYa0$LTr0P6cNGlIqk5dMO(#6d$8pmLl6WD<B33!;eu zG?Ku~2<oAOn&D6Cg4{tWK=v{)*g$oG)S%i08f;=_1UUty>oI$OA3|3!R2N7MsxHs~ zFf$`~^af%9*fkJl8dMiZ4XQ5C91k-is9z8AjmNG>j}dlNLUn=Epy~px;6dn05dO0p zp=&Bs7f1~g19E79rnZ?GLE{4;f3+@bmPhE?3e^QtgK8IODK0ZSG-}yZp<^;2pMl!W zAR43wRTpS)2Qwq63<LQKqy}NvbEsV)HK@8kwLZdMb}fQU2wnf6x<G1B{RP^a%*+TH z9{~Al+L1aWT}q&#DFy}xkQ!9GKs!qi{+h?I>I}jzXQ(ca8dP1NB?gcYMUY*n{z`!A z0;xgO1zISL@RxhpO)G?5wNPCkHK@8kiz^Xn{&3GmCWNlVP+cH3sJcMM(IIr9y6_xS z7f20i7=jv+%#5J%9FV`3rtW`_u<I987f21NUEmQdc-r{I=hcGHB>@`nV_;wasX^5R zTIk5k2#QWn8HVaYBd9Kr8dP1Nu?IvL=HEY_gs{s8stcqBRTp@y172?AhwW-W=*oxc z0;xgO1=?kVD-0Jxb%E5NhG7tR<OCLmZSqI&BJ4T~)df<6Y8R+oi%5s4VfY%V3#0~B z7pRWM6^5*!ViGi?11^CeH7uk+3<bLoR@$J3p*&O<NDZo8VPIV#X;5B9O@~e(VbDbh zV7owZSppRSu|ejPB&&G(f`^Gf(@V@~a|$36K`Ps!y1;4}^omN7RYD-TKr>9Zbb*eX z0_g^;0Wlc1Ld^kjAZDLH5rKpTNS1*Cw7?co>p{dIdKefkL3M%DfP4Y(et}245V{)9 z+**W)<yTN$An&5;iUx-vtR1z$Kgl1ViwQKO&A`9_Qp3cc=NuHG65$Mr2Jj*qbiYH~ z$-p25)fEFWnZZevfx#ZUKp``)Bp&42__X{Y=$iESlGNf72M1#hC#V|Gc?P%?1vt4l zF~r9gloq9e)=@Lq+Z#JXIz|LIMtC|zF~s9tUKt;snOhJaA0MBXTvQUDnV%G&R+^X0 z02hX=$xP1A&CSn)uLNX>hcn}I80_s;h&f)wA<)Ui0pzZTD28~jztdAoN-}d(^V3oi zE1}*5EhkO^sq*u4h=PiN*2yA?*~iDbg0&-7@Pjl&L_{&zgS0z9B;jk6L6Q*DKnCHK zwKo83gs-xIt!oH$baeokZEuKOJ`^fn1ijZiKC!eUAG~WQH3hb$9bzkn(VmX39v%T^ z?j8Y-5usqyJska9d|ZP99D^Kv9UL5@3_L)=Pz>J96`z}!nU|BFUx3>*a3Cau@2n?Q zHM+MQ96%lpaB>NNE}wDE&x2lT4{{KLJ$g7eIKV;xw9x|1Z4M5;j;<b{;DZNGacW*l zYEdyxg-{29S7H$B7^q^HLkb{^h#^)$<pLdD!Jz|{i!V#f!72}TXGvv2D%6!wBVb-h z%}dTtNsTYbM=<~-8{p^yiZ7^wveX<rii%T9;tTSNQ_&5H2nA(|vcwz*hd?JkLy&ne zrSQAbNzntloSlFkaDIbZ1k*&UjbPpO@$TS63=OVOM^|VOWN#16vRGswxehD=Uw1<w z1)}ByRIQ=VXohV2h)>Q)%u7#=&rK~ZPE1D*YPenAcyb?uJ=B;Y=#A*qG7pq8sO>ar zm<g&rU}aXZgS`qkI#G7+ID|sV?g0N_*C1yn2M2H#jc|0r5RYQ8w>Kc(2xu8gvIejd zG136UH01OMk8oVc61xHyEat<C66BH!y2}w98V-a@Pl$tIORZq#7Pf?qqy}7m6{QxI zrWRuq9mw{3V3r`ry0GPGQnbU$2BZQ7k9Kg$fMPvNKZ))D8w9P}Ky?Uu;R$yGs2~Q_ zIOuBe+J{pU%(d8jOHdP0R-zP}a9`j|rbr0_QM@82Q<wsHGKFMg$ii9&KX4<=Bfv4h z(Ivpq101T*Ob0u=#lcTS#Tn9A1E~Ww1qdkfb94-F0#$tu@j)TZ@y;2k$=SgriOJbv ziABW@77PyY@x`ghrA3(~mGQ|S$@t{_{OrtB2NQ;Pgbvr@0w~urFS7*HT7q(eGfGQR z^2_r;ZCU4v3b&%f+*FUmyp){OB4dX5_|yzYF<qo$kDMh5<;D2;(!BD_ycAG_Hz&1( zB+V*@xb1}(B>1Z_yw($EhKd0LHB15d1y4{A=@uiZxCKvq!m|b?;fj<wa2M0ya81ns zC5+6xw0x3M20Ro>5|eULN!5zWQsUwOpWQ^8fYS*?1sz@|5NCot+BQB1dqaDBe4SVa z2TKQ&cyC8&e-XJ~XdLh7#9(h9Z;q(O9URP@z&ua^<D8RNT<qZBKu`^=H;Aqh9;}27 z#i<m<Yzwg4AngOlHh%{Pb0-XIVL?fRwYZexv=*iTYOS+Fyn&OCgO{(bo41?08>AwH z)F$@E_NJh{9QLNr%^db-_9~8!VAq1QIlDV}_<K2e___O|Yl9kKnwMW<ZwlV&VQ-q6 z2i6&6f(Qegu@z*1w!g!{0u+fs#>jdhLPnTEhK>&Q296G{ju2;ogWCaW0-79BGJzNe zw-`wVsuf~6k~l;M!~qz>hK>%##%@q2z-3|40?~?T8B89#l`vU|ZZwNgC2{!^RTbX2 zfGNd@Hk@f4n%B@`53U@=Q{Y&EOCkFRn+%$Fuqi?E3*1=r420WDuxx>@1BaJj%CUF} zCWYxGR2i&ZLREt7C72Al15vzW4jR{p2UTmJtmOc0VZj<);9*?Q;4h?E25WeMg+Zgc z@yHE1a1)LpK0Ym{q_j9Sg&{t^C^a$1!2k`w#EsL^P-I}@N$BE`QBg!Ot^yiZf}Y@^ z;^1H$VCEPR5#`9BZ)|L&fCLOp%!~~TER2mzkpvYK6buav%*@O{w56$mB}guT%ZJg2 z!F7*u`09K{h8Lg-6wpQ(q+K1LF<a28L(qB|5F3uU1W?wZgT&A5W?*3EWnege0>oor z2xn$sa9|K{g086r4g7;8Kzln(UxAr$0;~>chX+W)h>d|^Duy}-2k^`wNC6as<}HqY zU|@I-x_=0IT!#aL!2#rT@F1mm77PsL9~l^yYC=5f!vtCn6_5Z?2VTSgQpT`}fq`MJ z10#dKBSal&Xk38-rVg_17o-rh3RfJoT@A#6Vg-SK1gL*OQy*Ya&<cGSCq@PiXNY+q zeGUQwP7r$$=7G*3wsK}<*bP+&S_+5FyeW(f42&*}3{ycH<QN#hmxbUmPuz`>VTK#T zUVP@=b7N#E0_~T>V;<;O&MzK}4DUQ4=7DDSvAGYFj#|7J8FG9O>ae*FWFC_*Bf}qG zggR{IePLu^nB>RE&<0vU%>cQO1e<xFqXA?B85!n*w(5abYB4ZiGY_;O^+_NjLjdT= zTn5M`FWAfjts~zT%*b#Tstz>6g3Ub8j)#xIj0`_Pd;1t5tB-M+rya`3;04+m0-bfj zW*%r&PFyG>LtYppTyUiqkbf71F)}EDHWA|SZwVs<Lq<3w!yV|xG0++nZ0-Zi@q0xw zGIWCOfCtabU=Kgg&Xwhnj11Y(O<bUbxwy>hjACRsfus(be?jIwi(+J06%Fw(s(Fz0 z`k;&iTE}rBnvns#6$4NBfmZB`#xOFx1#Q{D6Ca?}_VTfe3=W`u(Rlp(1a!W9EF*(c z9K?N~e1y%vAoDun7#UVV)q(th&A%Y?j>j=FtOgy_42?Hz=7H8be1xh2`5%O_nFm^d z&zHc+z?2AaAFlKQTIpqy$jD#^RR>ay%RG-nMh2TCkO~F{T>b^EY-vhjWY`B)2bvSd zW*%r||Fa}U2EG*h=7Ekz2uWdNI003M%RErDen??t@BwW+#S?y@l{%Bs7#Vgz)#1v& zpo^r=q%kr)Nr$)(SNMTu+r=^%8PYN!>Tty`Xa_<|1|!1;(C$|}=?`SyqfAByqb$Pa z1!OTY)MP`{!QF?nwic8&Kzn}HLDhixV9aE|fV@f%BnCQ-<5)H$!#Yqw2;EKTz+m8j zybcbe4mRftV#9EQfWrZFbr4s<R6ytk27v>}Gu9wcka^c~7#Z$C?FGe$gMfhpHg%tJ z7#V&Mp^h(?kwGjM;sRXef!29xLDhiV0m9hq1*I2Poa!L!5I}lC?SbrEMuvK*TDZNS z$!ml%@MSlXa~T=dK-Ga<=^$VL4Htw$(0Z+Hxr_|QP}M=h1)&ZU?-z0z8Lkpg2U;a@ zKbMi=H&h+mec<*L!aR^a`12SUl=DC?gUsrK!v)PBp!St{9wS3IR2@h)E`KEEF)|dQ zs>ARHXl+$>9wS2wR2?q&f&4KekC9;u0d*jMoXBHjxPz_^i$6Z(F)|2%PL5z;0Bz-E zz~v9Ad`1Q>RCQSWVUo|tU<*};&mV#Lj10LL>JTeTK<Nrp-ZkbkGPFX~LBrVr-s=D< zg67x$d`5=J=<1NxUx1W?%$u9f$gmJu9fN^`f`Wp+o1>?Xr<<>5u&-l?vxk*ZymL@U zd~k@1r+>U>uz!5Gr;BTRaDc0`r<<p1P_V6ml7haAtD9q}Pl%7Fla*3=u~EFSkzP(_ zk`flPe1o0i!(4-G4J{2o8Zqqh3~>!|4Dk<&cX4$Jb&vOP4RiIeHNs+2P-z}$64)m* zsVK3i($?1{CEleHe43#PXj3_wqjHPOk_(DTQqY8bgTtJILR`>9{e4{g9DQAbl@vh1 z1UfIMoB?!}A$WBcgPT=MK~a8IYH~?&40zNeDKihu&`ZfIiUC^==EnP$mZVnb<tJq^ zSTWcLf|jANgD+mY6b-q64Mh89CKu%w=ckn@Xas30fX?R1&8z|)rRtoYTacNPS_HXY z3A6<e6m1|pnGtdXC8)>*@%M3qZZ<-kTLr38ZP3m(0_g!YS(_Lc7&t-uBtaS(Ag3&Y zoe4bx9n1zFbp+bf3swY8R8V$<5cpJV&^awe7SOZKVP^}P2rw|@CFZ6w@GwBG`PeVU zz>v%!20dvIbmS3el}2WADp(chw83PkvC86*TRK3u3xI@Re9#?+$b8VIdt^T7#2;in z=*C)Pz9}f5FfcH{%!9Ua!F<s9dZ6R=Kugv^dO#QyPM}j8LB%d;aXUz?jDev6wB@ms z0dfgQB?ChPXz^+_149F7p<)dKLj!05TrC4b187xm9RouH=#-y&28IUEhTaAShKAda zD`y%&S9vruFf@Q}bZcQ?XmDW!U+&WYYF%_NFf@Ql<xU2M2GAKS-3$y3=*JX-!VBa! zkh?%wgPVatmw|-=w2cCkPC?rowZV5of@IO=Um%Nfz)=iekir1DOAK`Ktu0!b0oesI z59CKKIk0)4f)SkL!G>5tkK_h(z=;OgX`rkF(In6Sxku*B|Ns9%dzeA#1$4~>JOP1X z0&-><Xc0F=6DZ{{Fo5C$WDsciJV?BsfuRAks2p@v5~xcu5gG@Rv4j<9Ni9e(NFNB_ z;{tUL5%~mkH>nkxpFw&+U00AD+}QmLn}7y;7}<OzHnv;>O75WG1UW@X98{zF3xdxm zMD{btesn)iV_;|ixoHLiLj$N8Hxn8Lv$6OY)LaEE8-%$fk(+@*je!Gv-~}jsfbLmF zk7tk`Q1b>v^I-QgXf8PjGN}&sHpmK)KR_5(41unxg2XeZa3J}<ApExpp~-?$5a<*& zcnX5uxB==WWag!$Rxp5$g*@{A|NkBZ@Kr-;sYT#oX~+Nn|3L*&5(6&-x8R!p|Nn!u zB;_#hF>nil66iE>28O)+a`3r&u#!Oo7G2=@LiRi;%s}x43IxzXVo-q0V}Km^zmS2U z0hDeRF)%cMwrVV4U}yj>uwTl+&;U}qi~(|a&~gTbhJ_3apbbeF`5koBrwGVUDCXn= z-J^#{!=Q6n(Bl)N2NaDUnis?X>qRN+A@P}$nph0FAxlUA*$P<F0bP$IMB1HCplAU_ zK0I1LfeOm$$bp&$b`AprJWxSpFsM9*iZg)R4GL3GlNPjD1th+P0dkqbdIp9D(AM&e z3=9pRZ6cc(7#ctu@3vsc3m|ilJ%%23rx_R+Jkjz$NDnB;Kr|nS0kRymo<s^ezx<NS zw9Mp0&?%hYe1UA;pbW?D&~V%Z4aeQkaNGk8$9-7B5tPP3X&&Yw^fCo>W)u1;rXW4A zGKC*^IJy@l=9P>VERcEt6vp7>#sIm$8k7f+%aw!Ba^(oLTsaCYSB^u=70|ibpmOCT zv|KsG04Z0_kP)YLj0_BpXn6xUP6cqssY_~J<!F>buY4pFr{|$@dI=h*m!WZb6&k14 zpmoJ{Xq?`F#_26Aak`ihauY8o&4AJo=yrBH1`c@J5VZZ$6Ia_1vcweJl7mnC;a@}I zk8Bk7r7<KJr((bWYM+2+OuW$29mrpxdb6F8fk6;kx`R3xxeEgo0vF1lHWMg3Ko}M_ z3=FVF=>xPzsXvju8c@{+YA=AA59#?O;9kxPXmcW^D8HZ}HN_{fxCGpe0G;m%vRxh8 z%K_bqh0K2q;xI5Uz~n)b1|T6=uLX3XD2NY}ht8dVdoiG9C1?;ICXZ-KgN{81iGnaF z3_;}yXh$sQMpls6185q%%fQe8+Lr<1$1yN~PWf#B9d2?T+MjvCz|a8F^OS+10d!yM zGX{nRP(SQB149F7c=;s*LxTt-1H&r@h6d0Hk*^sT8bJN5Hw+97wT$5Vt})s*3!!Nh z<PH!<PphDM-v~K@A+KLU>c>Fi8Qz@%r6Ev#gnr8q$Uaya62_Z`Ah!%5r(8-B5%R@S z+KiA*%nYEeE~K$ZDDi;qn*v2J`1mlSZtP@Gm?7~&vm_uPSONhxsgU^!&~7kH9(1@O zvV0kmJU9V?3;?A8kRlKUg&!#WfTjsRTXR5SpBNw)S$$?;XaLRMeq~^2sA2%$-weL| z@&^M0__E7i3=9pwA(v7%fM!?!g49E<Jq7o385uGAxuDrg&=dk_m=9#vd>+t^=ZJm` zXqLhUt(*Yq0Udt@qQ&sWF=Q!ZJaomaC%C@=y59|CBgi%o<^T~8+(2S87_GB{#ubL1 zSI^ACz))J83LbX_cTGSeE{PHh3<co6%M(~f1$-PVxVHjoTBlhsFyy9!j|Yd9Ho3*= z@j0n^U^DK(bb&QofR;zl?hR^7JWddF{t{?LvH+YSEd@al4DvC&We(|+gYM`A34<^w zY(dIE{ZY_y03b0#MurAZxEnDtG=Qe1OraN^nK3dnfVMoFGcq)Qw(VL#FFtc*WM}|Q zZ#XeBG=Rz*7e<DLGSE5Ij0_FEpiQle3=N<okh~cg8bH%^K8y?vpqYMOMurB^bh#gv z^a46<7nD{&8003<xCm%y8q{V5l?k9-`{?Nfqz9x1M2nD+UchAoxKM!E2C@+eQ<z?e zNFboTD^h9z>42q%qSV~{l2p$WaB}$a|Nno`s9X~Gn12RHd?FSzFff4p4vJ4u+5;U_ z2J!_fBSQlyT-c!T$j%7q$8s?;G=Or50Q5FVK}LoK(AHE@MurB^CO>gTh6d1Kd6J9_ z4WL6zq!<|*azV%1Fhcrha#-RGbgTd<j$k1PiZ{>{G)N2-Z=m`H{kBh#9*`Q)k!PaB z#T%lh3o;nwNi^Ib1U_9Kl<86OB`9P;VFSvS@u0njxrsU8tc4W%paK(AUV=7A!;A&F z5frYVaXC<!fy9*<85%(DR%T>q0BsZ2WMpUnPd_m-G=R2w>p(9X*2NM|plK118OY%T znqmZb2NX`A7KSfcc?i-2QUmHoixU%0>G>syjcniq4zdypMhh)?z+eq6Q1F1qO+bfk zzzhSq4HP~g_rb=tgP?cn1~W1=fZQC4B^*FoP(gl%g#&0z4|LxSNDLGXpz)9(v~U3F z0mUI`E4l<R;Q(sBf!c0pfdR4u=6)nLT42D7bgY4amT^IKJIwo_i>l#a1u7q5c7fav z3M<f5JLqr$ka!gI-jZlW(B(@E3~|u36wk=e06O|18Cuq+GBPxP{GEm+EQ6UCz~|zF z5<SSwNL~g8D{}e^ur+m5>Msyw9JIdxs*lk73m|`i4(KpvVqlQO8s88bQ2GlHA#kFH zr7cjHz`_R6UjWsx$b;AgMD`buTY{itfq#OG$7~70T6}UyEizClfi?MIEx0N)`4wpV zBT&8^w9D}g%7=9+R6rAw&@Kl!)j{e8(0m2NVGInQa0I10(4ZFR9#D{YF(X3*C~Pws z85%$bwSxG|85kIH7#SKsm%imPGBkkdlsra;22i6kpOK;A90LPG0kkeJWMpV~#K6E% z1g*<U85tTtAyLN2(4fx90J@620ki_DijkqAnUMi>A$h|_Mh1pDMuvtfjNr5B8}2YN zFf=hTG%ztSFf=nVH0UxhFtlPx-wlim;2R)7?gnAd_@6ma`X;)M0ZAJueGG9%1_ty# z2FO0pm?UULi8S7Hhup`27!FQ&pnwKB6ofGo9;iWxHQ^zrEYK|$puQZqMTgqQfTb)@ z6CGp&EG2=4I+6LH%RZ3#pv$(9`JiY5@nI<m6kQ-b$UJaL0@a1ceFspufYK3i-vM+p zHE7HibTc)m-t1$9^g%&4RD<q!0UaX_N>7s+85-_0FfdGIWN6@JWMG)V$j|^f$bKfM z?a0W$FdIv}gO-9Jf{%d#)TRKnPeElisEz;~rRjoJM}YKz)PU-38N6|qS?pMrn3)6G zxB`weWSc<20L4f%KozhO0vtM!e1=>Xg6sx`4{}{N589@l&&bdKa?=7b{0X{y-3^aF zWeNDxBQ+-leDhFFC0RZNr2|6#TnzQ+5~x3ylHpI#*aUhT5frAd_>?2UpO9Qgo=1uC z=L)DlS3>={3X4BMC*_0EC^Q9u(=BMc1|$Ybx1f6+9nj(vqz9x1bijxrUVlP6yWp4v znFzB5iAGAZ@LCNi%_8S%kiDQZi=3yAL2oiY4sDBoZu<kZYeBdDfsPeE&&bdKN)MNz z{fH}!kohps#n+%R;12Yb!24Lj1~e~<>}pV+2KgH#hAV79dO&JGWwH{1upy>{0Gr*y z7B<N3HITiaut9FGJ%WbKV`$hsf%cVOgX%p728K6`3=N=T>fSO!=C$5o2?Nle52zgr zD{;`*eSmH?LT~$m^nllWfCh{3hCyOV3Ut&SJSmf!0^8CKPB9>RVJQU^=1?}a6a#Aa zf}DubkAkfTskUHXNCS7EK-0G^77Pr@Nep}pae|=rv7oVtW(!c8$WjnAU;wfN-YSNa zo5*Pp<Tp?_Bd5VnjF3C9J~Kk@H2cB`xeMznBSQnI9sQk=p#e00^^1|A0hES+L;I+I z7#SKs^}=69h6d2m>3?K|KWMBX5G{X#+z1PQRU*URB{eT|umwM;j3X5GOiYllXNKM< z$HD{&dsZe$*t0W1!k&u>6879oknsT?CP>)xGC{(gj|p=;5EPD}Gzdyqpk#rb_Rljg zFnHhzdo@B~ACj1zI>=HyF<~wU4RaxAm<vP0Tm%~CV$d*`goe2kG|Z);VJ-s=b6GON z{1O9Z8yFN%u=K7@D9nRW!Nu+%3wH2W1);RA2n}~7Xt*mw!(9a$?rP9**Mx?<7Bt+o zq2aCr4R>8E;SSp21MBC5()u4BP(K|p_6=IG>57)tL3%*_RuHX#H{7A^0K}j-vQ@C` zMaJ3>v{7y}E=Ju6nmz+9&jHPV6lA7=hrB^uYw+5f(zJq-BJheFP^Skf1XcnY<xDC~ z0}XkDOhFyh<`#qvdV}PJ7`O#b{Qv(S)O5-$h)+yO0T~-72x^XiY8%+dH*7oBV`)h3 z1Df6f1-%Ar;SVS;f^Gx^34$;voI!OD=wM8c7eHcb85tTtaj+gbp0@#7_iTi=b2c$D zG=KtoGb2L-=$O5&j0_E+HFi5085%(AOLs9cG=Q$=-N(q#Fq46SVLu~7!&L?bhJ%a@ z4bK@E7!G5plR$lJkewh5as#Mc1RA>q)zP4K5oo<3`nWep4@eD&*1(%qpz|c@=&Lkf zwt;L!!t@*W-T|2f0j>Iir3lEXFHk!Jeb5^{?m+%Vk2^yq$e6bg6J+g{F%x9W+l&b^ z=550Snd`D;g2bI26XYgqdnSg4SOx|LCnko5bOr_nXC}y4w+j;_PTipS-5pCl2X(wb zAqm2uP(+WrzgWswkRDLnfoM%);w}YkH3rNwkcCKikVYLwSq$<wDDIHkeBRKw^MS^l zFEs7~pm7%ljk|Crh6d0Pp;1hbv4&`9+{H3M<}Ko|#1W|P4a!TfU<1VwXbc}D2FhO> z7(hq3yMu=F;h_oA15yK;pU@&Ej*1}lAjWDkkR@<a5e%{hoS``e)SUz62T*?tW+KSF zpfE+At4L;o%vGc?LFOv5m>_c%*-VhRid-g!29W>qu!I?Crv<2=2Me?Jyr^@xjf@No z=wr4ZJ)r(Nh}I@1%n;k1!Tl4EeK7yftP;c9vjNQz6@crk8_-!-P_+gd?}r9IXi+Mx ze#)(k2dO|UvE-qvP(gJ{YDGb6a!G1Rd_iJmPJUtvc#;=Xqk$?#)EdoF5LSbM`b(hk zV$fnAP=KJ<Xdrn|B7n{Xg5n*d41_^p58{JP;M@Wd0FBc!LFRUgnILn!CD8b<fabAE zCdk^>S|-T2Fz8Nc&|%A<JEcMMiOoz54WLukJD3<6K;wFyObiX6HeweOLj&mk+a4x{ z2GH2@1SW<C(5je;ObiWA85kI5GBGr~WME*J&BV|Ey6R>z6GH>&UfvZ<3=N<y=c_^K zl97R74VLr=8rKD79a#E9&$Fw*$M>S<S&$x3o&`<D=n#|sFz3oZRzgD!nW8keLi)YP z`4!|=P&^^$*A3A8x)BsE3=9mLm>3#B*K=)VVrT$eL$#HOp#kK#ZCJt!RDU7m8HOdi zpmk)3HO8R(g#FOkn;<=)byc7Pjdk&cS4mN3dU|RRcu)b>(udqwk8CGW;9(n60A(YT z0Ru}x(C9HJoIxWBkOU1X*I=R`8IT)6;RKpX1cez$Y$p?B4gFqdyL}%MWG(i7CWZ!( zUk;EFKA^SR=yR_iyJ6v@M@;yDR!!12c))cjq3}5j4WHxC@HqhupOet=IYoo;(I+N+ zko)JfNj^k{&sk{rT!e<tC206uhKA1-GQtP6#vuSt{xTpYe9-#Rv<M<%^4E1}_}qqu z&mCy^+=YhEJuKmKl97QyfC;jv4U|WH_&}GTA^N+Z#cSyEH6T5py%iwZ5G{NHQd5h- zYjmI!yl_6ar2w)CWD5u*l|Zc&Y+V6$Zb7BfG1x>8NC0FuXz2}js~boFG<*fB)(i5B zN*F{LxCKF*r9dkDJe@%u)70W(@EVjafB*mg4;mQF&x;3Z236;vIaH8~LDe^i4?V?# z0mKKDexSJd0a5_Ppl|_|eV{rJv}Ot{%na$%d}4y^q58}O*~j*U39^svD-&cL-!~@6 zx~%U^3=N<T@(*Yq<|nic|HTAZr}dkOp<y~`T^|!<o%vrThKAJ)3=IF67#g-RFfjaQ zVrT%Z$6#V+XgCTwLV+35k7Z$otmEQfW@rGdbme4*?1$rGW@yl2WMJTCW@rHI+v8zo zXaKDT=3|EJljCP*XaMbo7h+~;0PX%3WoBpq-LNdij5%HiT9*p)JJ{c#OZvD$`!^B$ z<UrT7=;L2s3QsnWGZG^}!^hw?%AlL-(Z^pv_JQV{K>PfRai>Sf#4p@raDqg3CZZa| zwLBS~#*k-yK|A5HAYKJECt=HyGZ{d0zM$j*F58gT1B2WPN*|#45zzb@NV6p~Lj%YU z9?T34po=9unIUze4>Lmp=&*cWQ1~-2F!(bwG_*4?Fa$6&G)!Y)U<hPpXaKDN2xewz z0PWWdVP<Fm9g`Ev%+LV3VmgAEq2U4p14AS;WFKTSmiPkM3(7GdcYrXc%?9cZfC2>6 z&jPIvMBk49(gRWh>c5!a4s+5cY|q2;F*xYJVTatm0ND!)JLLJ=IA%yYIUbaD85kH6 z$nYa*U7j;qJpi%`=0{U}ek6Ue7R8sK@`I2clc9c0f%-9(3_pVASkTLIWIvh_@*{~8 zwJ4s1_IU{TGXv_+OsGGzu=o?ywgaV2P+A3HP<jRBC6E{>y@L8Yc4%=4(gRWhTIOMn z+n;%*xu609QiFrc1DTJ8k=n?pJ_N-hXnY8!9%Lsdt%6qnfb0c{=V0*<C?6x|KlDBT zsEv#6ACMl9`Jl4E0=Iuq_RAvMf#f$N|G*14P)P==RY7%TCU_eK^6ptsB?yuMc?iCn z7SdNjo{I&!5#)d5x!8PWNFShx8Bz}xGcz=Ry3Zxd3=Opm3=E~r3=N>Y!R63$t^!MV zf!b`yegVZlD4&A-1d4yqSTXv(OpqRs8jzbTafcUlfF4{oAX@?QDHIb9E>Ot@N(&%& zKs7Od><5Jf@|blsG_5x>L;8nJ&^AIRGeZODO2!^$$Q)iTs4iw;VCZ9pjFnAbW@rEf z|3qfU+U;q~kh#0*%nS{E3=9nOp>@MDEMW(dNA?&oVF%I!3OkU0tnh^$ct(jjVFzma zz`_n>KPc?D85kH+pn@x*VYdz%c3YSsW5?T>A?qA=Fhj;fc7ob33=9mrm?7(;cSFN$ z52*dZz`(GNnV|vXuftfvY9ABiB05mI0$B?hOOrv`&kZ^+06m?7^ne-_YnT`qtZ|1` zVoD0AoB@Xwa*>D>HQ3S_=rjkA5>U&vxCFfQ)em;&186FS+Y%H)pkXT5$b52sUP)1Y z4*1*%P=>xJ#=wx5TAmCR0F7mV5)x?5EqKW~qVWQ1G=s+S?^%G=r-RoCKo+;LGJuYj z0IeGUWmwQm&K>BwfyJOu0&Soa0L|pY34+eU1Ie>ng7}t#TR<ftT;5Vp3c3ywwwf&n zjXwp-hp%pflrf-V*q}BsfWjM;HbC>9u*Gu6m?3jPXQBD%0yAW-%SC2}2G9oROVE6B znHe$;c7>Ut0dzI=Rc3~UgA5D|*O?g_?lCYh++b#C_{_k-aFdy#L5z`s;TEXuVq{>r z4Q(^u0hM8l3=H>}85%(Qp6)X<G=NT;d&tbt06Mws5y(D928PGX3=N>upPn!?G)!V- zV0g~V(6E$|f#C%+L&IuD28Nf+3=L;Nd$^bx8ZI$1FuY-AXn4lR!0?utq2WCv1H%VU z+Gb*4_{hxA5XZ#8@QInBVJ;H`!%t?022eWtg(dBR#`!><9#Colg%$doJ*Z9Sk5)&5 z^nk(<v<AZlZ`!43u?oDB0SzpH+y`E)0@*VGax!R839(G&HmEm-x=iI3G`XQKQvsE^ zgyxR_GDFr${9}f!QTY!oV;NW=>m-<1AnPPpSs?2q*jOOzB-mLX>m)c>AZ0Bl3ueCu z6n-ENfc%6l%t7lU(8uyXdSGF0OH7!PwLpbtK@M)86AE)47D$-$vOvO|j|Eb%@k7I0 z5E|wp&@dN;hPfCt%*CN$E<r|^9|P@e!jsPJ@rF6_z!$iz21PF@YC#xQEkNe$K?Npg zUkdGlny9drhK98aG^}NzVJ!y@Yk6o`D?!6r85-6q(6Cm8hP4_QVGY_hhHo8^1KzMk z8$=uU;3g`(wV>gx4GnJ{Xn5;F!&@I3-bT>yHim|`2{gP-q2X<YCA>j(1!$ZN)Sdt( zIM6k>Vho760bNE02K4?MNDpYCI*4|}9p2Ez1<1`^kWC<4Ko~V?qb(<)giFLM9;oYa z1v-nD30|!T%2phf;H{USp*zq@70?VE=q!-bq5#l{9!L+UwE}7vC4mR>K<yudBF_Ni zJ$T6bEI{D|YCnMbXP~(-kngQn7#cufXw3p?N7%4H=5ZXMaqPsx&;Xie3xdX71Pf&C zNF)nG!xYe^dn^nMa~T*IVptd&mNGCf#IrCofX1y7SRi}16ImehYe_5&4WQlU$t(;F zptH2nSQr|37#SGSSs1{3bu(BP8bJG&vsf4!KyjUoC5><~GBAM7$AYDi)qJS)z4}<v z2uKg8JrAOth)5%dW<AIzPzZrAtd@fmf0QH&G`&Qm5m3v4Dyah0lT8Bo2HGkGb=|=E z9@Hm*iZg)136w^V`)>IxkTItM7RcOeAq!+~zLW(rCtJqC&;Yu^wvh$0R;8JRp#iif zpq+)Gp_PGwp@W5?p`U?)p_2u&-l&@eGLGBJ!q5O}M)zTf>sz3)RM4JIsKYq;85oeu z0~JQhGj%|EKxr97I}?m+jKxOC5k8QG0@WfM6v3c&B69x{6gHsvMebitf|dc3p=H1n zXc;gAS_aI7mH~@d7#cw5j4X$i^Q%}G8nPJ}7}l^r=HAz_Ff@S5q4ike6V%551u!h{ zqQ|E)Bj&nVkRDKcf@l|l@rk|w31k~I@qkYygR&`HfHZ*l7Zjb~{0bVsh580`h6ecT zI#6Q`v<?C!z8M;yTcGi|6&jyAq4Bv38lOj?@p%*)pC?!#ea2HP3=N=zAkMHbG=S_n z#{xNT;XIajb%5@DgT*Uo@0&DIy$ves(dRHgdO-V;LFKh8!FbKdFHVJzAAqVZkQYH1 zHIHH~NkM|3kO8fkfo~p$RiL1reKL3`05qHc8XL$2j}(9kTkzmQVo4&nP6mx7K<i{s z8QKZ599o8g_}h^9@HhhHF{n5L$iE;y@_LucERc0hS6CPtKwA>7vM@A&j!C!%jiWm( zkTVVLLd(_%ERZwY9<ner6f!U{Jc8!AC(u0ilm#-j^NfX|0kn?d1q)=3<TVRJ1E??d zmIcz!e+R99Kd>+~fYxk&WMOEKWMp9Y46S#+vM@A&;^iBbxCU(v1?7KOz@wkf1v+6J zeeMLL2XsCch<3vr*P!+dw4)7f41=tJ1s_u7OUdLZTF%AK1@&-1(GKt7fD#SJA&^7^ zT3!WOR7}a4e_c@j!3KmtD-J<IFg|Q17QQqXocECf1{9{CbOmx3=sYfv?w>4>vB5tq zkU7}D&^r1*3*>AJ23ANJ&d3T`Kgz_)&~P1eJUA<6A0K2s$Ubu8+nrE+BN|&EYe3Ei zVUTw~^gx{RIOO7+gB23r+^mrJ=3#}j$@o|y@y!p7Zvkk03qs>t1WSB-FfuTJA_7!m zf+7Gte}m47Mc?NM(gVuhAld_ee1lhJ4WUd9YKMV>0@S4O3;<URpp_ILE_i7LH3|XP z(KfJ551Rf01wD)pn$`yK;e`OGJqL;-kRS+y!X3Q~kbtHMX=s{|fu;#LXqu2`g{(_f zU}b2?WME)WWQEL|tB{c<>KGXq(Cc@Qn_y|e6MvcjtwtM76918pEhRZgVAKns@JCM* z8qhSM4NVg|&@`b3O%wXiG+_Wu6Nb<<VS*)1fYux$719{%IOk*8PXN*bn!^RHee}Ye zCMa3N2`{@r85dM}!-vzcEaC*^BSLEw%~>Jyx7MtXv0NKg$Qn*tR>*o4J2Jusbe0AB znsnr_@g^8Hpe#e`0#1^G2ArM<g^eRLY+RvX;|2{IcWBsn&>(Dl2!;*v7&c^G19Ccr zwPPToIG`pTsHso=u<?e5jXyMO0-#|N2o0McGQtK_G2mPK>q{_f(8io;6Ffwvolt1_ zL_)(S3K~Aq(C~@D5<b4Dw*z3DSpYh01ic;t=>e^S0j*l|!yP{0JCMPR6YyeAaQ_1- zseo!(7{)eF4es)R{f)eK9%MJD3`Sl%AJ59r0CG<vD`Zbg5-VgcehMpOFMcX3Lj%aI z=~(=4#l*k>O3N^Zp|6_(^)b=Um<Q<rmARTs3=ICb{SVsV0`@e>e3(yR_Tb1Xpv(hO z4jP1pt{sgNgp9bbGJwXLKpkUPp9Hja6vPMZ%K({Qr3RTI2knml@nMaf%ODQu`~c`t zLZJN^AR(B%Ds)O6#`i<xgU)RQsRvD=gY4S{m51@)qVW~brrbew0_-GqkU6061H~bz z)d#zyAq$#zb66q$^ITTQ*k>LqWDYf-m7xK&Lb8w*vj3!*m7!rL0|P?|E95+)QdWir zZbk-%GFFBL(CJL&tdRNhN>+x335*O3RjdpRhZz|ds#zHtKu0OnvNAM);;$Y{ngHGH z0E#D2M1b52I-`sqY3yY$1Lm9wNDt^tMbNqeBiv~MeD?xq)CGH%0NDz%k=WD$YAS=8 z(xBcm=w^;o(C%1ELC{12$QW1xc?RM@M^+%&3Y@PVK!rgR$o-%=kz`<CxB?OY9WBKS zxwk-)nV|tBF2xL)!;prqF_HnTU0`5fkY$FfLzZKPoC_(>44DU4U}k6lt+i2PhKzeD zLD$PDL)RLqFf%lO;$IcI)<}(+p<w|71A`_rL&Gu#1_mu=h6d1WliJJ-4W}3w7<8fQ zQ1zhePz{(F8tyVMFc>m3H2h~^U@&54XaJoPY03;aYsd`Cng%{51_n?|5Ejxe_!$_~ zk=El(V+7sD;fAsw5TpmR;TS}7AmTPXwIsLFGXR{$K}JGD4P2Z+*;E`?0nJ*05+tZ( zKw5APYLm76|NsB88UsUS9=J0FYNFj$V_?Y0FD?P^xvqiEgcYThlqKeXg(m#}|No&H z14Az8!ktv`;ylnPD<Eh8ftDhm6?GtfwlJhr0gXt5_z$4+Ye5_a1_qcsY|Aw)(ScSd zgOuEcst1jRf%q_a8)&HkGY@tb9!wr~AR5SgNTLOmBcSvEG6jS|@c~M+ps{Sw+8dCV z2LnR`D6agVcfABc&$ta@U}yl<9l;Ec@+6!AGM5s;z|a7?nlq9CvIaVe0kY;jmI1Pl zEsg=Q);*B{vVSd!fuRAE$CDWt8jKi0E2S73%orIMvOwp2Gcqt_GcYs+F)}dZFhJI} z=Yq~&W(1uH%h0fhk%6I*fuUh5BLhPb149F7ongKmD7~=@DhMzz*fSKDq*z(ymFA`v zWhTexWaeg;6x+ndXXcfdnb=ubrDUdOmJ~DSGeDFJ5vAPFfI*0XT~JyEbR`zJ_$etW zO=S><iZL*N#nKXUib03cq9_ar3Ux(S=;r7X?22S!SWtjpJeoqV7(}5Z1H0f`AyC9% z^IB<Mab|j6YKj8FkD0~s5HSWbs5c$3dJ~IQXz*A-^$C-v&(MHD8>&+RtIo8X{KOJO zEa*ZNvk{@#(15`Zs+<$A^4!FVc!)QUv@{UZl3G!apO>0f!e9)wMU7}Jh6W5qP)!UC z&DbId=I`9hym+`pCU8BsiPd9hz@P)wWs22#Dfy*IIjM*c)`P0%Cq^}rKLqisM+sxN z-&wGE1MVV_9t^*mFcPiD(0~CJVvG&UfAH%=4rf><U~D-1k7!+n1`M(c?1H!CKz9^5 z`v-xpYYX=D_lx&+^aAmW;HeRNMC9b>r7OVw4oQ#jq=h{;uxT+gU@(V9A@(Ri)dUJ- zh+Rk;8L-9+rbc+=fC?N?S&BV!aBDO)V1Q}G6+>v6k)z2P>Q7wJgj=hj0fRIHyWkb@ zJRdlQQ&RKti*n-=lZrt(S_Ue~2uajX$%3L(u&g`-yWmZP)}s8<yp;Ho{PM)2l=!OD zqI?E9r~;^Vn1cAc)Wo9H;t~dBsPPOC<Kz8GbK{c|i&L$vG7^j9A+|ASpcdj-6~*V| z7Z)?A;#HZMmj>z+RWhjIRaRJ<nOYL>m*~f!g;yP@o=D8e%u5HW1^MJHqNYJ|WM*-E z5-4C&Qy3I+8kkuepIVWaT*4s9z%F=5j)8%hAt1jzwJ5YWwa7QIA~Ux%mq7`i?#$F= zQ&UTDfZ}vUW?o5ZdTJ4VgL3mzN^|n@s{wgEHHASPpM#1EQj;O~$*16n!II3p%DmL# z;`pT0wEUt}aDu_^{*t1^f?{wTX&?w{OL+M^#rr#XxjKi$`?-e12RVkg#yk7_g#`Kg z#Jl=AI{COVs6bO6X6k|@#Nv|5oK$fA12U3{0iTh+juG)rj(#rTo-QFC44~Q<q=yBs z9+zO}fcOwccLq>C0hJ1v4uO<73<eDBf*|wQ@tPOr=;P@U@8;v^9t=)O_>43(0Otnm zN>Iu=P^Q7H3|_K<BAc)>{MI6uS$NDtQf6oXP7>HHE=o+vtYDC1;1LA%N<ghV1_tPI zK=AQY@g<c7pd^Jw9^C(h$V;N>2hUzYq*Sp<As@2>QHJUQ<ON6&d07-=kQTH+q-9W~ zK}8fK-#}zR;RMPN&>|FEuw>?yK#NJF!UYtMcojkl7=q@(N(opgiPK_eNdaoM;<XpK zBmgxi<OD!tUf{|GY*$fYPJD8HUU5lcUWpC7VV#**qGMraWmT4#Q<@4cjzEck38|t$ zgaRZXXhJI!WCw#=kI=9}s!~8Dy9s(R;^~jI6alpZ(fx<rSV$!V>K_p_8#yau3qW)W z;B^<M4NJ&1h#Cyk&4L6sxSQqZ<LT}PE*3#yd4U})=<M(3=jt2+X`n^K2fO;YxCRBo zLma!RkjMbnU~sWT$T6V00#QwZsyC3`3=RLmmOJ`ILTzLahc;r6r9jre%Q2<~hF@S! zNG=X>4v2ROb@OrcV*o`zKF1(s6;Ndja>W5wbn`-8;O2qaMIc46+xr|N;$8h*0{lJw zLV_7U(Eyf&`UA;HkN}K#aSe73@(cilE7pn<Ifmi2KPX*7jQxl1GEh*U7z*+)MD1U6 zwIE+0+mBHC2VJR;zdMSlu*MdyOq5w14{d57g5Wp0p)Q`m&;W_|bqx-7baw^USD=*0 z2<h-cr9p`<$koRaTwQ|-9FP(w3?*)!5w0%rK8_)-e$J8bh(@kW(LxhkuA~-$lRC&q z77QbO{KHWU1gYY{PzA9##3RT*)ZHT>Gz8p|0Vx&0Q0n37?h%iq5?0c&KuRpIi*T28 zpz#$*Ne7DnJidb#ykZROf)7E1*bujXV$#pw&y_(6Dh>^5khrIxv%jyWpF3O*8pa?w z|IiS3e~=u^W;{_3%FL-L3<?aqNL4O4_S5rAK!tc-YBKmTOBGBNpdESzsVT^+K+UMP zLZH?hxHbUSZD=uxTzP2XHZ&)(7{z``Or_AqAp@cE9KA^jYDIz^i7P@N4O39g1$BjR z1s-yX6J#PN=OR~T$liujXRrhWRYf2H8NsVcv_M50&P&cnEV8q*LX2~P91d~}J0zWA zR}O8a!m>QnN%+(n8h~q%8N#5=li=9RP0h_Os*KMsN=Yq>FHS9tPcANj*C5cqMKiG+ z<l1=9s29S$uwa1(G=X3-L<ts<KLxP*6JZn7tDssOq#T-kaXJj5+|U5r#s`%QP@lv@ zdu=u-4nRsrXeK7*=jTA;1)95I(FipUr*dePgheAXSg<RHIF<nxjd+cQsD-xYtH3?d zkbrn+M;{+2M`!Q&fFMu*AkUD<cuzlYTLwH{isXL+@nQfE7SO=dTSOUv=5UDb6hP?! z5;_n8_y`jAR0~lA(*^Mfd;|%5;>D)L&;aZ!kn6Aq6}+*E;Xc?%C<oTmhOQ6lLQ`l9 z2)hfhYce!IFVN6KFeASRH3xy(o1mnPeJHIMsvhblP%;E5#-0yQ6+;KkhzKv3K18+# zB?FK>*s~|x?=X!}*MSNHkS^@5!=cO2fI$Qr(h891i4Sw~3<(A&D%_3-#j&9oT4@BT zOh696?rbD2PzQrL`XKe#9gLyg(11aUfd@Q01L@v^>snC9Cnd2Y5p<ted}>}wW@27^ z31~P?8>J@+RtqvR9;;$dw-e%9kkMepNtx+T^B6#7#9N%%GBXb~Nog|h2-br~zp$94 zg6Pr~seoH=pb(IU1U*`6g%}JCELcLtK52oh)X;zdlzBi7CXiDhx)A9OHUbY#324rN zryz(nsJmck6}!8z>Osn;PzPcbkf16+2T?GBavsP-*h_TKkS<Dz2&(|FhbvS$)B~VY zi)1tory%N1P+|bZ8Fmk&m`!|{3Dt&(3Rsy*AS$5xpk4t*J8q}J;{rt!baD$60?^1n zi*`_^F*d@H)v-GdNek3vu&j<f&@j{+8o(Pv*kc^qBqcushal*9&iK&Gyb@!h5(XXy z4nffQJ)zDXjzJ8(3>@H#F+zhq{DVTkT+l%U9*%x4KCTP`3><>O3=9nMKKXg+pa5c! zVc-x1RrT@MYI+7W1`fesIR*xm_>jtiRF~A^<f6=ilKdi-_|%G$qC}_4lGNgOBNGNQ z1`ffq0t^iC@ny+HCGlm6@j02rCGnZX@kOa=sYR)I$*DFV?<;@@eH64Hv>k&41BW1J zM-R9tg19j#z%j_tmqC<)L-3I}bgno!H8-&!12kAH$iN}!WdRiikLZEDxLp`zcdnt4 z1p^-ghahNScTsU>Rcd?*gDwMy;7O>{;uA|siZYW*OHzxitWwKT^Gf22^Gl18QypRA z43-QWf`^D!Ze^8UP?DJovMH6plz~I=00~+_LzVHV40a40g8Q&(%Sg>BNG(EfbD3d$ zVonK2Bf`aQ3><<x$=7dX1u`x^73}kEM4D4toS2RjXif|qf}6<FYGnmBDn6A#i-ALM zEjBYsGKx|YQ!?|?5neWD;1FCwoLVa@xc>N5aAH`9O=DtudQob6VhQMuE`&Xx7@bA5 za(GDUGjIq_$EFRE<cd<0Q!~p_ixBpJ{L@E*2DnY?3><=;*ffHB6i6`ya#Af33gIS$ za(*AdoNo-yeT6Ix3<06x!688m8VnrZSq*&iDv;R>F$NC75_tv&w33AZRK9_l6+Zrc z?(qR3LEthARN#feMZ_661VbgEg@9{bN<luTdE^-YE>3I&85jaUg_)15qhDx1ynB#; zXaKm71YHUd04^j!MdnvfXt;-Zx`0az$YLhQZ4b%}9D+B&i<`iFD=VAQJkZL>6kSkG z(G89-&9ejDdMP+fAG87rw<2sh<I5p>b=1kwn`Flz#lRt`3M&_(BW=)vlfjySL$DI$ zEj*=gd_1Ut&dE<s%t?(02V81Vv4WNz12?qd2=@<iVUT6u5cCveU;u?9to!Hc7v>q{ z?-w6t2#ykFaFJV*nVXtqW&#dFW&s9<0B1-#03}S&h&WO@Kp$&|Bm+56c`L`j5FZ-s z8Wiv79O4-U>S6{2xdyxXIlD55FmMP8!2An~YX%{xW5M-CX=YxDp&2-eg+M70lup1k zR|3KGYXEjQC}BXWEO0P@YE!4k5LX6}<5=aP4Tj9Tg3^-s%#zfi#FG4?_>#nQaB*S> zlaCM1%q_@C1yA7=+kjmLb8oz704Rv%88`&3uqy{uj&=;f3><>V!chC-ee#pDGfTie zc`gVObjmC#&n!-j&qyrJumRQJuw@er84MhP`eHD3VX4U=S0?7<<R{yJ2V>&HQj@{c zA~;>B16Bvt0`ej@KPcEK*nv|AC`W>o$2*qf=Vm6yC+C;um82HMgAS_Y5WFh`a|mpH zpP`t6LvW8YOxQU;7qq0H7<^WJW)akh;YEoB@n8o)1i(zNTfhONU<Ywxd~it-XcoRK zF$ba!HSA$(4eb~}Ma5ZI;DN&oJnCl0Aj!ZX_yEO`pfUus5CI(Ppw$sz?}3#=mnFnQ zW{>B9YCBPwM?9ek!obi7;+CSsyp;Uh_{8L7&?Gl<deOm56gr?eFHB)b`$$0xiw>xi z8Z;ze)`Mf#(8!KKkAXul8y?IA1C+srfkV&&o+t^bx3VfqP0Gwm0XOF$#ZewC#ikaP zCg#MK<lB_xXQtROC^2vd=F39E39Y#eUF*Z3z`!AR3Kl={D2W>!@^%c;3><<<FjLTm zi^0)*8D@P>etKqdd}>iqei7K*x3K6%vm4auvSWy2;1Ik9k40#90XI+Kc^nd-pnL<$ zN;nc5X5`s{GYP0YBL;IfnhW546v)^HxKQ_ixh20WwJ0qozZ~ilPyvX@Y@kNJNqh;| ze>-5NgVK9^Nl_wb?IvtglR=SzLy!X=ufC<=rVZR{;NlBZ1?$2B3A`Q?Tr`05H)voR zDFYynWrGUeBO=gvEe7XA1|0?t!3dapaQPP2ong>q;1D#Ef|`KH<5+@{L4|=sP!5N| zAb*30XBbo&I0Q{$p2gX>1$TD5V96yOE$e_5WeYxlSp_m17N+RY1*#oi!4fUFP(dk( zLG6bpuwX?C3wZQ^`d!>`r#R>5l_X~7r51s+u>rUta~H)1ScU<$%LHIPP0CEkEP_nG zB<7&TEvV|kSBQc9fG3VY0SZqVI0DoFQi=u%K_fCLF(p2=B004HJRJn`;0IVL$;>ND z%*jlNPb^9=%>^wo19kk^U@1N)H7~s+1Df7J={6k}3uvJSEfPRw_Y9b=a2w-67l47h zjmRy~stNA?5^!?z!C^Wm%E3bb;LfKyh6UiFNE9AtD9H!3{*gn_7%qt#p@v4_B+r7w zVtD!jxxfx=J3KLimQF)*C8(&h!(jp_{n;@XgBstkv;ognuv84r&2Ujj`K@3FE+_bL z7z-_)Kz;FaSa5)18EgtTIO1V(SeloDQfz@DSOzAUUs@8MpB7(~n3tZ)0LmW0I4p#h z5FqWKi6pS2k*ATsB_B7;lWF-y;FX8SwJf-5H-cGRRGJ5Bqe2rGC=6>*d{R`DSQ(#} zS`NA?C%q(t!JmOcPzIK4VeJgCf1$MjwCMqADS+dp7#xz2+8C@3xw)cX2QG8uv80QF zqWlWbCCMCu`(O^rODzW7-2+e2;NFxmj-Y}k8qhc;gEs?*AiPXYN-WMyj)#=YNUj5= zE?8m!v7wDA3`c_#AZU~b9Qeg0MX8Co`Dtn3^05quYd{GQ-Vy~hx=P^@0E%>I@Pi5+ zBUs6pSsb5Mng^ac20Ic`)!V?DE@;jIJ8A-~NQ?)!Q!?{Pz|EI3SXBZM2J3{x7MKZ+ z5G-|zf*nHy1Bak8EHRO)8{QPcVm8>h%#6^IF|RZyr=SGXHg*JcTwoT$T?dO5aDc-_ zvA4g${Q+T^5x5(h4E+oog6rTRLuz{)i=W`FZ)jtQlm?NGp&hsgbj6W=;HepukRb8$ z9hQP%4KP?HheRz*loVGe*nt!A4_FdJt6q>N1i@ACO;|yYk`FqP9GZ$jEmB-1J-ASu z1k3J7Q3-AlgN9%K%0UxFykBMxxHNl&!#UtQ3T}-3gM}JM2$ontY&!-A1`fg5k}xC5 zh#7DNa0{NXoRIsMuto={0+<4G1EfGG$S-E_V&D**0_$;>fjgX7(kyz>h&5#~fcnN7 zFe}jF1zf@zF>nYn!wLsj!HgsF!9k;72OiQ?B2AB#RlHM0NhNq(3v`-OIjCC*>C--g zjXNWDQ-WOm2SeD(svtGB$OUxh6sY<76^nx0(vs8)*xr9|9dQMVs^XHwl2q`J1Z+eM zoM1pFZN<k2g@kxIB^IYT=Oh*vBZlU|E(a-(&reH>F9CBwEuvu0DA)K9uwfg(v7HE! z19>t&GcP|Lv^1XsyoDnuwIC-kIknh1zsMt{$PcnP%q2A~GcUCmJj?<z&jmbC1Zr=A z28vLo50FNR3_ueIf}l}8q=f_sdGryoQac9FSaK98I?&B1hSa&vuyH`x_?4$$aEK#l zNC`AWA_y8Nf=rQsrW8OP3JHMiS^<y4fR1SfCslBx)64`s=(PjnFyAC_yp(`NSV7}$ z(BU-D-bct>3|J#*T*?Amj)3M#OHzw+GxHKlKtnfqDLJV{;GDe+H1t)B7MYHqMhQ6L zo(nKA<fLSl#g~8wsz8T}fLb%4J(Zw&4rS1`U{E}mnSlF{piQKpvCm*n-vA$1_{t4% zlM9?^&}~8_8zZm<;E^wXf6&k=xFoYc4@79xfxQkoXRV;5C?yk|&OpJq5fnV2z%et) zG&TaKwTmDR2Kc%#faF1YT){zu7_kFQP6dSdd%A#2=0=ces3XDY+9NZyD6uFxqY~j# zutPz1rxq1~lPzd87j%$XICyLqG=BUB94XL%16d4G4zt)8;#E)<@d$Da4)qBESE*|V z4i=h&W9*O^+Q73TXowBe#sCKj+>4-525_Y8k%MTkvMMR6j4#QL&&f~DjxPZlwiarb zl@)BL5Z0>z$Jsf!v=eAM2}}*bMo{*fBMLJgCJ*m?faCCu5KJCEjpkmOSd;=zV4!9m zXuQ<S1fH?M<LqFa;KYeq&OnkTsMxy(3gdXB!DR4?gM!keoXlhf(8z)-Y}D2{KM%G> z5Y(*%$1&JcoG}dQ$P|Ii$32}0?MXw2!?f(c2@K?&_;^qjF$0Z~fX1|i1Q;0HJi%K- zI0QjwC&a_jS3YRCwj|X*DJwO(#3w%)9*3Y@o(sw3@sL~¬B~XGkLsl*B+Hp`Lyr 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%0DxvbY#lLRs7lYoRPI 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
HR;g~vS5)f`NF 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%0A2WonrcCMKx#ls1X$2gEoR?4C^a{~Bo&rKamj<z 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%0D!vLpdueu7J~Ziuy&~<mN{XN9*`Okokv6*7N?eY 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%0Ane)+)df<6 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�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�?OiM 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	nts1_mdvx-ih0R$x{%BLf4(UeGyL5R*Yi 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�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 I5#`7L0IO?5?f?J) literal 0 HcmV?d00001 diff --git a/ThirdParty/Vrpn/VRPN.tps b/ThirdParty/Vrpn/VRPN.tps new file mode 100644 index 0000000..83f2377 --- /dev/null +++ b/ThirdParty/Vrpn/VRPN.tps @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<TpsData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <Name>VRPN</Name> + <Location>/Enterprise/Plugins/Runtime/vrCluster/ThirdParty/Vrpn</Location> + <Function>Used by the vrCluster plugin for Enterprise.</Function> + <Eula>https://github.com/vrpn/vrpn/wiki/License</Eula> + <RedistributeTo> + <EndUserGroup>Licensees</EndUserGroup> + <EndUserGroup>Git</EndUserGroup> + <EndUserGroup>P4</EndUserGroup> + </RedistributeTo> + <LicenseFolder>/Engine/Source/ThirdParty/Licenses/VRPN_License.txt</LicenseFolder> +</TpsData> \ No newline at end of file diff --git a/ThirdParty/X11/Include/X11/CallbackI.h b/ThirdParty/X11/Include/X11/CallbackI.h new file mode 100644 index 0000000..5d958f4 --- /dev/null +++ b/ThirdParty/X11/Include/X11/CallbackI.h @@ -0,0 +1,119 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +/**************************************************************** + * + * Callbacks + * + ****************************************************************/ + +typedef XrmResource **CallbackTable; + +#define _XtCBCalling 1 +#define _XtCBFreeAfterCalling 2 + +_XFUNCPROTOBEGIN + +typedef struct internalCallbackRec { + unsigned short count; + char is_padded; /* contains NULL padding for external form */ + char call_state; /* combination of _XtCB{FreeAfter}Calling */ +#ifdef LONG64 + unsigned int align_pad; /* padding to align callback list */ +#endif + /* XtCallbackList */ +} InternalCallbackRec, *InternalCallbackList; + +typedef Boolean (*_XtConditionProc)( + XtPointer /* data */ +); + +extern void _XtAddCallback( + InternalCallbackList* /* callbacks */, + XtCallbackProc /* callback */, + XtPointer /* closure */ +); + +extern void _XtAddCallbackOnce( + InternalCallbackList* /* callbacks */, + XtCallbackProc /* callback */, + XtPointer /* closure */ +); + +extern InternalCallbackList _XtCompileCallbackList( + XtCallbackList /* xtcallbacks */ +); + +extern XtCallbackList _XtGetCallbackList( + InternalCallbackList* /* callbacks */ +); + +extern void _XtRemoveAllCallbacks( + InternalCallbackList* /* callbacks */ +); + +extern void _XtRemoveCallback( + InternalCallbackList* /* callbacks */, + XtCallbackProc /* callback */, + XtPointer /* closure */ +); + +extern void _XtPeekCallback( + Widget /* widget */, + XtCallbackList /* callbacks */, + XtCallbackProc * /* callback */, + XtPointer * /* closure */ +); + +extern void _XtCallConditionalCallbackList( + Widget /* widget */, + XtCallbackList /* callbacks */, + XtPointer /* call_data */, + _XtConditionProc /* cond_proc */ +); + +_XFUNCPROTOEND diff --git a/ThirdParty/X11/Include/X11/Composite.h b/ThirdParty/X11/Include/X11/Composite.h new file mode 100644 index 0000000..d33234f --- /dev/null +++ b/ThirdParty/X11/Include/X11/Composite.h @@ -0,0 +1,102 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XtComposite_h +#define _XtComposite_h + +typedef struct _CompositeClassRec *CompositeWidgetClass; + +typedef Cardinal (*XtOrderProc)( + Widget /* child */ +); + +_XFUNCPROTOBEGIN + +extern void XtManageChildren( + WidgetList /* children */, + Cardinal /* num_children */ +); + +extern void XtManageChild( + Widget /* child */ +); + +extern void XtUnmanageChildren( + WidgetList /* children */, + Cardinal /* num_children */ +); + +extern void XtUnmanageChild( + Widget /* child */ +); + +typedef void (*XtDoChangeProc)( + Widget /* composite_parent */, + WidgetList /* unmanage_children */, + Cardinal * /* num_unmanage_children */, + WidgetList /* manage_children */, + Cardinal * /* num_manage_children */, + XtPointer /* client_data */ +); + +extern void XtChangeManagedSet( + WidgetList /* unmanage_children */, + Cardinal /* num_unmanage_children */, + XtDoChangeProc /* do_change_proc */, + XtPointer /* client_data */, + WidgetList /* manage_children */, + Cardinal /* num_manage_children */ +); + +_XFUNCPROTOEND + +#ifndef VMS +externalref WidgetClass compositeWidgetClass; +#endif + +#endif /* _XtComposite_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/ThirdParty/X11/Include/X11/CompositeP.h b/ThirdParty/X11/Include/X11/CompositeP.h new file mode 100644 index 0000000..b1b8559 --- /dev/null +++ b/ThirdParty/X11/Include/X11/CompositeP.h @@ -0,0 +1,113 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XtCompositeP_h +#define _XtCompositeP_h + +#include <X11/Composite.h> + +_XFUNCPROTOBEGIN + +/************************************************************************ + * + * Additional instance fields for widgets of (sub)class 'Composite' + * + ************************************************************************/ + +typedef struct _CompositePart { + WidgetList children; /* array of ALL widget children */ + Cardinal num_children; /* total number of widget children */ + Cardinal num_slots; /* number of slots in children array */ + XtOrderProc insert_position; /* compute position of new child */ +} CompositePart,*CompositePtr; + +typedef struct _CompositeRec { + CorePart core; + CompositePart composite; +} CompositeRec; + +/********************************************************************* + * + * Additional class fields for widgets of (sub)class 'Composite' + * + ********************************************************************/ + +typedef struct _CompositeClassPart { + XtGeometryHandler geometry_manager; /* geometry manager for children */ + XtWidgetProc change_managed; /* change managed state of child */ + XtWidgetProc insert_child; /* physically add child to parent */ + XtWidgetProc delete_child; /* physically remove child */ + XtPointer extension; /* pointer to extension record */ +} CompositeClassPart,*CompositePartPtr; + +typedef struct { + XtPointer next_extension; /* 1st 4 mandated for all extension records */ + XrmQuark record_type; /* NULLQUARK; on CompositeClassPart */ + long version; /* must be XtCompositeExtensionVersion */ + Cardinal record_size; /* sizeof(CompositeClassExtensionRec) */ + Boolean accepts_objects; + Boolean allows_change_managed_set; +} CompositeClassExtensionRec, *CompositeClassExtension; + + +typedef struct _CompositeClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; +} CompositeClassRec; + +externalref CompositeClassRec compositeClassRec; + +_XFUNCPROTOEND + +#define XtCompositeExtensionVersion 2L +#define XtInheritGeometryManager ((XtGeometryHandler) _XtInherit) +#define XtInheritChangeManaged ((XtWidgetProc) _XtInherit) +#define XtInheritInsertChild ((XtWidgetProc) _XtInherit) +#define XtInheritDeleteChild ((XtWidgetProc) _XtInherit) + +#endif /* _XtCompositeP_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/ThirdParty/X11/Include/X11/ConstrainP.h b/ThirdParty/X11/Include/X11/ConstrainP.h new file mode 100644 index 0000000..40ff9b9 --- /dev/null +++ b/ThirdParty/X11/Include/X11/ConstrainP.h @@ -0,0 +1,96 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XtConstraintP_h +#define _XtConstraintP_h + +#include <X11/Constraint.h> + +_XFUNCPROTOBEGIN + +typedef struct _ConstraintPart { + XtPointer mumble; /* No new fields, keep C compiler happy */ +} ConstraintPart; + +typedef struct _ConstraintRec { + CorePart core; + CompositePart composite; + ConstraintPart constraint; +} ConstraintRec, *ConstraintWidget; + +typedef struct _ConstraintClassPart { + XtResourceList resources; /* constraint resource list */ + Cardinal num_resources; /* number of constraints in list */ + Cardinal constraint_size; /* size of constraint record */ + XtInitProc initialize; /* constraint initialization */ + XtWidgetProc destroy; /* constraint destroy proc */ + XtSetValuesFunc set_values; /* constraint set_values proc */ + XtPointer extension; /* pointer to extension record */ +} ConstraintClassPart; + +typedef struct { + XtPointer next_extension; /* 1st 4 mandated for all extension records */ + XrmQuark record_type; /* NULLQUARK; on ConstraintClassPart */ + long version; /* must be XtConstraintExtensionVersion */ + Cardinal record_size; /* sizeof(ConstraintClassExtensionRec) */ + XtArgsProc get_values_hook; +} ConstraintClassExtensionRec, *ConstraintClassExtension; + +typedef struct _ConstraintClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ConstraintClassPart constraint_class; +} ConstraintClassRec; + +externalref ConstraintClassRec constraintClassRec; + +_XFUNCPROTOEND + +#define XtConstraintExtensionVersion 1L + +#endif /* _XtConstraintP_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/ThirdParty/X11/Include/X11/Constraint.h b/ThirdParty/X11/Include/X11/Constraint.h new file mode 100644 index 0000000..20abead --- /dev/null +++ b/ThirdParty/X11/Include/X11/Constraint.h @@ -0,0 +1,62 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XtConstraint_h +#define _XtConstraint_h + +_XFUNCPROTOBEGIN + +typedef struct _ConstraintClassRec *ConstraintWidgetClass; + +#ifndef VMS +externalref WidgetClass constraintWidgetClass; +#endif + +_XFUNCPROTOEND + +#endif /* _XtConstraint_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/ThirdParty/X11/Include/X11/ConvertI.h b/ThirdParty/X11/Include/X11/ConvertI.h new file mode 100644 index 0000000..760d477 --- /dev/null +++ b/ThirdParty/X11/Include/X11/ConvertI.h @@ -0,0 +1,96 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +_XFUNCPROTOBEGIN + +/* Representation types */ + +extern XrmQuark _XtQString; + +/* + * Resource conversions + */ + +typedef struct _ConverterRec **ConverterTable; + +extern void _XtAddDefaultConverters( + ConverterTable /* table */ +); + +extern void _XtSetDefaultConverterTable( + ConverterTable* /* table */ +); + +extern void _XtFreeConverterTable( + ConverterTable /* table */ +); + +extern void _XtTableAddConverter( + ConverterTable /* table */, + XrmRepresentation /* from_type */, + XrmRepresentation /* to_type */, + XtTypeConverter /* converter */, + XtConvertArgList /* convert_args */, + Cardinal /* num_args */, + _XtBoolean /* new_style */, + XtCacheType /* cache_type */, + XtDestructor /* destructor */, + _XtBoolean /* global */ +); + +extern Boolean _XtConvert( + Widget /* widget */, + XrmRepresentation /* from_type */, + XrmValuePtr /* from */, + XrmRepresentation /* to_type */, + XrmValuePtr /* to */, + XtCacheRef* /* cache_ref_return */ +); + +void _XtConvertInitialize(void); + +_XFUNCPROTOEND diff --git a/ThirdParty/X11/Include/X11/Core.h b/ThirdParty/X11/Include/X11/Core.h new file mode 100644 index 0000000..08a86f6 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Core.h @@ -0,0 +1,65 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XtCore_h +#define _XtCore_h + +_XFUNCPROTOBEGIN + +typedef struct _WidgetClassRec *CoreWidgetClass; +typedef struct _WidgetRec *CoreWidget; +externalref WidgetClass coreWidgetClass; + +#ifndef VMS +externalref WidgetClass widgetClass; + +#endif + +_XFUNCPROTOEND + +#endif /* _XtCore_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/ThirdParty/X11/Include/X11/CoreP.h b/ThirdParty/X11/Include/X11/CoreP.h new file mode 100644 index 0000000..a4cb16e --- /dev/null +++ b/ThirdParty/X11/Include/X11/CoreP.h @@ -0,0 +1,170 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef XtCoreP_h +#define XtCoreP_h + +#include <X11/Core.h> + +_XFUNCPROTOBEGIN + +externalref int _XtInheritTranslations; + +#define XtInheritTranslations ((String) &_XtInheritTranslations) +#define XtInheritRealize ((XtRealizeProc) _XtInherit) +#define XtInheritResize ((XtWidgetProc) _XtInherit) +#define XtInheritExpose ((XtExposeProc) _XtInherit) +#define XtInheritSetValuesAlmost ((XtAlmostProc) _XtInherit) +#define XtInheritAcceptFocus ((XtAcceptFocusProc) _XtInherit) +#define XtInheritQueryGeometry ((XtGeometryHandler) _XtInherit) +#define XtInheritDisplayAccelerator ((XtStringProc) _XtInherit) + +/*************************************************************** + * Widget Core Data Structures + * + * + **************************************************************/ + +typedef struct _CorePart { + Widget self; /* pointer to widget itself */ + WidgetClass widget_class; /* pointer to Widget's ClassRec */ + Widget parent; /* parent widget */ + XrmName xrm_name; /* widget resource name quarkified */ + Boolean being_destroyed; /* marked for destroy */ + XtCallbackList destroy_callbacks; /* who to call when widget destroyed */ + XtPointer constraints; /* constraint record */ + Position x, y; /* window position */ + Dimension width, height; /* window dimensions */ + Dimension border_width; /* window border width */ + Boolean managed; /* is widget geometry managed? */ + Boolean sensitive; /* is widget sensitive to user events*/ + Boolean ancestor_sensitive; /* are all ancestors sensitive? */ + XtEventTable event_table; /* private to event dispatcher */ + XtTMRec tm; /* translation management */ + XtTranslations accelerators; /* accelerator translations */ + Pixel border_pixel; /* window border pixel */ + Pixmap border_pixmap; /* window border pixmap or NULL */ + WidgetList popup_list; /* list of popups */ + Cardinal num_popups; /* how many popups */ + String name; /* widget resource name */ + Screen *screen; /* window's screen */ + Colormap colormap; /* colormap */ + Window window; /* window ID */ + Cardinal depth; /* number of planes in window */ + Pixel background_pixel; /* window background pixel */ + Pixmap background_pixmap; /* window background pixmap or NULL */ + Boolean visible; /* is window mapped and not occluded?*/ + Boolean mapped_when_managed;/* map window if it's managed? */ +} CorePart; + +typedef struct _WidgetRec { + CorePart core; + } WidgetRec, CoreRec; + + + +/****************************************************************** + * + * Core Class Structure. Widgets, regardless of their class, will have + * these fields. All widgets of a given class will have the same values + * for these fields. Widgets of a given class may also have additional + * common fields. These additional fields are included in incremental + * class structures, such as CommandClass. + * + * The fields that are specific to this subclass, as opposed to fields that + * are part of the superclass, are called "subclass fields" below. Many + * procedures are responsible only for the subclass fields, and not for + * any superclass fields. + * + ********************************************************************/ + +typedef struct _CoreClassPart { + WidgetClass superclass; /* pointer to superclass ClassRec */ + String class_name; /* widget resource class name */ + Cardinal widget_size; /* size in bytes of widget record */ + XtProc class_initialize; /* class initialization proc */ + XtWidgetClassProc class_part_initialize; /* dynamic initialization */ + XtEnum class_inited; /* has class been initialized? */ + XtInitProc initialize; /* initialize subclass fields */ + XtArgsProc initialize_hook; /* notify that initialize called */ + XtRealizeProc realize; /* XCreateWindow for widget */ + XtActionList actions; /* widget semantics name to proc map */ + Cardinal num_actions; /* number of entries in actions */ + XtResourceList resources; /* resources for subclass fields */ + Cardinal num_resources; /* number of entries in resources */ + XrmClass xrm_class; /* resource class quarkified */ + Boolean compress_motion; /* compress MotionNotify for widget */ + XtEnum compress_exposure; /* compress Expose events for widget*/ + Boolean compress_enterleave;/* compress enter and leave events */ + Boolean visible_interest; /* select for VisibilityNotify */ + XtWidgetProc destroy; /* free data for subclass pointers */ + XtWidgetProc resize; /* geom manager changed widget size */ + XtExposeProc expose; /* rediplay window */ + XtSetValuesFunc set_values; /* set subclass resource values */ + XtArgsFunc set_values_hook; /* notify that set_values called */ + XtAlmostProc set_values_almost; /* set_values got "Almost" geo reply */ + XtArgsProc get_values_hook; /* notify that get_values called */ + XtAcceptFocusProc accept_focus; /* assign input focus to widget */ + XtVersionType version; /* version of intrinsics used */ + XtPointer callback_private; /* list of callback offsets */ + String tm_table; /* state machine */ + XtGeometryHandler query_geometry; /* return preferred geometry */ + XtStringProc display_accelerator;/* display your accelerator */ + XtPointer extension; /* pointer to extension record */ + } CoreClassPart; + +typedef struct _WidgetClassRec { + CoreClassPart core_class; +} WidgetClassRec, CoreClassRec; + +externalref WidgetClassRec widgetClassRec; +#define coreClassRec widgetClassRec + +_XFUNCPROTOEND + +#endif /* _XtCoreP_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/ThirdParty/X11/Include/X11/CreateI.h b/ThirdParty/X11/Include/X11/CreateI.h new file mode 100644 index 0000000..e00ba65 --- /dev/null +++ b/ThirdParty/X11/Include/X11/CreateI.h @@ -0,0 +1,42 @@ +#ifndef _XtcreateI_h +#define _XtcreateI_h + +_XFUNCPROTOBEGIN + +extern Widget _XtCreateWidget(String name, WidgetClass widget_class, + Widget parent, ArgList args, Cardinal num_args, + XtTypedArgList typed_args, + Cardinal num_typed_args); +extern Widget _XtCreatePopupShell(String name, WidgetClass widget_class, + Widget parent, ArgList args, + Cardinal num_args, XtTypedArgList typed_args, + Cardinal num_typed_args); +extern Widget _XtAppCreateShell(String name, String class, + WidgetClass widget_class, Display *display, + ArgList args, Cardinal num_args, + XtTypedArgList typed_args, + Cardinal num_typed_args); +extern Widget _XtCreateHookObj(Screen *screen); + +_XFUNCPROTOEND + +#include <stdarg.h> + +_XFUNCPROTOBEGIN + +/* VarCreate.c */ +extern Widget _XtVaOpenApplication(XtAppContext *app_context_return, + _Xconst char* application_class, + XrmOptionDescList options, Cardinal num_options, + int *argc_in_out, String *argv_in_out, + String *fallback_resources, WidgetClass widget_class, + va_list var_args); +extern Widget _XtVaAppInitialize(XtAppContext *app_context_return, + _Xconst char* application_class, + XrmOptionDescList options, Cardinal num_options, + int *argc_in_out, String *argv_in_out, + String *fallback_resources, va_list var_args); + +_XFUNCPROTOEND + +#endif /* _XtcreateI_h */ diff --git a/ThirdParty/X11/Include/X11/DECkeysym.h b/ThirdParty/X11/Include/X11/DECkeysym.h new file mode 100644 index 0000000..0730716 --- /dev/null +++ b/ThirdParty/X11/Include/X11/DECkeysym.h @@ -0,0 +1,65 @@ +/*********************************************************** + +Copyright 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +/* + * DEC private keysyms + * (29th bit set) + */ + +/* two-key compose sequence initiators, chosen to map to Latin1 characters */ + +#define DXK_ring_accent 0x1000FEB0 +#define DXK_circumflex_accent 0x1000FE5E +#define DXK_cedilla_accent 0x1000FE2C +#define DXK_acute_accent 0x1000FE27 +#define DXK_grave_accent 0x1000FE60 +#define DXK_tilde 0x1000FE7E +#define DXK_diaeresis 0x1000FE22 + +/* special keysym for LK2** "Remove" key on editing keypad */ + +#define DXK_Remove 0x1000FF00 /* Remove */ diff --git a/ThirdParty/X11/Include/X11/EventI.h b/ThirdParty/X11/Include/X11/EventI.h new file mode 100644 index 0000000..4aae5af --- /dev/null +++ b/ThirdParty/X11/Include/X11/EventI.h @@ -0,0 +1,134 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +/* + * Event.h - exported types and functions for toolkit event handler + * + * Author: Charles Haynes + * Digital Equipment Corporation + * Western Software Laboratory + * Date: Sun Dec 6 1987 + */ + +#ifndef _Event_h_ +#define _Event_h_ + +typedef struct _XtGrabRec *XtGrabList; + +#include "PassivGraI.h" + +_XFUNCPROTOBEGIN + +extern void _XtEventInitialize( + void +); + +typedef struct _XtEventRec { + XtEventTable next; + EventMask mask; /* also select_data count for RecExt */ + XtEventHandler proc; + XtPointer closure; + unsigned int select:1; + unsigned int has_type_specifier:1; + unsigned int async:1; /* not used, here for Digital extension? */ +} XtEventRec; + +typedef struct _XtGrabRec { + XtGrabList next; + Widget widget; + unsigned int exclusive:1; + unsigned int spring_loaded:1; +}XtGrabRec; + +typedef struct _BlockHookRec { + struct _BlockHookRec* next; + XtAppContext app; + XtBlockHookProc proc; + XtPointer closure; +} BlockHookRec, *BlockHook; + +extern void _XtFreeEventTable( + XtEventTable* /* event_table */ +); + +extern Boolean _XtOnGrabList( + Widget /* widget */, + XtGrabRec* /* grabList */ +); + +extern void _XtRemoveAllInputs( + XtAppContext /* app */ +); + +extern void _XtRefreshMapping( + XEvent* /* event */, + _XtBoolean /* dispatch */ +); + +extern void _XtSendFocusEvent( + Widget /* child */, + int /* type */); + +extern EventMask _XtConvertTypeToMask( + int /* eventType */ +); + +/* EventUtil.c */ +extern Widget _XtFindRemapWidget(XEvent *event, Widget widget, + EventMask mask, XtPerDisplayInput pdi); +extern void _XtUngrabBadGrabs(XEvent *event, Widget widget, + EventMask mask, XtPerDisplayInput pdi); +extern void _XtFillAncestorList(Widget **listPtr, int *maxElemsPtr, + int *numElemsPtr, Widget start, + Widget breakWidget); + +/* NextEvent.c */ +extern Boolean XtAppPeekEvent_SkipTimer; + +_XFUNCPROTOEND + +#endif /* _Event_h_ */ diff --git a/ThirdParty/X11/Include/X11/HPkeysym.h b/ThirdParty/X11/Include/X11/HPkeysym.h new file mode 100644 index 0000000..4a0655a --- /dev/null +++ b/ThirdParty/X11/Include/X11/HPkeysym.h @@ -0,0 +1,164 @@ +/* + +Copyright 1987, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. + +Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts, + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the names of Hewlett Packard +or Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD +TO THIS SOFWARE, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. Hewlett-Packard shall not be liable for errors +contained herein or direct, indirect, special, incidental or +consequential damages in connection with the furnishing, +performance, or use of this material. + +*/ + +#ifndef _HPKEYSYM_H + +#define _HPKEYSYM_H + +#define hpXK_ClearLine 0x1000FF6F +#define hpXK_InsertLine 0x1000FF70 +#define hpXK_DeleteLine 0x1000FF71 +#define hpXK_InsertChar 0x1000FF72 +#define hpXK_DeleteChar 0x1000FF73 +#define hpXK_BackTab 0x1000FF74 +#define hpXK_KP_BackTab 0x1000FF75 +#define hpXK_Modelock1 0x1000FF48 +#define hpXK_Modelock2 0x1000FF49 +#define hpXK_Reset 0x1000FF6C +#define hpXK_System 0x1000FF6D +#define hpXK_User 0x1000FF6E +#define hpXK_mute_acute 0x100000A8 +#define hpXK_mute_grave 0x100000A9 +#define hpXK_mute_asciicircum 0x100000AA +#define hpXK_mute_diaeresis 0x100000AB +#define hpXK_mute_asciitilde 0x100000AC +#define hpXK_lira 0x100000AF +#define hpXK_guilder 0x100000BE +#define hpXK_Ydiaeresis 0x100000EE +#define hpXK_IO 0x100000EE +#define hpXK_longminus 0x100000F6 +#define hpXK_block 0x100000FC + + +#ifndef _OSF_Keysyms +#define _OSF_Keysyms + +#define osfXK_Copy 0x1004FF02 +#define osfXK_Cut 0x1004FF03 +#define osfXK_Paste 0x1004FF04 +#define osfXK_BackTab 0x1004FF07 +#define osfXK_BackSpace 0x1004FF08 +#define osfXK_Clear 0x1004FF0B +#define osfXK_Escape 0x1004FF1B +#define osfXK_AddMode 0x1004FF31 +#define osfXK_PrimaryPaste 0x1004FF32 +#define osfXK_QuickPaste 0x1004FF33 +#define osfXK_PageLeft 0x1004FF40 +#define osfXK_PageUp 0x1004FF41 +#define osfXK_PageDown 0x1004FF42 +#define osfXK_PageRight 0x1004FF43 +#define osfXK_Activate 0x1004FF44 +#define osfXK_MenuBar 0x1004FF45 +#define osfXK_Left 0x1004FF51 +#define osfXK_Up 0x1004FF52 +#define osfXK_Right 0x1004FF53 +#define osfXK_Down 0x1004FF54 +#define osfXK_EndLine 0x1004FF57 +#define osfXK_BeginLine 0x1004FF58 +#define osfXK_EndData 0x1004FF59 +#define osfXK_BeginData 0x1004FF5A +#define osfXK_PrevMenu 0x1004FF5B +#define osfXK_NextMenu 0x1004FF5C +#define osfXK_PrevField 0x1004FF5D +#define osfXK_NextField 0x1004FF5E +#define osfXK_Select 0x1004FF60 +#define osfXK_Insert 0x1004FF63 +#define osfXK_Undo 0x1004FF65 +#define osfXK_Menu 0x1004FF67 +#define osfXK_Cancel 0x1004FF69 +#define osfXK_Help 0x1004FF6A +#define osfXK_SelectAll 0x1004FF71 +#define osfXK_DeselectAll 0x1004FF72 +#define osfXK_Reselect 0x1004FF73 +#define osfXK_Extend 0x1004FF74 +#define osfXK_Restore 0x1004FF78 +#define osfXK_Delete 0x1004FFFF + +#endif /* _OSF_Keysyms */ + + +/************************************************************** + * The use of the following macros is deprecated. + * They are listed below only for backwards compatibility. + */ +#define XK_Reset 0x1000FF6C +#define XK_System 0x1000FF6D +#define XK_User 0x1000FF6E +#define XK_ClearLine 0x1000FF6F +#define XK_InsertLine 0x1000FF70 +#define XK_DeleteLine 0x1000FF71 +#define XK_InsertChar 0x1000FF72 +#define XK_DeleteChar 0x1000FF73 +#define XK_BackTab 0x1000FF74 +#define XK_KP_BackTab 0x1000FF75 +#define XK_Ext16bit_L 0x1000FF76 +#define XK_Ext16bit_R 0x1000FF77 +#define XK_mute_acute 0x100000a8 +#define XK_mute_grave 0x100000a9 +#define XK_mute_asciicircum 0x100000aa +#define XK_mute_diaeresis 0x100000ab +#define XK_mute_asciitilde 0x100000ac +#define XK_lira 0x100000af +#define XK_guilder 0x100000be +#ifndef XK_Ydiaeresis +#define XK_Ydiaeresis 0x100000ee +#endif +#define XK_IO 0x100000ee +#define XK_longminus 0x100000f6 +#define XK_block 0x100000fc + +#endif /* _HPKEYSYM_H */ diff --git a/ThirdParty/X11/Include/X11/HookObjI.h b/ThirdParty/X11/Include/X11/HookObjI.h new file mode 100644 index 0000000..94c0cbb --- /dev/null +++ b/ThirdParty/X11/Include/X11/HookObjI.h @@ -0,0 +1,73 @@ +/* + +Copyright 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _XtHookObjI_h +#define _XtHookObjI_h + +_XFUNCPROTOBEGIN + +/* This object is implementation-dependent and private to the library. */ + +typedef struct _HookObjRec *HookObject; +typedef struct _HookObjClassRec *HookObjectClass; + +externalref WidgetClass hookObjectClass; + +typedef struct _HookObjPart { + /* resources */ + XtCallbackList createhook_callbacks; + XtCallbackList changehook_callbacks; + XtCallbackList confighook_callbacks; + XtCallbackList geometryhook_callbacks; + XtCallbackList destroyhook_callbacks; + WidgetList shells; + Cardinal num_shells; + /* private data */ + Cardinal max_shells; + Screen* screen; +}HookObjPart; + +typedef struct _HookObjRec { + ObjectPart object; + HookObjPart hooks; +} HookObjRec; + +typedef struct _HookObjClassPart { + int unused; +} HookObjClassPart; + +typedef struct _HookObjClassRec { + ObjectClassPart object_class; + HookObjClassPart hook_class; +} HookObjClassRec; + +externalref HookObjClassRec hookObjClassRec; + +_XFUNCPROTOEND + +#endif /* ifndef _Xt_HookObjI_h */ + + diff --git a/ThirdParty/X11/Include/X11/ICE/ICE.h b/ThirdParty/X11/Include/X11/ICE/ICE.h new file mode 100644 index 0000000..7560647 --- /dev/null +++ b/ThirdParty/X11/Include/X11/ICE/ICE.h @@ -0,0 +1,101 @@ +/****************************************************************************** + + +Copyright 1993, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +Author: Ralph Mor, X Consortium + +******************************************************************************/ + +#ifndef _ICE_H_ +#define _ICE_H_ + +/* + * Protocol Version + */ + +#define IceProtoMajor 1 +#define IceProtoMinor 0 + + +/* + * Byte Order + */ + +#define IceLSBfirst 0 +#define IceMSBfirst 1 + + +/* + * ICE minor opcodes + */ + +#define ICE_Error 0 +#define ICE_ByteOrder 1 +#define ICE_ConnectionSetup 2 +#define ICE_AuthRequired 3 +#define ICE_AuthReply 4 +#define ICE_AuthNextPhase 5 +#define ICE_ConnectionReply 6 +#define ICE_ProtocolSetup 7 +#define ICE_ProtocolReply 8 +#define ICE_Ping 9 +#define ICE_PingReply 10 +#define ICE_WantToClose 11 +#define ICE_NoClose 12 + + +/* + * Error severity + */ + +#define IceCanContinue 0 +#define IceFatalToProtocol 1 +#define IceFatalToConnection 2 + + +/* + * ICE error classes that are common to all protocols + */ + +#define IceBadMinor 0x8000 +#define IceBadState 0x8001 +#define IceBadLength 0x8002 +#define IceBadValue 0x8003 + + +/* + * ICE error classes that are specific to the ICE protocol + */ + +#define IceBadMajor 0 +#define IceNoAuth 1 +#define IceNoVersion 2 +#define IceSetupFailed 3 +#define IceAuthRejected 4 +#define IceAuthFailed 5 +#define IceProtocolDuplicate 6 +#define IceMajorOpcodeDuplicate 7 +#define IceUnknownProtocol 8 + +#endif /* _ICE_H_ */ diff --git a/ThirdParty/X11/Include/X11/ICE/ICEconn.h b/ThirdParty/X11/Include/X11/ICE/ICEconn.h new file mode 100644 index 0000000..e5d493a --- /dev/null +++ b/ThirdParty/X11/Include/X11/ICE/ICEconn.h @@ -0,0 +1,250 @@ +/****************************************************************************** + + +Copyright 1993, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +Author: Ralph Mor, X Consortium +******************************************************************************/ + +#ifndef _ICECONN_H_ +#define _ICECONN_H_ + +#include <X11/ICE/ICElib.h> + +/* + * Data structures for ICE connection object + */ + +typedef struct _IceSavedReplyWait { + IceReplyWaitInfo *reply_wait; + Bool reply_ready; + struct _IceSavedReplyWait *next; +} _IceSavedReplyWait; + +typedef struct _IcePingWait { + IcePingReplyProc ping_reply_proc; + IcePointer client_data; + struct _IcePingWait *next; +} _IcePingWait; + +typedef struct { + char *vendor; + char *release; + int version_count; + IcePoVersionRec *version_recs; + int auth_count; + char **auth_names; + IcePoAuthProc *auth_procs; + IceIOErrorProc io_error_proc; +} _IcePoProtocol; + +typedef struct { + char *vendor; + char *release; + int version_count; + IcePaVersionRec *version_recs; + IceProtocolSetupProc protocol_setup_proc; + IceProtocolActivateProc protocol_activate_proc; + int auth_count; + char **auth_names; + IcePaAuthProc *auth_procs; + IceHostBasedAuthProc host_based_auth_proc; + IceIOErrorProc io_error_proc; +} _IcePaProtocol; + +typedef struct { + char *protocol_name; + _IcePoProtocol *orig_client; + _IcePaProtocol *accept_client; +} _IceProtocol; + +typedef struct { + Bool in_use; + int my_opcode; + _IceProtocol *protocol; + IcePointer client_data; + Bool accept_flag; + union { + IcePaProcessMsgProc accept_client; + IcePoProcessMsgProc orig_client; + } process_msg_proc; +} _IceProcessMsgInfo; + +typedef struct { + int his_version_index; + int my_version_index; + char *his_vendor; + char *his_release; + char my_auth_index; + IcePointer my_auth_state; + Bool must_authenticate; +} _IceConnectToMeInfo; + +typedef struct { + int his_opcode; + int my_opcode; + int his_version_index; + int my_version_index; + char *his_vendor; + char *his_release; + char my_auth_index; + IcePointer my_auth_state; + Bool must_authenticate; +} _IceProtoSetupToMeInfo; + +typedef struct { + Bool auth_active; + char my_auth_index; + IcePointer my_auth_state; +} _IceConnectToYouInfo; + +typedef struct { + int my_opcode; + int my_auth_count; + int *my_auth_indices; + Bool auth_active; + char my_auth_index; + IcePointer my_auth_state; +} _IceProtoSetupToYouInfo; + + +struct _IceConn { + + unsigned int io_ok : 1; /* did an IO error occur? */ + unsigned int swap : 1; /* do we need to swap on reads? */ + unsigned int waiting_for_byteorder : 1; /* waiting for a ByteOrder msg? */ + unsigned int skip_want_to_close : 1; /* avoid shutdown negotiation? */ + unsigned int want_to_close : 1; /* did we send a WantToClose? */ + unsigned int free_asap : 1; /* free as soon as possible */ + unsigned int unused1 : 2; /* future use */ + unsigned int unused2 : 8; /* future use */ + + IceConnectStatus connection_status; /* pending, accepted, rejected */ + + unsigned char my_ice_version_index; /* which version are we using? */ + + struct _XtransConnInfo *trans_conn; /* transport connection object */ + unsigned long send_sequence; /* Sequence # of last msg sent */ + unsigned long receive_sequence; /* Sequence # of last msg received */ + + char *connection_string; /* network connection string */ + char *vendor; /* other client's vendor */ + char *release; /* other client's release */ + + char *inbuf; /* Input buffer starting address */ + char *inbufptr; /* Input buffer index pointer */ + char *inbufmax; /* Input buffer maximum+1 address */ + + char *outbuf; /* Output buffer starting address */ + char *outbufptr; /* Output buffer index pointer */ + char *outbufmax; /* Output buffer maximum+1 address */ + + char *scratch; /* scratch buffer */ + unsigned long scratch_size; /* scratch size */ + + int dispatch_level; /* IceProcessMessages dispatch level */ + + IcePointer context; /* context associated with caller + of IceOpenConnection */ + + /* + * Before we read a message, the major opcode of the message must be + * mapped to our corresponding major opcode (the two clients can use + * different opcodes for the same protocol). In order to save space, + * we keep track of the mininum and maximum major opcodes used by the + * other client. To get the information on how to process this message, + * we do the following... + * + * processMsgInfo = iceConn->process_msg_info[ + * message->majorOpcode - iceConn->his_min_opcode] + * + * Note that the number of elements in the iceConn->process_msg_info + * array is always (iceConn->his_max_opcode - iceConn->his_min_opcode + 1). + * We check process_msg_info->in_use to see if the opcode is being used. + */ + + _IceProcessMsgInfo *process_msg_info; + char his_min_opcode; /* [1..255] */ + char his_max_opcode; /* [1..255] */ + + + /* + * Number of times this iceConn was returned in IceOpenConnection + * or IceAcceptConnection. + */ + + unsigned char open_ref_count; + + + /* + * Number of active protocols. + */ + + unsigned char proto_ref_count; + + + /* + * If this ICE connection was created with IceAcceptConnection, + * the listen_obj field is set to the listen object. Otherwise, + * the listen_obj field is NULL. + */ + + IceListenObj listen_obj; + + + + + /* + * We need to keep track of all the replies we're waiting for. + * Check the comments in process.c for how this works. + */ + + _IceSavedReplyWait *saved_reply_waits; + + + /* + * We keep track of all Pings sent from the client. When the Ping reply + * arrives, we remove it from the list. + */ + + _IcePingWait *ping_waits; + + + /* + * Some state for a client doing a Connection/Protocol Setup + */ + + _IceConnectToYouInfo *connect_to_you; + _IceProtoSetupToYouInfo *protosetup_to_you; + + + /* + * Some state for a client receiving a Connection/Protocol Setup + */ + + _IceConnectToMeInfo *connect_to_me; + _IceProtoSetupToMeInfo *protosetup_to_me; + +}; + +#endif /* _ICECONN_H_ */ diff --git a/ThirdParty/X11/Include/X11/ICE/ICElib.h b/ThirdParty/X11/Include/X11/ICE/ICElib.h new file mode 100644 index 0000000..402cbc8 --- /dev/null +++ b/ThirdParty/X11/Include/X11/ICE/ICElib.h @@ -0,0 +1,431 @@ +/****************************************************************************** + + +Copyright 1993, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +Author: Ralph Mor, X Consortium +******************************************************************************/ + +#ifndef _ICELIB_H_ +#define _ICELIB_H_ + +#include <X11/ICE/ICE.h> +#include <X11/Xfuncproto.h> + +#define Bool int +#define Status int +#define True 1 +#define False 0 + +typedef void *IcePointer; + +typedef enum { + IcePoAuthHaveReply, + IcePoAuthRejected, + IcePoAuthFailed, + IcePoAuthDoneCleanup +} IcePoAuthStatus; + +typedef enum { + IcePaAuthContinue, + IcePaAuthAccepted, + IcePaAuthRejected, + IcePaAuthFailed +} IcePaAuthStatus; + +typedef enum { + IceConnectPending, + IceConnectAccepted, + IceConnectRejected, + IceConnectIOError +} IceConnectStatus; + +typedef enum { + IceProtocolSetupSuccess, + IceProtocolSetupFailure, + IceProtocolSetupIOError, + IceProtocolAlreadyActive +} IceProtocolSetupStatus; + +typedef enum { + IceAcceptSuccess, + IceAcceptFailure, + IceAcceptBadMalloc +} IceAcceptStatus; + +typedef enum { + IceClosedNow, + IceClosedASAP, + IceConnectionInUse, + IceStartedShutdownNegotiation +} IceCloseStatus; + +typedef enum { + IceProcessMessagesSuccess, + IceProcessMessagesIOError, + IceProcessMessagesConnectionClosed +} IceProcessMessagesStatus; + +typedef struct { + unsigned long sequence_of_request; + int major_opcode_of_request; + int minor_opcode_of_request; + IcePointer reply; +} IceReplyWaitInfo; + +typedef struct _IceConn *IceConn; +typedef struct _IceListenObj *IceListenObj; + +typedef void (*IceWatchProc) ( + IceConn /* iceConn */, + IcePointer /* clientData */, + Bool /* opening */, + IcePointer * /* watchData */ +); + +typedef void (*IcePoProcessMsgProc) ( + IceConn /* iceConn */, + IcePointer /* clientData */, + int /* opcode */, + unsigned long /* length */, + Bool /* swap */, + IceReplyWaitInfo * /* replyWait */, + Bool * /* replyReadyRet */ +); + +typedef void (*IcePaProcessMsgProc) ( + IceConn /* iceConn */, + IcePointer /* clientData */, + int /* opcode */, + unsigned long /* length */, + Bool /* swap */ +); + +typedef struct { + int major_version; + int minor_version; + IcePoProcessMsgProc process_msg_proc; +} IcePoVersionRec; + +typedef struct { + int major_version; + int minor_version; + IcePaProcessMsgProc process_msg_proc; +} IcePaVersionRec; + +typedef IcePoAuthStatus (*IcePoAuthProc) ( + IceConn /* iceConn */, + IcePointer * /* authStatePtr */, + Bool /* cleanUp */, + Bool /* swap */, + int /* authDataLen */, + IcePointer /* authData */, + int * /* replyDataLenRet */, + IcePointer * /* replyDataRet */, + char ** /* errorStringRet */ +); + +typedef IcePaAuthStatus (*IcePaAuthProc) ( + IceConn /* iceConn */, + IcePointer * /* authStatePtr */, + Bool /* swap */, + int /* authDataLen */, + IcePointer /* authData */, + int * /* replyDataLenRet */, + IcePointer * /* replyDataRet */, + char ** /* errorStringRet */ +); + +typedef Bool (*IceHostBasedAuthProc) ( + char * /* hostName */ +); + +typedef Status (*IceProtocolSetupProc) ( + IceConn /* iceConn */, + int /* majorVersion */, + int /* minorVersion */, + char * /* vendor */, + char * /* release */, + IcePointer * /* clientDataRet */, + char ** /* failureReasonRet */ +); + +typedef void (*IceProtocolActivateProc) ( + IceConn /* iceConn */, + IcePointer /* clientData */ +); + +typedef void (*IceIOErrorProc) ( + IceConn /* iceConn */ +); + +typedef void (*IcePingReplyProc) ( + IceConn /* iceConn */, + IcePointer /* clientData */ +); + +typedef void (*IceErrorHandler) ( + IceConn /* iceConn */, + Bool /* swap */, + int /* offendingMinorOpcode */, + unsigned long /* offendingSequence */, + int /* errorClass */, + int /* severity */, + IcePointer /* values */ +); + +typedef void (*IceIOErrorHandler) ( + IceConn /* iceConn */ +); + + +/* + * Function prototypes + */ + +_XFUNCPROTOBEGIN + +extern int IceRegisterForProtocolSetup ( + const char * /* protocolName */, + const char * /* vendor */, + const char * /* release */, + int /* versionCount */, + IcePoVersionRec * /* versionRecs */, + int /* authCount */, + const char ** /* authNames */, + IcePoAuthProc * /* authProcs */, + IceIOErrorProc /* IOErrorProc */ +); + +extern int IceRegisterForProtocolReply ( + const char * /* protocolName */, + const char * /* vendor */, + const char * /* release */, + int /* versionCount */, + IcePaVersionRec * /* versionRecs */, + int /* authCount */, + const char ** /* authNames */, + IcePaAuthProc * /* authProcs */, + IceHostBasedAuthProc /* hostBasedAuthProc */, + IceProtocolSetupProc /* protocolSetupProc */, + IceProtocolActivateProc /* protocolActivateProc */, + IceIOErrorProc /* IOErrorProc */ +); + +extern IceConn IceOpenConnection ( + char * /* networkIdsList */, + IcePointer /* context */, + Bool /* mustAuthenticate */, + int /* majorOpcodeCheck */, + int /* errorLength */, + char * /* errorStringRet */ +); + +extern IcePointer IceGetConnectionContext ( + IceConn /* iceConn */ +); + +extern Status IceListenForConnections ( + int * /* countRet */, + IceListenObj ** /* listenObjsRet */, + int /* errorLength */, + char * /* errorStringRet */ +); + +extern Status IceListenForWellKnownConnections ( + char * /* port */, + int * /* countRet */, + IceListenObj ** /* listenObjsRet */, + int /* errorLength */, + char * /* errorStringRet */ +); + +extern int IceGetListenConnectionNumber ( + IceListenObj /* listenObj */ +); + +extern char *IceGetListenConnectionString ( + IceListenObj /* listenObj */ +); + +extern char *IceComposeNetworkIdList ( + int /* count */, + IceListenObj * /* listenObjs */ +); + +extern void IceFreeListenObjs ( + int /* count */, + IceListenObj * /* listenObjs */ +); + +extern void IceSetHostBasedAuthProc ( + IceListenObj /* listenObj */, + IceHostBasedAuthProc /* hostBasedAuthProc */ +); + +extern IceConn IceAcceptConnection ( + IceListenObj /* listenObj */, + IceAcceptStatus * /* statusRet */ +); + +extern void IceSetShutdownNegotiation ( + IceConn /* iceConn */, + Bool /* negotiate */ +); + +extern Bool IceCheckShutdownNegotiation ( + IceConn /* iceConn */ +); + +extern IceCloseStatus IceCloseConnection ( + IceConn /* iceConn */ +); + +extern Status IceAddConnectionWatch ( + IceWatchProc /* watchProc */, + IcePointer /* clientData */ +); + +extern void IceRemoveConnectionWatch ( + IceWatchProc /* watchProc */, + IcePointer /* clientData */ +); + +extern IceProtocolSetupStatus IceProtocolSetup ( + IceConn /* iceConn */, + int /* myOpcode */, + IcePointer /* clientData */, + Bool /* mustAuthenticate */, + int * /* majorVersionRet */, + int * /* minorVersionRet */, + char ** /* vendorRet */, + char ** /* releaseRet */, + int /* errorLength */, + char * /* errorStringRet */ +); + +extern Status IceProtocolShutdown ( + IceConn /* iceConn */, + int /* majorOpcode */ +); + +extern IceProcessMessagesStatus IceProcessMessages ( + IceConn /* iceConn */, + IceReplyWaitInfo * /* replyWait */, + Bool * /* replyReadyRet */ +); + +extern Status IcePing ( + IceConn /* iceConn */, + IcePingReplyProc /* pingReplyProc */, + IcePointer /* clientData */ +); + +extern char *IceAllocScratch ( + IceConn /* iceConn */, + unsigned long /* size */ +); + +extern int IceFlush ( + IceConn /* iceConn */ +); + +extern int IceGetOutBufSize ( + IceConn /* iceConn */ +); + +extern int IceGetInBufSize ( + IceConn /* iceConn */ +); + +extern IceConnectStatus IceConnectionStatus ( + IceConn /* iceConn */ +); + +extern char *IceVendor ( + IceConn /* iceConn */ +); + +extern char *IceRelease ( + IceConn /* iceConn */ +); + +extern int IceProtocolVersion ( + IceConn /* iceConn */ +); + +extern int IceProtocolRevision ( + IceConn /* iceConn */ +); + +extern int IceConnectionNumber ( + IceConn /* iceConn */ +); + +extern char *IceConnectionString ( + IceConn /* iceConn */ +); + +extern unsigned long IceLastSentSequenceNumber ( + IceConn /* iceConn */ +); + +extern unsigned long IceLastReceivedSequenceNumber ( + IceConn /* iceConn */ +); + +extern Bool IceSwapping ( + IceConn /* iceConn */ +); + +extern IceErrorHandler IceSetErrorHandler ( + IceErrorHandler /* handler */ +); + +extern IceIOErrorHandler IceSetIOErrorHandler ( + IceIOErrorHandler /* handler */ +); + +extern char *IceGetPeerName ( + IceConn /* iceConn */ +); + +/* + * Multithread Routines + */ + +extern Status IceInitThreads ( + void +); + +extern void IceAppLockConn ( + IceConn /* iceConn */ +); + +extern void IceAppUnlockConn ( + IceConn /* iceConn */ +); + +_XFUNCPROTOEND + +#endif /* _ICELIB_H_ */ diff --git a/ThirdParty/X11/Include/X11/ICE/ICEmsg.h b/ThirdParty/X11/Include/X11/ICE/ICEmsg.h new file mode 100644 index 0000000..f6e7121 --- /dev/null +++ b/ThirdParty/X11/Include/X11/ICE/ICEmsg.h @@ -0,0 +1,300 @@ +/****************************************************************************** + + +Copyright 1993, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +Author: Ralph Mor, X Consortium +******************************************************************************/ + +#ifndef _ICEMSG_H_ +#define _ICEMSG_H_ + +#include <X11/Xfuncproto.h> + +#include <X11/ICE/ICEconn.h> + +_XFUNCPROTOBEGIN + +/* + * Function prototypes for internal ICElib functions + */ + +extern Status _IceRead ( + IceConn /* iceConn */, + unsigned long /* nbytes */, + char * /* ptr */ +); + +extern void _IceReadSkip ( + IceConn /* iceConn */, + unsigned long /* nbytes */ +); + +extern void _IceWrite ( + IceConn /* iceConn */, + unsigned long /* nbytes */, + char * /* ptr */ +); + + +extern void _IceErrorBadMinor ( + IceConn /* iceConn */, + int /* majorOpcode */, + int /* offendingMinor */, + int /* severity */ +); + +extern void _IceErrorBadState ( + IceConn /* iceConn */, + int /* majorOpcode */, + int /* offendingMinor */, + int /* severity */ +); + +extern void _IceErrorBadLength ( + IceConn /* iceConn */, + int /* majorOpcode */, + int /* offendingMinor */, + int /* severity */ +); + +extern void _IceErrorBadValue ( + IceConn /* iceConn */, + int /* majorOpcode */, + int /* offendingMinor */, + int /* offset */, + int /* length */, + IcePointer /* value */ +); + +extern IcePoAuthStatus _IcePoMagicCookie1Proc ( + IceConn /* iceConn */, + IcePointer * /* authStatePtr */, + Bool /* cleanUp */, + Bool /* swap */, + int /* authDataLen */, + IcePointer /* authData */, + int * /* replyDataLenRet */, + IcePointer * /* replyDataRet */, + char ** /* errorStringRet */ +); + +extern IcePaAuthStatus _IcePaMagicCookie1Proc ( + IceConn /* iceConn */, + IcePointer * /* authStatePtr */, + Bool /* swap */, + int /* authDataLen */, + IcePointer /* authData */, + int * /* replyDataLenRet */, + IcePointer * /* replyDataRet */, + char ** /* errorStringRet */ +); + + +/* + * Macro to check if IO operations are valid on an ICE connection. + */ + +#define IceValidIO(_iceConn) _iceConn->io_ok + + +/* + * Macros for writing messages. + */ + +#define IceGetHeader(_iceConn, _major, _minor, _headerSize, _msgType, _pMsg) \ + if ((_iceConn->outbufptr + _headerSize) > _iceConn->outbufmax) \ + IceFlush (_iceConn); \ + _pMsg = (_msgType *) _iceConn->outbufptr; \ + _pMsg->majorOpcode = _major; \ + _pMsg->minorOpcode = _minor; \ + _pMsg->length = (_headerSize - SIZEOF (iceMsg)) >> 3; \ + _iceConn->outbufptr += _headerSize; \ + _iceConn->send_sequence++ + +#define IceGetHeaderExtra(_iceConn, _major, _minor, _headerSize, _extra, _msgType, _pMsg, _pData) \ + if ((_iceConn->outbufptr + \ + _headerSize + ((_extra) << 3)) > _iceConn->outbufmax) \ + IceFlush (_iceConn); \ + _pMsg = (_msgType *) _iceConn->outbufptr; \ + if ((_iceConn->outbufptr + \ + _headerSize + ((_extra) << 3)) <= _iceConn->outbufmax) \ + _pData = (char *) _pMsg + _headerSize; \ + else \ + _pData = NULL; \ + _pMsg->majorOpcode = _major; \ + _pMsg->minorOpcode = _minor; \ + _pMsg->length = ((_headerSize - SIZEOF (iceMsg)) >> 3) + (_extra); \ + _iceConn->outbufptr += (_headerSize + ((_extra) << 3)); \ + _iceConn->send_sequence++ + +#define IceSimpleMessage(_iceConn, _major, _minor) \ +{ \ + iceMsg *_pMsg; \ + IceGetHeader (_iceConn, _major, _minor, SIZEOF (iceMsg), iceMsg, _pMsg); \ +} + +#define IceErrorHeader(_iceConn, _offendingMajorOpcode, _offendingMinorOpcode, _offendingSequenceNum, _severity, _errorClass, _dataLength) \ +{ \ + iceErrorMsg *_pMsg; \ +\ + IceGetHeader (_iceConn, _offendingMajorOpcode, ICE_Error, \ + SIZEOF (iceErrorMsg), iceErrorMsg, _pMsg); \ + _pMsg->length += (_dataLength); \ + _pMsg->offendingMinorOpcode = (CARD8) _offendingMinorOpcode; \ + _pMsg->severity = (CARD8) _severity; \ + _pMsg->offendingSequenceNum = (CARD32) _offendingSequenceNum; \ + _pMsg->errorClass = (CARD16) _errorClass; \ +} + + +/* + * Write data into the ICE output buffer. + */ + +#define IceWriteData(_iceConn, _bytes, _data) \ +{ \ + if ((_iceConn->outbufptr + (_bytes)) > _iceConn->outbufmax) \ + { \ + IceFlush (_iceConn); \ + _IceWrite (_iceConn, (unsigned long) (_bytes), _data); \ + } \ + else \ + { \ + memcpy (_iceConn->outbufptr, _data, _bytes); \ + _iceConn->outbufptr += (_bytes); \ + } \ +} + +#define IceWriteData16(_iceConn, _bytes, _data) \ + IceWriteData (_iceConn, _bytes, (char *) _data) + +#define IceWriteData32(_iceConn, _bytes, _data) \ + IceWriteData (_iceConn, _bytes, (char *) _data) + + +/* + * The IceSendData macro bypasses copying the data to the + * ICE connection buffer and sends the data directly. If necessary, + * the ICE connection buffer is first flushed. + */ + +#define IceSendData(_iceConn, _bytes, _data) \ +{ \ + if (_iceConn->outbufptr > _iceConn->outbuf) \ + IceFlush (_iceConn); \ + _IceWrite (_iceConn, (unsigned long) (_bytes), _data); \ +} + + +/* + * Write pad bytes. Used to force 32 or 64 bit alignment. + * A maximum of 7 pad bytes can be specified. + */ + +#define IceWritePad(_iceConn, _bytes) \ +{ \ + if ((_iceConn->outbufptr + (_bytes)) > _iceConn->outbufmax) \ + { \ + char _dummy[7] = { 0 }; \ + IceFlush (_iceConn); \ + _IceWrite (_iceConn, (unsigned long) (_bytes), _dummy); \ + } \ + else \ + { \ + _iceConn->outbufptr += (_bytes); \ + } \ +} + + +/* + * Macros for reading messages. + */ + +#define IceReadCompleteMessage(_iceConn, _headerSize, _msgType, _pMsg, _pData)\ +{ \ + unsigned long _bytes; \ + IceReadMessageHeader (_iceConn, _headerSize, _msgType, _pMsg); \ + _bytes = (_pMsg->length << 3) - (_headerSize - SIZEOF (iceMsg)); \ + if ((_iceConn->inbufmax - _iceConn->inbufptr) >= _bytes) \ + { \ + _IceRead (_iceConn, _bytes, _iceConn->inbufptr); \ + _pData = _iceConn->inbufptr; \ + _iceConn->inbufptr += _bytes; \ + } \ + else \ + { \ + _pData = malloc (_bytes); \ + if (_pData) \ + _IceRead (_iceConn, _bytes, _pData); \ + else \ + _IceReadSkip (_iceConn, _bytes); \ + } \ +} + +#define IceDisposeCompleteMessage(_iceConn, _pData) \ + if ((char *) _pData < _iceConn->inbuf || \ + (char *) _pData >= _iceConn->inbufmax) \ + free (_pData); + + +#define IceReadSimpleMessage(_iceConn, _msgType, _pMsg) \ + _pMsg = (_msgType *) (_iceConn->inbuf); + +#define IceReadMessageHeader(_iceConn, _headerSize, _msgType, _pMsg) \ +{ \ + _IceRead (_iceConn, \ + (unsigned long) (_headerSize - SIZEOF (iceMsg)), \ + _iceConn->inbufptr); \ + _pMsg = (_msgType *) (_iceConn->inbuf); \ + _iceConn->inbufptr += (_headerSize - SIZEOF (iceMsg)); \ +} + +#define IceReadData(_iceConn, _bytes, _pData) \ + _IceRead (_iceConn, (unsigned long) (_bytes), (char *) _pData); \ + +#define IceReadData16(_iceConn, _swap, _bytes, _pData) \ +{ \ + _IceRead (_iceConn, (unsigned long) (_bytes), (char *) _pData); \ +} + +#define IceReadData32(_iceConn, _swap, _bytes, _pData) \ +{ \ + _IceRead (_iceConn, (unsigned long) (_bytes), (char *) _pData); \ +} + + +/* + * Read pad bytes (for 32 or 64 bit alignment). + * A maxium of 7 pad bytes can be specified. + */ + +#define IceReadPad(_iceConn, _bytes) \ +{ \ + char _dummy[7]; \ + _IceRead (_iceConn, (unsigned long) (_bytes), _dummy); \ +} + +_XFUNCPROTOEND + +#endif /* _ICEMSG_H_ */ diff --git a/ThirdParty/X11/Include/X11/ICE/ICEproto.h b/ThirdParty/X11/Include/X11/ICE/ICEproto.h new file mode 100644 index 0000000..1fcbe6b --- /dev/null +++ b/ThirdParty/X11/Include/X11/ICE/ICEproto.h @@ -0,0 +1,175 @@ +/****************************************************************************** + + +Copyright 1993, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +Author: Ralph Mor, X Consortium +******************************************************************************/ + +#ifndef _ICEPROTO_H_ +#define _ICEPROTO_H_ + +#include <X11/Xmd.h> + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 data[2]; + CARD32 length B32; +} iceMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD16 errorClass B16; + CARD32 length B32; + CARD8 offendingMinorOpcode; + CARD8 severity; + CARD16 unused B16; + CARD32 offendingSequenceNum B32; + /* n varying values */ + /* p p = pad (n, 8) */ +} iceErrorMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 byteOrder; + CARD8 unused; + CARD32 length B32; +} iceByteOrderMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 versionCount; + CARD8 authCount; + CARD32 length B32; + CARD8 mustAuthenticate; + CARD8 unused[7]; + /* i STRING vendor */ + /* j STRING release */ + /* k LIST of STRING authentication-protocol-names */ + /* m LIST of VERSION version-list */ + /* p p = pad (i+j+k+m, 8) */ +} iceConnectionSetupMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 authIndex; + CARD8 unused1; + CARD32 length B32; + CARD16 authDataLength B16; + CARD8 unused2[6]; + /* n varying data */ + /* p p = pad (n, 8) */ +} iceAuthRequiredMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 unused1[2]; + CARD32 length B32; + CARD16 authDataLength B16; + CARD8 unused2[6]; + /* n varying data */ + /* p p = pad (n, 8) */ +} iceAuthReplyMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 unused1[2]; + CARD32 length B32; + CARD16 authDataLength B16; + CARD8 unused2[6]; + /* n varying data */ + /* p p = pad (n, 8) */ +} iceAuthNextPhaseMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 versionIndex; + CARD8 unused; + CARD32 length B32; + /* i STRING vendor */ + /* j STRING release */ + /* p p = pad (i+j, 8) */ +} iceConnectionReplyMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 protocolOpcode; + CARD8 mustAuthenticate; + CARD32 length B32; + CARD8 versionCount; + CARD8 authCount; + CARD8 unused[6]; + /* i STRING protocol-name */ + /* j STRING vendor */ + /* k STRING release */ + /* m LIST of STRING authentication-protocol-names */ + /* n LIST of VERSION version-list */ + /* p p = pad (i+j+k+m+n, 8) */ +} iceProtocolSetupMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 versionIndex; + CARD8 protocolOpcode; + CARD32 length B32; + /* i STRING vendor */ + /* j STRING release */ + /* p p = pad (i+j, 8) */ +} iceProtocolReplyMsg; + +typedef iceMsg icePingMsg; +typedef iceMsg icePingReplyMsg; +typedef iceMsg iceWantToCloseMsg; +typedef iceMsg iceNoCloseMsg; + + +/* + * SIZEOF values. These better be multiples of 8. + */ + +#define sz_iceMsg 8 +#define sz_iceErrorMsg 16 +#define sz_iceByteOrderMsg 8 +#define sz_iceConnectionSetupMsg 16 +#define sz_iceAuthRequiredMsg 16 +#define sz_iceAuthReplyMsg 16 +#define sz_iceAuthNextPhaseMsg 16 +#define sz_iceConnectionReplyMsg 8 +#define sz_iceProtocolSetupMsg 16 +#define sz_iceProtocolReplyMsg 8 +#define sz_icePingMsg 8 +#define sz_icePingReplyMsg 8 +#define sz_iceWantToCloseMsg 8 +#define sz_iceNoCloseMsg 8 + +#endif /* _ICEPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/ICE/ICEutil.h b/ThirdParty/X11/Include/X11/ICE/ICEutil.h new file mode 100644 index 0000000..dbf1490 --- /dev/null +++ b/ThirdParty/X11/Include/X11/ICE/ICEutil.h @@ -0,0 +1,124 @@ +/****************************************************************************** + + +Copyright 1993, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +Author: Ralph Mor, X Consortium +******************************************************************************/ + +#ifndef _ICEUTIL_H_ +#define _ICEUTIL_H_ + +#include <X11/Xfuncproto.h> + +#include <stdio.h> + +_XFUNCPROTOBEGIN + +/* + * Data structure for entry in ICE authority file + */ + +typedef struct { + char *protocol_name; + unsigned short protocol_data_length; + char *protocol_data; + char *network_id; + char *auth_name; + unsigned short auth_data_length; + char *auth_data; +} IceAuthFileEntry; + + +/* + * Authentication data maintained in memory. + */ + +typedef struct { + char *protocol_name; + char *network_id; + char *auth_name; + unsigned short auth_data_length; + char *auth_data; +} IceAuthDataEntry; + + +/* + * Return values from IceLockAuthFile + */ + +#define IceAuthLockSuccess 0 /* lock succeeded */ +#define IceAuthLockError 1 /* lock unexpectely failed, check errno */ +#define IceAuthLockTimeout 2 /* lock failed, timeouts expired */ + + +/* + * Function Prototypes + */ + +extern char *IceAuthFileName ( + void +); + +extern int IceLockAuthFile ( + const char * /* file_name */, + int /* retries */, + int /* timeout */, + long /* dead */ +); + +extern void IceUnlockAuthFile ( + const char * /* file_name */ +); + +extern IceAuthFileEntry *IceReadAuthFileEntry ( + FILE * /* auth_file */ +); + +extern void IceFreeAuthFileEntry ( + IceAuthFileEntry * /* auth */ +); + +extern Status IceWriteAuthFileEntry ( + FILE * /* auth_file */, + IceAuthFileEntry * /* auth */ +); + +extern IceAuthFileEntry *IceGetAuthFileEntry ( + const char * /* protocol_name */, + const char * /* network_id */, + const char * /* auth_name */ +); + +extern char *IceGenerateMagicCookie ( + int /* len */ +); + +extern void IceSetPaAuthData ( + int /* numEntries */, + IceAuthDataEntry * /* entries */ +); + +_XFUNCPROTOEND + +#endif /* _ICEUTIL_H_ */ diff --git a/ThirdParty/X11/Include/X11/ImUtil.h b/ThirdParty/X11/Include/X11/ImUtil.h new file mode 100644 index 0000000..ffdba1a --- /dev/null +++ b/ThirdParty/X11/Include/X11/ImUtil.h @@ -0,0 +1,30 @@ + +#ifndef _X11_IMUTIL_H_ +#define _X11_IMUTIL_H_ + +extern int +_XGetScanlinePad( + Display *dpy, + int depth); + +extern int +_XGetBitsPerPixel( + Display *dpy, + int depth); + +extern int +_XSetImage( + XImage *srcimg, + register XImage *dstimg, + register int x, + register int y); + +extern int +_XReverse_Bytes( + register unsigned char *bpt, + register int nb); +extern void +_XInitImageFuncPtrs( + register XImage *image); + +#endif /* _X11_IMUTIL_H_ */ diff --git a/ThirdParty/X11/Include/X11/InitialI.h b/ThirdParty/X11/Include/X11/InitialI.h new file mode 100644 index 0000000..0827df0 --- /dev/null +++ b/ThirdParty/X11/Include/X11/InitialI.h @@ -0,0 +1,430 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XtinitialI_h +#define _XtinitialI_h + +/**************************************************************** + * + * Displays + * + ****************************************************************/ + +#ifndef X_NOT_POSIX +#ifdef _POSIX_SOURCE +#include <limits.h> +#else +#define _POSIX_SOURCE +#include <limits.h> +#undef _POSIX_SOURCE +#endif +#endif +#ifndef PATH_MAX +#ifdef WIN32 +#define PATH_MAX 512 +#else +#include <sys/param.h> +#endif +#ifndef PATH_MAX +#ifdef MAXPATHLEN +#define PATH_MAX MAXPATHLEN +#else +#define PATH_MAX 1024 +#endif +#endif +#endif + +#include <X11/Xos.h> +#include <X11/Xpoll.h> + +_XFUNCPROTOBEGIN + +typedef struct _TimerEventRec { + struct timeval te_timer_value; + struct _TimerEventRec *te_next; + XtTimerCallbackProc te_proc; + XtAppContext app; + XtPointer te_closure; +} TimerEventRec; + +typedef struct _InputEvent { + XtInputCallbackProc ie_proc; + XtPointer ie_closure; + struct _InputEvent *ie_next; + struct _InputEvent *ie_oq; + XtAppContext app; + int ie_source; + XtInputMask ie_condition; +} InputEvent; + +typedef struct _SignalEventRec { + XtSignalCallbackProc se_proc; + XtPointer se_closure; + struct _SignalEventRec *se_next; + XtAppContext app; + Boolean se_notice; +} SignalEventRec; + +typedef struct _WorkProcRec { + XtWorkProc proc; + XtPointer closure; + struct _WorkProcRec *next; + XtAppContext app; +} WorkProcRec; + + +typedef struct +{ +#ifndef USE_POLL + fd_set rmask; + fd_set wmask; + fd_set emask; +#endif + int nfds; +} FdStruct; + +typedef struct _LangProcRec { + XtLanguageProc proc; + XtPointer closure; +} LangProcRec; + +typedef struct _ProcessContextRec { + XtAppContext defaultAppContext; + XtAppContext appContextList; + ConverterTable globalConverterTable; + LangProcRec globalLangProcRec; +} ProcessContextRec, *ProcessContext; + +typedef struct { + char* start; + char* current; + int bytes_remaining; +} Heap; + +typedef struct _DestroyRec DestroyRec; + + +typedef struct _XtAppStruct { + XtAppContext next; /* link to next app in process context */ + ProcessContext process; /* back pointer to our process context */ + InternalCallbackList destroy_callbacks; + Display **list; + TimerEventRec *timerQueue; + WorkProcRec *workQueue; + InputEvent **input_list; + InputEvent *outstandingQueue; + SignalEventRec *signalQueue; + XrmDatabase errorDB; + XtErrorMsgHandler errorMsgHandler, warningMsgHandler; + XtErrorHandler errorHandler, warningHandler; + struct _ActionListRec *action_table; + ConverterTable converterTable; + unsigned long selectionTimeout; + FdStruct fds; + short count; /* num of assigned entries in list */ + short max; /* allocate size of list */ + short last; + short input_count; + short input_max; /* elts input_list init'd with */ + Boolean sync, being_destroyed, error_inited; +#ifndef NO_IDENTIFY_WINDOWS + Boolean identify_windows; /* debugging hack */ +#endif + Heap heap; + String * fallback_resources; /* Set by XtAppSetFallbackResources. */ + struct _ActionHookRec* action_hook_list; + struct _BlockHookRec* block_hook_list; + int destroy_list_size; /* state data for 2-phase destroy */ + int destroy_count; + int dispatch_level; + DestroyRec* destroy_list; + Widget in_phase2_destroy; + LangProcRec langProcRec; + struct _TMBindCacheRec * free_bindings; + String display_name_tried; + Display **dpy_destroy_list; + int dpy_destroy_count; + Boolean exit_flag; + Boolean rebuild_fdlist; +#ifdef XTHREADS + LockPtr lock_info; + ThreadAppProc lock; + ThreadAppProc unlock; + ThreadAppYieldLockProc yield_lock; + ThreadAppRestoreLockProc restore_lock; + ThreadAppProc free_lock; +#endif +} XtAppStruct; + +extern void _XtHeapInit(Heap* heap); +extern void _XtHeapFree(Heap* heap); + +#ifdef XTTRACEMEMORY + + +extern char *_XtHeapMalloc( + Heap* /* heap */, + Cardinal /* size */, + char * /* file */, + int /* line */ +); + +#define _XtHeapAlloc(heap,bytes) _XtHeapMalloc(heap, bytes, __FILE__, __LINE__) + +#else /* XTTRACEMEMORY */ + +extern char* _XtHeapAlloc( + Heap* /* heap */, + Cardinal /* size */ +); + +#endif /* XTTRACEMEMORY */ + +extern void _XtSetDefaultErrorHandlers( + XtErrorMsgHandler* /* errMsg */, + XtErrorMsgHandler* /* warnMsg */, + XtErrorHandler* /* err */, + XtErrorHandler* /* warn */ +); + +extern void _XtSetDefaultSelectionTimeout( + unsigned long* /* timeout */ +); + +extern XtAppContext _XtDefaultAppContext( + void +); + +extern ProcessContext _XtGetProcessContext( + void +); + +Display * +_XtAppInit( + XtAppContext* /* app_context_return */, + String /* application_class */, + XrmOptionDescRec* /* options */, + Cardinal /* num_options */, + int* /* argc_in_out */, + String** /* argv_in_out */, + String* /* fallback_resources */ +); + +extern void _XtDestroyAppContexts( + void +); + +extern void _XtCloseDisplays( + XtAppContext /* app */ +); + +extern int _XtAppDestroyCount; + +extern int _XtWaitForSomething( + XtAppContext /* app */, + _XtBoolean /* ignoreEvents */, + _XtBoolean /* ignoreTimers */, + _XtBoolean /* ignoreInputs */, + _XtBoolean /* ignoreSignals */, + _XtBoolean /* block */, +#ifdef XTHREADS + _XtBoolean /* drop_lock */, +#endif + unsigned long* /* howlong */ +); + +typedef struct _CaseConverterRec *CaseConverterPtr; +typedef struct _CaseConverterRec { + KeySym start; /* first KeySym valid in converter */ + KeySym stop; /* last KeySym valid in converter */ + XtCaseProc proc; /* case converter function */ + CaseConverterPtr next; /* next converter record */ +} CaseConverterRec; + +typedef struct _ExtensionSelectorRec { + XtExtensionSelectProc proc; + int min, max; + XtPointer client_data; +} ExtSelectRec; + +typedef struct _XtPerDisplayStruct { + InternalCallbackList destroy_callbacks; + Region region; + CaseConverterPtr case_cvt; /* user-registered case converters */ + XtKeyProc defaultKeycodeTranslator; + XtAppContext appContext; + unsigned long keysyms_serial; /* for tracking MappingNotify events */ + KeySym *keysyms; /* keycode to keysym table */ + int keysyms_per_keycode; /* number of keysyms for each keycode*/ + int min_keycode, max_keycode; /* range of keycodes */ + KeySym *modKeysyms; /* keysym values for modToKeysysm */ + ModToKeysymTable *modsToKeysyms; /* modifiers to Keysysms index table*/ + unsigned char isModifier[32]; /* key-is-modifier-p bit table */ + KeySym lock_meaning; /* Lock modifier meaning */ + Modifiers mode_switch; /* keyboard group modifiers */ + Modifiers num_lock; /* keyboard numlock modifiers */ + Boolean being_destroyed; + Boolean rv; /* reverse_video resource */ + XrmName name; /* resolved app name */ + XrmClass class; /* application class */ + Heap heap; + struct _GCrec *GClist; /* support for XtGetGC */ + Drawable **pixmap_tab; /* ditto for XtGetGC */ + String language; /* XPG language string */ + XEvent last_event; /* last event dispatched */ + Time last_timestamp; /* from last event dispatched */ + int multi_click_time; /* for XtSetMultiClickTime */ + struct _TMKeyContextRec* tm_context; /* for XtGetActionKeysym */ + InternalCallbackList mapping_callbacks; /* special case for TM */ + XtPerDisplayInputRec pdi; /* state for modal grabs & kbd focus */ + struct _WWTable *WWtable; /* window to widget table */ + XrmDatabase *per_screen_db; /* per screen resource databases */ + XrmDatabase cmd_db; /* db from command line, if needed */ + XrmDatabase server_db; /* resource property else .Xdefaults */ + XtEventDispatchProc* dispatcher_list; + ExtSelectRec* ext_select_list; + int ext_select_count; + Widget hook_object; +#ifndef X_NO_RESOURCE_CONFIGURATION_MANAGEMENT + Atom rcm_init; /* ResConfig - initialize */ + Atom rcm_data; /* ResConfig - data atom */ +#endif +} XtPerDisplayStruct, *XtPerDisplay; + +typedef struct _PerDisplayTable { + Display *dpy; + XtPerDisplayStruct perDpy; + struct _PerDisplayTable *next; +} PerDisplayTable, *PerDisplayTablePtr; + +extern PerDisplayTablePtr _XtperDisplayList; + +extern XtPerDisplay _XtSortPerDisplayList( + Display* /* dpy */ +); + +extern XtPerDisplay _XtGetPerDisplay( + Display* /* dpy */ +); + +extern XtPerDisplayInputRec* _XtGetPerDisplayInput( + Display* /* dpy */ +); + +#if 0 +#ifdef DEBUG +#define _XtGetPerDisplay(display) \ + ((_XtperDisplayList != NULL && (_XtperDisplayList->dpy == (display))) \ + ? &_XtperDisplayList->perDpy \ + : _XtSortPerDisplayList(display)) +#define _XtGetPerDisplayInput(display) \ + ((_XtperDisplayList != NULL && (_XtperDisplayList->dpy == (display))) \ + ? &_XtperDisplayList->perDpy.pdi \ + : &_XtSortPerDisplayList(display)->pdi) +#else +#define _XtGetPerDisplay(display) \ + ((_XtperDisplayList->dpy == (display)) \ + ? &_XtperDisplayList->perDpy \ + : _XtSortPerDisplayList(display)) +#define _XtGetPerDisplayInput(display) \ + ((_XtperDisplayList->dpy == (display)) \ + ? &_XtperDisplayList->perDpy.pdi \ + : &_XtSortPerDisplayList(display)->pdi) +#endif /*DEBUG*/ +#endif + +extern void _XtDisplayInitialize( + Display* /* dpy */, + XtPerDisplay /* pd */, + _Xconst char* /* name */, + XrmOptionDescRec* /* urlist */, + Cardinal /* num_urs */, + int* /* argc */, + char** /* argv */ +); + +extern void _XtCacheFlushTag( + XtAppContext /* app */, + XtPointer /* tag */ +); + +extern void _XtFreeActions( + struct _ActionListRec* /* action_table */ +); + +extern void _XtDoPhase2Destroy( + XtAppContext /* app */, + int /* dispatch_level */ +); + +extern void _XtDoFreeBindings( + XtAppContext /* app */ +); + +extern void _XtExtensionSelect( + Widget /* widget */ +); + +#define _XtSafeToDestroy(app) ((app)->dispatch_level == 0) + +extern void _XtAllocWWTable( + XtPerDisplay pd +); + +extern void _XtFreeWWTable( + XtPerDisplay pd +); + +extern String _XtGetUserName(String dest, int len); +extern XrmDatabase _XtPreparseCommandLine(XrmOptionDescRec *urlist, + Cardinal num_urs, int argc, String *argv, + String *applName, String *displayName, + String *language); + +_XFUNCPROTOEND + +#endif /* _XtinitialI_h */ diff --git a/ThirdParty/X11/Include/X11/Intrinsic.h b/ThirdParty/X11/Include/X11/Intrinsic.h new file mode 100644 index 0000000..794b820 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Intrinsic.h @@ -0,0 +1,2585 @@ +/*********************************************************** +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts, + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +/* + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _XtIntrinsic_h +#define _XtIntrinsic_h + +#include <X11/Xlib.h> +#include <X11/Xutil.h> +#include <X11/Xresource.h> +#include <X11/Xfuncproto.h> +#ifdef XT_BC +#include <X11/Xos.h> /* for R4 compatibility */ +#else +#include <X11/Xosdefs.h> +#include <string.h> /* for XtNewString */ +#endif /* XT_BC else */ + +#define XtSpecificationRelease 6 + +typedef char *String; + +/* We do this in order to get "const" declarations to work right. We + * use _XtString instead of String so that C++ applications can + * #define String to something else if they choose, to avoid conflicts + * with other C++ libraries. + */ +#define _XtString char* + +/* _Xt names are private to Xt implementation, do not use in client code */ +#if NeedWidePrototypes +#define _XtBoolean int +#define _XtDimension unsigned int +#define _XtKeyCode unsigned int +#define _XtPosition int +#define _XtXtEnum unsigned int +#else +#define _XtBoolean Boolean +#define _XtDimension Dimension +#define _XtKeyCode KeyCode +#define _XtPosition Position +#define _XtXtEnum XtEnum +#endif /* NeedWidePrototypes */ + +#include <stddef.h> + +#ifdef VMS +#define externalref globalref +#define externaldef(psect) globaldef {"psect"} noshare +#else +#define externalref extern +#define externaldef(psect) +#endif /* VMS */ + +#ifndef FALSE +#define FALSE 0 +#define TRUE 1 +#endif + +#define XtNumber(arr) ((Cardinal) (sizeof(arr) / sizeof(arr[0]))) + +typedef struct _WidgetRec *Widget; +typedef Widget *WidgetList; +typedef struct _WidgetClassRec *WidgetClass; +typedef struct _CompositeRec *CompositeWidget; +typedef struct _XtActionsRec *XtActionList; +typedef struct _XtEventRec *XtEventTable; + +typedef struct _XtAppStruct *XtAppContext; +typedef unsigned long XtValueMask; +typedef unsigned long XtIntervalId; +typedef unsigned long XtInputId; +typedef unsigned long XtWorkProcId; +typedef unsigned long XtSignalId; +typedef unsigned int XtGeometryMask; +typedef unsigned long XtGCMask; /* Mask of values that are used by widget*/ +typedef unsigned long Pixel; /* Index into colormap */ +typedef int XtCacheType; +#define XtCacheNone 0x001 +#define XtCacheAll 0x002 +#define XtCacheByDisplay 0x003 +#define XtCacheRefCount 0x100 + +/**************************************************************** + * + * System Dependent Definitions; see spec for specific range + * requirements. Do not assume every implementation uses the + * same base types! + * + * + * XtArgVal ought to be a union of XtPointer, char *, long, int *, and proc * + * but casting to union types is not really supported. + * + * So the typedef for XtArgVal should be chosen such that + * + * sizeof (XtArgVal) >= sizeof(XtPointer) + * sizeof(char *) + * sizeof(long) + * sizeof(int *) + * sizeof(proc *) + * + * ArgLists rely heavily on the above typedef. + * + ****************************************************************/ +typedef char Boolean; +typedef long XtArgVal; +typedef unsigned char XtEnum; + +typedef unsigned int Cardinal; +typedef unsigned short Dimension; /* Size in pixels */ +typedef short Position; /* Offset from 0 coordinate */ + +typedef void* XtPointer; + +/* The type Opaque is NOT part of the Xt standard, do NOT use it. */ +/* (It remains here only for backward compatibility.) */ +typedef XtPointer Opaque; + +#include <X11/Core.h> +#include <X11/Composite.h> +#include <X11/Constraint.h> +#include <X11/Object.h> +#include <X11/RectObj.h> + +typedef struct _TranslationData *XtTranslations; +typedef struct _TranslationData *XtAccelerators; +typedef unsigned int Modifiers; + +typedef void (*XtActionProc)( + Widget /* widget */, + XEvent* /* event */, + String* /* params */, + Cardinal* /* num_params */ +); + +typedef XtActionProc* XtBoundActions; + +typedef struct _XtActionsRec{ + String string; + XtActionProc proc; +} XtActionsRec; + +typedef enum { +/* address mode parameter representation */ +/* ------------ ------------------------ */ + XtAddress, /* address */ + XtBaseOffset, /* offset */ + XtImmediate, /* constant */ + XtResourceString, /* resource name string */ + XtResourceQuark, /* resource name quark */ + XtWidgetBaseOffset, /* offset from ancestor */ + XtProcedureArg /* procedure to invoke */ +} XtAddressMode; + +typedef struct { + XtAddressMode address_mode; + XtPointer address_id; + Cardinal size; +} XtConvertArgRec, *XtConvertArgList; + +typedef void (*XtConvertArgProc)( + Widget /* widget */, + Cardinal* /* size */, + XrmValue* /* value */ +); + +typedef struct { + XtGeometryMask request_mode; + Position x, y; + Dimension width, height, border_width; + Widget sibling; + int stack_mode; /* Above, Below, TopIf, BottomIf, Opposite, DontChange */ +} XtWidgetGeometry; + +/* Additions to Xlib geometry requests: ask what would happen, don't do it */ +#define XtCWQueryOnly (1 << 7) + +/* Additions to Xlib stack modes: don't change stack order */ +#define XtSMDontChange 5 + +typedef void (*XtConverter)( /* obsolete */ + XrmValue* /* args */, + Cardinal* /* num_args */, + XrmValue* /* from */, + XrmValue* /* to */ +); + +typedef Boolean (*XtTypeConverter)( + Display* /* dpy */, + XrmValue* /* args */, + Cardinal* /* num_args */, + XrmValue* /* from */, + XrmValue* /* to */, + XtPointer* /* converter_data */ +); + +typedef void (*XtDestructor)( + XtAppContext /* app */, + XrmValue* /* to */, + XtPointer /* converter_data */, + XrmValue* /* args */, + Cardinal* /* num_args */ +); + +typedef Opaque XtCacheRef; + +typedef Opaque XtActionHookId; + +typedef void (*XtActionHookProc)( + Widget /* w */, + XtPointer /* client_data */, + String /* action_name */, + XEvent* /* event */, + String* /* params */, + Cardinal* /* num_params */ +); + +typedef unsigned long XtBlockHookId; + +typedef void (*XtBlockHookProc)( + XtPointer /* client_data */ +); + +typedef void (*XtKeyProc)( + Display* /* dpy */, + _XtKeyCode /* keycode */, + Modifiers /* modifiers */, + Modifiers* /* modifiers_return */, + KeySym* /* keysym_return */ +); + +typedef void (*XtCaseProc)( + Display* /* display */, + KeySym /* keysym */, + KeySym* /* lower_return */, + KeySym* /* upper_return */ +); + +typedef void (*XtEventHandler)( + Widget /* widget */, + XtPointer /* closure */, + XEvent* /* event */, + Boolean* /* continue_to_dispatch */ +); +typedef unsigned long EventMask; + +typedef enum {XtListHead, XtListTail } XtListPosition; + +typedef unsigned long XtInputMask; +#define XtInputNoneMask 0L +#define XtInputReadMask (1L<<0) +#define XtInputWriteMask (1L<<1) +#define XtInputExceptMask (1L<<2) + +typedef void (*XtTimerCallbackProc)( + XtPointer /* closure */, + XtIntervalId* /* id */ +); + +typedef void (*XtInputCallbackProc)( + XtPointer /* closure */, + int* /* source */, + XtInputId* /* id */ +); + +typedef void (*XtSignalCallbackProc)( + XtPointer /* closure */, + XtSignalId* /* id */ +); + +typedef struct { + String name; + XtArgVal value; +} Arg, *ArgList; + +typedef XtPointer XtVarArgsList; + +typedef void (*XtCallbackProc)( + Widget /* widget */, + XtPointer /* closure */, /* data the application registered */ + XtPointer /* call_data */ /* callback specific data */ +); + +typedef struct _XtCallbackRec { + XtCallbackProc callback; + XtPointer closure; +} XtCallbackRec, *XtCallbackList; + +typedef enum { + XtCallbackNoList, + XtCallbackHasNone, + XtCallbackHasSome +} XtCallbackStatus; + +typedef enum { + XtGeometryYes, /* Request accepted. */ + XtGeometryNo, /* Request denied. */ + XtGeometryAlmost, /* Request denied, but willing to take replyBox. */ + XtGeometryDone /* Request accepted and done. */ +} XtGeometryResult; + +typedef enum {XtGrabNone, XtGrabNonexclusive, XtGrabExclusive} XtGrabKind; + +typedef struct { + Widget shell_widget; + Widget enable_widget; +} XtPopdownIDRec, *XtPopdownID; + +typedef struct _XtResource { + String resource_name; /* Resource name */ + String resource_class; /* Resource class */ + String resource_type; /* Representation type desired */ + Cardinal resource_size; /* Size in bytes of representation */ + Cardinal resource_offset;/* Offset from base to put resource value */ + String default_type; /* representation type of specified default */ + XtPointer default_addr; /* Address of default resource */ +} XtResource, *XtResourceList; + +typedef void (*XtResourceDefaultProc)( + Widget /* widget */, + int /* offset */, + XrmValue* /* value */ +); + +typedef String (*XtLanguageProc)( + Display* /* dpy */, + String /* xnl */, + XtPointer /* client_data */ +); + +typedef void (*XtErrorMsgHandler)( + String /* name */, + String /* type */, + String /* class */, + String /* default */, + String* /* params */, + Cardinal* /* num_params */ +); + +typedef void (*XtErrorHandler)( + String /* msg */ +); + +typedef void (*XtCreatePopupChildProc)( + Widget /* shell */ +); + +typedef Boolean (*XtWorkProc)( + XtPointer /* closure */ /* data the application registered */ +); + +typedef struct { + char match; + String substitution; +} SubstitutionRec, *Substitution; + +typedef Boolean (*XtFilePredicate)( + String /* filename */ +); + +typedef XtPointer XtRequestId; + +typedef Boolean (*XtConvertSelectionProc)( + Widget /* widget */, + Atom* /* selection */, + Atom* /* target */, + Atom* /* type_return */, + XtPointer* /* value_return */, + unsigned long* /* length_return */, + int* /* format_return */ +); + +typedef void (*XtLoseSelectionProc)( + Widget /* widget */, + Atom* /* selection */ +); + +typedef void (*XtSelectionDoneProc)( + Widget /* widget */, + Atom* /* selection */, + Atom* /* target */ +); + +typedef void (*XtSelectionCallbackProc)( + Widget /* widget */, + XtPointer /* closure */, + Atom* /* selection */, + Atom* /* type */, + XtPointer /* value */, + unsigned long* /* length */, + int* /* format */ +); + +typedef void (*XtLoseSelectionIncrProc)( + Widget /* widget */, + Atom* /* selection */, + XtPointer /* client_data */ +); + +typedef void (*XtSelectionDoneIncrProc)( + Widget /* widget */, + Atom* /* selection */, + Atom* /* target */, + XtRequestId* /* receiver_id */, + XtPointer /* client_data */ +); + +typedef Boolean (*XtConvertSelectionIncrProc)( + Widget /* widget */, + Atom* /* selection */, + Atom* /* target */, + Atom* /* type */, + XtPointer* /* value */, + unsigned long* /* length */, + int* /* format */, + unsigned long* /* max_length */, + XtPointer /* client_data */, + XtRequestId* /* receiver_id */ +); + +typedef void (*XtCancelConvertSelectionProc)( + Widget /* widget */, + Atom* /* selection */, + Atom* /* target */, + XtRequestId* /* receiver_id */, + XtPointer /* client_data */ +); + +typedef Boolean (*XtEventDispatchProc)( + XEvent* /* event */ +); + +typedef void (*XtExtensionSelectProc)( + Widget /* widget */, + int* /* event_types */, + XtPointer* /* select_data */, + int /* count */, + XtPointer /* client_data */ +); + +/*************************************************************** + * + * Exported Interfaces + * + ****************************************************************/ + +_XFUNCPROTOBEGIN + +extern Boolean XtConvertAndStore( + Widget /* widget */, + _Xconst _XtString /* from_type */, + XrmValue* /* from */, + _Xconst _XtString /* to_type */, + XrmValue* /* to_in_out */ +); + +extern Boolean XtCallConverter( + Display* /* dpy */, + XtTypeConverter /* converter */, + XrmValuePtr /* args */, + Cardinal /* num_args */, + XrmValuePtr /* from */, + XrmValue* /* to_in_out */, + XtCacheRef* /* cache_ref_return */ +); + +extern Boolean XtDispatchEvent( + XEvent* /* event */ +); + +extern Boolean XtCallAcceptFocus( + Widget /* widget */, + Time* /* time */ +); + +extern Boolean XtPeekEvent( /* obsolete */ + XEvent* /* event_return */ +); + +extern Boolean XtAppPeekEvent( + XtAppContext /* app_context */, + XEvent* /* event_return */ +); + +extern Boolean XtIsSubclass( + Widget /* widget */, + WidgetClass /* widgetClass */ +); + +extern Boolean XtIsObject( + Widget /* object */ +); + +extern Boolean _XtCheckSubclassFlag( /* implementation-private */ + Widget /* object */, + _XtXtEnum /* type_flag */ +); + +extern Boolean _XtIsSubclassOf( /* implementation-private */ + Widget /* object */, + WidgetClass /* widget_class */, + WidgetClass /* flag_class */, + _XtXtEnum /* type_flag */ +); + +extern Boolean XtIsManaged( + Widget /* rectobj */ +); + +extern Boolean XtIsRealized( + Widget /* widget */ +); + +extern Boolean XtIsSensitive( + Widget /* widget */ +); + +extern Boolean XtOwnSelection( + Widget /* widget */, + Atom /* selection */, + Time /* time */, + XtConvertSelectionProc /* convert */, + XtLoseSelectionProc /* lose */, + XtSelectionDoneProc /* done */ +); + +extern Boolean XtOwnSelectionIncremental( + Widget /* widget */, + Atom /* selection */, + Time /* time */, + XtConvertSelectionIncrProc /* convert_callback */, + XtLoseSelectionIncrProc /* lose_callback */, + XtSelectionDoneIncrProc /* done_callback */, + XtCancelConvertSelectionProc /* cancel_callback */, + XtPointer /* client_data */ +); + +extern XtGeometryResult XtMakeResizeRequest( + Widget /* widget */, + _XtDimension /* width */, + _XtDimension /* height */, + Dimension* /* width_return */, + Dimension* /* height_return */ +); + +extern void XtTranslateCoords( + Widget /* widget */, + _XtPosition /* x */, + _XtPosition /* y */, + Position* /* rootx_return */, + Position* /* rooty_return */ +); + +extern KeySym* XtGetKeysymTable( + Display* /* dpy */, + KeyCode* /* min_keycode_return */, + int* /* keysyms_per_keycode_return */ +); + +extern void XtKeysymToKeycodeList( + Display* /* dpy */, + KeySym /* keysym */, + KeyCode** /* keycodes_return */, + Cardinal* /* keycount_return */ +); + +extern void XtStringConversionWarning( /* obsolete */ + _Xconst _XtString /* from_value */, + _Xconst _XtString /* to_type */ +); + +extern void XtDisplayStringConversionWarning( + Display* /* dpy */, + _Xconst _XtString /* from_value */, + _Xconst _XtString /* to_type */ +); + +externalref XtConvertArgRec const colorConvertArgs[]; +externalref XtConvertArgRec const screenConvertArg[]; + +extern void XtAppAddConverter( /* obsolete */ + XtAppContext /* app_context */, + _Xconst _XtString /* from_type */, + _Xconst _XtString /* to_type */, + XtConverter /* converter */, + XtConvertArgList /* convert_args */, + Cardinal /* num_args */ +); + +extern void XtAddConverter( /* obsolete */ + _Xconst _XtString /* from_type */, + _Xconst _XtString /* to_type */, + XtConverter /* converter */, + XtConvertArgList /* convert_args */, + Cardinal /* num_args */ +); + +extern void XtSetTypeConverter( + _Xconst _XtString /* from_type */, + _Xconst _XtString /* to_type */, + XtTypeConverter /* converter */, + XtConvertArgList /* convert_args */, + Cardinal /* num_args */, + XtCacheType /* cache_type */, + XtDestructor /* destructor */ +); + +extern void XtAppSetTypeConverter( + XtAppContext /* app_context */, + _Xconst _XtString /* from_type */, + _Xconst _XtString /* to_type */, + XtTypeConverter /* converter */, + XtConvertArgList /* convert_args */, + Cardinal /* num_args */, + XtCacheType /* cache_type */, + XtDestructor /* destructor */ +); + +extern void XtConvert( /* obsolete */ + Widget /* widget */, + _Xconst _XtString /* from_type */, + XrmValue* /* from */, + _Xconst _XtString /* to_type */, + XrmValue* /* to_return */ +); + +extern void XtDirectConvert( /* obsolete */ + XtConverter /* converter */, + XrmValuePtr /* args */, + Cardinal /* num_args */, + XrmValuePtr /* from */, + XrmValue* /* to_return */ +); + +/**************************************************************** + * + * Translation Management + * + ****************************************************************/ + +extern XtTranslations XtParseTranslationTable( + _Xconst _XtString /* table */ +); + +extern XtAccelerators XtParseAcceleratorTable( + _Xconst _XtString /* source */ +); + +extern void XtOverrideTranslations( + Widget /* widget */, + XtTranslations /* translations */ +); + +extern void XtAugmentTranslations( + Widget /* widget */, + XtTranslations /* translations */ +); + +extern void XtInstallAccelerators( + Widget /* destination */, + Widget /* source */ +); + +extern void XtInstallAllAccelerators( + Widget /* destination */, + Widget /* source */ +); + +extern void XtUninstallTranslations( + Widget /* widget */ +); + +extern void XtAppAddActions( + XtAppContext /* app_context */, + XtActionList /* actions */, + Cardinal /* num_actions */ +); + +extern void XtAddActions( /* obsolete */ + XtActionList /* actions */, + Cardinal /* num_actions */ +); + +extern XtActionHookId XtAppAddActionHook( + XtAppContext /* app_context */, + XtActionHookProc /* proc */, + XtPointer /* client_data */ +); + +extern void XtRemoveActionHook( + XtActionHookId /* id */ +); + +extern void XtGetActionList( + WidgetClass /* widget_class */, + XtActionList* /* actions_return */, + Cardinal* /* num_actions_return */ +); + +extern void XtCallActionProc( + Widget /* widget */, + _Xconst _XtString /* action */, + XEvent* /* event */, + String* /* params */, + Cardinal /* num_params */ +); + +extern void XtRegisterGrabAction( + XtActionProc /* action_proc */, + _XtBoolean /* owner_events */, + unsigned int /* event_mask */, + int /* pointer_mode */, + int /* keyboard_mode */ +); + +extern void XtSetMultiClickTime( + Display* /* dpy */, + int /* milliseconds */ +); + +extern int XtGetMultiClickTime( + Display* /* dpy */ +); + +extern KeySym XtGetActionKeysym( + XEvent* /* event */, + Modifiers* /* modifiers_return */ +); + +/*************************************************************** + * + * Keycode and Keysym procedures for translation management + * + ****************************************************************/ + +extern void XtTranslateKeycode( + Display* /* dpy */, + _XtKeyCode /* keycode */, + Modifiers /* modifiers */, + Modifiers* /* modifiers_return */, + KeySym* /* keysym_return */ +); + +extern void XtTranslateKey( + Display* /* dpy */, + _XtKeyCode /* keycode */, + Modifiers /* modifiers */, + Modifiers* /* modifiers_return */, + KeySym* /* keysym_return */ +); + +extern void XtSetKeyTranslator( + Display* /* dpy */, + XtKeyProc /* proc */ +); + +extern void XtRegisterCaseConverter( + Display* /* dpy */, + XtCaseProc /* proc */, + KeySym /* start */, + KeySym /* stop */ +); + +extern void XtConvertCase( + Display* /* dpy */, + KeySym /* keysym */, + KeySym* /* lower_return */, + KeySym* /* upper_return */ +); + +/**************************************************************** + * + * Event Management + * + ****************************************************************/ + +/* XtAllEvents is valid only for XtRemoveEventHandler and + * XtRemoveRawEventHandler; don't use it to select events! + */ +#define XtAllEvents ((EventMask) -1L) + +extern void XtAddEventHandler( + Widget /* widget */, + EventMask /* event_mask */, + _XtBoolean /* nonmaskable */, + XtEventHandler /* proc */, + XtPointer /* closure */ +); + +extern void XtRemoveEventHandler( + Widget /* widget */, + EventMask /* event_mask */, + _XtBoolean /* nonmaskable */, + XtEventHandler /* proc */, + XtPointer /* closure */ +); + +extern void XtAddRawEventHandler( + Widget /* widget */, + EventMask /* event_mask */, + _XtBoolean /* nonmaskable */, + XtEventHandler /* proc */, + XtPointer /* closure */ +); + +extern void XtRemoveRawEventHandler( + Widget /* widget */, + EventMask /* event_mask */, + _XtBoolean /* nonmaskable */, + XtEventHandler /* proc */, + XtPointer /* closure */ +); + +extern void XtInsertEventHandler( + Widget /* widget */, + EventMask /* event_mask */, + _XtBoolean /* nonmaskable */, + XtEventHandler /* proc */, + XtPointer /* closure */, + XtListPosition /* position */ +); + +extern void XtInsertRawEventHandler( + Widget /* widget */, + EventMask /* event_mask */, + _XtBoolean /* nonmaskable */, + XtEventHandler /* proc */, + XtPointer /* closure */, + XtListPosition /* position */ +); + +extern XtEventDispatchProc XtSetEventDispatcher( + Display* /* dpy */, + int /* event_type */, + XtEventDispatchProc /* proc */ +); + +extern Boolean XtDispatchEventToWidget( + Widget /* widget */, + XEvent* /* event */ +); + +extern void XtInsertEventTypeHandler( + Widget /* widget */, + int /* type */, + XtPointer /* select_data */, + XtEventHandler /* proc */, + XtPointer /* closure */, + XtListPosition /* position */ +); + +extern void XtRemoveEventTypeHandler( + Widget /* widget */, + int /* type */, + XtPointer /* select_data */, + XtEventHandler /* proc */, + XtPointer /* closure */ +); + +extern EventMask XtBuildEventMask( + Widget /* widget */ +); + +extern void XtRegisterExtensionSelector( + Display* /* dpy */, + int /* min_event_type */, + int /* max_event_type */, + XtExtensionSelectProc /* proc */, + XtPointer /* client_data */ +); + +extern void XtAddGrab( + Widget /* widget */, + _XtBoolean /* exclusive */, + _XtBoolean /* spring_loaded */ +); + +extern void XtRemoveGrab( + Widget /* widget */ +); + +extern void XtProcessEvent( /* obsolete */ + XtInputMask /* mask */ +); + +extern void XtAppProcessEvent( + XtAppContext /* app_context */, + XtInputMask /* mask */ +); + +extern void XtMainLoop( /* obsolete */ + void +); + +extern void XtAppMainLoop( + XtAppContext /* app_context */ +); + +extern void XtAddExposureToRegion( + XEvent* /* event */, + Region /* region */ +); + +extern void XtSetKeyboardFocus( + Widget /* subtree */, + Widget /* descendent */ +); + +extern Widget XtGetKeyboardFocusWidget( + Widget /* widget */ +); + +extern XEvent* XtLastEventProcessed( + Display* /* dpy */ +); + +extern Time XtLastTimestampProcessed( + Display* /* dpy */ +); + +/**************************************************************** + * + * Event Gathering Routines + * + ****************************************************************/ + +extern XtIntervalId XtAddTimeOut( /* obsolete */ + unsigned long /* interval */, + XtTimerCallbackProc /* proc */, + XtPointer /* closure */ +); + +extern XtIntervalId XtAppAddTimeOut( + XtAppContext /* app_context */, + unsigned long /* interval */, + XtTimerCallbackProc /* proc */, + XtPointer /* closure */ +); + +extern void XtRemoveTimeOut( + XtIntervalId /* timer */ +); + +extern XtInputId XtAddInput( /* obsolete */ + int /* source */, + XtPointer /* condition */, + XtInputCallbackProc /* proc */, + XtPointer /* closure */ +); + +extern XtInputId XtAppAddInput( + XtAppContext /* app_context */, + int /* source */, + XtPointer /* condition */, + XtInputCallbackProc /* proc */, + XtPointer /* closure */ +); + +extern void XtRemoveInput( + XtInputId /* id */ +); + +extern XtSignalId XtAddSignal( + XtSignalCallbackProc /* proc */, + XtPointer /* closure */); + +extern XtSignalId XtAppAddSignal( + XtAppContext /* app_context */, + XtSignalCallbackProc /* proc */, + XtPointer /* closure */ +); + +extern void XtRemoveSignal( + XtSignalId /* id */ +); + +extern void XtNoticeSignal( + XtSignalId /* id */ +); + +extern void XtNextEvent( /* obsolete */ + XEvent* /* event */ +); + +extern void XtAppNextEvent( + XtAppContext /* app_context */, + XEvent* /* event_return */ +); + +#define XtIMXEvent 1 +#define XtIMTimer 2 +#define XtIMAlternateInput 4 +#define XtIMSignal 8 +#define XtIMAll (XtIMXEvent | XtIMTimer | XtIMAlternateInput | XtIMSignal) + +extern Boolean XtPending( /* obsolete */ + void +); + +extern XtInputMask XtAppPending( + XtAppContext /* app_context */ +); + +extern XtBlockHookId XtAppAddBlockHook( + XtAppContext /* app_context */, + XtBlockHookProc /* proc */, + XtPointer /* client_data */ +); + +extern void XtRemoveBlockHook( + XtBlockHookId /* id */ +); + +/**************************************************************** + * + * Random utility routines + * + ****************************************************************/ + +#define XtIsRectObj(object) (_XtCheckSubclassFlag(object, (XtEnum)0x02)) +#define XtIsWidget(object) (_XtCheckSubclassFlag(object, (XtEnum)0x04)) +#define XtIsComposite(widget) (_XtCheckSubclassFlag(widget, (XtEnum)0x08)) +#define XtIsConstraint(widget) (_XtCheckSubclassFlag(widget, (XtEnum)0x10)) +#define XtIsShell(widget) (_XtCheckSubclassFlag(widget, (XtEnum)0x20)) + +#undef XtIsOverrideShell +extern Boolean XtIsOverrideShell(Widget /* object */); +#define XtIsOverrideShell(widget) \ + (_XtIsSubclassOf(widget, (WidgetClass)overrideShellWidgetClass, \ + (WidgetClass)shellWidgetClass, (XtEnum)0x20)) + +#define XtIsWMShell(widget) (_XtCheckSubclassFlag(widget, (XtEnum)0x40)) + +#undef XtIsVendorShell +extern Boolean XtIsVendorShell(Widget /* object */); +#define XtIsVendorShell(widget) \ + (_XtIsSubclassOf(widget, (WidgetClass)vendorShellWidgetClass, \ + (WidgetClass)wmShellWidgetClass, (XtEnum)0x40)) + +#undef XtIsTransientShell +extern Boolean XtIsTransientShell(Widget /* object */); +#define XtIsTransientShell(widget) \ + (_XtIsSubclassOf(widget, (WidgetClass)transientShellWidgetClass, \ + (WidgetClass)wmShellWidgetClass, (XtEnum)0x40)) +#define XtIsTopLevelShell(widget) (_XtCheckSubclassFlag(widget, (XtEnum)0x80)) + +#undef XtIsApplicationShell +extern Boolean XtIsApplicationShell(Widget /* object */); +#define XtIsApplicationShell(widget) \ + (_XtIsSubclassOf(widget, (WidgetClass)applicationShellWidgetClass, \ + (WidgetClass)topLevelShellWidgetClass, (XtEnum)0x80)) + +#undef XtIsSessionShell +extern Boolean XtIsSessionShell(Widget /* object */); +#define XtIsSessionShell(widget) \ + (_XtIsSubclassOf(widget, (WidgetClass)sessionShellWidgetClass, \ + (WidgetClass)topLevelShellWidgetClass, (XtEnum)0x80)) + +extern void XtRealizeWidget( + Widget /* widget */ +); + +void XtUnrealizeWidget( + Widget /* widget */ +); + +extern void XtDestroyWidget( + Widget /* widget */ +); + +extern void XtSetSensitive( + Widget /* widget */, + _XtBoolean /* sensitive */ +); + +extern void XtSetMappedWhenManaged( + Widget /* widget */, + _XtBoolean /* mapped_when_managed */ +); + +extern Widget XtNameToWidget( + Widget /* reference */, + _Xconst _XtString /* names */ +); + +extern Widget XtWindowToWidget( + Display* /* display */, + Window /* window */ +); + +extern XtPointer XtGetClassExtension( + WidgetClass /* object_class */, + Cardinal /* byte_offset */, + XrmQuark /* type */, + long /* version */, + Cardinal /* record_size */ +); + +/*************************************************************** + * + * Arg lists + * + ****************************************************************/ + + +#define XtSetArg(arg, n, d) \ + ((void)( (arg).name = (n), (arg).value = (XtArgVal)(d) )) + +extern ArgList XtMergeArgLists( + ArgList /* args1 */, + Cardinal /* num_args1 */, + ArgList /* args2 */, + Cardinal /* num_args2 */ +); + +/*************************************************************** + * + * Vararg lists + * + ****************************************************************/ + +#define XtVaNestedList "XtVaNestedList" +#define XtVaTypedArg "XtVaTypedArg" + +extern XtVarArgsList XtVaCreateArgsList( + XtPointer /*unused*/, ... +) _X_SENTINEL(0); + +/************************************************************* + * + * Information routines + * + ************************************************************/ + +#ifndef _XtIntrinsicP_h + +/* We're not included from the private file, so define these */ + +extern Display *XtDisplay( + Widget /* widget */ +); + +extern Display *XtDisplayOfObject( + Widget /* object */ +); + +extern Screen *XtScreen( + Widget /* widget */ +); + +extern Screen *XtScreenOfObject( + Widget /* object */ +); + +extern Window XtWindow( + Widget /* widget */ +); + +extern Window XtWindowOfObject( + Widget /* object */ +); + +extern String XtName( + Widget /* object */ +); + +extern WidgetClass XtSuperclass( + Widget /* object */ +); + +extern WidgetClass XtClass( + Widget /* object */ +); + +extern Widget XtParent( + Widget /* widget */ +); + +#endif /*_XtIntrinsicP_h*/ + +#undef XtMapWidget +extern void XtMapWidget(Widget /* w */); +#define XtMapWidget(widget) XMapWindow(XtDisplay(widget), XtWindow(widget)) + +#undef XtUnmapWidget +extern void XtUnmapWidget(Widget /* w */); +#define XtUnmapWidget(widget) \ + XUnmapWindow(XtDisplay(widget), XtWindow(widget)) + +extern void XtAddCallback( + Widget /* widget */, + _Xconst _XtString /* callback_name */, + XtCallbackProc /* callback */, + XtPointer /* closure */ +); + +extern void XtRemoveCallback( + Widget /* widget */, + _Xconst _XtString /* callback_name */, + XtCallbackProc /* callback */, + XtPointer /* closure */ +); + +extern void XtAddCallbacks( + Widget /* widget */, + _Xconst _XtString /* callback_name */, + XtCallbackList /* callbacks */ +); + +extern void XtRemoveCallbacks( + Widget /* widget */, + _Xconst _XtString /* callback_name */, + XtCallbackList /* callbacks */ +); + +extern void XtRemoveAllCallbacks( + Widget /* widget */, + _Xconst _XtString /* callback_name */ +); + + +extern void XtCallCallbacks( + Widget /* widget */, + _Xconst _XtString /* callback_name */, + XtPointer /* call_data */ +); + +extern void XtCallCallbackList( + Widget /* widget */, + XtCallbackList /* callbacks */, + XtPointer /* call_data */ +); + +extern XtCallbackStatus XtHasCallbacks( + Widget /* widget */, + _Xconst _XtString /* callback_name */ +); + +/**************************************************************** + * + * Geometry Management + * + ****************************************************************/ + + +extern XtGeometryResult XtMakeGeometryRequest( + Widget /* widget */, + XtWidgetGeometry* /* request */, + XtWidgetGeometry* /* reply_return */ +); + +extern XtGeometryResult XtQueryGeometry( + Widget /* widget */, + XtWidgetGeometry* /* intended */, + XtWidgetGeometry* /* preferred_return */ +); + +extern Widget XtCreatePopupShell( + _Xconst _XtString /* name */, + WidgetClass /* widgetClass */, + Widget /* parent */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern Widget XtVaCreatePopupShell( + _Xconst _XtString /* name */, + WidgetClass /* widgetClass */, + Widget /* parent */, + ... +) _X_SENTINEL(0); + +extern void XtPopup( + Widget /* popup_shell */, + XtGrabKind /* grab_kind */ +); + +extern void XtPopupSpringLoaded( + Widget /* popup_shell */ +); + +extern void XtCallbackNone( + Widget /* widget */, + XtPointer /* closure */, + XtPointer /* call_data */ +); + +extern void XtCallbackNonexclusive( + Widget /* widget */, + XtPointer /* closure */, + XtPointer /* call_data */ +); + +extern void XtCallbackExclusive( + Widget /* widget */, + XtPointer /* closure */, + XtPointer /* call_data */ +); + +extern void XtPopdown( + Widget /* popup_shell */ +); + +extern void XtCallbackPopdown( + Widget /* widget */, + XtPointer /* closure */, + XtPointer /* call_data */ +); + +extern void XtMenuPopupAction( + Widget /* widget */, + XEvent* /* event */, + String* /* params */, + Cardinal* /* num_params */ +); + +extern Widget XtCreateWidget( + _Xconst _XtString /* name */, + WidgetClass /* widget_class */, + Widget /* parent */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern Widget XtCreateManagedWidget( + _Xconst _XtString /* name */, + WidgetClass /* widget_class */, + Widget /* parent */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern Widget XtVaCreateWidget( + _Xconst _XtString /* name */, + WidgetClass /* widget */, + Widget /* parent */, + ... +) _X_SENTINEL(0); + +extern Widget XtVaCreateManagedWidget( + _Xconst _XtString /* name */, + WidgetClass /* widget_class */, + Widget /* parent */, + ... +) _X_SENTINEL(0); + +extern Widget XtCreateApplicationShell( /* obsolete */ + _Xconst _XtString /* name */, + WidgetClass /* widget_class */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern Widget XtAppCreateShell( + _Xconst _XtString /* application_name */, + _Xconst _XtString /* application_class */, + WidgetClass /* widget_class */, + Display* /* display */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern Widget XtVaAppCreateShell( + _Xconst _XtString /* application_name */, + _Xconst _XtString /* application_class */, + WidgetClass /* widget_class */, + Display* /* display */, + ... +) _X_SENTINEL(0); + +/**************************************************************** + * + * Toolkit initialization + * + ****************************************************************/ + +extern void XtToolkitInitialize( + void +); + +extern XtLanguageProc XtSetLanguageProc( + XtAppContext /* app_context */, + XtLanguageProc /* proc */, + XtPointer /* client_data */ +); + +extern void XtDisplayInitialize( + XtAppContext /* app_context */, + Display* /* dpy */, + _Xconst _XtString /* application_name */, + _Xconst _XtString /* application_class */, + XrmOptionDescRec* /* options */, + Cardinal /* num_options */, + int* /* argc */, + char** /* argv */ +); + +extern Widget XtOpenApplication( + XtAppContext* /* app_context_return */, + _Xconst _XtString /* application_class */, + XrmOptionDescList /* options */, + Cardinal /* num_options */, + int* /* argc_in_out */, + String* /* argv_in_out */, + String* /* fallback_resources */, + WidgetClass /* widget_class */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern Widget XtVaOpenApplication( + XtAppContext* /* app_context_return */, + _Xconst _XtString /* application_class */, + XrmOptionDescList /* options */, + Cardinal /* num_options */, + int* /* argc_in_out */, + String* /* argv_in_out */, + String* /* fallback_resources */, + WidgetClass /* widget_class */, + ... +) _X_SENTINEL(0); + +extern Widget XtAppInitialize( /* obsolete */ + XtAppContext* /* app_context_return */, + _Xconst _XtString /* application_class */, + XrmOptionDescList /* options */, + Cardinal /* num_options */, + int* /* argc_in_out */, + String* /* argv_in_out */, + String* /* fallback_resources */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern Widget XtVaAppInitialize( /* obsolete */ + XtAppContext* /* app_context_return */, + _Xconst _XtString /* application_class */, + XrmOptionDescList /* options */, + Cardinal /* num_options */, + int* /* argc_in_out */, + String* /* argv_in_out */, + String* /* fallback_resources */, + ... +) _X_SENTINEL(0); + +extern Widget XtInitialize( /* obsolete */ + _Xconst _XtString /* shell_name */, + _Xconst _XtString /* application_class */, + XrmOptionDescRec* /* options */, + Cardinal /* num_options */, + int* /* argc */, + char** /* argv */ +); + +extern Display *XtOpenDisplay( + XtAppContext /* app_context */, + _Xconst _XtString /* display_string */, + _Xconst _XtString /* application_name */, + _Xconst _XtString /* application_class */, + XrmOptionDescRec* /* options */, + Cardinal /* num_options */, + int* /* argc */, + char** /* argv */ +); + +extern XtAppContext XtCreateApplicationContext( + void +); + +extern void XtAppSetFallbackResources( + XtAppContext /* app_context */, + String* /* specification_list */ +); + +extern void XtDestroyApplicationContext( + XtAppContext /* app_context */ +); + +extern void XtInitializeWidgetClass( + WidgetClass /* widget_class */ +); + +extern XtAppContext XtWidgetToApplicationContext( + Widget /* widget */ +); + +extern XtAppContext XtDisplayToApplicationContext( + Display* /* dpy */ +); + +extern XrmDatabase XtDatabase( + Display* /* dpy */ +); + +extern XrmDatabase XtScreenDatabase( + Screen* /* screen */ +); + +extern void XtCloseDisplay( + Display* /* dpy */ +); + +extern void XtGetApplicationResources( + Widget /* widget */, + XtPointer /* base */, + XtResourceList /* resources */, + Cardinal /* num_resources */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern void XtVaGetApplicationResources( + Widget /* widget */, + XtPointer /* base */, + XtResourceList /* resources */, + Cardinal /* num_resources */, + ... +) _X_SENTINEL(0); + +extern void XtGetSubresources( + Widget /* widget */, + XtPointer /* base */, + _Xconst _XtString /* name */, + _Xconst _XtString /* class */, + XtResourceList /* resources */, + Cardinal /* num_resources */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern void XtVaGetSubresources( + Widget /* widget */, + XtPointer /* base */, + _Xconst _XtString /* name */, + _Xconst _XtString /* class */, + XtResourceList /* resources */, + Cardinal /* num_resources */, + ... +) _X_SENTINEL(0); + +extern void XtSetValues( + Widget /* widget */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern void XtVaSetValues( + Widget /* widget */, + ... +) _X_SENTINEL(0); + +extern void XtGetValues( + Widget /* widget */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern void XtVaGetValues( + Widget /* widget */, + ... +) _X_SENTINEL(0); + +extern void XtSetSubvalues( + XtPointer /* base */, + XtResourceList /* resources */, + Cardinal /* num_resources */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern void XtVaSetSubvalues( + XtPointer /* base */, + XtResourceList /* resources */, + Cardinal /* num_resources */, + ... +) _X_SENTINEL(0); + +extern void XtGetSubvalues( + XtPointer /* base */, + XtResourceList /* resources */, + Cardinal /* num_resources */, + ArgList /* args */, + Cardinal /* num_args */ +); + +extern void XtVaGetSubvalues( + XtPointer /* base */, + XtResourceList /* resources */, + Cardinal /* num_resources */, + ... +) _X_SENTINEL(0); + +extern void XtGetResourceList( + WidgetClass /* widget_class */, + XtResourceList* /* resources_return */, + Cardinal* /* num_resources_return */ +); + +extern void XtGetConstraintResourceList( + WidgetClass /* widget_class */, + XtResourceList* /* resources_return */, + Cardinal* /* num_resources_return */ +); + +#define XtUnspecifiedPixmap ((Pixmap)2) +#define XtUnspecifiedShellInt (-1) +#define XtUnspecifiedWindow ((Window)2) +#define XtUnspecifiedWindowGroup ((Window)3) +#define XtCurrentDirectory "XtCurrentDirectory" +#define XtDefaultForeground "XtDefaultForeground" +#define XtDefaultBackground "XtDefaultBackground" +#define XtDefaultFont "XtDefaultFont" +#define XtDefaultFontSet "XtDefaultFontSet" + +#define XtOffset(p_type,field) \ + ((Cardinal) (((char *) (&(((p_type)NULL)->field))) - ((char *) NULL))) + +#ifdef offsetof +#define XtOffsetOf(s_type,field) offsetof(s_type,field) +#else +#define XtOffsetOf(s_type,field) XtOffset(s_type*,field) +#endif + +/************************************************************* + * + * Session Management + * + ************************************************************/ + +typedef struct _XtCheckpointTokenRec { + int save_type; + int interact_style; + Boolean shutdown; + Boolean fast; + Boolean cancel_shutdown; + int phase; + int interact_dialog_type; /* return */ + Boolean request_cancel; /* return */ + Boolean request_next_phase; /* return */ + Boolean save_success; /* return */ + int type; /* implementation private */ + Widget widget; /* implementation private */ +} XtCheckpointTokenRec, *XtCheckpointToken; + +XtCheckpointToken XtSessionGetToken( + Widget /* widget */ +); + +void XtSessionReturnToken( + XtCheckpointToken /* token */ +); + +/************************************************************* + * + * Error Handling + * + ************************************************************/ + +extern XtErrorMsgHandler XtAppSetErrorMsgHandler( + XtAppContext /* app_context */, + XtErrorMsgHandler /* handler */ +); + +extern void XtSetErrorMsgHandler( /* obsolete */ + XtErrorMsgHandler /* handler */ +); + +extern XtErrorMsgHandler XtAppSetWarningMsgHandler( + XtAppContext /* app_context */, + XtErrorMsgHandler /* handler */ +); + +extern void XtSetWarningMsgHandler( /* obsolete */ + XtErrorMsgHandler /* handler */ +); + +extern void XtAppErrorMsg( + XtAppContext /* app_context */, + _Xconst _XtString /* name */, + _Xconst _XtString /* type */, + _Xconst _XtString /* class */, + _Xconst _XtString /* default */, + String* /* params */, + Cardinal* /* num_params */ +); + +extern void XtErrorMsg( /* obsolete */ + _Xconst _XtString /* name */, + _Xconst _XtString /* type */, + _Xconst _XtString /* class */, + _Xconst _XtString /* default */, + String* /* params */, + Cardinal* /* num_params */ +); + +extern void XtAppWarningMsg( + XtAppContext /* app_context */, + _Xconst _XtString /* name */, + _Xconst _XtString /* type */, + _Xconst _XtString /* class */, + _Xconst _XtString /* default */, + String* /* params */, + Cardinal* /* num_params */ +); + +extern void XtWarningMsg( /* obsolete */ + _Xconst _XtString /* name */, + _Xconst _XtString /* type */, + _Xconst _XtString /* class */, + _Xconst _XtString /* default */, + String* /* params */, + Cardinal* /* num_params */ +); + +extern XtErrorHandler XtAppSetErrorHandler( + XtAppContext /* app_context */, + XtErrorHandler /* handler */ +); + +extern void XtSetErrorHandler( /* obsolete */ + XtErrorHandler /* handler */ +); + +extern XtErrorHandler XtAppSetWarningHandler( + XtAppContext /* app_context */, + XtErrorHandler /* handler */ +); + +extern void XtSetWarningHandler( /* obsolete */ + XtErrorHandler /* handler */ +); + +extern void XtAppError( + XtAppContext /* app_context */, + _Xconst _XtString /* message */ +); + +extern void XtError( /* obsolete */ + _Xconst _XtString /* message */ +); + +extern void XtAppWarning( + XtAppContext /* app_context */, + _Xconst _XtString /* message */ +); + +extern void XtWarning( /* obsolete */ + _Xconst _XtString /* message */ +); + +extern XrmDatabase *XtAppGetErrorDatabase( + XtAppContext /* app_context */ +); + +extern XrmDatabase *XtGetErrorDatabase( /* obsolete */ + void +); + +extern void XtAppGetErrorDatabaseText( + XtAppContext /* app_context */, + _Xconst _XtString /* name */, + _Xconst _XtString /* type */, + _Xconst _XtString /* class */, + _Xconst _XtString /* default */, + String /* buffer_return */, + int /* nbytes */, + XrmDatabase /* database */ +); + +extern void XtGetErrorDatabaseText( /* obsolete */ + _Xconst _XtString /* name */, + _Xconst _XtString /* type */, + _Xconst _XtString /* class */, + _Xconst _XtString /* default */, + String /* buffer_return */, + int /* nbytes */ +); + +/**************************************************************** + * + * Memory Management + * + ****************************************************************/ + +extern char *XtMalloc( + Cardinal /* size */ +); + +extern char *XtCalloc( + Cardinal /* num */, + Cardinal /* size */ +); + +extern char *XtRealloc( + char* /* ptr */, + Cardinal /* num */ +); + +extern void XtFree( + char* /* ptr */ +); + +#ifndef _X_RESTRICT_KYWD +# define _X_RESTRICT_KYWD +#endif +extern Cardinal XtAsprintf( + String *new_string, + _Xconst char * _X_RESTRICT_KYWD format, + ... +) _X_ATTRIBUTE_PRINTF(2,3); + +#ifdef XTTRACEMEMORY + +extern char *_XtMalloc( /* implementation-private */ + Cardinal /* size */, + char * /* file */, + int /* line */ +); + +extern char *_XtRealloc( /* implementation-private */ + char * /* ptr */, + Cardinal /* size */, + char * /* file */, + int /* line */ +); + +extern char *_XtCalloc( /* implementation-private */ + Cardinal /* num */, + Cardinal /* size */, + char * /* file */, + int /* line */ +); + +extern void _XtFree( /* implementation-private */ + char * /* ptr */ +); + +#define XtMalloc(size) _XtMalloc(size, __FILE__, __LINE__) +#define XtRealloc(ptr,size) _XtRealloc(ptr, size, __FILE__, __LINE__) +#define XtCalloc(num,size) _XtCalloc(num, size, __FILE__, __LINE__) +#define XtFree(ptr) _XtFree(ptr) + +#endif /* ifdef XTTRACEMEMORY */ + +#define XtNew(type) ((type *) XtMalloc((unsigned) sizeof(type))) + +#undef XtNewString +extern String XtNewString(String /* str */); +#define XtNewString(str) \ + ((str) != NULL ? (strcpy(XtMalloc((unsigned)strlen(str) + 1), str)) : NULL) + +/************************************************************* + * + * Work procs + * + **************************************************************/ + +extern XtWorkProcId XtAddWorkProc( /* obsolete */ + XtWorkProc /* proc */, + XtPointer /* closure */ +); + +extern XtWorkProcId XtAppAddWorkProc( + XtAppContext /* app_context */, + XtWorkProc /* proc */, + XtPointer /* closure */ +); + +extern void XtRemoveWorkProc( + XtWorkProcId /* id */ +); + + +/**************************************************************** + * + * Graphic Context Management + *****************************************************************/ + +extern GC XtGetGC( + Widget /* widget */, + XtGCMask /* valueMask */, + XGCValues* /* values */ +); + +extern GC XtAllocateGC( + Widget /* widget */, + Cardinal /* depth */, + XtGCMask /* valueMask */, + XGCValues* /* values */, + XtGCMask /* dynamicMask */, + XtGCMask /* unusedMask */ +); + +/* This implementation of XtDestroyGC differs from the formal specification + * for historic backwards compatibility reasons. As other implementations + * may conform to the spec, use of XtReleaseGC is strongly encouraged. + */ +extern void XtDestroyGC( /* obsolete */ + GC /* gc */ +); + +extern void XtReleaseGC( + Widget /* object */, + GC /* gc */ +); + + + +extern void XtAppReleaseCacheRefs( + XtAppContext /* app_context */, + XtCacheRef* /* cache_ref */ +); + +extern void XtCallbackReleaseCacheRef( + Widget /* widget */, + XtPointer /* closure */, /* XtCacheRef */ + XtPointer /* call_data */ +); + +extern void XtCallbackReleaseCacheRefList( + Widget /* widget */, + XtPointer /* closure */, /* XtCacheRef* */ + XtPointer /* call_data */ +); + +extern void XtSetWMColormapWindows( + Widget /* widget */, + Widget* /* list */, + Cardinal /* count */ +); + +extern String XtFindFile( + _Xconst _XtString /* path */, + Substitution /* substitutions */, + Cardinal /* num_substitutions */, + XtFilePredicate /* predicate */ +); + +extern String XtResolvePathname( + Display* /* dpy */, + _Xconst _XtString /* type */, + _Xconst _XtString /* filename */, + _Xconst _XtString /* suffix */, + _Xconst _XtString /* path */, + Substitution /* substitutions */, + Cardinal /* num_substitutions */, + XtFilePredicate /* predicate */ +); + +/**************************************************************** + * + * Selections + * + *****************************************************************/ + +#define XT_CONVERT_FAIL (Atom)0x80000001 + +extern void XtDisownSelection( + Widget /* widget */, + Atom /* selection */, + Time /* time */ +); + +extern void XtGetSelectionValue( + Widget /* widget */, + Atom /* selection */, + Atom /* target */, + XtSelectionCallbackProc /* callback */, + XtPointer /* closure */, + Time /* time */ +); + +extern void XtGetSelectionValues( + Widget /* widget */, + Atom /* selection */, + Atom* /* targets */, + int /* count */, + XtSelectionCallbackProc /* callback */, + XtPointer* /* closures */, + Time /* time */ +); + +extern void XtAppSetSelectionTimeout( + XtAppContext /* app_context */, + unsigned long /* timeout */ +); + +extern void XtSetSelectionTimeout( /* obsolete */ + unsigned long /* timeout */ +); + +extern unsigned long XtAppGetSelectionTimeout( + XtAppContext /* app_context */ +); + +extern unsigned long XtGetSelectionTimeout( /* obsolete */ + void +); + +extern XSelectionRequestEvent *XtGetSelectionRequest( + Widget /* widget */, + Atom /* selection */, + XtRequestId /* request_id */ +); + +extern void XtGetSelectionValueIncremental( + Widget /* widget */, + Atom /* selection */, + Atom /* target */, + XtSelectionCallbackProc /* selection_callback */, + XtPointer /* client_data */, + Time /* time */ +); + +extern void XtGetSelectionValuesIncremental( + Widget /* widget */, + Atom /* selection */, + Atom* /* targets */, + int /* count */, + XtSelectionCallbackProc /* callback */, + XtPointer* /* client_data */, + Time /* time */ +); + +extern void XtSetSelectionParameters( + Widget /* requestor */, + Atom /* selection */, + Atom /* type */, + XtPointer /* value */, + unsigned long /* length */, + int /* format */ +); + +extern void XtGetSelectionParameters( + Widget /* owner */, + Atom /* selection */, + XtRequestId /* request_id */, + Atom* /* type_return */, + XtPointer* /* value_return */, + unsigned long* /* length_return */, + int* /* format_return */ +); + +extern void XtCreateSelectionRequest( + Widget /* requestor */, + Atom /* selection */ +); + +extern void XtSendSelectionRequest( + Widget /* requestor */, + Atom /* selection */, + Time /* time */ +); + +extern void XtCancelSelectionRequest( + Widget /* requestor */, + Atom /* selection */ +); + +extern Atom XtReservePropertyAtom( + Widget /* widget */ +); + +extern void XtReleasePropertyAtom( + Widget /* widget */, + Atom /* selection */ +); + +extern void XtGrabKey( + Widget /* widget */, + _XtKeyCode /* keycode */, + Modifiers /* modifiers */, + _XtBoolean /* owner_events */, + int /* pointer_mode */, + int /* keyboard_mode */ +); + +extern void XtUngrabKey( + Widget /* widget */, + _XtKeyCode /* keycode */, + Modifiers /* modifiers */ +); + +extern int XtGrabKeyboard( + Widget /* widget */, + _XtBoolean /* owner_events */, + int /* pointer_mode */, + int /* keyboard_mode */, + Time /* time */ +); + +extern void XtUngrabKeyboard( + Widget /* widget */, + Time /* time */ +); + +extern void XtGrabButton( + Widget /* widget */, + int /* button */, + Modifiers /* modifiers */, + _XtBoolean /* owner_events */, + unsigned int /* event_mask */, + int /* pointer_mode */, + int /* keyboard_mode */, + Window /* confine_to */, + Cursor /* cursor */ +); + +extern void XtUngrabButton( + Widget /* widget */, + unsigned int /* button */, + Modifiers /* modifiers */ +); + +extern int XtGrabPointer( + Widget /* widget */, + _XtBoolean /* owner_events */, + unsigned int /* event_mask */, + int /* pointer_mode */, + int /* keyboard_mode */, + Window /* confine_to */, + Cursor /* cursor */, + Time /* time */ +); + +extern void XtUngrabPointer( + Widget /* widget */, + Time /* time */ +); + +extern void XtGetApplicationNameAndClass( + Display* /* dpy */, + String* /* name_return */, + String* /* class_return */ +); + +extern void XtRegisterDrawable( + Display* /* dpy */, + Drawable /* drawable */, + Widget /* widget */ +); + +extern void XtUnregisterDrawable( + Display* /* dpy */, + Drawable /* drawable */ +); + +extern Widget XtHooksOfDisplay( + Display* /* dpy */ +); + +typedef struct { + String type; + Widget widget; + ArgList args; + Cardinal num_args; +} XtCreateHookDataRec, *XtCreateHookData; + +typedef struct { + String type; + Widget widget; + XtPointer event_data; + Cardinal num_event_data; +} XtChangeHookDataRec, *XtChangeHookData; + +typedef struct { + Widget old, req; + ArgList args; + Cardinal num_args; +} XtChangeHookSetValuesDataRec, *XtChangeHookSetValuesData; + +typedef struct { + String type; + Widget widget; + XtGeometryMask changeMask; + XWindowChanges changes; +} XtConfigureHookDataRec, *XtConfigureHookData; + +typedef struct { + String type; + Widget widget; + XtWidgetGeometry* request; + XtWidgetGeometry* reply; + XtGeometryResult result; +} XtGeometryHookDataRec, *XtGeometryHookData; + +typedef struct { + String type; + Widget widget; +} XtDestroyHookDataRec, *XtDestroyHookData; + +extern void XtGetDisplays( + XtAppContext /* app_context */, + Display*** /* dpy_return */, + Cardinal* /* num_dpy_return */ +); + +extern Boolean XtToolkitThreadInitialize( + void +); + +extern void XtAppSetExitFlag( + XtAppContext /* app_context */ +); + +extern Boolean XtAppGetExitFlag( + XtAppContext /* app_context */ +); + +extern void XtAppLock( + XtAppContext /* app_context */ +); + +extern void XtAppUnlock( + XtAppContext /* app_context */ +); + +/* + * Predefined Resource Converters + */ + + +/* String converters */ + +extern Boolean XtCvtStringToAcceleratorTable( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToAtom( + Display* /* dpy */, + XrmValuePtr /* args */, /* Display */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToBool( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToBoolean( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToCommandArgArray( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToCursor( + Display* /* dpy */, + XrmValuePtr /* args */, /* Display */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToDimension( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToDirectoryString( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToDisplay( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToFile( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToFloat( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToFont( + Display* /* dpy */, + XrmValuePtr /* args */, /* Display */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToFontSet( + Display* /* dpy */, + XrmValuePtr /* args */, /* Display, locale */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToFontStruct( + Display* /* dpy */, + XrmValuePtr /* args */, /* Display */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToGravity( + Display* /* dpy */, + XrmValuePtr /* args */, + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToInitialState( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToInt( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToPixel( + Display* /* dpy */, + XrmValuePtr /* args */, /* Screen, Colormap */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +#define XtCvtStringToPosition XtCvtStringToShort + +extern Boolean XtCvtStringToRestartStyle( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToShort( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToTranslationTable( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToUnsignedChar( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtStringToVisual( + Display* /* dpy */, + XrmValuePtr /* args */, /* Screen, depth */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +/* int converters */ + +extern Boolean XtCvtIntToBool( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtIntToBoolean( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtIntToColor( + Display* /* dpy */, + XrmValuePtr /* args */, /* Screen, Colormap */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +#define XtCvtIntToDimension XtCvtIntToShort + +extern Boolean XtCvtIntToFloat( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtIntToFont( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtIntToPixel( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtIntToPixmap( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +#define XtCvtIntToPosition XtCvtIntToShort + +extern Boolean XtCvtIntToShort( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +extern Boolean XtCvtIntToUnsignedChar( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +/* Color converter */ + +extern Boolean XtCvtColorToPixel( + Display* /* dpy */, + XrmValuePtr /* args */, /* none */ + Cardinal* /* num_args */, + XrmValuePtr /* fromVal */, + XrmValuePtr /* toVal */, + XtPointer* /* closure_ret */ +); + +/* Pixel converter */ + +#define XtCvtPixelToColor XtCvtIntToColor + + +_XFUNCPROTOEND + +#endif /*_XtIntrinsic_h*/ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/ThirdParty/X11/Include/X11/IntrinsicI.h b/ThirdParty/X11/Include/X11/IntrinsicI.h new file mode 100644 index 0000000..845ab48 --- /dev/null +++ b/ThirdParty/X11/Include/X11/IntrinsicI.h @@ -0,0 +1,229 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XtintrinsicI_h +#define _XtintrinsicI_h + +#include "Xtos.h" +#include "IntrinsicP.h" +#ifdef WIN32 +#define _WILLWINSOCK_ +#endif +#include <X11/Xos.h> + +#include "Object.h" +#include "RectObj.h" +#include "ObjectP.h" +#include "RectObjP.h" + +#include "ConvertI.h" +#include "TranslateI.h" + +#define RectObjClassFlag 0x02 +#define WidgetClassFlag 0x04 +#define CompositeClassFlag 0x08 +#define ConstraintClassFlag 0x10 +#define ShellClassFlag 0x20 +#define WMShellClassFlag 0x40 +#define TopLevelClassFlag 0x80 + +/* + * The following macros, though very handy, are not suitable for + * IntrinsicP.h as they violate the rule that arguments are to + * be evaluated exactly once. + */ + +#define XtDisplayOfObject(object) \ + (XtIsWidget(object) ? (object)->core.screen->display : \ + _XtIsHookObject(object) ? ((HookObject)(object))->hooks.screen->display : \ + _XtWindowedAncestor(object)->core.screen->display) + +#define XtScreenOfObject(object) \ + (XtIsWidget(object) ? (object)->core.screen : \ + _XtIsHookObject(object) ? ((HookObject)(object))->hooks.screen : \ + _XtWindowedAncestor(object)->core.screen) + +#define XtWindowOfObject(object) \ + ((XtIsWidget(object) ? (object) : _XtWindowedAncestor(object)) \ + ->core.window) + +#define XtIsManaged(object) \ + (XtIsRectObj(object) ? (object)->core.managed : False) + +#define XtIsSensitive(object) \ + (XtIsRectObj(object) ? ((object)->core.sensitive && \ + (object)->core.ancestor_sensitive) : False) + + +/**************************************************************** + * + * Byte utilities + * + ****************************************************************/ + +#define _XBCOPYFUNC _XtBcopy +#include <X11/Xfuncs.h> + +#define XtMemmove(dst, src, size) \ + if ((char *)(dst) != (char *)(src)) { \ + (void) memcpy((char *) (dst), (char *) (src), (int) (size)); \ + } + +#define XtBZero(dst, size) \ + bzero((char *) (dst), (int) (size)) + +#define XtMemcmp(b1, b2, size) \ + memcmp((char *) (b1), (char *) (b2), (int) (size)) + + +/**************************************************************** + * + * Stack cache allocation/free + * + ****************************************************************/ + +#define XtStackAlloc(size, stack_cache_array) \ + ((size) <= sizeof(stack_cache_array) \ + ? (XtPointer)(stack_cache_array) \ + : XtMalloc((unsigned)(size))) + +#define XtStackFree(pointer, stack_cache_array) \ + { if ((pointer) != ((XtPointer)(stack_cache_array))) XtFree(pointer); } + +/*************************************************************** + * + * Filename defines + * + **************************************************************/ + +/* used by XtResolvePathname */ +#ifndef XFILESEARCHPATHDEFAULT +#define XFILESEARCHPATHDEFAULT "/usr/lib/X11/%L/%T/%N%S:/usr/lib/X11/%l/%T/%N%S:/usr/lib/X11/%T/%N%S" +#endif + +/* the following two were both "X Toolkit " prior to R4 */ +#ifndef XTERROR_PREFIX +#define XTERROR_PREFIX "" +#endif + +#ifndef XTWARNING_PREFIX +#define XTWARNING_PREFIX "" +#endif + +#ifndef ERRORDB +#define ERRORDB "/usr/lib/X11/XtErrorDB" +#endif + +_XFUNCPROTOBEGIN + +extern String XtCXtToolkitError; + +extern void _XtAllocError( + String /* alloc_type */ +); + +extern void _XtCompileResourceList( + XtResourceList /* resources */, + Cardinal /* num_resources */ +); + +extern XtGeometryResult _XtMakeGeometryRequest( + Widget /* widget */, + XtWidgetGeometry* /* request */, + XtWidgetGeometry* /* reply_return */, + Boolean* /* clear_rect_obj */ +); + +extern Boolean _XtIsHookObject( + Widget /* widget */ +); + +extern void _XtAddShellToHookObj( + Widget /* widget */ +); + +/* GCManager.c */ +extern void _XtGClistFree(Display *dpy, XtPerDisplay pd); + +/** GeoTattler stuff */ + +#ifdef XT_GEO_TATTLER + +extern void _XtGeoTab (int); +extern void _XtGeoTrace ( + Widget widget, + ... +) _X_ATTRIBUTE_PRINTF(2,3); + +#define CALLGEOTAT(f) f + +#else /* XT_GEO_TATTLER */ + +#define CALLGEOTAT(f) + +#endif /* XT_GEO_TATTLER */ + +#ifndef XTTRACEMEMORY + +extern char* __XtMalloc ( + unsigned /* size */ +); +extern char* __XtCalloc ( + unsigned /* num */, + unsigned /* size */ +); + +#else + +#define __XtMalloc XtMalloc +#define __XtCalloc XtCalloc +#endif + +_XFUNCPROTOEND + +#endif /* _XtintrinsicI_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/ThirdParty/X11/Include/X11/IntrinsicP.h b/ThirdParty/X11/Include/X11/IntrinsicP.h new file mode 100644 index 0000000..f2ded6f --- /dev/null +++ b/ThirdParty/X11/Include/X11/IntrinsicP.h @@ -0,0 +1,329 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XtintrinsicP_h +#define _XtintrinsicP_h + +#include <X11/Intrinsic.h> + +/* + * Field sizes and offsets of XrmResource must match those of XtResource. + * Type long is used instead of XrmQuark here because XrmQuark and String + * are not the same size on all systems. + */ +typedef struct { + long xrm_name; /* Resource name quark */ + long xrm_class; /* Resource class quark */ + long xrm_type; /* Resource representation type quark */ + Cardinal xrm_size; /* Size in bytes of representation */ + int xrm_offset; /* -offset-1 */ + long xrm_default_type; /* Default representation type quark */ + XtPointer xrm_default_addr; /* Default resource address */ +} XrmResource, *XrmResourceList; + +typedef unsigned long XtVersionType; + +#define XT_VERSION 11 +#ifndef XT_REVISION +#define XT_REVISION 6 +#endif +#define XtVersion (XT_VERSION * 1000 + XT_REVISION) +#define XtVersionDontCheck 0 + +typedef void (*XtProc)( + void +); + +typedef void (*XtWidgetClassProc)( + WidgetClass /* class */ +); + +typedef void (*XtWidgetProc)( + Widget /* widget */ +); + +typedef Boolean (*XtAcceptFocusProc)( + Widget /* widget */, + Time* /* time */ +); + +typedef void (*XtArgsProc)( + Widget /* widget */, + ArgList /* args */, + Cardinal* /* num_args */ +); + +typedef void (*XtInitProc)( + Widget /* request */, + Widget /* new */, + ArgList /* args */, + Cardinal* /* num_args */ +); + +typedef Boolean (*XtSetValuesFunc)( + Widget /* old */, + Widget /* request */, + Widget /* new */, + ArgList /* args */, + Cardinal* /* num_args */ +); + +typedef Boolean (*XtArgsFunc)( + Widget /* widget */, + ArgList /* args */, + Cardinal* /* num_args */ +); + +typedef void (*XtAlmostProc)( + Widget /* old */, + Widget /* new */, + XtWidgetGeometry* /* request */, + XtWidgetGeometry* /* reply */ +); + +typedef void (*XtExposeProc)( + Widget /* widget */, + XEvent* /* event */, + Region /* region */ +); + +/* compress_exposure options*/ +#define XtExposeNoCompress ((XtEnum)False) +#define XtExposeCompressSeries ((XtEnum)True) +#define XtExposeCompressMultiple 2 +#define XtExposeCompressMaximal 3 + +/* modifiers */ +#define XtExposeGraphicsExpose 0x10 +#define XtExposeGraphicsExposeMerged 0x20 +#define XtExposeNoExpose 0x40 +#define XtExposeNoRegion 0x80 + +typedef void (*XtRealizeProc)( + Widget /* widget */, + XtValueMask* /* mask */, + XSetWindowAttributes* /* attributes */ +); + +typedef XtGeometryResult (*XtGeometryHandler)( + Widget /* widget */, + XtWidgetGeometry* /* request */, + XtWidgetGeometry* /* reply */ +); + +typedef void (*XtStringProc)( + Widget /* widget */, + String /* str */ +); + +typedef struct { + String name; /* resource name */ + String type; /* representation type name */ + XtArgVal value; /* representation */ + int size; /* size of representation */ +} XtTypedArg, *XtTypedArgList; + +typedef void (*XtAllocateProc)( + WidgetClass /* widget_class */, + Cardinal * /* constraint_size */, + Cardinal * /* more_bytes */, + ArgList /* args */, + Cardinal * /* num_args */, + XtTypedArgList /* typed_args */, + Cardinal * /* num_typed_args */, + Widget * /* widget_return */, + XtPointer * /* more_bytes_return */ +); + +typedef void (*XtDeallocateProc)( + Widget /* widget */, + XtPointer /* more_bytes */ +); + +struct _XtStateRec; /* Forward declare before use for C++ */ + +typedef struct _XtTMRec { + XtTranslations translations; /* private to Translation Manager */ + XtBoundActions proc_table; /* procedure bindings for actions */ + struct _XtStateRec *current_state; /* Translation Manager state ptr */ + unsigned long lastEventTime; +} XtTMRec, *XtTM; + +#include <X11/CoreP.h> +#include <X11/CompositeP.h> +#include <X11/ConstrainP.h> +#include <X11/ObjectP.h> +#include <X11/RectObjP.h> + +#define XtDisplay(widget) DisplayOfScreen((widget)->core.screen) +#define XtScreen(widget) ((widget)->core.screen) +#define XtWindow(widget) ((widget)->core.window) + +#define XtClass(widget) ((widget)->core.widget_class) +#define XtSuperclass(widget) (XtClass(widget)->core_class.superclass) +#define XtIsRealized(object) (XtWindowOfObject(object) != None) +#define XtParent(widget) ((widget)->core.parent) + +#undef XtIsRectObj +extern Boolean XtIsRectObj(Widget); +#define XtIsRectObj(obj) \ + (((Object)(obj))->object.widget_class->core_class.class_inited & 0x02) + +#undef XtIsWidget +extern Boolean XtIsWidget(Widget); +#define XtIsWidget(obj) \ + (((Object)(obj))->object.widget_class->core_class.class_inited & 0x04) + +#undef XtIsComposite +extern Boolean XtIsComposite(Widget); +#define XtIsComposite(obj) \ + (((Object)(obj))->object.widget_class->core_class.class_inited & 0x08) + +#undef XtIsConstraint +extern Boolean XtIsConstraint(Widget); +#define XtIsConstraint(obj) \ + (((Object)(obj))->object.widget_class->core_class.class_inited & 0x10) + +#undef XtIsShell +extern Boolean XtIsShell(Widget); +#define XtIsShell(obj) \ + (((Object)(obj))->object.widget_class->core_class.class_inited & 0x20) + +#undef XtIsWMShell +extern Boolean XtIsWMShell(Widget); +#define XtIsWMShell(obj) \ + (((Object)(obj))->object.widget_class->core_class.class_inited & 0x40) + +#undef XtIsTopLevelShell +extern Boolean XtIsTopLevelShell(Widget); +#define XtIsTopLevelShell(obj) \ + (((Object)(obj))->object.widget_class->core_class.class_inited & 0x80) + +#ifdef DEBUG +#define XtCheckSubclass(w, widget_class_ptr, message) \ + if (!XtIsSubclass(((Widget)(w)), (widget_class_ptr))) { \ + String params[3]; \ + Cardinal num_params = 3; \ + params[0] = ((Widget)(w))->core.widget_class->core_class.class_name;\ + params[1] = (widget_class_ptr)->core_class.class_name; \ + params[2] = (message); \ + XtAppErrorMsg(XtWidgetToApplicationContext((Widget)(w)), \ + "subclassMismatch", "xtCheckSubclass", "XtToolkitError", \ + "Widget class %s found when subclass of %s expected: %s",\ + params, &num_params); \ + } +#else +#define XtCheckSubclass(w, widget_class, message) /* nothing */ +#endif + +_XFUNCPROTOBEGIN + +extern Widget _XtWindowedAncestor( /* internal; implementation-dependent */ + Widget /* object */ +); + +#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(LIBXT_COMPILATION) +__declspec(dllimport) +#else +extern +#endif +void _XtInherit( + void +); + +extern void _XtHandleFocus( + Widget /* widget */, + XtPointer /* client_data */, + XEvent * /* event */, + Boolean * /* cont */); + +extern void XtCreateWindow( + Widget /* widget */, + unsigned int /* window_class */, + Visual* /* visual */, + XtValueMask /* value_mask */, + XSetWindowAttributes* /* attributes */ +); + +extern void XtResizeWidget( + Widget /* widget */, + _XtDimension /* width */, + _XtDimension /* height */, + _XtDimension /* border_width */ +); + +extern void XtMoveWidget( + Widget /* widget */, + _XtPosition /* x */, + _XtPosition /* y */ +); + +extern void XtConfigureWidget( + Widget /* widget */, + _XtPosition /* x */, + _XtPosition /* y */, + _XtDimension /* width */, + _XtDimension /* height */, + _XtDimension /* border_width */ +); + +extern void XtResizeWindow( + Widget /* widget */ +); + +extern void XtProcessLock( + void +); + +extern void XtProcessUnlock( + void +); + +_XFUNCPROTOEND + +#endif /* _XtIntrinsicP_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/ThirdParty/X11/Include/X11/Object.h b/ThirdParty/X11/Include/X11/Object.h new file mode 100644 index 0000000..4be1f39 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Object.h @@ -0,0 +1,63 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XtObject_h +#define _XtObject_h + +_XFUNCPROTOBEGIN + +typedef struct _ObjectRec *Object; +typedef struct _ObjectClassRec *ObjectClass; + +#ifndef VMS +externalref WidgetClass objectClass; +#endif + +_XFUNCPROTOEND + +#endif /* _XtObject_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/ThirdParty/X11/Include/X11/ObjectP.h b/ThirdParty/X11/Include/X11/ObjectP.h new file mode 100644 index 0000000..6e296f7 --- /dev/null +++ b/ThirdParty/X11/Include/X11/ObjectP.h @@ -0,0 +1,141 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _Xt_ObjectP_h_ +#define _Xt_ObjectP_h_ + +#include <X11/Object.h> + +_XFUNCPROTOBEGIN + +/********************************************************** + * Object Instance Data Structures + * + **********************************************************/ +/* these fields match CorePart and can not be changed */ + +typedef struct _ObjectPart { + Widget self; /* pointer to widget itself */ + WidgetClass widget_class; /* pointer to Widget's ClassRec */ + Widget parent; /* parent widget */ + XrmName xrm_name; /* widget resource name quarkified */ + Boolean being_destroyed; /* marked for destroy */ + XtCallbackList destroy_callbacks; /* who to call when widget destroyed */ + XtPointer constraints; /* constraint record */ +} ObjectPart; + +typedef struct _ObjectRec { + ObjectPart object; +} ObjectRec; + +/******************************************************** + * Object Class Data Structures + * + ********************************************************/ +/* these fields match CoreClassPart and can not be changed */ +/* ideally these structures would only contain the fields required; + but because the CoreClassPart cannot be changed at this late date + extraneous fields are necessary to make the field offsets match */ + +typedef struct _ObjectClassPart { + + WidgetClass superclass; /* pointer to superclass ClassRec */ + String class_name; /* widget resource class name */ + Cardinal widget_size; /* size in bytes of widget record */ + XtProc class_initialize; /* class initialization proc */ + XtWidgetClassProc class_part_initialize; /* dynamic initialization */ + XtEnum class_inited; /* has class been initialized? */ + XtInitProc initialize; /* initialize subclass fields */ + XtArgsProc initialize_hook; /* notify that initialize called */ + XtProc obj1; /* NULL */ + XtPointer obj2; /* NULL */ + Cardinal obj3; /* NULL */ + XtResourceList resources; /* resources for subclass fields */ + Cardinal num_resources; /* number of entries in resources */ + XrmClass xrm_class; /* resource class quarkified */ + Boolean obj4; /* NULL */ + XtEnum obj5; /* NULL */ + Boolean obj6; /* NULL */ + Boolean obj7; /* NULL */ + XtWidgetProc destroy; /* free data for subclass pointers */ + XtProc obj8; /* NULL */ + XtProc obj9; /* NULL */ + XtSetValuesFunc set_values; /* set subclass resource values */ + XtArgsFunc set_values_hook; /* notify that set_values called */ + XtProc obj10; /* NULL */ + XtArgsProc get_values_hook; /* notify that get_values called */ + XtProc obj11; /* NULL */ + XtVersionType version; /* version of intrinsics used */ + XtPointer callback_private; /* list of callback offsets */ + String obj12; /* NULL */ + XtProc obj13; /* NULL */ + XtProc obj14; /* NULL */ + XtPointer extension; /* pointer to extension record */ +}ObjectClassPart; + +typedef struct { + XtPointer next_extension; /* 1st 4 required for all extension records */ + XrmQuark record_type; /* NULLQUARK; when on ObjectClassPart */ + long version; /* must be XtObjectExtensionVersion */ + Cardinal record_size; /* sizeof(ObjectClassExtensionRec) */ + XtAllocateProc allocate; + XtDeallocateProc deallocate; +} ObjectClassExtensionRec, *ObjectClassExtension; + +typedef struct _ObjectClassRec { + ObjectClassPart object_class; +} ObjectClassRec; + +externalref ObjectClassRec objectClassRec; + +_XFUNCPROTOEND + +#define XtObjectExtensionVersion 1L +#define XtInheritAllocate ((XtAllocateProc) _XtInherit) +#define XtInheritDeallocate ((XtDeallocateProc) _XtInherit) + +#endif /*_Xt_ObjectP_h_*/ diff --git a/ThirdParty/X11/Include/X11/PM/PM.h b/ThirdParty/X11/Include/X11/PM/PM.h new file mode 100644 index 0000000..c96644c --- /dev/null +++ b/ThirdParty/X11/Include/X11/PM/PM.h @@ -0,0 +1,54 @@ +/* $Xorg: PM.h,v 1.4 2001/02/09 02:05:34 xorgcvs Exp $ */ + +/* +Copyright 1996, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. +*/ + +/* Proxy Management Protocol */ + +#ifndef _PM_H_ +#define _PM_H_ + +#define PM_PROTOCOL_NAME "PROXY_MANAGEMENT" + +#define PM_MAJOR_VERSION 1 +#define PM_MINOR_VERSION 0 + +/* + * PM minor opcodes + */ +#define PM_Error ICE_Error /* == 0 */ +#define PM_GetProxyAddr 1 +#define PM_GetProxyAddrReply 2 +#define PM_StartProxy 3 + +/* + * status return codes for GetProxyAddrReply + */ +#define PM_Unable 0 +#define PM_Success 1 +#define PM_Failure 2 + +#endif /* _PM_H_ */ diff --git a/ThirdParty/X11/Include/X11/PM/PMproto.h b/ThirdParty/X11/Include/X11/PM/PMproto.h new file mode 100644 index 0000000..754e460 --- /dev/null +++ b/ThirdParty/X11/Include/X11/PM/PMproto.h @@ -0,0 +1,74 @@ +/* $Xorg: PMproto.h,v 1.4 2001/02/09 02:05:34 xorgcvs Exp $ */ + +/* +Copyright 1996, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. +*/ + +/* Proxy Management Protocol */ + +#ifndef _PMPROTO_H_ +#define _PMPROTO_H_ + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; /* == 1 */ + CARD16 authLen B16; + CARD32 length B32; + /* STRING proxy-service */ + /* STRING server-address */ + /* STRING host-address */ + /* STRING start-options */ + /* STRING auth-name (if authLen > 0) */ + /* LISTofCARD8 auth-data (if authLen > 0) */ +} pmGetProxyAddrMsg; + +#define sz_pmGetProxyAddrMsg 8 + + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; /* == 2 */ + CARD8 status; + CARD8 unused; + CARD32 length B32; + /* STRING proxy-address */ + /* STRING failure-reason */ +} pmGetProxyAddrReplyMsg; + +#define sz_pmGetProxyAddrReplyMsg 8 + + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; /* == 3 */ + CARD16 unused B16; + CARD32 length B32; + /* STRING proxy-service */ +} pmStartProxyMsg; + +#define sz_pmStartProxyMsg 8 + + +#endif /* _PMPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/PassivGraI.h b/ThirdParty/X11/Include/X11/PassivGraI.h new file mode 100644 index 0000000..6b8cb52 --- /dev/null +++ b/ThirdParty/X11/Include/X11/PassivGraI.h @@ -0,0 +1,185 @@ +/******************************************************** + +Copyright 1988 by Hewlett-Packard Company +Copyright 1987, 1988, 1989 by Digital Equipment Corporation, Maynard + +Permission to use, copy, modify, and distribute this software +and its documentation for any purpose and without fee is hereby +granted, provided that the above copyright notice appear in all +copies and that both that copyright notice and this permission +notice appear in supporting documentation, and that the names of +Hewlett-Packard or Digital not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +********************************************************/ + +/* + +Copyright 1987, 1988, 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _PDI_h_ +#define _PDI_h_ + + +#define KEYBOARD TRUE +#define POINTER FALSE + +_XFUNCPROTOBEGIN + +typedef enum { + XtNoServerGrab, + XtPassiveServerGrab, + XtActiveServerGrab, + XtPseudoPassiveServerGrab, + XtPseudoActiveServerGrab +}XtServerGrabType; + +typedef struct _XtServerGrabRec { + struct _XtServerGrabRec *next; + Widget widget; + unsigned int ownerEvents:1; + unsigned int pointerMode:1; + unsigned int keyboardMode:1; + unsigned int hasExt:1; + unsigned int confineToIsWidgetWin:1; + KeyCode keybut; + unsigned short modifiers; + unsigned short eventMask; +} XtServerGrabRec, *XtServerGrabPtr; + +typedef struct _XtGrabExtRec { + Mask *pKeyButMask; + Mask *pModifiersMask; + Window confineTo; + Cursor cursor; +} XtServerGrabExtRec, *XtServerGrabExtPtr; + +#define GRABEXT(p) ((XtServerGrabExtPtr)((p)+1)) + +typedef struct _XtDeviceRec{ + XtServerGrabRec grab; /* need copy in order to protect + during grab */ + XtServerGrabType grabType; +}XtDeviceRec, *XtDevice; + +#define XtMyAncestor 0 +#define XtMyDescendant 1 +#define XtMyCousin 2 +#define XtMySelf 3 +#define XtUnrelated 4 +typedef char XtGeneology; /* do not use an enum makes PerWidgetInput larger */ + +typedef struct { + Widget focusKid; + XtServerGrabPtr keyList, ptrList; + Widget queryEventDescendant; + unsigned int map_handler_added:1; + unsigned int realize_handler_added:1; + unsigned int active_handler_added:1; + unsigned int haveFocus:1; + XtGeneology focalPoint; +}XtPerWidgetInputRec, *XtPerWidgetInput; + +typedef struct XtPerDisplayInputRec{ + XtGrabList grabList; + XtDeviceRec keyboard, pointer; + KeyCode activatingKey; + Widget *trace; + int traceDepth, traceMax; + Widget focusWidget; +}XtPerDisplayInputRec, *XtPerDisplayInput; + +#define IsServerGrab(g) ((g == XtPassiveServerGrab) ||\ + (g == XtActiveServerGrab)) + +#define IsAnyGrab(g) ((g == XtPassiveServerGrab) ||\ + (g == XtActiveServerGrab) ||\ + (g == XtPseudoPassiveServerGrab)) + +#define IsEitherPassiveGrab(g) ((g == XtPassiveServerGrab) ||\ + (g == XtPseudoPassiveServerGrab)) + +#define IsPseudoGrab(g) ((g == XtPseudoPassiveServerGrab)) + +extern void _XtDestroyServerGrabs( + Widget /* w */, + XtPointer /* pwi */, /*XtPerWidgetInput*/ + XtPointer /* call_data */ +); + +extern XtPerWidgetInput _XtGetPerWidgetInput( + Widget /* widget */, + _XtBoolean /* create */ +); + +extern XtServerGrabPtr _XtCheckServerGrabsOnWidget( + XEvent* /* event */, + Widget /* widget */, + _XtBoolean /* isKeyboard */ +); + +/* +extern XtGrabList* _XtGetGrabList( XtPerDisplayInput ); +*/ + +#define _XtGetGrabList(pdi) (&(pdi)->grabList) + +extern void _XtFreePerWidgetInput( + Widget /* w */, + XtPerWidgetInput /* pwi */ +); + +extern Widget _XtProcessKeyboardEvent( + XKeyEvent* /* event */, + Widget /* widget */, + XtPerDisplayInput /* pdi */ +); + +extern Widget _XtProcessPointerEvent( + XButtonEvent* /* event */, + Widget /* widget */, + XtPerDisplayInput /* pdi */ +); + +extern void _XtRegisterPassiveGrabs( + Widget /* widget */ +); + +extern void _XtClearAncestorCache( + Widget /* widget */ +); + +_XFUNCPROTOEND + +#endif /* _PDI_h_ */ diff --git a/ThirdParty/X11/Include/X11/RectObj.h b/ThirdParty/X11/Include/X11/RectObj.h new file mode 100644 index 0000000..fba883a --- /dev/null +++ b/ThirdParty/X11/Include/X11/RectObj.h @@ -0,0 +1,63 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XtRect_h +#define _XtRect_h + +_XFUNCPROTOBEGIN + +typedef struct _RectObjRec *RectObj; +typedef struct _RectObjClassRec *RectObjClass; + +#ifndef VMS +externalref WidgetClass rectObjClass; +#endif + +_XFUNCPROTOEND + +#endif /* _XtRect_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/ThirdParty/X11/Include/X11/RectObjP.h b/ThirdParty/X11/Include/X11/RectObjP.h new file mode 100644 index 0000000..bb5a7d3 --- /dev/null +++ b/ThirdParty/X11/Include/X11/RectObjP.h @@ -0,0 +1,131 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _Xt_RectObjP_h_ +#define _Xt_RectObjP_h_ + +#include <X11/RectObj.h> +#include <X11/ObjectP.h> + +_XFUNCPROTOBEGIN + +/********************************************************** + * Rectangle Object Instance Data Structures + * + **********************************************************/ +/* these fields match CorePart and can not be changed */ + +typedef struct _RectObjPart { + Position x, y; /* rectangle position */ + Dimension width, height; /* rectangle dimensions */ + Dimension border_width; /* rectangle border width */ + Boolean managed; /* is widget geometry managed? */ + Boolean sensitive; /* is widget sensitive to user events*/ + Boolean ancestor_sensitive; /* are all ancestors sensitive? */ +}RectObjPart; + +typedef struct _RectObjRec { + ObjectPart object; + RectObjPart rectangle; +} RectObjRec; + + + +/******************************************************** + * Rectangle Object Class Data Structures + * + ********************************************************/ +/* these fields match CoreClassPart and can not be changed */ +/* ideally these structures would only contain the fields required; + but because the CoreClassPart cannot be changed at this late date + extraneous fields are necessary to make the field offsets match */ + +typedef struct _RectObjClassPart { + + WidgetClass superclass; /* pointer to superclass ClassRec */ + String class_name; /* widget resource class name */ + Cardinal widget_size; /* size in bytes of widget record */ + XtProc class_initialize; /* class initialization proc */ + XtWidgetClassProc class_part_initialize; /* dynamic initialization */ + XtEnum class_inited; /* has class been initialized? */ + XtInitProc initialize; /* initialize subclass fields */ + XtArgsProc initialize_hook; /* notify that initialize called */ + XtProc rect1; /* NULL */ + XtPointer rect2; /* NULL */ + Cardinal rect3; /* NULL */ + XtResourceList resources; /* resources for subclass fields */ + Cardinal num_resources; /* number of entries in resources */ + XrmClass xrm_class; /* resource class quarkified */ + Boolean rect4; /* NULL */ + XtEnum rect5; /* NULL */ + Boolean rect6; /* NULL */ + Boolean rect7; /* NULL */ + XtWidgetProc destroy; /* free data for subclass pointers */ + XtWidgetProc resize; /* geom manager changed widget size */ + XtExposeProc expose; /* rediplay rectangle */ + XtSetValuesFunc set_values; /* set subclass resource values */ + XtArgsFunc set_values_hook; /* notify that set_values called */ + XtAlmostProc set_values_almost; /* set values almost for geometry */ + XtArgsProc get_values_hook; /* notify that get_values called */ + XtProc rect9; /* NULL */ + XtVersionType version; /* version of intrinsics used */ + XtPointer callback_private; /* list of callback offsets */ + String rect10; /* NULL */ + XtGeometryHandler query_geometry; /* return preferred geometry */ + XtProc rect11; /* NULL */ + XtPointer extension; /* pointer to extension record */ +} RectObjClassPart; + +typedef struct _RectObjClassRec { + RectObjClassPart rect_class; +} RectObjClassRec; + +externalref RectObjClassRec rectObjClassRec; + +_XFUNCPROTOEND + +#endif /*_Xt_RectObjP_h_*/ diff --git a/ThirdParty/X11/Include/X11/ResConfigP.h b/ThirdParty/X11/Include/X11/ResConfigP.h new file mode 100644 index 0000000..1e1d85a --- /dev/null +++ b/ThirdParty/X11/Include/X11/ResConfigP.h @@ -0,0 +1,76 @@ +/* + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ +/***************************************************************** + +(C) COPYRIGHT International Business Machines Corp. 1992,1997 + All Rights Reserved + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE IBM CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING, +BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of the IBM Corporation shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from the IBM +Corporation. + +******************************************************************/ + +#ifndef _RESCONFIGP_H +#define _RESCONFIGP_H + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +/* + * Atom names for resource configuration management customization tool. + */ +#define RCM_DATA "Custom Data" +#define RCM_INIT "Custom Init" + +extern void _XtResourceConfigurationEH( + Widget /* w */, + XtPointer /* client_data */, + XEvent * /* event */ +); + +_XFUNCPROTOEND + +#endif diff --git a/ThirdParty/X11/Include/X11/ResourceI.h b/ThirdParty/X11/Include/X11/ResourceI.h new file mode 100644 index 0000000..4533f06 --- /dev/null +++ b/ThirdParty/X11/Include/X11/ResourceI.h @@ -0,0 +1,100 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +/**************************************************************** + * + * Resources + * + ****************************************************************/ + +#ifndef _XtresourceI_h +#define _XtresourceI_h + +#define StringToQuark(string) XrmStringToQuark(string) +#define StringToName(string) XrmStringToName(string) +#define StringToClass(string) XrmStringToClass(string) + +_XFUNCPROTOBEGIN + +extern void _XtDependencies( + XtResourceList * /* class_resp */, + Cardinal * /* class_num_resp */, + XrmResourceList * /* super_res */, + Cardinal /* super_num_res */, + Cardinal /* super_widget_size */); + +extern void _XtResourceDependencies( + WidgetClass /* wc */ +); + +extern void _XtConstraintResDependencies( + ConstraintWidgetClass /* wc */ +); + +extern XtCacheRef* _XtGetResources( + Widget /* w */, + ArgList /* args */, + Cardinal /* num_args */, + XtTypedArgList /* typed_args */, + Cardinal* /* num_typed_args */ +); + +extern void _XtCopyFromParent( + Widget /* widget */, + int /* offset */, + XrmValue* /* value */ +); + +extern void _XtCopyToArg(char *src, XtArgVal *dst, unsigned int size); +extern void _XtCopyFromArg(XtArgVal src, char *dst, unsigned int size); +extern XrmResourceList* _XtCreateIndirectionTable(XtResourceList resources, + Cardinal num_resources); +extern void _XtResourceListInitialize(void); + +_XFUNCPROTOEND + +#endif /* _XtresourceI_h */ diff --git a/ThirdParty/X11/Include/X11/SM/SM.h b/ThirdParty/X11/Include/X11/SM/SM.h new file mode 100644 index 0000000..1af5ae8 --- /dev/null +++ b/ThirdParty/X11/Include/X11/SM/SM.h @@ -0,0 +1,128 @@ +/* + +Copyright 1993, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * Author: Ralph Mor, X Consortium + */ + +#ifndef _SM_H_ +#define _SM_H_ + +/* + * Protocol Version + */ + +#define SmProtoMajor 1 +#define SmProtoMinor 0 + + +/* + * Interact Style + */ + +#define SmInteractStyleNone 0 +#define SmInteractStyleErrors 1 +#define SmInteractStyleAny 2 + + +/* + * Dialog Type + */ + +#define SmDialogError 0 +#define SmDialogNormal 1 + + +/* + * Save Type + */ + +#define SmSaveGlobal 0 +#define SmSaveLocal 1 +#define SmSaveBoth 2 + + +/* + * Restart Style Hints + */ + +#define SmRestartIfRunning 0 +#define SmRestartAnyway 1 +#define SmRestartImmediately 2 +#define SmRestartNever 3 + + +/* + * Property names + */ + +#define SmCloneCommand "CloneCommand" +#define SmCurrentDirectory "CurrentDirectory" +#define SmDiscardCommand "DiscardCommand" +#define SmEnvironment "Environment" +#define SmProcessID "ProcessID" +#define SmProgram "Program" +#define SmRestartCommand "RestartCommand" +#define SmResignCommand "ResignCommand" +#define SmRestartStyleHint "RestartStyleHint" +#define SmShutdownCommand "ShutdownCommand" +#define SmUserID "UserID" + + +/* + * Property types + */ + +#define SmCARD8 "CARD8" +#define SmARRAY8 "ARRAY8" +#define SmLISTofARRAY8 "LISTofARRAY8" + + +/* + * SM minor opcodes + */ + +#define SM_Error 0 +#define SM_RegisterClient 1 +#define SM_RegisterClientReply 2 +#define SM_SaveYourself 3 +#define SM_SaveYourselfRequest 4 +#define SM_InteractRequest 5 +#define SM_Interact 6 +#define SM_InteractDone 7 +#define SM_SaveYourselfDone 8 +#define SM_Die 9 +#define SM_ShutdownCancelled 10 +#define SM_CloseConnection 11 +#define SM_SetProperties 12 +#define SM_DeleteProperties 13 +#define SM_GetProperties 14 +#define SM_PropertiesReply 15 +#define SM_SaveYourselfPhase2Request 16 +#define SM_SaveYourselfPhase2 17 +#define SM_SaveComplete 18 + +#endif /* _SM_H_ */ diff --git a/ThirdParty/X11/Include/X11/SM/SMlib.h b/ThirdParty/X11/Include/X11/SM/SMlib.h new file mode 100644 index 0000000..b88ddc0 --- /dev/null +++ b/ThirdParty/X11/Include/X11/SM/SMlib.h @@ -0,0 +1,543 @@ +/* + +Copyright 1993, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * Author: Ralph Mor, X Consortium + */ + +#ifndef _SMLIB_H_ +#define _SMLIB_H_ + +#include <X11/SM/SM.h> +#include <X11/ICE/ICElib.h> + + +/* + * Generic SM pointer + */ + +typedef IcePointer SmPointer; + + +/* + * Connection objects. Defined in SMlibint.h + */ + +typedef struct _SmcConn *SmcConn; +typedef struct _SmsConn *SmsConn; + + +/* + * Session Management property + */ + +typedef struct { + int length; /* length (in bytes) of the value */ + SmPointer value; /* the value */ +} SmPropValue; + +typedef struct { + char *name; /* name of property */ + char *type; /* type of property */ + int num_vals; /* number of values in property */ + SmPropValue *vals; /* the values */ +} SmProp; + + + +/* + * SmcCloseConnection status return + */ + +typedef enum { + SmcClosedNow, + SmcClosedASAP, + SmcConnectionInUse +} SmcCloseStatus; + + + +/* + * Client callbacks + */ + +typedef void (*SmcSaveYourselfProc) ( + SmcConn /* smcConn */, + SmPointer /* clientData */, + int /* saveType */, + Bool /* shutdown */, + int /* interactStyle */, + Bool /* fast */ +); + +typedef void (*SmcSaveYourselfPhase2Proc) ( + SmcConn /* smcConn */, + SmPointer /* clientData */ +); + +typedef void (*SmcInteractProc) ( + SmcConn /* smcConn */, + SmPointer /* clientData */ +); + +typedef void (*SmcDieProc) ( + SmcConn /* smcConn */, + SmPointer /* clientData */ +); + +typedef void (*SmcShutdownCancelledProc) ( + SmcConn /* smcConn */, + SmPointer /* clientData */ +); + +typedef void (*SmcSaveCompleteProc) ( + SmcConn /* smcConn */, + SmPointer /* clientData */ +); + +typedef void (*SmcPropReplyProc) ( + SmcConn /* smcConn */, + SmPointer /* clientData */, + int /* numProps */, + SmProp ** /* props */ +); + + +/* + * Callbacks set up at SmcOpenConnection time + */ + +typedef struct { + + struct { + SmcSaveYourselfProc callback; + SmPointer client_data; + } save_yourself; + + struct { + SmcDieProc callback; + SmPointer client_data; + } die; + + struct { + SmcSaveCompleteProc callback; + SmPointer client_data; + } save_complete; + + struct { + SmcShutdownCancelledProc callback; + SmPointer client_data; + } shutdown_cancelled; + +} SmcCallbacks; + +#define SmcSaveYourselfProcMask (1L << 0) +#define SmcDieProcMask (1L << 1) +#define SmcSaveCompleteProcMask (1L << 2) +#define SmcShutdownCancelledProcMask (1L << 3) + + + +/* + * Session manager callbacks + */ + +typedef Status (*SmsRegisterClientProc) ( + SmsConn /* smsConn */, + SmPointer /* managerData */, + char * /* previousId */ +); + +typedef void (*SmsInteractRequestProc) ( + SmsConn /* smsConn */, + SmPointer /* managerData */, + int /* dialogType */ +); + +typedef void (*SmsInteractDoneProc) ( + SmsConn /* smsConn */, + SmPointer /* managerData */, + Bool /* cancelShutdown */ +); + +typedef void (*SmsSaveYourselfRequestProc) ( + SmsConn /* smsConn */, + SmPointer /* managerData */, + int /* saveType */, + Bool /* shutdown */, + int /* interactStyle */, + Bool /* fast */, + Bool /* global */ +); + +typedef void (*SmsSaveYourselfPhase2RequestProc) ( + SmsConn /* smsConn */, + SmPointer /* managerData */ +); + +typedef void (*SmsSaveYourselfDoneProc) ( + SmsConn /* smsConn */, + SmPointer /* managerData */, + Bool /* success */ +); + +typedef void (*SmsCloseConnectionProc) ( + SmsConn /* smsConn */, + SmPointer /* managerData */, + int /* count */, + char ** /* reasonMsgs */ +); + +typedef void (*SmsSetPropertiesProc) ( + SmsConn /* smsConn */, + SmPointer /* managerData */, + int /* numProps */, + SmProp ** /* props */ +); + +typedef void (*SmsDeletePropertiesProc) ( + SmsConn /* smsConn */, + SmPointer /* managerData */, + int /* numProps */, + char ** /* propNames */ +); + +typedef void (*SmsGetPropertiesProc) ( + SmsConn /* smsConn */, + SmPointer /* managerData */ +); + + +/* + * Callbacks set up by a session manager when a new client connects. + */ + +typedef struct { + + struct { + SmsRegisterClientProc callback; + SmPointer manager_data; + } register_client; + + struct { + SmsInteractRequestProc callback; + SmPointer manager_data; + } interact_request; + + struct { + SmsInteractDoneProc callback; + SmPointer manager_data; + } interact_done; + + struct { + SmsSaveYourselfRequestProc callback; + SmPointer manager_data; + } save_yourself_request; + + struct { + SmsSaveYourselfPhase2RequestProc callback; + SmPointer manager_data; + } save_yourself_phase2_request; + + struct { + SmsSaveYourselfDoneProc callback; + SmPointer manager_data; + } save_yourself_done; + + struct { + SmsCloseConnectionProc callback; + SmPointer manager_data; + } close_connection; + + struct { + SmsSetPropertiesProc callback; + SmPointer manager_data; + } set_properties; + + struct { + SmsDeletePropertiesProc callback; + SmPointer manager_data; + } delete_properties; + + struct { + SmsGetPropertiesProc callback; + SmPointer manager_data; + } get_properties; + +} SmsCallbacks; + + +#define SmsRegisterClientProcMask (1L << 0) +#define SmsInteractRequestProcMask (1L << 1) +#define SmsInteractDoneProcMask (1L << 2) +#define SmsSaveYourselfRequestProcMask (1L << 3) +#define SmsSaveYourselfP2RequestProcMask (1L << 4) +#define SmsSaveYourselfDoneProcMask (1L << 5) +#define SmsCloseConnectionProcMask (1L << 6) +#define SmsSetPropertiesProcMask (1L << 7) +#define SmsDeletePropertiesProcMask (1L << 8) +#define SmsGetPropertiesProcMask (1L << 9) + + + +typedef Status (*SmsNewClientProc) ( + SmsConn /* smsConn */, + SmPointer /* managerData */, + unsigned long * /* maskRet */, + SmsCallbacks * /* callbacksRet */, + char ** /* failureReasonRet */ +); + + + +/* + * Error handlers + */ + +typedef void (*SmcErrorHandler) ( + SmcConn /* smcConn */, + Bool /* swap */, + int /* offendingMinorOpcode */, + unsigned long /* offendingSequence */, + int /* errorClass */, + int /* severity */, + SmPointer /* values */ +); + +typedef void (*SmsErrorHandler) ( + SmsConn /* smsConn */, + Bool /* swap */, + int /* offendingMinorOpcode */, + unsigned long /* offendingSequence */, + int /* errorClass */, + int /* severity */, + SmPointer /* values */ +); + + + +/* + * Function Prototypes + */ + +_XFUNCPROTOBEGIN + +extern SmcConn SmcOpenConnection ( + char * /* networkIdsList */, + SmPointer /* context */, + int /* xsmpMajorRev */, + int /* xsmpMinorRev */, + unsigned long /* mask */, + SmcCallbacks * /* callbacks */, + const char * /* previousId */, + char ** /* clientIdRet */, + int /* errorLength */, + char * /* errorStringRet */ +); + +extern SmcCloseStatus SmcCloseConnection ( + SmcConn /* smcConn */, + int /* count */, + char ** /* reasonMsgs */ +); + +extern void SmcModifyCallbacks ( + SmcConn /* smcConn */, + unsigned long /* mask */, + SmcCallbacks * /* callbacks */ +); + +extern void SmcSetProperties ( + SmcConn /* smcConn */, + int /* numProps */, + SmProp ** /* props */ +); + +extern void SmcDeleteProperties ( + SmcConn /* smcConn */, + int /* numProps */, + char ** /* propNames */ +); + +extern Status SmcGetProperties ( + SmcConn /* smcConn */, + SmcPropReplyProc /* propReplyProc */, + SmPointer /* clientData */ +); + +extern Status SmcInteractRequest ( + SmcConn /* smcConn */, + int /* dialogType */, + SmcInteractProc /* interactProc */, + SmPointer /* clientData */ +); + +extern void SmcInteractDone ( + SmcConn /* smcConn */, + Bool /* cancelShutdown */ +); + +extern void SmcRequestSaveYourself ( + SmcConn /* smcConn */, + int /* saveType */, + Bool /* shutdown */, + int /* interactStyle */, + Bool /* fast */, + Bool /* global */ +); + +extern Status SmcRequestSaveYourselfPhase2 ( + SmcConn /* smcConn */, + SmcSaveYourselfPhase2Proc /* saveYourselfPhase2Proc */, + SmPointer /* clientData */ +); + +extern void SmcSaveYourselfDone ( + SmcConn /* smcConn */, + Bool /* success */ +); + +extern int SmcProtocolVersion ( + SmcConn /* smcConn */ +); + +extern int SmcProtocolRevision ( + SmcConn /* smcConn */ +); + +extern char *SmcVendor ( + SmcConn /* smcConn */ +); + +extern char *SmcRelease ( + SmcConn /* smcConn */ +); + +extern char *SmcClientID ( + SmcConn /* smcConn */ +); + +extern IceConn SmcGetIceConnection ( + SmcConn /* smcConn */ +); + +extern Status SmsInitialize ( + const char * /* vendor */, + const char * /* release */, + SmsNewClientProc /* newClientProc */, + SmPointer /* managerData */, + IceHostBasedAuthProc /* hostBasedAuthProc */, + int /* errorLength */, + char * /* errorStringRet */ +); + +extern char *SmsClientHostName ( + SmsConn /* smsConn */ +); + +extern char *SmsGenerateClientID ( + SmsConn /* smsConn */ +); + +extern Status SmsRegisterClientReply ( + SmsConn /* smsConn */, + char * /* clientId */ +); + +extern void SmsSaveYourself ( + SmsConn /* smsConn */, + int /* saveType */, + Bool /* shutdown */, + int /* interactStyle */, + Bool /* fast */ +); + +extern void SmsSaveYourselfPhase2 ( + SmsConn /* smsConn */ +); + +extern void SmsInteract ( + SmsConn /* smsConn */ +); + +extern void SmsDie ( + SmsConn /* smsConn */ +); + +extern void SmsSaveComplete ( + SmsConn /* smsConn */ +); + +extern void SmsShutdownCancelled ( + SmsConn /* smsConn */ +); + +extern void SmsReturnProperties ( + SmsConn /* smsConn */, + int /* numProps */, + SmProp ** /* props */ +); + +extern void SmsCleanUp ( + SmsConn /* smsConn */ +); + +extern int SmsProtocolVersion ( + SmsConn /* smsConn */ +); + +extern int SmsProtocolRevision ( + SmsConn /* smsConn */ +); + +extern char *SmsClientID ( + SmsConn /* smsConn */ +); + +extern IceConn SmsGetIceConnection ( + SmsConn /* smsConn */ +); + +extern SmcErrorHandler SmcSetErrorHandler ( + SmcErrorHandler /* handler */ +); + +extern SmsErrorHandler SmsSetErrorHandler ( + SmsErrorHandler /* handler */ +); + +extern void SmFreeProperty ( + SmProp * /* prop */ +); + +extern void SmFreeReasons ( + int /* count */, + char ** /* reasonMsgs */ +); + +_XFUNCPROTOEND + +#endif /* _SMLIB_H_ */ diff --git a/ThirdParty/X11/Include/X11/SM/SMproto.h b/ThirdParty/X11/Include/X11/SM/SMproto.h new file mode 100644 index 0000000..228e0ce --- /dev/null +++ b/ThirdParty/X11/Include/X11/SM/SMproto.h @@ -0,0 +1,206 @@ +/* + +Copyright 1993, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * Author: Ralph Mor, X Consortium + */ + +#ifndef _SMPROTO_H_ +#define _SMPROTO_H_ + +#include <X11/Xmd.h> + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 unused[2]; + CARD32 length B32; + /* n ARRAY8 previousId */ +} smRegisterClientMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 unused[2]; + CARD32 length B32; + /* n ARRAY8 clientId */ +} smRegisterClientReplyMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 unused1[2]; + CARD32 length B32; + CARD8 saveType; + CARD8 shutdown; + CARD8 interactStyle; + CARD8 fast; + CARD8 unused2[4]; +} smSaveYourselfMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 unused1[2]; + CARD32 length B32; + CARD8 saveType; + CARD8 shutdown; + CARD8 interactStyle; + CARD8 fast; + CARD8 global; + CARD8 unused2[3]; +} smSaveYourselfRequestMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 dialogType; + CARD8 unused; + CARD32 length B32; +} smInteractRequestMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 unused[2]; + CARD32 length B32; +} smInteractMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 cancelShutdown; + CARD8 unused; + CARD32 length B32; +} smInteractDoneMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 success; + CARD8 unused; + CARD32 length B32; +} smSaveYourselfDoneMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 unused[2]; + CARD32 length B32; +} smDieMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 unused[2]; + CARD32 length B32; +} smShutdownCancelledMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 unused[2]; + CARD32 length B32; + /* b LISTofARRAY8 reasons */ +} smCloseConnectionMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 unused[2]; + CARD32 length B32; + /* a LISTofPROPERTY properties */ +} smSetPropertiesMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 unused[2]; + CARD32 length B32; + /* a LISTofARRAY8 property names */ +} smDeletePropertiesMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 unused[2]; + CARD32 length B32; +} smGetPropertiesMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 unused[2]; + CARD32 length B32; + /* a LISTofPROPERTY properties */ +} smPropertiesReplyMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 unused[2]; + CARD32 length B32; +} smSaveYourselfPhase2RequestMsg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 unused[2]; + CARD32 length B32; +} smSaveYourselfPhase2Msg; + +typedef struct { + CARD8 majorOpcode; + CARD8 minorOpcode; + CARD8 unused[2]; + CARD32 length B32; +} smSaveCompleteMsg; + + +/* + * SIZEOF values. These better be multiples of 8. + */ + +#define sz_smRegisterClientMsg 8 +#define sz_smRegisterClientReplyMsg 8 +#define sz_smSaveYourselfMsg 16 +#define sz_smSaveYourselfRequestMsg 16 +#define sz_smInteractRequestMsg 8 +#define sz_smInteractMsg 8 +#define sz_smInteractDoneMsg 8 +#define sz_smSaveYourselfDoneMsg 8 +#define sz_smDieMsg 8 +#define sz_smShutdownCancelledMsg 8 +#define sz_smCloseConnectionMsg 8 +#define sz_smSetPropertiesMsg 8 +#define sz_smDeletePropertiesMsg 8 +#define sz_smGetPropertiesMsg 8 +#define sz_smPropertiesReplyMsg 8 +#define sz_smSaveYourselfPhase2RequestMsg 8 +#define sz_smSaveYourselfPhase2Msg 8 +#define sz_smSaveCompleteMsg 8 + +#endif /* _SMPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/SelectionI.h b/ThirdParty/X11/Include/X11/SelectionI.h new file mode 100644 index 0000000..7f39b87 --- /dev/null +++ b/ThirdParty/X11/Include/X11/SelectionI.h @@ -0,0 +1,168 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XtselectionI_h +#define _XtselectionI_h + +#include "Intrinsic.h" + +typedef struct _RequestRec *Request; +typedef struct _SelectRec *Select; + +typedef struct _RequestRec { + Select ctx; /* logical owner */ + Widget widget; /* widget actually receiving Selection events */ + Window requestor; + Atom property; + Atom target; + Atom type; + int format; + XtPointer value; + unsigned long bytelength; + unsigned long offset; + XtIntervalId timeout; + XSelectionRequestEvent event; /* for XtGetSelectionRequest */ + Boolean allSent; +} RequestRec; + +typedef struct { + Atom prop; + Boolean avail; +} SelectionPropRec, *SelectionProp; + +typedef struct { + Display *dpy; + Atom incr_atom, indirect_atom, timestamp_atom; + int propCount; + SelectionProp list; +} PropListRec, *PropList; + +typedef struct _SelectRec { + Atom selection; /* constant */ + Display *dpy; /* constant */ + Widget widget; + Time time; + unsigned long serial; + XtConvertSelectionProc convert; + XtLoseSelectionProc loses; + XtSelectionDoneProc notify; + XtCancelConvertSelectionProc owner_cancel; + XtPointer owner_closure; + PropList prop_list; + Request req; /* state for local non-incr xfer */ + int ref_count; /* of active transfers */ + unsigned int incremental:1; + unsigned int free_when_done:1; + unsigned int was_disowned:1; +} SelectRec; + +typedef struct _ParamRec { + Atom selection; + Atom param; +} ParamRec, *Param; + +typedef struct _ParamInfoRec { + unsigned int count; + Param paramlist; +} ParamInfoRec, *ParamInfo; + +typedef struct _QueuedRequestRec { + Atom selection; + Atom target; + Atom param; + XtSelectionCallbackProc callback; + XtPointer closure; + Time time; + Boolean incremental; +} QueuedRequestRec, *QueuedRequest; + +typedef struct _QueuedRequestInfoRec { + int count; + Atom *selections; + QueuedRequest *requests; +} QueuedRequestInfoRec, *QueuedRequestInfo; + +typedef struct { + XtSelectionCallbackProc *callbacks; + XtPointer *req_closure; + Atom property; + Atom *target; + Atom type; + int format; + char *value; + int bytelength; + int offset; + XtIntervalId timeout; + XtEventHandler proc; + Widget widget; + Time time; + Select ctx; + Boolean *incremental; + int current; +} CallBackInfoRec, *CallBackInfo; + +typedef struct { + Atom target; + Atom property; +} IndirectPair; + +#define IndirectPairWordSize 2 + +typedef struct { + int active_transfer_count; +} RequestWindowRec; + +#define MAX_SELECTION_INCR(dpy) (((65536 < XMaxRequestSize(dpy)) ? \ + (65536 << 2) : (XMaxRequestSize(dpy) << 2))-100) + +#define MATCH_SELECT(event, info) ((event->time == info->time) && \ + (event->requestor == XtWindow(info->widget)) && \ + (event->selection == info->ctx->selection) && \ + (event->target == *info->target)) + +#endif /* _XtselectionI_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/ThirdParty/X11/Include/X11/Shell.h b/ThirdParty/X11/Include/X11/Shell.h new file mode 100644 index 0000000..97e605a --- /dev/null +++ b/ThirdParty/X11/Include/X11/Shell.h @@ -0,0 +1,562 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XtShell_h +#define _XtShell_h + +#include <X11/SM/SMlib.h> +#include <X11/Intrinsic.h> + +/*********************************************************************** + * + * Shell Widget + * + ***********************************************************************/ +/* + * Shell-specific resources names, classes, and a representation type. + */ + +#ifndef XTSTRINGDEFINES +#define _XtShell_h_Const const +#endif + +/* $Xorg: makestrs.c,v 1.6 2001/02/09 02:03:17 xorgcvs Exp $ */ +/* This file is automatically generated. */ +/* Default ABI version -- Do not edit */ +#ifdef XTSTRINGDEFINES +#define XtNiconName "iconName" +#define XtCIconName "IconName" +#define XtNiconPixmap "iconPixmap" +#define XtCIconPixmap "IconPixmap" +#define XtNiconWindow "iconWindow" +#define XtCIconWindow "IconWindow" +#define XtNiconMask "iconMask" +#define XtCIconMask "IconMask" +#define XtNwindowGroup "windowGroup" +#define XtCWindowGroup "WindowGroup" +#define XtNvisual "visual" +#define XtCVisual "Visual" +#define XtNtitleEncoding "titleEncoding" +#define XtCTitleEncoding "TitleEncoding" +#define XtNsaveUnder "saveUnder" +#define XtCSaveUnder "SaveUnder" +#define XtNtransient "transient" +#define XtCTransient "Transient" +#define XtNoverrideRedirect "overrideRedirect" +#define XtCOverrideRedirect "OverrideRedirect" +#define XtNtransientFor "transientFor" +#define XtCTransientFor "TransientFor" +#define XtNiconNameEncoding "iconNameEncoding" +#define XtCIconNameEncoding "IconNameEncoding" +#define XtNallowShellResize "allowShellResize" +#define XtCAllowShellResize "AllowShellResize" +#define XtNcreatePopupChildProc "createPopupChildProc" +#define XtCCreatePopupChildProc "CreatePopupChildProc" +#define XtNtitle "title" +#define XtCTitle "Title" +#ifndef XtRAtom +#define XtRAtom "Atom" +#endif +#define XtNargc "argc" +#define XtCArgc "Argc" +#define XtNargv "argv" +#define XtCArgv "Argv" +#define XtNiconX "iconX" +#define XtCIconX "IconX" +#define XtNiconY "iconY" +#define XtCIconY "IconY" +#define XtNinput "input" +#define XtCInput "Input" +#define XtNiconic "iconic" +#define XtCIconic "Iconic" +#define XtNinitialState "initialState" +#define XtCInitialState "InitialState" +#define XtNgeometry "geometry" +#define XtCGeometry "Geometry" +#define XtNbaseWidth "baseWidth" +#define XtCBaseWidth "BaseWidth" +#define XtNbaseHeight "baseHeight" +#define XtCBaseHeight "BaseHeight" +#define XtNwinGravity "winGravity" +#define XtCWinGravity "WinGravity" +#define XtNminWidth "minWidth" +#define XtCMinWidth "MinWidth" +#define XtNminHeight "minHeight" +#define XtCMinHeight "MinHeight" +#define XtNmaxWidth "maxWidth" +#define XtCMaxWidth "MaxWidth" +#define XtNmaxHeight "maxHeight" +#define XtCMaxHeight "MaxHeight" +#define XtNwidthInc "widthInc" +#define XtCWidthInc "WidthInc" +#define XtNheightInc "heightInc" +#define XtCHeightInc "HeightInc" +#define XtNminAspectY "minAspectY" +#define XtCMinAspectY "MinAspectY" +#define XtNmaxAspectY "maxAspectY" +#define XtCMaxAspectY "MaxAspectY" +#define XtNminAspectX "minAspectX" +#define XtCMinAspectX "MinAspectX" +#define XtNmaxAspectX "maxAspectX" +#define XtCMaxAspectX "MaxAspectX" +#define XtNwmTimeout "wmTimeout" +#define XtCWmTimeout "WmTimeout" +#define XtNwaitForWm "waitforwm" +#define XtCWaitForWm "Waitforwm" +#define XtNwaitforwm "waitforwm" +#define XtCWaitforwm "Waitforwm" +#define XtNclientLeader "clientLeader" +#define XtCClientLeader "ClientLeader" +#define XtNwindowRole "windowRole" +#define XtCWindowRole "WindowRole" +#define XtNurgency "urgency" +#define XtCUrgency "Urgency" +#define XtNcancelCallback "cancelCallback" +#define XtNcloneCommand "cloneCommand" +#define XtCCloneCommand "CloneCommand" +#define XtNconnection "connection" +#define XtCConnection "Connection" +#define XtNcurrentDirectory "currentDirectory" +#define XtCCurrentDirectory "CurrentDirectory" +#define XtNdieCallback "dieCallback" +#define XtNdiscardCommand "discardCommand" +#define XtCDiscardCommand "DiscardCommand" +#define XtNenvironment "environment" +#define XtCEnvironment "Environment" +#define XtNinteractCallback "interactCallback" +#define XtNjoinSession "joinSession" +#define XtCJoinSession "JoinSession" +#define XtNprogramPath "programPath" +#define XtCProgramPath "ProgramPath" +#define XtNresignCommand "resignCommand" +#define XtCResignCommand "ResignCommand" +#define XtNrestartCommand "restartCommand" +#define XtCRestartCommand "RestartCommand" +#define XtNrestartStyle "restartStyle" +#define XtCRestartStyle "RestartStyle" +#define XtNsaveCallback "saveCallback" +#define XtNsaveCompleteCallback "saveCompleteCallback" +#define XtNsessionID "sessionID" +#define XtCSessionID "SessionID" +#define XtNshutdownCommand "shutdownCommand" +#define XtCShutdownCommand "ShutdownCommand" +#define XtNerrorCallback "errorCallback" +#else +extern _XtShell_h_Const char XtShellStrings[]; +#ifndef XtNiconName +#define XtNiconName ((char*)&XtShellStrings[0]) +#endif +#ifndef XtCIconName +#define XtCIconName ((char*)&XtShellStrings[9]) +#endif +#ifndef XtNiconPixmap +#define XtNiconPixmap ((char*)&XtShellStrings[18]) +#endif +#ifndef XtCIconPixmap +#define XtCIconPixmap ((char*)&XtShellStrings[29]) +#endif +#ifndef XtNiconWindow +#define XtNiconWindow ((char*)&XtShellStrings[40]) +#endif +#ifndef XtCIconWindow +#define XtCIconWindow ((char*)&XtShellStrings[51]) +#endif +#ifndef XtNiconMask +#define XtNiconMask ((char*)&XtShellStrings[62]) +#endif +#ifndef XtCIconMask +#define XtCIconMask ((char*)&XtShellStrings[71]) +#endif +#ifndef XtNwindowGroup +#define XtNwindowGroup ((char*)&XtShellStrings[80]) +#endif +#ifndef XtCWindowGroup +#define XtCWindowGroup ((char*)&XtShellStrings[92]) +#endif +#ifndef XtNvisual +#define XtNvisual ((char*)&XtShellStrings[104]) +#endif +#ifndef XtCVisual +#define XtCVisual ((char*)&XtShellStrings[111]) +#endif +#ifndef XtNtitleEncoding +#define XtNtitleEncoding ((char*)&XtShellStrings[118]) +#endif +#ifndef XtCTitleEncoding +#define XtCTitleEncoding ((char*)&XtShellStrings[132]) +#endif +#ifndef XtNsaveUnder +#define XtNsaveUnder ((char*)&XtShellStrings[146]) +#endif +#ifndef XtCSaveUnder +#define XtCSaveUnder ((char*)&XtShellStrings[156]) +#endif +#ifndef XtNtransient +#define XtNtransient ((char*)&XtShellStrings[166]) +#endif +#ifndef XtCTransient +#define XtCTransient ((char*)&XtShellStrings[176]) +#endif +#ifndef XtNoverrideRedirect +#define XtNoverrideRedirect ((char*)&XtShellStrings[186]) +#endif +#ifndef XtCOverrideRedirect +#define XtCOverrideRedirect ((char*)&XtShellStrings[203]) +#endif +#ifndef XtNtransientFor +#define XtNtransientFor ((char*)&XtShellStrings[220]) +#endif +#ifndef XtCTransientFor +#define XtCTransientFor ((char*)&XtShellStrings[233]) +#endif +#ifndef XtNiconNameEncoding +#define XtNiconNameEncoding ((char*)&XtShellStrings[246]) +#endif +#ifndef XtCIconNameEncoding +#define XtCIconNameEncoding ((char*)&XtShellStrings[263]) +#endif +#ifndef XtNallowShellResize +#define XtNallowShellResize ((char*)&XtShellStrings[280]) +#endif +#ifndef XtCAllowShellResize +#define XtCAllowShellResize ((char*)&XtShellStrings[297]) +#endif +#ifndef XtNcreatePopupChildProc +#define XtNcreatePopupChildProc ((char*)&XtShellStrings[314]) +#endif +#ifndef XtCCreatePopupChildProc +#define XtCCreatePopupChildProc ((char*)&XtShellStrings[335]) +#endif +#ifndef XtNtitle +#define XtNtitle ((char*)&XtShellStrings[356]) +#endif +#ifndef XtCTitle +#define XtCTitle ((char*)&XtShellStrings[362]) +#endif +#ifndef XtRAtom +#define XtRAtom ((char*)&XtShellStrings[368]) +#endif +#ifndef XtNargc +#define XtNargc ((char*)&XtShellStrings[373]) +#endif +#ifndef XtCArgc +#define XtCArgc ((char*)&XtShellStrings[378]) +#endif +#ifndef XtNargv +#define XtNargv ((char*)&XtShellStrings[383]) +#endif +#ifndef XtCArgv +#define XtCArgv ((char*)&XtShellStrings[388]) +#endif +#ifndef XtNiconX +#define XtNiconX ((char*)&XtShellStrings[393]) +#endif +#ifndef XtCIconX +#define XtCIconX ((char*)&XtShellStrings[399]) +#endif +#ifndef XtNiconY +#define XtNiconY ((char*)&XtShellStrings[405]) +#endif +#ifndef XtCIconY +#define XtCIconY ((char*)&XtShellStrings[411]) +#endif +#ifndef XtNinput +#define XtNinput ((char*)&XtShellStrings[417]) +#endif +#ifndef XtCInput +#define XtCInput ((char*)&XtShellStrings[423]) +#endif +#ifndef XtNiconic +#define XtNiconic ((char*)&XtShellStrings[429]) +#endif +#ifndef XtCIconic +#define XtCIconic ((char*)&XtShellStrings[436]) +#endif +#ifndef XtNinitialState +#define XtNinitialState ((char*)&XtShellStrings[443]) +#endif +#ifndef XtCInitialState +#define XtCInitialState ((char*)&XtShellStrings[456]) +#endif +#ifndef XtNgeometry +#define XtNgeometry ((char*)&XtShellStrings[469]) +#endif +#ifndef XtCGeometry +#define XtCGeometry ((char*)&XtShellStrings[478]) +#endif +#ifndef XtNbaseWidth +#define XtNbaseWidth ((char*)&XtShellStrings[487]) +#endif +#ifndef XtCBaseWidth +#define XtCBaseWidth ((char*)&XtShellStrings[497]) +#endif +#ifndef XtNbaseHeight +#define XtNbaseHeight ((char*)&XtShellStrings[507]) +#endif +#ifndef XtCBaseHeight +#define XtCBaseHeight ((char*)&XtShellStrings[518]) +#endif +#ifndef XtNwinGravity +#define XtNwinGravity ((char*)&XtShellStrings[529]) +#endif +#ifndef XtCWinGravity +#define XtCWinGravity ((char*)&XtShellStrings[540]) +#endif +#ifndef XtNminWidth +#define XtNminWidth ((char*)&XtShellStrings[551]) +#endif +#ifndef XtCMinWidth +#define XtCMinWidth ((char*)&XtShellStrings[560]) +#endif +#ifndef XtNminHeight +#define XtNminHeight ((char*)&XtShellStrings[569]) +#endif +#ifndef XtCMinHeight +#define XtCMinHeight ((char*)&XtShellStrings[579]) +#endif +#ifndef XtNmaxWidth +#define XtNmaxWidth ((char*)&XtShellStrings[589]) +#endif +#ifndef XtCMaxWidth +#define XtCMaxWidth ((char*)&XtShellStrings[598]) +#endif +#ifndef XtNmaxHeight +#define XtNmaxHeight ((char*)&XtShellStrings[607]) +#endif +#ifndef XtCMaxHeight +#define XtCMaxHeight ((char*)&XtShellStrings[617]) +#endif +#ifndef XtNwidthInc +#define XtNwidthInc ((char*)&XtShellStrings[627]) +#endif +#ifndef XtCWidthInc +#define XtCWidthInc ((char*)&XtShellStrings[636]) +#endif +#ifndef XtNheightInc +#define XtNheightInc ((char*)&XtShellStrings[645]) +#endif +#ifndef XtCHeightInc +#define XtCHeightInc ((char*)&XtShellStrings[655]) +#endif +#ifndef XtNminAspectY +#define XtNminAspectY ((char*)&XtShellStrings[665]) +#endif +#ifndef XtCMinAspectY +#define XtCMinAspectY ((char*)&XtShellStrings[676]) +#endif +#ifndef XtNmaxAspectY +#define XtNmaxAspectY ((char*)&XtShellStrings[687]) +#endif +#ifndef XtCMaxAspectY +#define XtCMaxAspectY ((char*)&XtShellStrings[698]) +#endif +#ifndef XtNminAspectX +#define XtNminAspectX ((char*)&XtShellStrings[709]) +#endif +#ifndef XtCMinAspectX +#define XtCMinAspectX ((char*)&XtShellStrings[720]) +#endif +#ifndef XtNmaxAspectX +#define XtNmaxAspectX ((char*)&XtShellStrings[731]) +#endif +#ifndef XtCMaxAspectX +#define XtCMaxAspectX ((char*)&XtShellStrings[742]) +#endif +#ifndef XtNwmTimeout +#define XtNwmTimeout ((char*)&XtShellStrings[753]) +#endif +#ifndef XtCWmTimeout +#define XtCWmTimeout ((char*)&XtShellStrings[763]) +#endif +#ifndef XtNwaitForWm +#define XtNwaitForWm ((char*)&XtShellStrings[773]) +#endif +#ifndef XtCWaitForWm +#define XtCWaitForWm ((char*)&XtShellStrings[783]) +#endif +#ifndef XtNwaitforwm +#define XtNwaitforwm ((char*)&XtShellStrings[793]) +#endif +#ifndef XtCWaitforwm +#define XtCWaitforwm ((char*)&XtShellStrings[803]) +#endif +#ifndef XtNclientLeader +#define XtNclientLeader ((char*)&XtShellStrings[813]) +#endif +#ifndef XtCClientLeader +#define XtCClientLeader ((char*)&XtShellStrings[826]) +#endif +#ifndef XtNwindowRole +#define XtNwindowRole ((char*)&XtShellStrings[839]) +#endif +#ifndef XtCWindowRole +#define XtCWindowRole ((char*)&XtShellStrings[850]) +#endif +#ifndef XtNurgency +#define XtNurgency ((char*)&XtShellStrings[861]) +#endif +#ifndef XtCUrgency +#define XtCUrgency ((char*)&XtShellStrings[869]) +#endif +#ifndef XtNcancelCallback +#define XtNcancelCallback ((char*)&XtShellStrings[877]) +#endif +#ifndef XtNcloneCommand +#define XtNcloneCommand ((char*)&XtShellStrings[892]) +#endif +#ifndef XtCCloneCommand +#define XtCCloneCommand ((char*)&XtShellStrings[905]) +#endif +#ifndef XtNconnection +#define XtNconnection ((char*)&XtShellStrings[918]) +#endif +#ifndef XtCConnection +#define XtCConnection ((char*)&XtShellStrings[929]) +#endif +#ifndef XtNcurrentDirectory +#define XtNcurrentDirectory ((char*)&XtShellStrings[940]) +#endif +#ifndef XtCCurrentDirectory +#define XtCCurrentDirectory ((char*)&XtShellStrings[957]) +#endif +#ifndef XtNdieCallback +#define XtNdieCallback ((char*)&XtShellStrings[974]) +#endif +#ifndef XtNdiscardCommand +#define XtNdiscardCommand ((char*)&XtShellStrings[986]) +#endif +#ifndef XtCDiscardCommand +#define XtCDiscardCommand ((char*)&XtShellStrings[1001]) +#endif +#ifndef XtNenvironment +#define XtNenvironment ((char*)&XtShellStrings[1016]) +#endif +#ifndef XtCEnvironment +#define XtCEnvironment ((char*)&XtShellStrings[1028]) +#endif +#ifndef XtNinteractCallback +#define XtNinteractCallback ((char*)&XtShellStrings[1040]) +#endif +#ifndef XtNjoinSession +#define XtNjoinSession ((char*)&XtShellStrings[1057]) +#endif +#ifndef XtCJoinSession +#define XtCJoinSession ((char*)&XtShellStrings[1069]) +#endif +#ifndef XtNprogramPath +#define XtNprogramPath ((char*)&XtShellStrings[1081]) +#endif +#ifndef XtCProgramPath +#define XtCProgramPath ((char*)&XtShellStrings[1093]) +#endif +#ifndef XtNresignCommand +#define XtNresignCommand ((char*)&XtShellStrings[1105]) +#endif +#ifndef XtCResignCommand +#define XtCResignCommand ((char*)&XtShellStrings[1119]) +#endif +#ifndef XtNrestartCommand +#define XtNrestartCommand ((char*)&XtShellStrings[1133]) +#endif +#ifndef XtCRestartCommand +#define XtCRestartCommand ((char*)&XtShellStrings[1148]) +#endif +#ifndef XtNrestartStyle +#define XtNrestartStyle ((char*)&XtShellStrings[1163]) +#endif +#ifndef XtCRestartStyle +#define XtCRestartStyle ((char*)&XtShellStrings[1176]) +#endif +#ifndef XtNsaveCallback +#define XtNsaveCallback ((char*)&XtShellStrings[1189]) +#endif +#ifndef XtNsaveCompleteCallback +#define XtNsaveCompleteCallback ((char*)&XtShellStrings[1202]) +#endif +#ifndef XtNsessionID +#define XtNsessionID ((char*)&XtShellStrings[1223]) +#endif +#ifndef XtCSessionID +#define XtCSessionID ((char*)&XtShellStrings[1233]) +#endif +#ifndef XtNshutdownCommand +#define XtNshutdownCommand ((char*)&XtShellStrings[1243]) +#endif +#ifndef XtCShutdownCommand +#define XtCShutdownCommand ((char*)&XtShellStrings[1259]) +#endif +#ifndef XtNerrorCallback +#define XtNerrorCallback ((char*)&XtShellStrings[1275]) +#endif +#endif /* XTSTRINGDEFINES */ + +#ifndef XTSTRINGDEFINES +#undef _XtShell_h_Const +#endif + +/* Class record constants */ + +typedef struct _ShellClassRec *ShellWidgetClass; +typedef struct _OverrideShellClassRec *OverrideShellWidgetClass; +typedef struct _WMShellClassRec *WMShellWidgetClass; +typedef struct _TransientShellClassRec *TransientShellWidgetClass; +typedef struct _TopLevelShellClassRec *TopLevelShellWidgetClass; +typedef struct _ApplicationShellClassRec *ApplicationShellWidgetClass; +typedef struct _SessionShellClassRec *SessionShellWidgetClass; + +#ifndef SHELL +externalref WidgetClass shellWidgetClass; +externalref WidgetClass overrideShellWidgetClass; +externalref WidgetClass wmShellWidgetClass; +externalref WidgetClass transientShellWidgetClass; +externalref WidgetClass topLevelShellWidgetClass; +externalref WidgetClass applicationShellWidgetClass; +externalref WidgetClass sessionShellWidgetClass; +#endif + +#endif /* _XtShell_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/ThirdParty/X11/Include/X11/ShellI.h b/ThirdParty/X11/Include/X11/ShellI.h new file mode 100644 index 0000000..c1ee0b1 --- /dev/null +++ b/ThirdParty/X11/Include/X11/ShellI.h @@ -0,0 +1,10 @@ +#ifndef _XtShellInternal_h +#define _XtShellInternal_h + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +extern void _XtShellGetCoordinates(Widget widget, Position *x, Position *y); + +#endif /* _XtShellInternal_h */ diff --git a/ThirdParty/X11/Include/X11/ShellP.h b/ThirdParty/X11/Include/X11/ShellP.h new file mode 100644 index 0000000..51ac3a0 --- /dev/null +++ b/ThirdParty/X11/Include/X11/ShellP.h @@ -0,0 +1,434 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +/* + * ShellP.h - Private definitions for Shell widget + * + * Author: Paul Asente + * Digital Equipment Corporation + * Western Software Laboratory + * Date: Thu Dec 3, 1987 + */ + +#ifndef _XtShellPrivate_h +#define _XtShellPrivate_h + +#include <X11/Shell.h> + +/* ***** + * ***** VendorP.h is included later on; it needs fields defined in the first + * ***** part of this header file + * ***** + */ + +_XFUNCPROTOBEGIN + +/*********************************************************************** + * + * Shell Widget Private Data + * + ***********************************************************************/ + +/* New fields for the Shell widget class record */ + +typedef struct { + XtPointer extension; /* pointer to extension record */ +} ShellClassPart; + +typedef struct { + XtPointer next_extension; /* 1st 4 mandated for all extension records */ + XrmQuark record_type; /* NULLQUARK; on ShellClassPart */ + long version; /* must be XtShellExtensionVersion */ + Cardinal record_size; /* sizeof(ShellClassExtensionRec) */ + XtGeometryHandler root_geometry_manager; +} ShellClassExtensionRec, *ShellClassExtension; + +#define XtShellExtensionVersion 1L +#define XtInheritRootGeometryManager ((XtGeometryHandler)_XtInherit) + +typedef struct _ShellClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ShellClassPart shell_class; +} ShellClassRec; + +externalref ShellClassRec shellClassRec; + +/* New fields for the shell widget */ + +typedef struct { + char *geometry; + XtCreatePopupChildProc create_popup_child_proc; + XtGrabKind grab_kind; + Boolean spring_loaded; + Boolean popped_up; + Boolean allow_shell_resize; + Boolean client_specified; /* re-using old name */ +#define _XtShellPositionValid ((Boolean)(1<<0)) +#define _XtShellNotReparented ((Boolean)(1<<1)) +#define _XtShellPPositionOK ((Boolean)(1<<2)) +#define _XtShellGeometryParsed ((Boolean)(1<<3)) + Boolean save_under; + Boolean override_redirect; + + XtCallbackList popup_callback; + XtCallbackList popdown_callback; + Visual* visual; +} ShellPart; + +typedef struct { + CorePart core; + CompositePart composite; + ShellPart shell; +} ShellRec, *ShellWidget; + +/*********************************************************************** + * + * OverrideShell Widget Private Data + * + ***********************************************************************/ + +/* New fields for the OverrideShell widget class record */ + +typedef struct { + XtPointer extension; /* pointer to extension record */ +} OverrideShellClassPart; + +typedef struct _OverrideShellClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ShellClassPart shell_class; + OverrideShellClassPart override_shell_class; +} OverrideShellClassRec; + +externalref OverrideShellClassRec overrideShellClassRec; + +/* No new fields for the override shell widget */ + +typedef struct {int frabjous;} OverrideShellPart; + +typedef struct { + CorePart core; + CompositePart composite; + ShellPart shell; + OverrideShellPart override; +} OverrideShellRec, *OverrideShellWidget; + +/*********************************************************************** + * + * WMShell Widget Private Data + * + ***********************************************************************/ + +/* New fields for the WMShell widget class record */ + +typedef struct { + XtPointer extension; /* pointer to extension record */ +} WMShellClassPart; + +typedef struct _WMShellClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ShellClassPart shell_class; + WMShellClassPart wm_shell_class; +} WMShellClassRec; + +externalref WMShellClassRec wmShellClassRec; + +/* New fields for the WM shell widget */ + +typedef struct { + char *title; + int wm_timeout; + Boolean wait_for_wm; + Boolean transient; + Boolean urgency; + Widget client_leader; + String window_role; + struct _OldXSizeHints { /* pre-R4 Xlib structure */ + long flags; + int x, y; + int width, height; + int min_width, min_height; + int max_width, max_height; + int width_inc, height_inc; + struct { + int x; + int y; + } min_aspect, max_aspect; + } size_hints; + XWMHints wm_hints; + int base_width, base_height; + int win_gravity; + Atom title_encoding; +} WMShellPart; + +typedef struct { + CorePart core; + CompositePart composite; + ShellPart shell; + WMShellPart wm; +} WMShellRec, *WMShellWidget; + +_XFUNCPROTOEND + +#include <X11/VendorP.h> + +_XFUNCPROTOBEGIN + +/*********************************************************************** + * + * TransientShell Widget Private Data + * + ***********************************************************************/ + +/* New fields for the TransientShell widget class record */ + +typedef struct { + XtPointer extension; /* pointer to extension record */ +} TransientShellClassPart; + +typedef struct _TransientShellClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ShellClassPart shell_class; + WMShellClassPart wm_shell_class; + VendorShellClassPart vendor_shell_class; + TransientShellClassPart transient_shell_class; +} TransientShellClassRec; + +externalref TransientShellClassRec transientShellClassRec; + +/* New fields for the transient shell widget */ + +typedef struct { + Widget transient_for; +} TransientShellPart; + +typedef struct { + CorePart core; + CompositePart composite; + ShellPart shell; + WMShellPart wm; + VendorShellPart vendor; + TransientShellPart transient; +} TransientShellRec, *TransientShellWidget; + +/*********************************************************************** + * + * TopLevelShell Widget Private Data + * + ***********************************************************************/ + +/* New fields for the TopLevelShell widget class record */ + +typedef struct { + XtPointer extension; /* pointer to extension record */ +} TopLevelShellClassPart; + +typedef struct _TopLevelShellClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ShellClassPart shell_class; + WMShellClassPart wm_shell_class; + VendorShellClassPart vendor_shell_class; + TopLevelShellClassPart top_level_shell_class; +} TopLevelShellClassRec; + +externalref TopLevelShellClassRec topLevelShellClassRec; + +/* New fields for the top level shell widget */ + +typedef struct { + char *icon_name; + Boolean iconic; + Atom icon_name_encoding; +} TopLevelShellPart; + +typedef struct { + CorePart core; + CompositePart composite; + ShellPart shell; + WMShellPart wm; + VendorShellPart vendor; + TopLevelShellPart topLevel; +} TopLevelShellRec, *TopLevelShellWidget; + +/*********************************************************************** + * + * ApplicationShell Widget Private Data + * + ***********************************************************************/ + +/* New fields for the ApplicationShell widget class record */ + +typedef struct { + XtPointer extension; /* pointer to extension record */ +} ApplicationShellClassPart; + +typedef struct _ApplicationShellClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ShellClassPart shell_class; + WMShellClassPart wm_shell_class; + VendorShellClassPart vendor_shell_class; + TopLevelShellClassPart top_level_shell_class; + ApplicationShellClassPart application_shell_class; +} ApplicationShellClassRec; + +externalref ApplicationShellClassRec applicationShellClassRec; + +/* New fields for the application shell widget */ + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + char *c_class; +#else + char *class; +#endif + XrmClass xrm_class; + int argc; + char **argv; +} ApplicationShellPart; + +typedef struct { + CorePart core; + CompositePart composite; + ShellPart shell; + WMShellPart wm; + VendorShellPart vendor; + TopLevelShellPart topLevel; + ApplicationShellPart application; +} ApplicationShellRec, *ApplicationShellWidget; + +/*********************************************************************** + * + * SessionShell Widget Private Data + * + ***********************************************************************/ + +/* New fields for the SessionShell widget class record */ + +typedef struct { + XtPointer extension; /* pointer to extension record */ +} SessionShellClassPart; + +typedef struct _SessionShellClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ShellClassPart shell_class; + WMShellClassPart wm_shell_class; + VendorShellClassPart vendor_shell_class; + TopLevelShellClassPart top_level_shell_class; + ApplicationShellClassPart application_shell_class; + SessionShellClassPart session_shell_class; +} SessionShellClassRec; + +externalref SessionShellClassRec sessionShellClassRec; + +typedef struct _XtSaveYourselfRec *XtSaveYourself; /* implementation-private */ + +/* New fields for the session shell widget */ + +typedef struct { + SmcConn connection; + String session_id; + String* restart_command; + String* clone_command; + String* discard_command; + String* resign_command; + String* shutdown_command; + String* environment; + String current_dir; + String program_path; + unsigned char restart_style; + unsigned char checkpoint_state; + Boolean join_session; + XtCallbackList save_callbacks; + XtCallbackList interact_callbacks; + XtCallbackList cancel_callbacks; + XtCallbackList save_complete_callbacks; + XtCallbackList die_callbacks; + XtCallbackList error_callbacks; + XtSaveYourself save; + XtInputId input_id; + XtPointer ses20; + XtPointer ses19; + XtPointer ses18; + XtPointer ses17; + XtPointer ses16; + XtPointer ses15; + XtPointer ses14; + XtPointer ses13; + XtPointer ses12; + XtPointer ses11; + XtPointer ses10; + XtPointer ses9; + XtPointer ses8; + XtPointer ses7; + XtPointer ses6; + XtPointer ses5; + XtPointer ses4; + XtPointer ses3; + XtPointer ses2; + XtPointer ses1; +} SessionShellPart; + +typedef struct { + CorePart core; + CompositePart composite; + ShellPart shell; + WMShellPart wm; + VendorShellPart vendor; + TopLevelShellPart topLevel; + ApplicationShellPart application; + SessionShellPart session; +} SessionShellRec, *SessionShellWidget; + +_XFUNCPROTOEND + +#endif /* _XtShellPrivate_h */ diff --git a/ThirdParty/X11/Include/X11/StringDefs.h b/ThirdParty/X11/Include/X11/StringDefs.h new file mode 100644 index 0000000..569506b --- /dev/null +++ b/ThirdParty/X11/Include/X11/StringDefs.h @@ -0,0 +1,1085 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XtStringDefs_h_ +#define _XtStringDefs_h_ + +#ifndef XTSTRINGDEFINES +#define _XtStringDefs_h_Const const +#endif + +/* $Xorg: makestrs.c,v 1.6 2001/02/09 02:03:17 xorgcvs Exp $ */ +/* This file is automatically generated. */ +/* Default ABI version -- Do not edit */ +#ifdef XTSTRINGDEFINES +#define XtNaccelerators "accelerators" +#define XtNallowHoriz "allowHoriz" +#define XtNallowVert "allowVert" +#define XtNancestorSensitive "ancestorSensitive" +#define XtNbackground "background" +#define XtNbackgroundPixmap "backgroundPixmap" +#define XtNbitmap "bitmap" +#define XtNborderColor "borderColor" +#define XtNborder "borderColor" +#define XtNborderPixmap "borderPixmap" +#define XtNborderWidth "borderWidth" +#define XtNcallback "callback" +#define XtNchildren "children" +#define XtNcolormap "colormap" +#define XtNdepth "depth" +#define XtNdestroyCallback "destroyCallback" +#define XtNeditType "editType" +#define XtNfile "file" +#define XtNfont "font" +#define XtNforceBars "forceBars" +#define XtNforeground "foreground" +#define XtNfunction "function" +#define XtNheight "height" +#define XtNhighlight "highlight" +#define XtNhSpace "hSpace" +#define XtNindex "index" +#define XtNinitialResourcesPersistent "initialResourcesPersistent" +#define XtNinnerHeight "innerHeight" +#define XtNinnerWidth "innerWidth" +#define XtNinnerWindow "innerWindow" +#define XtNinsertPosition "insertPosition" +#define XtNinternalHeight "internalHeight" +#define XtNinternalWidth "internalWidth" +#define XtNjumpProc "jumpProc" +#define XtNjustify "justify" +#define XtNknobHeight "knobHeight" +#define XtNknobIndent "knobIndent" +#define XtNknobPixel "knobPixel" +#define XtNknobWidth "knobWidth" +#define XtNlabel "label" +#define XtNlength "length" +#define XtNlowerRight "lowerRight" +#define XtNmappedWhenManaged "mappedWhenManaged" +#define XtNmenuEntry "menuEntry" +#define XtNname "name" +#define XtNnotify "notify" +#define XtNnumChildren "numChildren" +#define XtNorientation "orientation" +#define XtNparameter "parameter" +#define XtNpixmap "pixmap" +#define XtNpopupCallback "popupCallback" +#define XtNpopdownCallback "popdownCallback" +#define XtNresize "resize" +#define XtNreverseVideo "reverseVideo" +#define XtNscreen "screen" +#define XtNscrollProc "scrollProc" +#define XtNscrollDCursor "scrollDCursor" +#define XtNscrollHCursor "scrollHCursor" +#define XtNscrollLCursor "scrollLCursor" +#define XtNscrollRCursor "scrollRCursor" +#define XtNscrollUCursor "scrollUCursor" +#define XtNscrollVCursor "scrollVCursor" +#define XtNselection "selection" +#define XtNselectionArray "selectionArray" +#define XtNsensitive "sensitive" +#define XtNshown "shown" +#define XtNspace "space" +#define XtNstring "string" +#define XtNtextOptions "textOptions" +#define XtNtextSink "textSink" +#define XtNtextSource "textSource" +#define XtNthickness "thickness" +#define XtNthumb "thumb" +#define XtNthumbProc "thumbProc" +#define XtNtop "top" +#define XtNtranslations "translations" +#define XtNunrealizeCallback "unrealizeCallback" +#define XtNupdate "update" +#define XtNuseBottom "useBottom" +#define XtNuseRight "useRight" +#define XtNvalue "value" +#define XtNvSpace "vSpace" +#define XtNwidth "width" +#define XtNwindow "window" +#define XtNx "x" +#define XtNy "y" +#define XtCAccelerators "Accelerators" +#define XtCBackground "Background" +#define XtCBitmap "Bitmap" +#define XtCBoolean "Boolean" +#define XtCBorderColor "BorderColor" +#define XtCBorderWidth "BorderWidth" +#define XtCCallback "Callback" +#define XtCColormap "Colormap" +#define XtCColor "Color" +#define XtCCursor "Cursor" +#define XtCDepth "Depth" +#define XtCEditType "EditType" +#define XtCEventBindings "EventBindings" +#define XtCFile "File" +#define XtCFont "Font" +#define XtCForeground "Foreground" +#define XtCFraction "Fraction" +#define XtCFunction "Function" +#define XtCHeight "Height" +#define XtCHSpace "HSpace" +#define XtCIndex "Index" +#define XtCInitialResourcesPersistent "InitialResourcesPersistent" +#define XtCInsertPosition "InsertPosition" +#define XtCInterval "Interval" +#define XtCJustify "Justify" +#define XtCKnobIndent "KnobIndent" +#define XtCKnobPixel "KnobPixel" +#define XtCLabel "Label" +#define XtCLength "Length" +#define XtCMappedWhenManaged "MappedWhenManaged" +#define XtCMargin "Margin" +#define XtCMenuEntry "MenuEntry" +#define XtCNotify "Notify" +#define XtCOrientation "Orientation" +#define XtCParameter "Parameter" +#define XtCPixmap "Pixmap" +#define XtCPosition "Position" +#define XtCReadOnly "ReadOnly" +#define XtCResize "Resize" +#define XtCReverseVideo "ReverseVideo" +#define XtCScreen "Screen" +#define XtCScrollProc "ScrollProc" +#define XtCScrollDCursor "ScrollDCursor" +#define XtCScrollHCursor "ScrollHCursor" +#define XtCScrollLCursor "ScrollLCursor" +#define XtCScrollRCursor "ScrollRCursor" +#define XtCScrollUCursor "ScrollUCursor" +#define XtCScrollVCursor "ScrollVCursor" +#define XtCSelection "Selection" +#define XtCSensitive "Sensitive" +#define XtCSelectionArray "SelectionArray" +#define XtCSpace "Space" +#define XtCString "String" +#define XtCTextOptions "TextOptions" +#define XtCTextPosition "TextPosition" +#define XtCTextSink "TextSink" +#define XtCTextSource "TextSource" +#define XtCThickness "Thickness" +#define XtCThumb "Thumb" +#define XtCTranslations "Translations" +#define XtCValue "Value" +#define XtCVSpace "VSpace" +#define XtCWidth "Width" +#define XtCWindow "Window" +#define XtCX "X" +#define XtCY "Y" +#define XtRAcceleratorTable "AcceleratorTable" +#ifndef XtRAtom +#define XtRAtom "Atom" +#endif +#define XtRBitmap "Bitmap" +#define XtRBool "Bool" +#define XtRBoolean "Boolean" +#define XtRCallback "Callback" +#define XtRCallProc "CallProc" +#define XtRCardinal "Cardinal" +#define XtRColor "Color" +#define XtRColormap "Colormap" +#define XtRCursor "Cursor" +#define XtRDimension "Dimension" +#define XtRDisplay "Display" +#define XtREditMode "EditMode" +#define XtREnum "Enum" +#define XtRFile "File" +#define XtRFloat "Float" +#define XtRFont "Font" +#define XtRFontStruct "FontStruct" +#define XtRFunction "Function" +#define XtRGeometry "Geometry" +#define XtRImmediate "Immediate" +#define XtRInitialState "InitialState" +#define XtRInt "Int" +#define XtRJustify "Justify" +#define XtRLongBoolean "Bool" +#define XtRObject "Object" +#define XtROrientation "Orientation" +#define XtRPixel "Pixel" +#define XtRPixmap "Pixmap" +#define XtRPointer "Pointer" +#define XtRPosition "Position" +#define XtRScreen "Screen" +#define XtRShort "Short" +#define XtRString "String" +#define XtRStringArray "StringArray" +#define XtRStringTable "StringTable" +#define XtRUnsignedChar "UnsignedChar" +#define XtRTranslationTable "TranslationTable" +#define XtRVisual "Visual" +#define XtRWidget "Widget" +#define XtRWidgetClass "WidgetClass" +#define XtRWidgetList "WidgetList" +#define XtRWindow "Window" +#define XtEoff "off" +#define XtEfalse "false" +#define XtEno "no" +#define XtEon "on" +#define XtEtrue "true" +#define XtEyes "yes" +#define XtEvertical "vertical" +#define XtEhorizontal "horizontal" +#define XtEtextRead "read" +#define XtEtextAppend "append" +#define XtEtextEdit "edit" +#define XtExtdefaultbackground "xtdefaultbackground" +#define XtExtdefaultforeground "xtdefaultforeground" +#define XtExtdefaultfont "xtdefaultfont" +#define XtNfontSet "fontSet" +#define XtRFontSet "FontSet" +#define XtCFontSet "FontSet" +#define XtRGravity "Gravity" +#define XtNcreateHook "createHook" +#define XtNchangeHook "changeHook" +#define XtNconfigureHook "configureHook" +#define XtNgeometryHook "geometryHook" +#define XtNdestroyHook "destroyHook" +#define XtNshells "shells" +#define XtNnumShells "numShells" +#define XtRCommandArgArray "CommandArgArray" +#define XtRDirectoryString "DirectoryString" +#define XtREnvironmentArray "EnvironmentArray" +#define XtRRestartStyle "RestartStyle" +#define XtRSmcConn "SmcConn" +#define XtHcreate "Xtcreate" +#define XtHsetValues "XtsetValues" +#define XtHmanageChildren "XtmanageChildren" +#define XtHunmanageChildren "XtunmanageChildren" +#define XtHmanageSet "XtmanageSet" +#define XtHunmanageSet "XtunmanageSet" +#define XtHrealizeWidget "XtrealizeWidget" +#define XtHunrealizeWidget "XtunrealizeWidget" +#define XtHaddCallback "XtaddCallback" +#define XtHaddCallbacks "XtaddCallbacks" +#define XtHremoveCallback "XtremoveCallback" +#define XtHremoveCallbacks "XtremoveCallbacks" +#define XtHremoveAllCallbacks "XtremoveAllCallbacks" +#define XtHaugmentTranslations "XtaugmentTranslations" +#define XtHoverrideTranslations "XtoverrideTranslations" +#define XtHuninstallTranslations "XtuninstallTranslations" +#define XtHsetKeyboardFocus "XtsetKeyboardFocus" +#define XtHsetWMColormapWindows "XtsetWMColormapWindows" +#define XtHsetMappedWhenManaged "XtsetMappedWhenManaged" +#define XtHmapWidget "XtmapWidget" +#define XtHunmapWidget "XtunmapWidget" +#define XtHpopup "Xtpopup" +#define XtHpopupSpringLoaded "XtpopupSpringLoaded" +#define XtHpopdown "Xtpopdown" +#define XtHconfigure "Xtconfigure" +#define XtHpreGeometry "XtpreGeometry" +#define XtHpostGeometry "XtpostGeometry" +#define XtHdestroy "Xtdestroy" +#else +extern _XtStringDefs_h_Const char XtStrings[]; +#ifndef XtNaccelerators +#define XtNaccelerators ((char*)&XtStrings[0]) +#endif +#ifndef XtNallowHoriz +#define XtNallowHoriz ((char*)&XtStrings[13]) +#endif +#ifndef XtNallowVert +#define XtNallowVert ((char*)&XtStrings[24]) +#endif +#ifndef XtNancestorSensitive +#define XtNancestorSensitive ((char*)&XtStrings[34]) +#endif +#ifndef XtNbackground +#define XtNbackground ((char*)&XtStrings[52]) +#endif +#ifndef XtNbackgroundPixmap +#define XtNbackgroundPixmap ((char*)&XtStrings[63]) +#endif +#ifndef XtNbitmap +#define XtNbitmap ((char*)&XtStrings[80]) +#endif +#ifndef XtNborderColor +#define XtNborderColor ((char*)&XtStrings[87]) +#endif +#ifndef XtNborder +#define XtNborder ((char*)&XtStrings[99]) +#endif +#ifndef XtNborderPixmap +#define XtNborderPixmap ((char*)&XtStrings[111]) +#endif +#ifndef XtNborderWidth +#define XtNborderWidth ((char*)&XtStrings[124]) +#endif +#ifndef XtNcallback +#define XtNcallback ((char*)&XtStrings[136]) +#endif +#ifndef XtNchildren +#define XtNchildren ((char*)&XtStrings[145]) +#endif +#ifndef XtNcolormap +#define XtNcolormap ((char*)&XtStrings[154]) +#endif +#ifndef XtNdepth +#define XtNdepth ((char*)&XtStrings[163]) +#endif +#ifndef XtNdestroyCallback +#define XtNdestroyCallback ((char*)&XtStrings[169]) +#endif +#ifndef XtNeditType +#define XtNeditType ((char*)&XtStrings[185]) +#endif +#ifndef XtNfile +#define XtNfile ((char*)&XtStrings[194]) +#endif +#ifndef XtNfont +#define XtNfont ((char*)&XtStrings[199]) +#endif +#ifndef XtNforceBars +#define XtNforceBars ((char*)&XtStrings[204]) +#endif +#ifndef XtNforeground +#define XtNforeground ((char*)&XtStrings[214]) +#endif +#ifndef XtNfunction +#define XtNfunction ((char*)&XtStrings[225]) +#endif +#ifndef XtNheight +#define XtNheight ((char*)&XtStrings[234]) +#endif +#ifndef XtNhighlight +#define XtNhighlight ((char*)&XtStrings[241]) +#endif +#ifndef XtNhSpace +#define XtNhSpace ((char*)&XtStrings[251]) +#endif +#ifndef XtNindex +#define XtNindex ((char*)&XtStrings[258]) +#endif +#ifndef XtNinitialResourcesPersistent +#define XtNinitialResourcesPersistent ((char*)&XtStrings[264]) +#endif +#ifndef XtNinnerHeight +#define XtNinnerHeight ((char*)&XtStrings[291]) +#endif +#ifndef XtNinnerWidth +#define XtNinnerWidth ((char*)&XtStrings[303]) +#endif +#ifndef XtNinnerWindow +#define XtNinnerWindow ((char*)&XtStrings[314]) +#endif +#ifndef XtNinsertPosition +#define XtNinsertPosition ((char*)&XtStrings[326]) +#endif +#ifndef XtNinternalHeight +#define XtNinternalHeight ((char*)&XtStrings[341]) +#endif +#ifndef XtNinternalWidth +#define XtNinternalWidth ((char*)&XtStrings[356]) +#endif +#ifndef XtNjumpProc +#define XtNjumpProc ((char*)&XtStrings[370]) +#endif +#ifndef XtNjustify +#define XtNjustify ((char*)&XtStrings[379]) +#endif +#ifndef XtNknobHeight +#define XtNknobHeight ((char*)&XtStrings[387]) +#endif +#ifndef XtNknobIndent +#define XtNknobIndent ((char*)&XtStrings[398]) +#endif +#ifndef XtNknobPixel +#define XtNknobPixel ((char*)&XtStrings[409]) +#endif +#ifndef XtNknobWidth +#define XtNknobWidth ((char*)&XtStrings[419]) +#endif +#ifndef XtNlabel +#define XtNlabel ((char*)&XtStrings[429]) +#endif +#ifndef XtNlength +#define XtNlength ((char*)&XtStrings[435]) +#endif +#ifndef XtNlowerRight +#define XtNlowerRight ((char*)&XtStrings[442]) +#endif +#ifndef XtNmappedWhenManaged +#define XtNmappedWhenManaged ((char*)&XtStrings[453]) +#endif +#ifndef XtNmenuEntry +#define XtNmenuEntry ((char*)&XtStrings[471]) +#endif +#ifndef XtNname +#define XtNname ((char*)&XtStrings[481]) +#endif +#ifndef XtNnotify +#define XtNnotify ((char*)&XtStrings[486]) +#endif +#ifndef XtNnumChildren +#define XtNnumChildren ((char*)&XtStrings[493]) +#endif +#ifndef XtNorientation +#define XtNorientation ((char*)&XtStrings[505]) +#endif +#ifndef XtNparameter +#define XtNparameter ((char*)&XtStrings[517]) +#endif +#ifndef XtNpixmap +#define XtNpixmap ((char*)&XtStrings[527]) +#endif +#ifndef XtNpopupCallback +#define XtNpopupCallback ((char*)&XtStrings[534]) +#endif +#ifndef XtNpopdownCallback +#define XtNpopdownCallback ((char*)&XtStrings[548]) +#endif +#ifndef XtNresize +#define XtNresize ((char*)&XtStrings[564]) +#endif +#ifndef XtNreverseVideo +#define XtNreverseVideo ((char*)&XtStrings[571]) +#endif +#ifndef XtNscreen +#define XtNscreen ((char*)&XtStrings[584]) +#endif +#ifndef XtNscrollProc +#define XtNscrollProc ((char*)&XtStrings[591]) +#endif +#ifndef XtNscrollDCursor +#define XtNscrollDCursor ((char*)&XtStrings[602]) +#endif +#ifndef XtNscrollHCursor +#define XtNscrollHCursor ((char*)&XtStrings[616]) +#endif +#ifndef XtNscrollLCursor +#define XtNscrollLCursor ((char*)&XtStrings[630]) +#endif +#ifndef XtNscrollRCursor +#define XtNscrollRCursor ((char*)&XtStrings[644]) +#endif +#ifndef XtNscrollUCursor +#define XtNscrollUCursor ((char*)&XtStrings[658]) +#endif +#ifndef XtNscrollVCursor +#define XtNscrollVCursor ((char*)&XtStrings[672]) +#endif +#ifndef XtNselection +#define XtNselection ((char*)&XtStrings[686]) +#endif +#ifndef XtNselectionArray +#define XtNselectionArray ((char*)&XtStrings[696]) +#endif +#ifndef XtNsensitive +#define XtNsensitive ((char*)&XtStrings[711]) +#endif +#ifndef XtNshown +#define XtNshown ((char*)&XtStrings[721]) +#endif +#ifndef XtNspace +#define XtNspace ((char*)&XtStrings[727]) +#endif +#ifndef XtNstring +#define XtNstring ((char*)&XtStrings[733]) +#endif +#ifndef XtNtextOptions +#define XtNtextOptions ((char*)&XtStrings[740]) +#endif +#ifndef XtNtextSink +#define XtNtextSink ((char*)&XtStrings[752]) +#endif +#ifndef XtNtextSource +#define XtNtextSource ((char*)&XtStrings[761]) +#endif +#ifndef XtNthickness +#define XtNthickness ((char*)&XtStrings[772]) +#endif +#ifndef XtNthumb +#define XtNthumb ((char*)&XtStrings[782]) +#endif +#ifndef XtNthumbProc +#define XtNthumbProc ((char*)&XtStrings[788]) +#endif +#ifndef XtNtop +#define XtNtop ((char*)&XtStrings[798]) +#endif +#ifndef XtNtranslations +#define XtNtranslations ((char*)&XtStrings[802]) +#endif +#ifndef XtNunrealizeCallback +#define XtNunrealizeCallback ((char*)&XtStrings[815]) +#endif +#ifndef XtNupdate +#define XtNupdate ((char*)&XtStrings[833]) +#endif +#ifndef XtNuseBottom +#define XtNuseBottom ((char*)&XtStrings[840]) +#endif +#ifndef XtNuseRight +#define XtNuseRight ((char*)&XtStrings[850]) +#endif +#ifndef XtNvalue +#define XtNvalue ((char*)&XtStrings[859]) +#endif +#ifndef XtNvSpace +#define XtNvSpace ((char*)&XtStrings[865]) +#endif +#ifndef XtNwidth +#define XtNwidth ((char*)&XtStrings[872]) +#endif +#ifndef XtNwindow +#define XtNwindow ((char*)&XtStrings[878]) +#endif +#ifndef XtNx +#define XtNx ((char*)&XtStrings[885]) +#endif +#ifndef XtNy +#define XtNy ((char*)&XtStrings[887]) +#endif +#ifndef XtCAccelerators +#define XtCAccelerators ((char*)&XtStrings[889]) +#endif +#ifndef XtCBackground +#define XtCBackground ((char*)&XtStrings[902]) +#endif +#ifndef XtCBitmap +#define XtCBitmap ((char*)&XtStrings[913]) +#endif +#ifndef XtCBoolean +#define XtCBoolean ((char*)&XtStrings[920]) +#endif +#ifndef XtCBorderColor +#define XtCBorderColor ((char*)&XtStrings[928]) +#endif +#ifndef XtCBorderWidth +#define XtCBorderWidth ((char*)&XtStrings[940]) +#endif +#ifndef XtCCallback +#define XtCCallback ((char*)&XtStrings[952]) +#endif +#ifndef XtCColormap +#define XtCColormap ((char*)&XtStrings[961]) +#endif +#ifndef XtCColor +#define XtCColor ((char*)&XtStrings[970]) +#endif +#ifndef XtCCursor +#define XtCCursor ((char*)&XtStrings[976]) +#endif +#ifndef XtCDepth +#define XtCDepth ((char*)&XtStrings[983]) +#endif +#ifndef XtCEditType +#define XtCEditType ((char*)&XtStrings[989]) +#endif +#ifndef XtCEventBindings +#define XtCEventBindings ((char*)&XtStrings[998]) +#endif +#ifndef XtCFile +#define XtCFile ((char*)&XtStrings[1012]) +#endif +#ifndef XtCFont +#define XtCFont ((char*)&XtStrings[1017]) +#endif +#ifndef XtCForeground +#define XtCForeground ((char*)&XtStrings[1022]) +#endif +#ifndef XtCFraction +#define XtCFraction ((char*)&XtStrings[1033]) +#endif +#ifndef XtCFunction +#define XtCFunction ((char*)&XtStrings[1042]) +#endif +#ifndef XtCHeight +#define XtCHeight ((char*)&XtStrings[1051]) +#endif +#ifndef XtCHSpace +#define XtCHSpace ((char*)&XtStrings[1058]) +#endif +#ifndef XtCIndex +#define XtCIndex ((char*)&XtStrings[1065]) +#endif +#ifndef XtCInitialResourcesPersistent +#define XtCInitialResourcesPersistent ((char*)&XtStrings[1071]) +#endif +#ifndef XtCInsertPosition +#define XtCInsertPosition ((char*)&XtStrings[1098]) +#endif +#ifndef XtCInterval +#define XtCInterval ((char*)&XtStrings[1113]) +#endif +#ifndef XtCJustify +#define XtCJustify ((char*)&XtStrings[1122]) +#endif +#ifndef XtCKnobIndent +#define XtCKnobIndent ((char*)&XtStrings[1130]) +#endif +#ifndef XtCKnobPixel +#define XtCKnobPixel ((char*)&XtStrings[1141]) +#endif +#ifndef XtCLabel +#define XtCLabel ((char*)&XtStrings[1151]) +#endif +#ifndef XtCLength +#define XtCLength ((char*)&XtStrings[1157]) +#endif +#ifndef XtCMappedWhenManaged +#define XtCMappedWhenManaged ((char*)&XtStrings[1164]) +#endif +#ifndef XtCMargin +#define XtCMargin ((char*)&XtStrings[1182]) +#endif +#ifndef XtCMenuEntry +#define XtCMenuEntry ((char*)&XtStrings[1189]) +#endif +#ifndef XtCNotify +#define XtCNotify ((char*)&XtStrings[1199]) +#endif +#ifndef XtCOrientation +#define XtCOrientation ((char*)&XtStrings[1206]) +#endif +#ifndef XtCParameter +#define XtCParameter ((char*)&XtStrings[1218]) +#endif +#ifndef XtCPixmap +#define XtCPixmap ((char*)&XtStrings[1228]) +#endif +#ifndef XtCPosition +#define XtCPosition ((char*)&XtStrings[1235]) +#endif +#ifndef XtCReadOnly +#define XtCReadOnly ((char*)&XtStrings[1244]) +#endif +#ifndef XtCResize +#define XtCResize ((char*)&XtStrings[1253]) +#endif +#ifndef XtCReverseVideo +#define XtCReverseVideo ((char*)&XtStrings[1260]) +#endif +#ifndef XtCScreen +#define XtCScreen ((char*)&XtStrings[1273]) +#endif +#ifndef XtCScrollProc +#define XtCScrollProc ((char*)&XtStrings[1280]) +#endif +#ifndef XtCScrollDCursor +#define XtCScrollDCursor ((char*)&XtStrings[1291]) +#endif +#ifndef XtCScrollHCursor +#define XtCScrollHCursor ((char*)&XtStrings[1305]) +#endif +#ifndef XtCScrollLCursor +#define XtCScrollLCursor ((char*)&XtStrings[1319]) +#endif +#ifndef XtCScrollRCursor +#define XtCScrollRCursor ((char*)&XtStrings[1333]) +#endif +#ifndef XtCScrollUCursor +#define XtCScrollUCursor ((char*)&XtStrings[1347]) +#endif +#ifndef XtCScrollVCursor +#define XtCScrollVCursor ((char*)&XtStrings[1361]) +#endif +#ifndef XtCSelection +#define XtCSelection ((char*)&XtStrings[1375]) +#endif +#ifndef XtCSensitive +#define XtCSensitive ((char*)&XtStrings[1385]) +#endif +#ifndef XtCSelectionArray +#define XtCSelectionArray ((char*)&XtStrings[1395]) +#endif +#ifndef XtCSpace +#define XtCSpace ((char*)&XtStrings[1410]) +#endif +#ifndef XtCString +#define XtCString ((char*)&XtStrings[1416]) +#endif +#ifndef XtCTextOptions +#define XtCTextOptions ((char*)&XtStrings[1423]) +#endif +#ifndef XtCTextPosition +#define XtCTextPosition ((char*)&XtStrings[1435]) +#endif +#ifndef XtCTextSink +#define XtCTextSink ((char*)&XtStrings[1448]) +#endif +#ifndef XtCTextSource +#define XtCTextSource ((char*)&XtStrings[1457]) +#endif +#ifndef XtCThickness +#define XtCThickness ((char*)&XtStrings[1468]) +#endif +#ifndef XtCThumb +#define XtCThumb ((char*)&XtStrings[1478]) +#endif +#ifndef XtCTranslations +#define XtCTranslations ((char*)&XtStrings[1484]) +#endif +#ifndef XtCValue +#define XtCValue ((char*)&XtStrings[1497]) +#endif +#ifndef XtCVSpace +#define XtCVSpace ((char*)&XtStrings[1503]) +#endif +#ifndef XtCWidth +#define XtCWidth ((char*)&XtStrings[1510]) +#endif +#ifndef XtCWindow +#define XtCWindow ((char*)&XtStrings[1516]) +#endif +#ifndef XtCX +#define XtCX ((char*)&XtStrings[1523]) +#endif +#ifndef XtCY +#define XtCY ((char*)&XtStrings[1525]) +#endif +#ifndef XtRAcceleratorTable +#define XtRAcceleratorTable ((char*)&XtStrings[1527]) +#endif +#ifndef XtRAtom +#define XtRAtom ((char*)&XtStrings[1544]) +#endif +#ifndef XtRBitmap +#define XtRBitmap ((char*)&XtStrings[1549]) +#endif +#ifndef XtRBool +#define XtRBool ((char*)&XtStrings[1556]) +#endif +#ifndef XtRBoolean +#define XtRBoolean ((char*)&XtStrings[1561]) +#endif +#ifndef XtRCallback +#define XtRCallback ((char*)&XtStrings[1569]) +#endif +#ifndef XtRCallProc +#define XtRCallProc ((char*)&XtStrings[1578]) +#endif +#ifndef XtRCardinal +#define XtRCardinal ((char*)&XtStrings[1587]) +#endif +#ifndef XtRColor +#define XtRColor ((char*)&XtStrings[1596]) +#endif +#ifndef XtRColormap +#define XtRColormap ((char*)&XtStrings[1602]) +#endif +#ifndef XtRCursor +#define XtRCursor ((char*)&XtStrings[1611]) +#endif +#ifndef XtRDimension +#define XtRDimension ((char*)&XtStrings[1618]) +#endif +#ifndef XtRDisplay +#define XtRDisplay ((char*)&XtStrings[1628]) +#endif +#ifndef XtREditMode +#define XtREditMode ((char*)&XtStrings[1636]) +#endif +#ifndef XtREnum +#define XtREnum ((char*)&XtStrings[1645]) +#endif +#ifndef XtRFile +#define XtRFile ((char*)&XtStrings[1650]) +#endif +#ifndef XtRFloat +#define XtRFloat ((char*)&XtStrings[1655]) +#endif +#ifndef XtRFont +#define XtRFont ((char*)&XtStrings[1661]) +#endif +#ifndef XtRFontStruct +#define XtRFontStruct ((char*)&XtStrings[1666]) +#endif +#ifndef XtRFunction +#define XtRFunction ((char*)&XtStrings[1677]) +#endif +#ifndef XtRGeometry +#define XtRGeometry ((char*)&XtStrings[1686]) +#endif +#ifndef XtRImmediate +#define XtRImmediate ((char*)&XtStrings[1695]) +#endif +#ifndef XtRInitialState +#define XtRInitialState ((char*)&XtStrings[1705]) +#endif +#ifndef XtRInt +#define XtRInt ((char*)&XtStrings[1718]) +#endif +#ifndef XtRJustify +#define XtRJustify ((char*)&XtStrings[1722]) +#endif +#ifndef XtRLongBoolean +#define XtRLongBoolean ((char*)&XtStrings[1730]) +#endif +#ifndef XtRObject +#define XtRObject ((char*)&XtStrings[1735]) +#endif +#ifndef XtROrientation +#define XtROrientation ((char*)&XtStrings[1742]) +#endif +#ifndef XtRPixel +#define XtRPixel ((char*)&XtStrings[1754]) +#endif +#ifndef XtRPixmap +#define XtRPixmap ((char*)&XtStrings[1760]) +#endif +#ifndef XtRPointer +#define XtRPointer ((char*)&XtStrings[1767]) +#endif +#ifndef XtRPosition +#define XtRPosition ((char*)&XtStrings[1775]) +#endif +#ifndef XtRScreen +#define XtRScreen ((char*)&XtStrings[1784]) +#endif +#ifndef XtRShort +#define XtRShort ((char*)&XtStrings[1791]) +#endif +#ifndef XtRString +#define XtRString ((char*)&XtStrings[1797]) +#endif +#ifndef XtRStringArray +#define XtRStringArray ((char*)&XtStrings[1804]) +#endif +#ifndef XtRStringTable +#define XtRStringTable ((char*)&XtStrings[1816]) +#endif +#ifndef XtRUnsignedChar +#define XtRUnsignedChar ((char*)&XtStrings[1828]) +#endif +#ifndef XtRTranslationTable +#define XtRTranslationTable ((char*)&XtStrings[1841]) +#endif +#ifndef XtRVisual +#define XtRVisual ((char*)&XtStrings[1858]) +#endif +#ifndef XtRWidget +#define XtRWidget ((char*)&XtStrings[1865]) +#endif +#ifndef XtRWidgetClass +#define XtRWidgetClass ((char*)&XtStrings[1872]) +#endif +#ifndef XtRWidgetList +#define XtRWidgetList ((char*)&XtStrings[1884]) +#endif +#ifndef XtRWindow +#define XtRWindow ((char*)&XtStrings[1895]) +#endif +#ifndef XtEoff +#define XtEoff ((char*)&XtStrings[1902]) +#endif +#ifndef XtEfalse +#define XtEfalse ((char*)&XtStrings[1906]) +#endif +#ifndef XtEno +#define XtEno ((char*)&XtStrings[1912]) +#endif +#ifndef XtEon +#define XtEon ((char*)&XtStrings[1915]) +#endif +#ifndef XtEtrue +#define XtEtrue ((char*)&XtStrings[1918]) +#endif +#ifndef XtEyes +#define XtEyes ((char*)&XtStrings[1923]) +#endif +#ifndef XtEvertical +#define XtEvertical ((char*)&XtStrings[1927]) +#endif +#ifndef XtEhorizontal +#define XtEhorizontal ((char*)&XtStrings[1936]) +#endif +#ifndef XtEtextRead +#define XtEtextRead ((char*)&XtStrings[1947]) +#endif +#ifndef XtEtextAppend +#define XtEtextAppend ((char*)&XtStrings[1952]) +#endif +#ifndef XtEtextEdit +#define XtEtextEdit ((char*)&XtStrings[1959]) +#endif +#ifndef XtExtdefaultbackground +#define XtExtdefaultbackground ((char*)&XtStrings[1964]) +#endif +#ifndef XtExtdefaultforeground +#define XtExtdefaultforeground ((char*)&XtStrings[1984]) +#endif +#ifndef XtExtdefaultfont +#define XtExtdefaultfont ((char*)&XtStrings[2004]) +#endif +#ifndef XtNfontSet +#define XtNfontSet ((char*)&XtStrings[2018]) +#endif +#ifndef XtRFontSet +#define XtRFontSet ((char*)&XtStrings[2026]) +#endif +#ifndef XtCFontSet +#define XtCFontSet ((char*)&XtStrings[2034]) +#endif +#ifndef XtRGravity +#define XtRGravity ((char*)&XtStrings[2042]) +#endif +#ifndef XtNcreateHook +#define XtNcreateHook ((char*)&XtStrings[2050]) +#endif +#ifndef XtNchangeHook +#define XtNchangeHook ((char*)&XtStrings[2061]) +#endif +#ifndef XtNconfigureHook +#define XtNconfigureHook ((char*)&XtStrings[2072]) +#endif +#ifndef XtNgeometryHook +#define XtNgeometryHook ((char*)&XtStrings[2086]) +#endif +#ifndef XtNdestroyHook +#define XtNdestroyHook ((char*)&XtStrings[2099]) +#endif +#ifndef XtNshells +#define XtNshells ((char*)&XtStrings[2111]) +#endif +#ifndef XtNnumShells +#define XtNnumShells ((char*)&XtStrings[2118]) +#endif +#ifndef XtRCommandArgArray +#define XtRCommandArgArray ((char*)&XtStrings[2128]) +#endif +#ifndef XtRDirectoryString +#define XtRDirectoryString ((char*)&XtStrings[2144]) +#endif +#ifndef XtREnvironmentArray +#define XtREnvironmentArray ((char*)&XtStrings[2160]) +#endif +#ifndef XtRRestartStyle +#define XtRRestartStyle ((char*)&XtStrings[2177]) +#endif +#ifndef XtRSmcConn +#define XtRSmcConn ((char*)&XtStrings[2190]) +#endif +#ifndef XtHcreate +#define XtHcreate ((char*)&XtStrings[2198]) +#endif +#ifndef XtHsetValues +#define XtHsetValues ((char*)&XtStrings[2207]) +#endif +#ifndef XtHmanageChildren +#define XtHmanageChildren ((char*)&XtStrings[2219]) +#endif +#ifndef XtHunmanageChildren +#define XtHunmanageChildren ((char*)&XtStrings[2236]) +#endif +#ifndef XtHmanageSet +#define XtHmanageSet ((char*)&XtStrings[2255]) +#endif +#ifndef XtHunmanageSet +#define XtHunmanageSet ((char*)&XtStrings[2267]) +#endif +#ifndef XtHrealizeWidget +#define XtHrealizeWidget ((char*)&XtStrings[2281]) +#endif +#ifndef XtHunrealizeWidget +#define XtHunrealizeWidget ((char*)&XtStrings[2297]) +#endif +#ifndef XtHaddCallback +#define XtHaddCallback ((char*)&XtStrings[2315]) +#endif +#ifndef XtHaddCallbacks +#define XtHaddCallbacks ((char*)&XtStrings[2329]) +#endif +#ifndef XtHremoveCallback +#define XtHremoveCallback ((char*)&XtStrings[2344]) +#endif +#ifndef XtHremoveCallbacks +#define XtHremoveCallbacks ((char*)&XtStrings[2361]) +#endif +#ifndef XtHremoveAllCallbacks +#define XtHremoveAllCallbacks ((char*)&XtStrings[2379]) +#endif +#ifndef XtHaugmentTranslations +#define XtHaugmentTranslations ((char*)&XtStrings[2400]) +#endif +#ifndef XtHoverrideTranslations +#define XtHoverrideTranslations ((char*)&XtStrings[2422]) +#endif +#ifndef XtHuninstallTranslations +#define XtHuninstallTranslations ((char*)&XtStrings[2445]) +#endif +#ifndef XtHsetKeyboardFocus +#define XtHsetKeyboardFocus ((char*)&XtStrings[2469]) +#endif +#ifndef XtHsetWMColormapWindows +#define XtHsetWMColormapWindows ((char*)&XtStrings[2488]) +#endif +#ifndef XtHsetMappedWhenManaged +#define XtHsetMappedWhenManaged ((char*)&XtStrings[2511]) +#endif +#ifndef XtHmapWidget +#define XtHmapWidget ((char*)&XtStrings[2534]) +#endif +#ifndef XtHunmapWidget +#define XtHunmapWidget ((char*)&XtStrings[2546]) +#endif +#ifndef XtHpopup +#define XtHpopup ((char*)&XtStrings[2560]) +#endif +#ifndef XtHpopupSpringLoaded +#define XtHpopupSpringLoaded ((char*)&XtStrings[2568]) +#endif +#ifndef XtHpopdown +#define XtHpopdown ((char*)&XtStrings[2588]) +#endif +#ifndef XtHconfigure +#define XtHconfigure ((char*)&XtStrings[2598]) +#endif +#ifndef XtHpreGeometry +#define XtHpreGeometry ((char*)&XtStrings[2610]) +#endif +#ifndef XtHpostGeometry +#define XtHpostGeometry ((char*)&XtStrings[2624]) +#endif +#ifndef XtHdestroy +#define XtHdestroy ((char*)&XtStrings[2639]) +#endif +#endif /* XTSTRINGDEFINES */ + +#ifndef XTSTRINGDEFINES +#undef _XtStringDefs_h_Const +#endif + +#endif /* _XtStringDefs_h_ */ diff --git a/ThirdParty/X11/Include/X11/Sunkeysym.h b/ThirdParty/X11/Include/X11/Sunkeysym.h new file mode 100644 index 0000000..78d1286 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Sunkeysym.h @@ -0,0 +1,106 @@ +/* + * Copyright (c) 1991, Oracle and/or its affiliates. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ +/************************************************************ + +Copyright 1991, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +***********************************************************/ + +/* + * Floating Accent + */ + +#define SunXK_FA_Grave 0x1005FF00 +#define SunXK_FA_Circum 0x1005FF01 +#define SunXK_FA_Tilde 0x1005FF02 +#define SunXK_FA_Acute 0x1005FF03 +#define SunXK_FA_Diaeresis 0x1005FF04 +#define SunXK_FA_Cedilla 0x1005FF05 + +/* + * Miscellaneous Functions + */ + +#define SunXK_F36 0x1005FF10 /* Labeled F11 */ +#define SunXK_F37 0x1005FF11 /* Labeled F12 */ + +#define SunXK_Sys_Req 0x1005FF60 +#define SunXK_Print_Screen 0x0000FF61 /* Same as XK_Print */ + +/* + * International & Multi-Key Character Composition + */ + +#define SunXK_Compose 0x0000FF20 /* Same as XK_Multi_key */ +#define SunXK_AltGraph 0x0000FF7E /* Same as XK_Mode_switch */ + +/* + * Cursor Control + */ + +#define SunXK_PageUp 0x0000FF55 /* Same as XK_Prior */ +#define SunXK_PageDown 0x0000FF56 /* Same as XK_Next */ + +/* + * Open Look Functions + */ + +#define SunXK_Undo 0x0000FF65 /* Same as XK_Undo */ +#define SunXK_Again 0x0000FF66 /* Same as XK_Redo */ +#define SunXK_Find 0x0000FF68 /* Same as XK_Find */ +#define SunXK_Stop 0x0000FF69 /* Same as XK_Cancel */ +#define SunXK_Props 0x1005FF70 +#define SunXK_Front 0x1005FF71 +#define SunXK_Copy 0x1005FF72 +#define SunXK_Open 0x1005FF73 +#define SunXK_Paste 0x1005FF74 +#define SunXK_Cut 0x1005FF75 + +#define SunXK_PowerSwitch 0x1005FF76 +#define SunXK_AudioLowerVolume 0x1005FF77 +#define SunXK_AudioMute 0x1005FF78 +#define SunXK_AudioRaiseVolume 0x1005FF79 +#define SunXK_VideoDegauss 0x1005FF7A +#define SunXK_VideoLowerBrightness 0x1005FF7B +#define SunXK_VideoRaiseBrightness 0x1005FF7C +#define SunXK_PowerSwitchShift 0x1005FF7D diff --git a/ThirdParty/X11/Include/X11/ThreadsI.h b/ThirdParty/X11/Include/X11/ThreadsI.h new file mode 100644 index 0000000..ff6dee3 --- /dev/null +++ b/ThirdParty/X11/Include/X11/ThreadsI.h @@ -0,0 +1,129 @@ +/************************************************************ + +Copyright (c) 1993, Oracle and/or its affiliates. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +********************************************************/ + +/* + +Copyright 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ +/* $XFree86: xc/lib/Xt/ThreadsI.h,v 3.5 2001/12/14 19:56:31 dawes Exp $ */ + +#ifndef _XtThreadsI_h +#define _XtThreadsI_h + +#include <X11/XlibConf.h> + +#ifdef XTHREADS + +typedef struct _LockRec *LockPtr; + +typedef void (*ThreadAppProc)( + XtAppContext /* app */ +); + +typedef void (*ThreadAppYieldLockProc)( + XtAppContext, /* app */ + Boolean*, /* push_thread */ + Boolean*, /* pushed_thread */ + int* /* level */ +); + +typedef void (*ThreadAppRestoreLockProc)( + XtAppContext /* app */, + int, /* level */ + Boolean* /* pushed_thread */ +); + +_XFUNCPROTOBEGIN + +extern void (*_XtProcessLock)( + void +); + +extern void (*_XtProcessUnlock)( + void +); + +extern void (*_XtInitAppLock)( + XtAppContext /* app */ +); + +_XFUNCPROTOEND + +#define INIT_APP_LOCK(app) if(_XtInitAppLock) (*_XtInitAppLock)(app) +#define FREE_APP_LOCK(app) if(app && app->free_lock)(*app->free_lock)(app) + +#define LOCK_PROCESS if(_XtProcessLock)(*_XtProcessLock)() +#define UNLOCK_PROCESS if(_XtProcessUnlock)(*_XtProcessUnlock)() +#define LOCK_APP(app) if(app && app->lock)(*app->lock)(app) +#define UNLOCK_APP(app) if(app && app->unlock)(*app->unlock)(app) + +#define YIELD_APP_LOCK(app,push,pushed,level)\ + if(app && app->yield_lock) (*app->yield_lock)(app,push,pushed,level) +#define RESTORE_APP_LOCK(app,level,pushed)\ + if(app && app->restore_lock) (*app->restore_lock)(app,level,pushed) + +#define WIDGET_TO_APPCON(w) \ + XtAppContext app = (w && _XtProcessLock ? \ + XtWidgetToApplicationContext(w) : NULL) + +#define DPY_TO_APPCON(d) \ + XtAppContext app = (_XtProcessLock ? XtDisplayToApplicationContext(d): NULL) + +#else /* defined(XTHREADS) */ + +#define LOCK_PROCESS +#define UNLOCK_PROCESS +#define LOCK_APP(app) +#define UNLOCK_APP(app) + +#define INIT_APP_LOCK(app) +#define FREE_APP_LOCK(app) + +#define WIDGET_TO_APPCON(w) +#define DPY_TO_APPCON(d) + +#endif /* !defined(XTHREADS) */ +#endif /* _XtThreadsI_h */ diff --git a/ThirdParty/X11/Include/X11/TranslateI.h b/ThirdParty/X11/Include/X11/TranslateI.h new file mode 100644 index 0000000..7da70b9 --- /dev/null +++ b/ThirdParty/X11/Include/X11/TranslateI.h @@ -0,0 +1,606 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +/* + * TranslateI.h - Header file private to translation management + * + * Author: Gabe Beged-Dov, HP + * + * Former Author: Charles Haynes + * Digital Equipment Corporation + * Western Research Laboratory + * Date: Sat Aug 29 1987 + */ + +/*#define REFCNT_TRANSLATIONS*/ +#define CACHE_TRANSLATIONS + +#define TM_NO_MATCH (-2) + +#define _XtRStateTablePair "_XtStateTablePair" + +typedef unsigned char TMByteCard; +typedef unsigned short TMShortCard; +typedef unsigned long TMLongCard; +typedef short TMShortInt; + +typedef struct _TMTypeMatchRec *TMTypeMatch; +typedef struct _TMModifierMatchRec *TMModifierMatch; +typedef struct _TMEventRec *TMEventPtr; + +typedef Boolean (*MatchProc)(TMTypeMatch typeMatch, + TMModifierMatch modMatch, + TMEventPtr eventSeq); + +typedef struct _ModToKeysymTable { + Modifiers mask; + int count; + int idx; +} ModToKeysymTable; + +typedef struct _LateBindings { + unsigned int knot:1; + unsigned int pair:1; + unsigned short ref_count; /* garbage collection */ + KeySym keysym; +} LateBindings, *LateBindingsPtr; + +typedef short ModifierMask; + +typedef struct _ActionsRec *ActionPtr; +typedef struct _ActionsRec { + int idx; /* index into quarkTable to find proc */ + String *params; /* pointer to array of params */ + Cardinal num_params; /* number of params */ + ActionPtr next; /* next action to perform */ +} ActionRec; + +typedef struct _XtStateRec *StatePtr; +typedef struct _XtStateRec { + unsigned int isCycleStart:1; + unsigned int isCycleEnd:1; + TMShortCard typeIndex; + TMShortCard modIndex; + ActionPtr actions; /* rhs list of actions to perform */ + StatePtr nextLevel; +}StateRec; + + +#define XtTableReplace 0 +#define XtTableAugment 1 +#define XtTableOverride 2 +#define XtTableUnmerge 3 + +typedef unsigned int _XtTranslateOp; + +/* + * New Definitions + */ +typedef struct _TMModifierMatchRec{ + TMLongCard modifiers; + TMLongCard modifierMask; + LateBindingsPtr lateModifiers; + Boolean standard; +}TMModifierMatchRec; + +typedef struct _TMTypeMatchRec{ + TMLongCard eventType; + TMLongCard eventCode; + TMLongCard eventCodeMask; + MatchProc matchEvent; +}TMTypeMatchRec; + +typedef struct _TMBranchHeadRec { + unsigned int isSimple:1; + unsigned int hasActions:1; + unsigned int hasCycles:1; + unsigned int more:13; + TMShortCard typeIndex; + TMShortCard modIndex; +}TMBranchHeadRec, *TMBranchHead; + +/* NOTE: elements of this structure must match those of + * TMComplexStateTreeRec and TMParseStateTreeRec. + */ +typedef struct _TMSimpleStateTreeRec{ + unsigned int isSimple:1; + unsigned int isAccelerator:1; + unsigned int mappingNotifyInterest:1; + unsigned int refCount:13; + TMShortCard numBranchHeads; + TMShortCard numQuarks; /* # of entries in quarkTbl */ + TMShortCard unused; /* to ensure same alignment */ + TMBranchHeadRec *branchHeadTbl; + XrmQuark *quarkTbl; /* table of quarkified rhs*/ +}TMSimpleStateTreeRec, *TMSimpleStateTree; + +/* NOTE: elements of this structure must match those of + * TMSimpleStateTreeRec and TMParseStateTreeRec. + */ +typedef struct _TMComplexStateTreeRec{ + unsigned int isSimple:1; + unsigned int isAccelerator:1; + unsigned int mappingNotifyInterest:1; + unsigned int refCount:13; + TMShortCard numBranchHeads; + TMShortCard numQuarks; /* # of entries in quarkTbl */ + TMShortCard numComplexBranchHeads; + TMBranchHeadRec *branchHeadTbl; + XrmQuark *quarkTbl; /* table of quarkified rhs*/ + StatePtr *complexBranchHeadTbl; +}TMComplexStateTreeRec, *TMComplexStateTree; + +/* NOTE: elements of this structure must match those of + * TMSimpleStateTreeRec and TMComplexStateTreeRec. + */ +typedef struct _TMParseStateTreeRec{ + unsigned int isSimple:1; + unsigned int isAccelerator:1; + unsigned int mappingNotifyInterest:1; + unsigned int isStackQuarks:1; + unsigned int isStackBranchHeads:1; + unsigned int isStackComplexBranchHeads:1; + unsigned int unused:10; /* to ensure correct alignment */ + TMShortCard numBranchHeads; + TMShortCard numQuarks; /* # of entries in quarkTbl */ + TMShortCard numComplexBranchHeads; + TMBranchHeadRec *branchHeadTbl; + XrmQuark *quarkTbl; /* table of quarkified rhs*/ + StatePtr *complexBranchHeadTbl; + TMShortCard branchHeadTblSize; + TMShortCard quarkTblSize; /*total size of quarkTbl */ + TMShortCard complexBranchHeadTblSize; + StatePtr head; +}TMParseStateTreeRec, *TMParseStateTree; + +typedef union _TMStateTreeRec{ + TMSimpleStateTreeRec simple; + TMParseStateTreeRec parse; + TMComplexStateTreeRec complex; +}*TMStateTree, **TMStateTreePtr, **TMStateTreeList; + +typedef struct _TMSimpleBindProcsRec { + XtActionProc *procs; +}TMSimpleBindProcsRec, *TMSimpleBindProcs; + +typedef struct _TMComplexBindProcsRec { + Widget widget; /*widgetID to pass to action Proc*/ + XtTranslations aXlations; + XtActionProc *procs; +}TMComplexBindProcsRec, *TMComplexBindProcs; + +typedef struct _TMSimpleBindDataRec { + unsigned int isComplex:1; /* must be first */ + TMSimpleBindProcsRec bindTbl[1]; /* variable length */ +}TMSimpleBindDataRec, *TMSimpleBindData; + +typedef struct _TMComplexBindDataRec { + unsigned int isComplex:1; /* must be first */ + struct _ATranslationData *accel_context; /* for GetValues */ + TMComplexBindProcsRec bindTbl[1]; /* variable length */ +}TMComplexBindDataRec, *TMComplexBindData; + +typedef union _TMBindDataRec{ + TMSimpleBindDataRec simple; + TMComplexBindDataRec complex; +}*TMBindData; + +typedef struct _TranslationData{ + unsigned char hasBindings; /* must be first */ + unsigned char operation; /*replace,augment,override*/ + TMShortCard numStateTrees; + struct _TranslationData *composers[2]; + EventMask eventMask; + TMStateTree stateTreeTbl[1]; /* variable length */ +}TranslationData; + +/* + * ATranslations is returned by GetValues for translations that contain + * accelerators. The TM can differentiate between this and TranslationData + * (that don't have a bindTbl) by looking at the first field (hasBindings) + * of either structure. All ATranslationData structures associated with a + * widget are chained off the BindData record of the widget. + */ +typedef struct _ATranslationData{ + unsigned char hasBindings; /* must be first */ + unsigned char operation; + struct _TranslationData *xlations; /* actual translations */ + struct _ATranslationData *next; /* chain the contexts together */ + TMComplexBindProcsRec bindTbl[1]; /* accelerator bindings */ +}ATranslationData, *ATranslations; + +typedef struct _TMConvertRec { + XtTranslations old; /* table to merge into */ + XtTranslations new; /* table to merge from */ +} TMConvertRec; + +#define _XtEventTimerEventType ((TMLongCard)~0L) +#define KeysymModMask (1L<<27) /* private to TM */ +#define AnyButtonMask (1L<<28) /* private to TM */ + +typedef struct _EventRec { + TMLongCard modifiers; + TMLongCard modifierMask; + LateBindingsPtr lateModifiers; + TMLongCard eventType; + TMLongCard eventCode; + TMLongCard eventCodeMask; + MatchProc matchEvent; + Boolean standard; +} Event; + +typedef struct _EventSeqRec *EventSeqPtr; +typedef struct _EventSeqRec { + Event event; /* X event description */ + StatePtr state; /* private to state table builder */ + EventSeqPtr next; /* next event on line */ + ActionPtr actions; /* r.h.s. list of actions to perform */ +} EventSeqRec; + +typedef EventSeqRec EventRec; +typedef EventSeqPtr EventPtr; + +typedef struct _TMEventRec { + XEvent *xev; + Event event; +}TMEventRec; + +typedef struct _ActionHookRec { + struct _ActionHookRec* next; /* must remain first */ + XtAppContext app; + XtActionHookProc proc; + XtPointer closure; +} ActionHookRec, *ActionHook; + +/* choose a number between 2 and 8 */ +#define TMKEYCACHELOG2 6 +#define TMKEYCACHESIZE (1<<TMKEYCACHELOG2) + +typedef struct _KeyCacheRec { + unsigned char modifiers_return[256]; /* constant per KeyCode, key proc */ + KeyCode keycode[TMKEYCACHESIZE]; + unsigned char modifiers[TMKEYCACHESIZE]; + KeySym keysym[TMKEYCACHESIZE]; +} TMKeyCache; + +typedef struct _TMKeyContextRec { + XEvent *event; + unsigned long serial; + KeySym keysym; + Modifiers modifiers; + TMKeyCache keycache; /* keep this last, to keep offsets to others small */ +} TMKeyContextRec, *TMKeyContext; + +typedef struct _TMGlobalRec{ + TMTypeMatchRec **typeMatchSegmentTbl; + TMShortCard numTypeMatches; + TMShortCard numTypeMatchSegments; + TMShortCard typeMatchSegmentTblSize; + TMModifierMatchRec **modMatchSegmentTbl; + TMShortCard numModMatches; + TMShortCard numModMatchSegments; + TMShortCard modMatchSegmentTblSize; + Boolean newMatchSemantics; +#ifdef TRACE_TM + XtTranslations *tmTbl; + TMShortCard numTms; + TMShortCard tmTblSize; + struct _TMBindCacheRec **bindCacheTbl; + TMShortCard numBindCache; + TMShortCard bindCacheTblSize; + TMShortCard numLateBindings; + TMShortCard numBranchHeads; + TMShortCard numComplexStates; + TMShortCard numComplexActions; +#endif /* TRACE_TM */ +}TMGlobalRec; + +_XFUNCPROTOBEGIN + +extern TMGlobalRec _XtGlobalTM; + +#define TM_MOD_SEGMENT_SIZE 16 +#define TM_TYPE_SEGMENT_SIZE 16 + +#define TMGetTypeMatch(idx) \ + ((TMTypeMatch) \ + &((_XtGlobalTM.typeMatchSegmentTbl[((idx) >> 4)])[(idx) & 15])) +#define TMGetModifierMatch(idx) \ + ((TMModifierMatch) \ + &((_XtGlobalTM.modMatchSegmentTbl[(idx) >> 4])[(idx) & 15])) + +/* Useful Access Macros */ +#define TMNewMatchSemantics() (_XtGlobalTM.newMatchSemantics) +#define TMBranchMore(branch) (branch->more) +#define TMComplexBranchHead(tree, br) \ + (((TMComplexStateTree)tree)->complexBranchHeadTbl[TMBranchMore(br)]) + +#define TMGetComplexBindEntry(bindData, idx) \ + ((TMComplexBindProcs)&(((TMComplexBindData)bindData)->bindTbl[idx])) + +#define TMGetSimpleBindEntry(bindData, idx) \ + ((TMSimpleBindProcs)&(((TMSimpleBindData)bindData)->bindTbl[idx])) + + +#define _InitializeKeysymTables(dpy, pd) \ + if (pd->keysyms == NULL) \ + _XtBuildKeysymTables(dpy, pd) + +/* + * Internal Functions + */ + +extern void _XtPopup( + Widget /* widget */, + XtGrabKind /* grab_kind */, + _XtBoolean /* spring_loaded */ +); + +extern String _XtPrintXlations( + Widget /* w */, + XtTranslations /* xlations */, + Widget /* accelWidget */, + _XtBoolean /* includeRHS */ +); + +extern void _XtRegisterGrabs( + Widget /* widget */ +); + +extern XtPointer _XtInitializeActionData( + struct _XtActionsRec * /* actions */, + Cardinal /* count */, + _XtBoolean /* inPlace */ +); + +extern void _XtAddEventSeqToStateTree( + EventSeqPtr /* eventSeq */, + TMParseStateTree /* stateTree */ +); + +extern Boolean _XtMatchUsingStandardMods( + TMTypeMatch /* typeMatch */, + TMModifierMatch /* modMatch */, + TMEventPtr /* eventSeq */ +); + +extern Boolean _XtMatchUsingDontCareMods( + TMTypeMatch /* typeMatch */, + TMModifierMatch /* modMatch */, + TMEventPtr /* eventSeq */ +); + +extern Boolean _XtRegularMatch( + TMTypeMatch /* typeMatch */, + TMModifierMatch /* modMatch */, + TMEventPtr /* eventSeq */ +); + +extern Boolean _XtMatchAtom( + TMTypeMatch /* typeMatch */, + TMModifierMatch /* modMatch */, + TMEventPtr /* eventSeq */ +); + +extern void _XtTranslateEvent( + Widget /* widget */, + XEvent* /* event */ +); + +#include "CallbackI.h" +#include "EventI.h" +#include "HookObjI.h" +#include "PassivGraI.h" +#include "ThreadsI.h" +#include "InitialI.h" +#include "ResourceI.h" +#include "StringDefs.h" + +extern void _XtBuildKeysymTables(Display *dpy, XtPerDisplay pd); + +#ifndef NO_MIT_HACKS +extern void _XtDisplayTranslations( + Widget /* widget */, + XEvent* /* event */, + String* /* params */, + Cardinal* /* num_params */ +); + +extern void _XtDisplayAccelerators( + Widget /* widget */, + XEvent* /* event */, + String* /* params */, + Cardinal* /* num_params */ +); + +extern void _XtDisplayInstalledAccelerators( + Widget /* widget */, + XEvent* /* event */, + String* /* params */, + Cardinal* /* num_params */ +); +#endif /* ifndef NO_MIT_HACKS */ + +extern void _XtPopupInitialize( + XtAppContext /* app_context */ +); + +extern void _XtBindActions( + Widget /* widget */, + XtTM /* tm_rec */ +); + +extern Boolean _XtComputeLateBindings( + Display* /* dpy */, + LateBindingsPtr /* lateModifiers */, + Modifiers* /* computed */, + Modifiers* /* computedMask */ +); + +extern XtTranslations _XtCreateXlations( + TMStateTree * /* stateTrees */, + TMShortCard /* numStateTrees */, + XtTranslations /* first */, + XtTranslations /* second */ +); + +extern Boolean _XtCvtMergeTranslations( + Display* /* dpy */, + XrmValuePtr /* args */, + Cardinal* /* num_args */, + XrmValuePtr /* from */, + XrmValuePtr /* to */, + XtPointer* /* closure_ret */ +); + +void _XtRemoveStateTreeByIndex( + XtTranslations /* xlations */, + TMShortCard /* i */); + +void _XtFreeTranslations( + XtAppContext /* app */, + XrmValuePtr /* toVal */, + XtPointer /* closure */, + XrmValuePtr /* args */, + Cardinal* /* num_args */ +); + +extern TMShortCard _XtGetModifierIndex( + Event* /* event */ +); + +extern TMShortCard _XtGetQuarkIndex( + TMParseStateTree /* stateTreePtr */, + XrmQuark /* quark */ +); + +extern XtTranslations _XtGetTranslationValue( + Widget /* widget */ +); + +extern TMShortCard _XtGetTypeIndex( + Event* /* event */ +); + +extern void _XtGrabInitialize( + XtAppContext /* app */ +); + +extern void _XtInstallTranslations( + Widget /* widget */ +); + +extern void _XtRemoveTranslations( + Widget /* widget */ +); + +extern void _XtDestroyTMData( + Widget /* widget */ +); + +extern void _XtMergeTranslations( + Widget /* widget */, + XtTranslations /* newXlations */, + _XtTranslateOp /* operation */ +); + +extern void _XtActionInitialize( + XtAppContext /* app */ +); + +extern TMStateTree _XtParseTreeToStateTree( + TMParseStateTree /* parseTree */ +); + +extern String _XtPrintActions( + ActionRec* /* actions */, + XrmQuark* /* quarkTbl */ +); + +extern String _XtPrintState( + TMStateTree /* stateTree */, + TMBranchHead /* branchHead */); + +extern String _XtPrintEventSeq( + EventSeqPtr /* eventSeq */, + Display* /* dpy */ +); + +typedef Boolean (*_XtTraversalProc)( + StatePtr /* state */, + XtPointer /* data */ +); + +extern void _XtTraverseStateTree( + TMStateTree /* tree */, + _XtTraversalProc /* func */, + XtPointer /* data */ +); + +extern void _XtTranslateInitialize( + void +); + +extern void _XtAddTMConverters( + ConverterTable /* table */ +); + +extern void _XtUnbindActions( + Widget /* widget */, + XtTranslations /* xlations */, + TMBindData /* bindData */ +); + +extern void _XtUnmergeTranslations( + Widget /* widget */, + XtTranslations /* xlations */ +); + +/* TMKey.c */ +extern void _XtAllocTMContext(XtPerDisplay pd); + +_XFUNCPROTOEND diff --git a/ThirdParty/X11/Include/X11/VarargsI.h b/ThirdParty/X11/Include/X11/VarargsI.h new file mode 100644 index 0000000..790a271 --- /dev/null +++ b/ThirdParty/X11/Include/X11/VarargsI.h @@ -0,0 +1,66 @@ +/* + +Copyright 1985, 1986, 1987, 1988, 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _VarargsI_h_ +#define _VarargsI_h_ + +#include <stdarg.h> + +/* private routines */ + +_XFUNCPROTOBEGIN + +extern void _XtCountVaList( + va_list /*var*/, int* /*total_count*/, int* /*typed_count*/ +); + +extern void _XtVaToArgList( + Widget /*widget*/, va_list /*var*/, int /*max_count*/, ArgList* /*args_return*/, Cardinal* /*num_args_return*/ +); + +extern void _XtVaToTypedArgList( + va_list /*var*/, int /*count*/, XtTypedArgList* /*args_return*/, Cardinal* /*num_args_return*/ +); + +extern XtTypedArgList _XtVaCreateTypedArgList( + va_list /*var*/, int /*count*/ +); + +extern void _XtFreeArgList( + ArgList /*args*/, int /*total_count*/, int /*typed_count*/ +); + +extern void _XtGetApplicationResources( + Widget /*w*/, XtPointer /*base*/, XtResourceList /*resources*/, Cardinal /*num_resources*/, ArgList /*args*/, Cardinal /*num_args*/, XtTypedArgList /*typed_args*/, Cardinal /*num_typed_args*/ +); + +extern void _XtGetSubresources( + Widget /*w*/, XtPointer /*base*/, const char* /*name*/, const char* /*class*/, XtResourceList /*resources*/, Cardinal /*num_resources*/, ArgList /*args*/, Cardinal /*num_args*/, XtTypedArgList /*typed_args*/, Cardinal /*num_typed_args*/ +); + +_XFUNCPROTOEND + +#endif /* _VarargsI_h_ */ diff --git a/ThirdParty/X11/Include/X11/Vendor.h b/ThirdParty/X11/Include/X11/Vendor.h new file mode 100644 index 0000000..6d783c6 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Vendor.h @@ -0,0 +1,70 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XtVendor_h +#define _XtVendor_h + +#include <X11/Intrinsic.h> + +/*********************************************************************** + * + * VendorShell Widget + * + ***********************************************************************/ + +/* Class record constants */ + +typedef struct _VendorShellClassRec *VendorShellWidgetClass; + +_XFUNCPROTOBEGIN + +externalref WidgetClass vendorShellWidgetClass; + +_XFUNCPROTOEND + +#endif /* _XtVendor_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/ThirdParty/X11/Include/X11/VendorP.h b/ThirdParty/X11/Include/X11/VendorP.h new file mode 100644 index 0000000..4eb9404 --- /dev/null +++ b/ThirdParty/X11/Include/X11/VendorP.h @@ -0,0 +1,102 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +/* + * VendorP.h - Private definitions for VendorShell widget + * + * Author: Paul Asente + * Digital Equipment Corporation + * Western Software Laboratory + * Date: Thu Dec 3, 1987 + */ + +/*********************************************************************** + * + * VendorShell Widget Private Data + * + ***********************************************************************/ + +#ifndef _XtVendorPrivate_h +#define _XtVendorPrivate_h + +#include <X11/Vendor.h> + +/* New fields for the VendorShell widget class record */ + +_XFUNCPROTOBEGIN + +typedef struct { + XtPointer extension; /* pointer to extension record */ +} VendorShellClassPart; + +typedef struct _VendorShellClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ShellClassPart shell_class; + WMShellClassPart wm_shell_class; + VendorShellClassPart vendor_shell_class; +} VendorShellClassRec; + +externalref VendorShellClassRec vendorShellClassRec; + +/* New fields for the vendor shell widget. */ + +typedef struct { + int vendor_specific; +} VendorShellPart; + +typedef struct { + CorePart core; + CompositePart composite; + ShellPart shell; + WMShellPart wm; + VendorShellPart vendor; +} VendorShellRec, *VendorShellWidget; + +_XFUNCPROTOEND + +#endif /* _XtVendorPrivate_h */ diff --git a/ThirdParty/X11/Include/X11/X.h b/ThirdParty/X11/Include/X11/X.h new file mode 100644 index 0000000..5cf695d --- /dev/null +++ b/ThirdParty/X11/Include/X11/X.h @@ -0,0 +1,717 @@ +/* Definitions for the X window system likely to be used by applications */ + +#ifndef X_H +#define X_H + +/*********************************************************** + +Copyright 1987, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#define X_PROTOCOL 11 /* current protocol version */ +#define X_PROTOCOL_REVISION 0 /* current minor version */ + +/* Resources */ + +/* + * _XSERVER64 must ONLY be defined when compiling X server sources on + * systems where unsigned long is not 32 bits, must NOT be used in + * client or library code. + */ +#ifndef _XSERVER64 +# ifndef _XTYPEDEF_XID +# define _XTYPEDEF_XID +typedef unsigned long XID; +# endif +# ifndef _XTYPEDEF_MASK +# define _XTYPEDEF_MASK +typedef unsigned long Mask; +# endif +# ifndef _XTYPEDEF_ATOM +# define _XTYPEDEF_ATOM +typedef unsigned long Atom; /* Also in Xdefs.h */ +# endif +typedef unsigned long VisualID; +typedef unsigned long Time; +#else +# include <X11/Xmd.h> +# ifndef _XTYPEDEF_XID +# define _XTYPEDEF_XID +typedef CARD32 XID; +# endif +# ifndef _XTYPEDEF_MASK +# define _XTYPEDEF_MASK +typedef CARD32 Mask; +# endif +# ifndef _XTYPEDEF_ATOM +# define _XTYPEDEF_ATOM +typedef CARD32 Atom; +# endif +typedef CARD32 VisualID; +typedef CARD32 Time; +#endif + +typedef XID Window; +typedef XID Drawable; +#ifndef _XTYPEDEF_FONT +# define _XTYPEDEF_FONT +typedef XID Font; +#endif +typedef XID Pixmap; +typedef XID Cursor; +typedef XID Colormap; +typedef XID GContext; +typedef XID KeySym; + +typedef unsigned char KeyCode; + +/***************************************************************** + * RESERVED RESOURCE AND CONSTANT DEFINITIONS + *****************************************************************/ + +#ifndef None +#define None 0L /* universal null resource or null atom */ +#endif + +#define ParentRelative 1L /* background pixmap in CreateWindow + and ChangeWindowAttributes */ + +#define CopyFromParent 0L /* border pixmap in CreateWindow + and ChangeWindowAttributes + special VisualID and special window + class passed to CreateWindow */ + +#define PointerWindow 0L /* destination window in SendEvent */ +#define InputFocus 1L /* destination window in SendEvent */ + +#define PointerRoot 1L /* focus window in SetInputFocus */ + +#define AnyPropertyType 0L /* special Atom, passed to GetProperty */ + +#define AnyKey 0L /* special Key Code, passed to GrabKey */ + +#define AnyButton 0L /* special Button Code, passed to GrabButton */ + +#define AllTemporary 0L /* special Resource ID passed to KillClient */ + +#define CurrentTime 0L /* special Time */ + +#define NoSymbol 0L /* special KeySym */ + +/***************************************************************** + * EVENT DEFINITIONS + *****************************************************************/ + +/* Input Event Masks. Used as event-mask window attribute and as arguments + to Grab requests. Not to be confused with event names. */ + +#define NoEventMask 0L +#define KeyPressMask (1L<<0) +#define KeyReleaseMask (1L<<1) +#define ButtonPressMask (1L<<2) +#define ButtonReleaseMask (1L<<3) +#define EnterWindowMask (1L<<4) +#define LeaveWindowMask (1L<<5) +#define PointerMotionMask (1L<<6) +#define PointerMotionHintMask (1L<<7) +#define Button1MotionMask (1L<<8) +#define Button2MotionMask (1L<<9) +#define Button3MotionMask (1L<<10) +#define Button4MotionMask (1L<<11) +#define Button5MotionMask (1L<<12) +#define ButtonMotionMask (1L<<13) +#define KeymapStateMask (1L<<14) +#define ExposureMask (1L<<15) +#define VisibilityChangeMask (1L<<16) +#define StructureNotifyMask (1L<<17) +#define ResizeRedirectMask (1L<<18) +#define SubstructureNotifyMask (1L<<19) +#define SubstructureRedirectMask (1L<<20) +#define FocusChangeMask (1L<<21) +#define PropertyChangeMask (1L<<22) +#define ColormapChangeMask (1L<<23) +#define OwnerGrabButtonMask (1L<<24) + +/* Event names. Used in "type" field in XEvent structures. Not to be +confused with event masks above. They start from 2 because 0 and 1 +are reserved in the protocol for errors and replies. */ + +#define KeyPress 2 +#define KeyRelease 3 +#define ButtonPress 4 +#define ButtonRelease 5 +#define MotionNotify 6 +#define EnterNotify 7 +#define LeaveNotify 8 +#define FocusIn 9 +#define FocusOut 10 +#define KeymapNotify 11 +#define Expose 12 +#define GraphicsExpose 13 +#define NoExpose 14 +#define VisibilityNotify 15 +#define CreateNotify 16 +#define DestroyNotify 17 +#define UnmapNotify 18 +#define MapNotify 19 +#define MapRequest 20 +#define ReparentNotify 21 +#define ConfigureNotify 22 +#define ConfigureRequest 23 +#define GravityNotify 24 +#define ResizeRequest 25 +#define CirculateNotify 26 +#define CirculateRequest 27 +#define PropertyNotify 28 +#define SelectionClear 29 +#define SelectionRequest 30 +#define SelectionNotify 31 +#define ColormapNotify 32 +#define ClientMessage 33 +#define MappingNotify 34 +#define GenericEvent 35 +#define LASTEvent 36 /* must be bigger than any event # */ + + +/* Key masks. Used as modifiers to GrabButton and GrabKey, results of QueryPointer, + state in various key-, mouse-, and button-related events. */ + +#define ShiftMask (1<<0) +#define LockMask (1<<1) +#define ControlMask (1<<2) +#define Mod1Mask (1<<3) +#define Mod2Mask (1<<4) +#define Mod3Mask (1<<5) +#define Mod4Mask (1<<6) +#define Mod5Mask (1<<7) + +/* modifier names. Used to build a SetModifierMapping request or + to read a GetModifierMapping request. These correspond to the + masks defined above. */ +#define ShiftMapIndex 0 +#define LockMapIndex 1 +#define ControlMapIndex 2 +#define Mod1MapIndex 3 +#define Mod2MapIndex 4 +#define Mod3MapIndex 5 +#define Mod4MapIndex 6 +#define Mod5MapIndex 7 + + +/* button masks. Used in same manner as Key masks above. Not to be confused + with button names below. */ + +#define Button1Mask (1<<8) +#define Button2Mask (1<<9) +#define Button3Mask (1<<10) +#define Button4Mask (1<<11) +#define Button5Mask (1<<12) + +#define AnyModifier (1<<15) /* used in GrabButton, GrabKey */ + + +/* button names. Used as arguments to GrabButton and as detail in ButtonPress + and ButtonRelease events. Not to be confused with button masks above. + Note that 0 is already defined above as "AnyButton". */ + +#define Button1 1 +#define Button2 2 +#define Button3 3 +#define Button4 4 +#define Button5 5 + +/* Notify modes */ + +#define NotifyNormal 0 +#define NotifyGrab 1 +#define NotifyUngrab 2 +#define NotifyWhileGrabbed 3 + +#define NotifyHint 1 /* for MotionNotify events */ + +/* Notify detail */ + +#define NotifyAncestor 0 +#define NotifyVirtual 1 +#define NotifyInferior 2 +#define NotifyNonlinear 3 +#define NotifyNonlinearVirtual 4 +#define NotifyPointer 5 +#define NotifyPointerRoot 6 +#define NotifyDetailNone 7 + +/* Visibility notify */ + +#define VisibilityUnobscured 0 +#define VisibilityPartiallyObscured 1 +#define VisibilityFullyObscured 2 + +/* Circulation request */ + +#define PlaceOnTop 0 +#define PlaceOnBottom 1 + +/* protocol families */ + +#define FamilyInternet 0 /* IPv4 */ +#define FamilyDECnet 1 +#define FamilyChaos 2 +#define FamilyInternet6 6 /* IPv6 */ + +/* authentication families not tied to a specific protocol */ +#define FamilyServerInterpreted 5 + +/* Property notification */ + +#define PropertyNewValue 0 +#define PropertyDelete 1 + +/* Color Map notification */ + +#define ColormapUninstalled 0 +#define ColormapInstalled 1 + +/* GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes */ + +#define GrabModeSync 0 +#define GrabModeAsync 1 + +/* GrabPointer, GrabKeyboard reply status */ + +#define GrabSuccess 0 +#define AlreadyGrabbed 1 +#define GrabInvalidTime 2 +#define GrabNotViewable 3 +#define GrabFrozen 4 + +/* AllowEvents modes */ + +#define AsyncPointer 0 +#define SyncPointer 1 +#define ReplayPointer 2 +#define AsyncKeyboard 3 +#define SyncKeyboard 4 +#define ReplayKeyboard 5 +#define AsyncBoth 6 +#define SyncBoth 7 + +/* Used in SetInputFocus, GetInputFocus */ + +#define RevertToNone (int)None +#define RevertToPointerRoot (int)PointerRoot +#define RevertToParent 2 + +/***************************************************************** + * ERROR CODES + *****************************************************************/ + +#define Success 0 /* everything's okay */ +#define BadRequest 1 /* bad request code */ +#define BadValue 2 /* int parameter out of range */ +#define BadWindow 3 /* parameter not a Window */ +#define BadPixmap 4 /* parameter not a Pixmap */ +#define BadAtom 5 /* parameter not an Atom */ +#define BadCursor 6 /* parameter not a Cursor */ +#define BadFont 7 /* parameter not a Font */ +#define BadMatch 8 /* parameter mismatch */ +#define BadDrawable 9 /* parameter not a Pixmap or Window */ +#define BadAccess 10 /* depending on context: + - key/button already grabbed + - attempt to free an illegal + cmap entry + - attempt to store into a read-only + color map entry. + - attempt to modify the access control + list from other than the local host. + */ +#define BadAlloc 11 /* insufficient resources */ +#define BadColor 12 /* no such colormap */ +#define BadGC 13 /* parameter not a GC */ +#define BadIDChoice 14 /* choice not in range or already used */ +#define BadName 15 /* font or color name doesn't exist */ +#define BadLength 16 /* Request length incorrect */ +#define BadImplementation 17 /* server is defective */ + +#define FirstExtensionError 128 +#define LastExtensionError 255 + +/***************************************************************** + * WINDOW DEFINITIONS + *****************************************************************/ + +/* Window classes used by CreateWindow */ +/* Note that CopyFromParent is already defined as 0 above */ + +#define InputOutput 1 +#define InputOnly 2 + +/* Window attributes for CreateWindow and ChangeWindowAttributes */ + +#define CWBackPixmap (1L<<0) +#define CWBackPixel (1L<<1) +#define CWBorderPixmap (1L<<2) +#define CWBorderPixel (1L<<3) +#define CWBitGravity (1L<<4) +#define CWWinGravity (1L<<5) +#define CWBackingStore (1L<<6) +#define CWBackingPlanes (1L<<7) +#define CWBackingPixel (1L<<8) +#define CWOverrideRedirect (1L<<9) +#define CWSaveUnder (1L<<10) +#define CWEventMask (1L<<11) +#define CWDontPropagate (1L<<12) +#define CWColormap (1L<<13) +#define CWCursor (1L<<14) + +/* ConfigureWindow structure */ + +#define CWX (1<<0) +#define CWY (1<<1) +#define CWWidth (1<<2) +#define CWHeight (1<<3) +#define CWBorderWidth (1<<4) +#define CWSibling (1<<5) +#define CWStackMode (1<<6) + + +/* Bit Gravity */ + +#define ForgetGravity 0 +#define NorthWestGravity 1 +#define NorthGravity 2 +#define NorthEastGravity 3 +#define WestGravity 4 +#define CenterGravity 5 +#define EastGravity 6 +#define SouthWestGravity 7 +#define SouthGravity 8 +#define SouthEastGravity 9 +#define StaticGravity 10 + +/* Window gravity + bit gravity above */ + +#define UnmapGravity 0 + +/* Used in CreateWindow for backing-store hint */ + +#define NotUseful 0 +#define WhenMapped 1 +#define Always 2 + +/* Used in GetWindowAttributes reply */ + +#define IsUnmapped 0 +#define IsUnviewable 1 +#define IsViewable 2 + +/* Used in ChangeSaveSet */ + +#define SetModeInsert 0 +#define SetModeDelete 1 + +/* Used in ChangeCloseDownMode */ + +#define DestroyAll 0 +#define RetainPermanent 1 +#define RetainTemporary 2 + +/* Window stacking method (in configureWindow) */ + +#define Above 0 +#define Below 1 +#define TopIf 2 +#define BottomIf 3 +#define Opposite 4 + +/* Circulation direction */ + +#define RaiseLowest 0 +#define LowerHighest 1 + +/* Property modes */ + +#define PropModeReplace 0 +#define PropModePrepend 1 +#define PropModeAppend 2 + +/***************************************************************** + * GRAPHICS DEFINITIONS + *****************************************************************/ + +/* graphics functions, as in GC.alu */ + +#define GXclear 0x0 /* 0 */ +#define GXand 0x1 /* src AND dst */ +#define GXandReverse 0x2 /* src AND NOT dst */ +#define GXcopy 0x3 /* src */ +#define GXandInverted 0x4 /* NOT src AND dst */ +#define GXnoop 0x5 /* dst */ +#define GXxor 0x6 /* src XOR dst */ +#define GXor 0x7 /* src OR dst */ +#define GXnor 0x8 /* NOT src AND NOT dst */ +#define GXequiv 0x9 /* NOT src XOR dst */ +#define GXinvert 0xa /* NOT dst */ +#define GXorReverse 0xb /* src OR NOT dst */ +#define GXcopyInverted 0xc /* NOT src */ +#define GXorInverted 0xd /* NOT src OR dst */ +#define GXnand 0xe /* NOT src OR NOT dst */ +#define GXset 0xf /* 1 */ + +/* LineStyle */ + +#define LineSolid 0 +#define LineOnOffDash 1 +#define LineDoubleDash 2 + +/* capStyle */ + +#define CapNotLast 0 +#define CapButt 1 +#define CapRound 2 +#define CapProjecting 3 + +/* joinStyle */ + +#define JoinMiter 0 +#define JoinRound 1 +#define JoinBevel 2 + +/* fillStyle */ + +#define FillSolid 0 +#define FillTiled 1 +#define FillStippled 2 +#define FillOpaqueStippled 3 + +/* fillRule */ + +#define EvenOddRule 0 +#define WindingRule 1 + +/* subwindow mode */ + +#define ClipByChildren 0 +#define IncludeInferiors 1 + +/* SetClipRectangles ordering */ + +#define Unsorted 0 +#define YSorted 1 +#define YXSorted 2 +#define YXBanded 3 + +/* CoordinateMode for drawing routines */ + +#define CoordModeOrigin 0 /* relative to the origin */ +#define CoordModePrevious 1 /* relative to previous point */ + +/* Polygon shapes */ + +#define Complex 0 /* paths may intersect */ +#define Nonconvex 1 /* no paths intersect, but not convex */ +#define Convex 2 /* wholly convex */ + +/* Arc modes for PolyFillArc */ + +#define ArcChord 0 /* join endpoints of arc */ +#define ArcPieSlice 1 /* join endpoints to center of arc */ + +/* GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into + GC.stateChanges */ + +#define GCFunction (1L<<0) +#define GCPlaneMask (1L<<1) +#define GCForeground (1L<<2) +#define GCBackground (1L<<3) +#define GCLineWidth (1L<<4) +#define GCLineStyle (1L<<5) +#define GCCapStyle (1L<<6) +#define GCJoinStyle (1L<<7) +#define GCFillStyle (1L<<8) +#define GCFillRule (1L<<9) +#define GCTile (1L<<10) +#define GCStipple (1L<<11) +#define GCTileStipXOrigin (1L<<12) +#define GCTileStipYOrigin (1L<<13) +#define GCFont (1L<<14) +#define GCSubwindowMode (1L<<15) +#define GCGraphicsExposures (1L<<16) +#define GCClipXOrigin (1L<<17) +#define GCClipYOrigin (1L<<18) +#define GCClipMask (1L<<19) +#define GCDashOffset (1L<<20) +#define GCDashList (1L<<21) +#define GCArcMode (1L<<22) + +#define GCLastBit 22 +/***************************************************************** + * FONTS + *****************************************************************/ + +/* used in QueryFont -- draw direction */ + +#define FontLeftToRight 0 +#define FontRightToLeft 1 + +#define FontChange 255 + +/***************************************************************** + * IMAGING + *****************************************************************/ + +/* ImageFormat -- PutImage, GetImage */ + +#define XYBitmap 0 /* depth 1, XYFormat */ +#define XYPixmap 1 /* depth == drawable depth */ +#define ZPixmap 2 /* depth == drawable depth */ + +/***************************************************************** + * COLOR MAP STUFF + *****************************************************************/ + +/* For CreateColormap */ + +#define AllocNone 0 /* create map with no entries */ +#define AllocAll 1 /* allocate entire map writeable */ + + +/* Flags used in StoreNamedColor, StoreColors */ + +#define DoRed (1<<0) +#define DoGreen (1<<1) +#define DoBlue (1<<2) + +/***************************************************************** + * CURSOR STUFF + *****************************************************************/ + +/* QueryBestSize Class */ + +#define CursorShape 0 /* largest size that can be displayed */ +#define TileShape 1 /* size tiled fastest */ +#define StippleShape 2 /* size stippled fastest */ + +/***************************************************************** + * KEYBOARD/POINTER STUFF + *****************************************************************/ + +#define AutoRepeatModeOff 0 +#define AutoRepeatModeOn 1 +#define AutoRepeatModeDefault 2 + +#define LedModeOff 0 +#define LedModeOn 1 + +/* masks for ChangeKeyboardControl */ + +#define KBKeyClickPercent (1L<<0) +#define KBBellPercent (1L<<1) +#define KBBellPitch (1L<<2) +#define KBBellDuration (1L<<3) +#define KBLed (1L<<4) +#define KBLedMode (1L<<5) +#define KBKey (1L<<6) +#define KBAutoRepeatMode (1L<<7) + +#define MappingSuccess 0 +#define MappingBusy 1 +#define MappingFailed 2 + +#define MappingModifier 0 +#define MappingKeyboard 1 +#define MappingPointer 2 + +/***************************************************************** + * SCREEN SAVER STUFF + *****************************************************************/ + +#define DontPreferBlanking 0 +#define PreferBlanking 1 +#define DefaultBlanking 2 + +#define DisableScreenSaver 0 +#define DisableScreenInterval 0 + +#define DontAllowExposures 0 +#define AllowExposures 1 +#define DefaultExposures 2 + +/* for ForceScreenSaver */ + +#define ScreenSaverReset 0 +#define ScreenSaverActive 1 + +/***************************************************************** + * HOSTS AND CONNECTIONS + *****************************************************************/ + +/* for ChangeHosts */ + +#define HostInsert 0 +#define HostDelete 1 + +/* for ChangeAccessControl */ + +#define EnableAccess 1 +#define DisableAccess 0 + +/* Display classes used in opening the connection + * Note that the statically allocated ones are even numbered and the + * dynamically changeable ones are odd numbered */ + +#define StaticGray 0 +#define GrayScale 1 +#define StaticColor 2 +#define PseudoColor 3 +#define TrueColor 4 +#define DirectColor 5 + + +/* Byte order used in imageByteOrder and bitmapBitOrder */ + +#define LSBFirst 0 +#define MSBFirst 1 + +#endif /* X_H */ diff --git a/ThirdParty/X11/Include/X11/XF86keysym.h b/ThirdParty/X11/Include/X11/XF86keysym.h new file mode 100644 index 0000000..8b5646e --- /dev/null +++ b/ThirdParty/X11/Include/X11/XF86keysym.h @@ -0,0 +1,220 @@ +/* + * XFree86 vendor specific keysyms. + * + * The XFree86 keysym range is 0x10080001 - 0x1008FFFF. + * + * X.Org will not be adding to the XF86 set of keysyms, though they have + * been adopted and are considered a "standard" part of X keysym definitions. + * XFree86 never properly commented these keysyms, so we have done our + * best to explain the semantic meaning of these keys. + * + * XFree86 has removed their mail archives of the period, that might have + * shed more light on some of these definitions. Until/unless we resurrect + * these archives, these are from memory and usage. + */ + +/* + * ModeLock + * + * This one is old, and not really used any more since XKB offers this + * functionality. + */ + +#define XF86XK_ModeLock 0x1008FF01 /* Mode Switch Lock */ + +/* Backlight controls. */ +#define XF86XK_MonBrightnessUp 0x1008FF02 /* Monitor/panel brightness */ +#define XF86XK_MonBrightnessDown 0x1008FF03 /* Monitor/panel brightness */ +#define XF86XK_KbdLightOnOff 0x1008FF04 /* Keyboards may be lit */ +#define XF86XK_KbdBrightnessUp 0x1008FF05 /* Keyboards may be lit */ +#define XF86XK_KbdBrightnessDown 0x1008FF06 /* Keyboards may be lit */ + +/* + * Keys found on some "Internet" keyboards. + */ +#define XF86XK_Standby 0x1008FF10 /* System into standby mode */ +#define XF86XK_AudioLowerVolume 0x1008FF11 /* Volume control down */ +#define XF86XK_AudioMute 0x1008FF12 /* Mute sound from the system */ +#define XF86XK_AudioRaiseVolume 0x1008FF13 /* Volume control up */ +#define XF86XK_AudioPlay 0x1008FF14 /* Start playing of audio > */ +#define XF86XK_AudioStop 0x1008FF15 /* Stop playing audio */ +#define XF86XK_AudioPrev 0x1008FF16 /* Previous track */ +#define XF86XK_AudioNext 0x1008FF17 /* Next track */ +#define XF86XK_HomePage 0x1008FF18 /* Display user's home page */ +#define XF86XK_Mail 0x1008FF19 /* Invoke user's mail program */ +#define XF86XK_Start 0x1008FF1A /* Start application */ +#define XF86XK_Search 0x1008FF1B /* Search */ +#define XF86XK_AudioRecord 0x1008FF1C /* Record audio application */ + +/* These are sometimes found on PDA's (e.g. Palm, PocketPC or elsewhere) */ +#define XF86XK_Calculator 0x1008FF1D /* Invoke calculator program */ +#define XF86XK_Memo 0x1008FF1E /* Invoke Memo taking program */ +#define XF86XK_ToDoList 0x1008FF1F /* Invoke To Do List program */ +#define XF86XK_Calendar 0x1008FF20 /* Invoke Calendar program */ +#define XF86XK_PowerDown 0x1008FF21 /* Deep sleep the system */ +#define XF86XK_ContrastAdjust 0x1008FF22 /* Adjust screen contrast */ +#define XF86XK_RockerUp 0x1008FF23 /* Rocker switches exist up */ +#define XF86XK_RockerDown 0x1008FF24 /* and down */ +#define XF86XK_RockerEnter 0x1008FF25 /* and let you press them */ + +/* Some more "Internet" keyboard symbols */ +#define XF86XK_Back 0x1008FF26 /* Like back on a browser */ +#define XF86XK_Forward 0x1008FF27 /* Like forward on a browser */ +#define XF86XK_Stop 0x1008FF28 /* Stop current operation */ +#define XF86XK_Refresh 0x1008FF29 /* Refresh the page */ +#define XF86XK_PowerOff 0x1008FF2A /* Power off system entirely */ +#define XF86XK_WakeUp 0x1008FF2B /* Wake up system from sleep */ +#define XF86XK_Eject 0x1008FF2C /* Eject device (e.g. DVD) */ +#define XF86XK_ScreenSaver 0x1008FF2D /* Invoke screensaver */ +#define XF86XK_WWW 0x1008FF2E /* Invoke web browser */ +#define XF86XK_Sleep 0x1008FF2F /* Put system to sleep */ +#define XF86XK_Favorites 0x1008FF30 /* Show favorite locations */ +#define XF86XK_AudioPause 0x1008FF31 /* Pause audio playing */ +#define XF86XK_AudioMedia 0x1008FF32 /* Launch media collection app */ +#define XF86XK_MyComputer 0x1008FF33 /* Display "My Computer" window */ +#define XF86XK_VendorHome 0x1008FF34 /* Display vendor home web site */ +#define XF86XK_LightBulb 0x1008FF35 /* Light bulb keys exist */ +#define XF86XK_Shop 0x1008FF36 /* Display shopping web site */ +#define XF86XK_History 0x1008FF37 /* Show history of web surfing */ +#define XF86XK_OpenURL 0x1008FF38 /* Open selected URL */ +#define XF86XK_AddFavorite 0x1008FF39 /* Add URL to favorites list */ +#define XF86XK_HotLinks 0x1008FF3A /* Show "hot" links */ +#define XF86XK_BrightnessAdjust 0x1008FF3B /* Invoke brightness adj. UI */ +#define XF86XK_Finance 0x1008FF3C /* Display financial site */ +#define XF86XK_Community 0x1008FF3D /* Display user's community */ +#define XF86XK_AudioRewind 0x1008FF3E /* "rewind" audio track */ +#define XF86XK_BackForward 0x1008FF3F /* ??? */ +#define XF86XK_Launch0 0x1008FF40 /* Launch Application */ +#define XF86XK_Launch1 0x1008FF41 /* Launch Application */ +#define XF86XK_Launch2 0x1008FF42 /* Launch Application */ +#define XF86XK_Launch3 0x1008FF43 /* Launch Application */ +#define XF86XK_Launch4 0x1008FF44 /* Launch Application */ +#define XF86XK_Launch5 0x1008FF45 /* Launch Application */ +#define XF86XK_Launch6 0x1008FF46 /* Launch Application */ +#define XF86XK_Launch7 0x1008FF47 /* Launch Application */ +#define XF86XK_Launch8 0x1008FF48 /* Launch Application */ +#define XF86XK_Launch9 0x1008FF49 /* Launch Application */ +#define XF86XK_LaunchA 0x1008FF4A /* Launch Application */ +#define XF86XK_LaunchB 0x1008FF4B /* Launch Application */ +#define XF86XK_LaunchC 0x1008FF4C /* Launch Application */ +#define XF86XK_LaunchD 0x1008FF4D /* Launch Application */ +#define XF86XK_LaunchE 0x1008FF4E /* Launch Application */ +#define XF86XK_LaunchF 0x1008FF4F /* Launch Application */ + +#define XF86XK_ApplicationLeft 0x1008FF50 /* switch to application, left */ +#define XF86XK_ApplicationRight 0x1008FF51 /* switch to application, right*/ +#define XF86XK_Book 0x1008FF52 /* Launch bookreader */ +#define XF86XK_CD 0x1008FF53 /* Launch CD/DVD player */ +#define XF86XK_Calculater 0x1008FF54 /* Launch Calculater */ +#define XF86XK_Clear 0x1008FF55 /* Clear window, screen */ +#define XF86XK_Close 0x1008FF56 /* Close window */ +#define XF86XK_Copy 0x1008FF57 /* Copy selection */ +#define XF86XK_Cut 0x1008FF58 /* Cut selection */ +#define XF86XK_Display 0x1008FF59 /* Output switch key */ +#define XF86XK_DOS 0x1008FF5A /* Launch DOS (emulation) */ +#define XF86XK_Documents 0x1008FF5B /* Open documents window */ +#define XF86XK_Excel 0x1008FF5C /* Launch spread sheet */ +#define XF86XK_Explorer 0x1008FF5D /* Launch file explorer */ +#define XF86XK_Game 0x1008FF5E /* Launch game */ +#define XF86XK_Go 0x1008FF5F /* Go to URL */ +#define XF86XK_iTouch 0x1008FF60 /* Logitch iTouch- don't use */ +#define XF86XK_LogOff 0x1008FF61 /* Log off system */ +#define XF86XK_Market 0x1008FF62 /* ?? */ +#define XF86XK_Meeting 0x1008FF63 /* enter meeting in calendar */ +#define XF86XK_MenuKB 0x1008FF65 /* distingush keyboard from PB */ +#define XF86XK_MenuPB 0x1008FF66 /* distinuish PB from keyboard */ +#define XF86XK_MySites 0x1008FF67 /* Favourites */ +#define XF86XK_New 0x1008FF68 /* New (folder, document... */ +#define XF86XK_News 0x1008FF69 /* News */ +#define XF86XK_OfficeHome 0x1008FF6A /* Office home (old Staroffice)*/ +#define XF86XK_Open 0x1008FF6B /* Open */ +#define XF86XK_Option 0x1008FF6C /* ?? */ +#define XF86XK_Paste 0x1008FF6D /* Paste */ +#define XF86XK_Phone 0x1008FF6E /* Launch phone; dial number */ +#define XF86XK_Q 0x1008FF70 /* Compaq's Q - don't use */ +#define XF86XK_Reply 0x1008FF72 /* Reply e.g., mail */ +#define XF86XK_Reload 0x1008FF73 /* Reload web page, file, etc. */ +#define XF86XK_RotateWindows 0x1008FF74 /* Rotate windows e.g. xrandr */ +#define XF86XK_RotationPB 0x1008FF75 /* don't use */ +#define XF86XK_RotationKB 0x1008FF76 /* don't use */ +#define XF86XK_Save 0x1008FF77 /* Save (file, document, state */ +#define XF86XK_ScrollUp 0x1008FF78 /* Scroll window/contents up */ +#define XF86XK_ScrollDown 0x1008FF79 /* Scrool window/contentd down */ +#define XF86XK_ScrollClick 0x1008FF7A /* Use XKB mousekeys instead */ +#define XF86XK_Send 0x1008FF7B /* Send mail, file, object */ +#define XF86XK_Spell 0x1008FF7C /* Spell checker */ +#define XF86XK_SplitScreen 0x1008FF7D /* Split window or screen */ +#define XF86XK_Support 0x1008FF7E /* Get support (??) */ +#define XF86XK_TaskPane 0x1008FF7F /* Show tasks */ +#define XF86XK_Terminal 0x1008FF80 /* Launch terminal emulator */ +#define XF86XK_Tools 0x1008FF81 /* toolbox of desktop/app. */ +#define XF86XK_Travel 0x1008FF82 /* ?? */ +#define XF86XK_UserPB 0x1008FF84 /* ?? */ +#define XF86XK_User1KB 0x1008FF85 /* ?? */ +#define XF86XK_User2KB 0x1008FF86 /* ?? */ +#define XF86XK_Video 0x1008FF87 /* Launch video player */ +#define XF86XK_WheelButton 0x1008FF88 /* button from a mouse wheel */ +#define XF86XK_Word 0x1008FF89 /* Launch word processor */ +#define XF86XK_Xfer 0x1008FF8A +#define XF86XK_ZoomIn 0x1008FF8B /* zoom in view, map, etc. */ +#define XF86XK_ZoomOut 0x1008FF8C /* zoom out view, map, etc. */ + +#define XF86XK_Away 0x1008FF8D /* mark yourself as away */ +#define XF86XK_Messenger 0x1008FF8E /* as in instant messaging */ +#define XF86XK_WebCam 0x1008FF8F /* Launch web camera app. */ +#define XF86XK_MailForward 0x1008FF90 /* Forward in mail */ +#define XF86XK_Pictures 0x1008FF91 /* Show pictures */ +#define XF86XK_Music 0x1008FF92 /* Launch music application */ + +#define XF86XK_Battery 0x1008FF93 /* Display battery information */ +#define XF86XK_Bluetooth 0x1008FF94 /* Enable/disable Bluetooth */ +#define XF86XK_WLAN 0x1008FF95 /* Enable/disable WLAN */ +#define XF86XK_UWB 0x1008FF96 /* Enable/disable UWB */ + +#define XF86XK_AudioForward 0x1008FF97 /* fast-forward audio track */ +#define XF86XK_AudioRepeat 0x1008FF98 /* toggle repeat mode */ +#define XF86XK_AudioRandomPlay 0x1008FF99 /* toggle shuffle mode */ +#define XF86XK_Subtitle 0x1008FF9A /* cycle through subtitle */ +#define XF86XK_AudioCycleTrack 0x1008FF9B /* cycle through audio tracks */ +#define XF86XK_CycleAngle 0x1008FF9C /* cycle through angles */ +#define XF86XK_FrameBack 0x1008FF9D /* video: go one frame back */ +#define XF86XK_FrameForward 0x1008FF9E /* video: go one frame forward */ +#define XF86XK_Time 0x1008FF9F /* display, or shows an entry for time seeking */ +#define XF86XK_Select 0x1008FFA0 /* Select button on joypads and remotes */ +#define XF86XK_View 0x1008FFA1 /* Show a view options/properties */ +#define XF86XK_TopMenu 0x1008FFA2 /* Go to a top-level menu in a video */ + +#define XF86XK_Red 0x1008FFA3 /* Red button */ +#define XF86XK_Green 0x1008FFA4 /* Green button */ +#define XF86XK_Yellow 0x1008FFA5 /* Yellow button */ +#define XF86XK_Blue 0x1008FFA6 /* Blue button */ + +#define XF86XK_Suspend 0x1008FFA7 /* Sleep to RAM */ +#define XF86XK_Hibernate 0x1008FFA8 /* Sleep to disk */ +#define XF86XK_TouchpadToggle 0x1008FFA9 /* Toggle between touchpad/trackstick */ +#define XF86XK_TouchpadOn 0x1008FFB0 /* The touchpad got switched on */ +#define XF86XK_TouchpadOff 0x1008FFB1 /* The touchpad got switched off */ + +#define XF86XK_AudioMicMute 0x1008FFB2 /* Mute the Mic from the system */ + +/* Keys for special action keys (hot keys) */ +/* Virtual terminals on some operating systems */ +#define XF86XK_Switch_VT_1 0x1008FE01 +#define XF86XK_Switch_VT_2 0x1008FE02 +#define XF86XK_Switch_VT_3 0x1008FE03 +#define XF86XK_Switch_VT_4 0x1008FE04 +#define XF86XK_Switch_VT_5 0x1008FE05 +#define XF86XK_Switch_VT_6 0x1008FE06 +#define XF86XK_Switch_VT_7 0x1008FE07 +#define XF86XK_Switch_VT_8 0x1008FE08 +#define XF86XK_Switch_VT_9 0x1008FE09 +#define XF86XK_Switch_VT_10 0x1008FE0A +#define XF86XK_Switch_VT_11 0x1008FE0B +#define XF86XK_Switch_VT_12 0x1008FE0C + +#define XF86XK_Ungrab 0x1008FE20 /* force ungrab */ +#define XF86XK_ClearGrab 0x1008FE21 /* kill application with grab */ +#define XF86XK_Next_VMode 0x1008FE22 /* next video mode available */ +#define XF86XK_Prev_VMode 0x1008FE23 /* prev. video mode available */ +#define XF86XK_LogWindowTree 0x1008FE24 /* print window tree to log */ +#define XF86XK_LogGrabInfo 0x1008FE25 /* print all active grabs to log */ diff --git a/ThirdParty/X11/Include/X11/XKBlib.h b/ThirdParty/X11/Include/X11/XKBlib.h new file mode 100644 index 0000000..8f6c72c --- /dev/null +++ b/ThirdParty/X11/Include/X11/XKBlib.h @@ -0,0 +1,1149 @@ +/************************************************************ +Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc. + +Permission to use, copy, modify, and distribute this +software and its documentation for any purpose and without +fee is hereby granted, provided that the above copyright +notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting +documentation, and that the name of Silicon Graphics not be +used in advertising or publicity pertaining to distribution +of the software without specific prior written permission. +Silicon Graphics makes no representation about the suitability +of this software for any purpose. It is provided "as is" +without any express or implied warranty. + +SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON +GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH +THE USE OR PERFORMANCE OF THIS SOFTWARE. + +********************************************************/ + +#ifndef _X11_XKBLIB_H_ +#define _X11_XKBLIB_H_ + +#include <X11/Xlib.h> +#include <X11/extensions/XKBstr.h> + +typedef struct _XkbAnyEvent { + int type; /* XkbAnyEvent */ + unsigned long serial; /* # of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XKB event minor code */ + unsigned int device; /* device ID */ +} XkbAnyEvent; + +typedef struct _XkbNewKeyboardNotify { + int type; /* XkbAnyEvent */ + unsigned long serial; /* of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbNewKeyboardNotify */ + int device; /* device ID */ + int old_device; /* device ID of previous keyboard */ + int min_key_code; /* minimum key code */ + int max_key_code; /* maximum key code */ + int old_min_key_code;/* min key code of previous kbd */ + int old_max_key_code;/* max key code of previous kbd */ + unsigned int changed; /* changed aspects of the keyboard */ + char req_major; /* major and minor opcode of req */ + char req_minor; /* that caused change, if applicable */ +} XkbNewKeyboardNotifyEvent; + +typedef struct _XkbMapNotifyEvent { + int type; /* XkbAnyEvent */ + unsigned long serial; /* of last req processed by server */ + Bool send_event; /* is this from a SendEvent request */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbMapNotify */ + int device; /* device ID */ + unsigned int changed; /* fields which have been changed */ + unsigned int flags; /* reserved */ + int first_type; /* first changed key type */ + int num_types; /* number of changed key types */ + KeyCode min_key_code; + KeyCode max_key_code; + KeyCode first_key_sym; + KeyCode first_key_act; + KeyCode first_key_behavior; + KeyCode first_key_explicit; + KeyCode first_modmap_key; + KeyCode first_vmodmap_key; + int num_key_syms; + int num_key_acts; + int num_key_behaviors; + int num_key_explicit; + int num_modmap_keys; + int num_vmodmap_keys; + unsigned int vmods; /* mask of changed virtual mods */ +} XkbMapNotifyEvent; + +typedef struct _XkbStateNotifyEvent { + int type; /* XkbAnyEvent */ + unsigned long serial; /* # of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbStateNotify */ + int device; /* device ID */ + unsigned int changed; /* mask of changed state components */ + int group; /* keyboard group */ + int base_group; /* base keyboard group */ + int latched_group; /* latched keyboard group */ + int locked_group; /* locked keyboard group */ + unsigned int mods; /* modifier state */ + unsigned int base_mods; /* base modifier state */ + unsigned int latched_mods; /* latched modifiers */ + unsigned int locked_mods; /* locked modifiers */ + int compat_state; /* compatibility state */ + unsigned char grab_mods; /* mods used for grabs */ + unsigned char compat_grab_mods;/* grab mods for non-XKB clients */ + unsigned char lookup_mods; /* mods sent to clients */ + unsigned char compat_lookup_mods; /* mods sent to non-XKB clients */ + int ptr_buttons; /* pointer button state */ + KeyCode keycode; /* keycode that caused the change */ + char event_type; /* KeyPress or KeyRelease */ + char req_major; /* Major opcode of request */ + char req_minor; /* Minor opcode of request */ +} XkbStateNotifyEvent; + +typedef struct _XkbControlsNotify { + int type; /* XkbAnyEvent */ + unsigned long serial; /* of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbControlsNotify */ + int device; /* device ID */ + unsigned int changed_ctrls; /* controls with changed sub-values */ + unsigned int enabled_ctrls; /* controls currently enabled */ + unsigned int enabled_ctrl_changes;/* controls just {en,dis}abled */ + int num_groups; /* total groups on keyboard */ + KeyCode keycode; /* key that caused change or 0 */ + char event_type; /* type of event that caused change */ + char req_major; /* if keycode==0, major and minor */ + char req_minor; /* opcode of req that caused change */ +} XkbControlsNotifyEvent; + +typedef struct _XkbIndicatorNotify { + int type; /* XkbAnyEvent */ + unsigned long serial; /* of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbIndicatorNotify */ + int device; /* device ID */ + unsigned int changed; /* indicators with new state or map */ + unsigned int state; /* current state of all indicators */ +} XkbIndicatorNotifyEvent; + +typedef struct _XkbNamesNotify { + int type; /* XkbAnyEvent */ + unsigned long serial; /* of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbNamesNotify */ + int device; /* device ID */ + unsigned int changed; /* names that have changed */ + int first_type; /* first key type with new name */ + int num_types; /* number of key types with new names */ + int first_lvl; /* first key type new new level names */ + int num_lvls; /* # of key types w/new level names */ + int num_aliases; /* total number of key aliases*/ + int num_radio_groups;/* total number of radio groups */ + unsigned int changed_vmods; /* virtual modifiers with new names */ + unsigned int changed_groups; /* groups with new names */ + unsigned int changed_indicators;/* indicators with new names */ + int first_key; /* first key with new name */ + int num_keys; /* number of keys with new names */ +} XkbNamesNotifyEvent; + +typedef struct _XkbCompatMapNotify { + int type; /* XkbAnyEvent */ + unsigned long serial; /* of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbCompatMapNotify */ + int device; /* device ID */ + unsigned int changed_groups; /* groups with new compat maps */ + int first_si; /* first new symbol interp */ + int num_si; /* number of new symbol interps */ + int num_total_si; /* total # of symbol interps */ +} XkbCompatMapNotifyEvent; + +typedef struct _XkbBellNotify { + int type; /* XkbAnyEvent */ + unsigned long serial; /* of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbBellNotify */ + int device; /* device ID */ + int percent; /* requested volume as a % of maximum */ + int pitch; /* requested pitch in Hz */ + int duration; /* requested duration in useconds */ + int bell_class; /* (input extension) feedback class */ + int bell_id; /* (input extension) ID of feedback */ + Atom name; /* "name" of requested bell */ + Window window; /* window associated with event */ + Bool event_only; /* "event only" requested */ +} XkbBellNotifyEvent; + +typedef struct _XkbActionMessage { + int type; /* XkbAnyEvent */ + unsigned long serial; /* of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbActionMessage */ + int device; /* device ID */ + KeyCode keycode; /* key that generated the event */ + Bool press; /* true if act caused by key press */ + Bool key_event_follows;/* true if key event also generated */ + int group; /* effective group */ + unsigned int mods; /* effective mods */ + char message[XkbActionMessageLength+1]; + /* message -- leave space for NUL */ +} XkbActionMessageEvent; + +typedef struct _XkbAccessXNotify { + int type; /* XkbAnyEvent */ + unsigned long serial; /* of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbAccessXNotify */ + int device; /* device ID */ + int detail; /* XkbAXN_* */ + int keycode; /* key of event */ + int sk_delay; /* current slow keys delay */ + int debounce_delay; /* current debounce delay */ +} XkbAccessXNotifyEvent; + +typedef struct _XkbExtensionDeviceNotify { + int type; /* XkbAnyEvent */ + unsigned long serial; /* of last req processed by server */ + Bool send_event; /* is this from a SendEvent request? */ + Display * display; /* Display the event was read from */ + Time time; /* milliseconds */ + int xkb_type; /* XkbExtensionDeviceNotify */ + int device; /* device ID */ + unsigned int reason; /* reason for the event */ + unsigned int supported; /* mask of supported features */ + unsigned int unsupported; /* mask of unsupported features */ + /* that some app tried to use */ + int first_btn; /* first button that changed */ + int num_btns; /* range of buttons changed */ + unsigned int leds_defined; /* indicators with names or maps */ + unsigned int led_state; /* current state of the indicators */ + int led_class; /* feedback class for led changes */ + int led_id; /* feedback id for led changes */ +} XkbExtensionDeviceNotifyEvent; + +typedef union _XkbEvent { + int type; + XkbAnyEvent any; + XkbNewKeyboardNotifyEvent new_kbd; + XkbMapNotifyEvent map; + XkbStateNotifyEvent state; + XkbControlsNotifyEvent ctrls; + XkbIndicatorNotifyEvent indicators; + XkbNamesNotifyEvent names; + XkbCompatMapNotifyEvent compat; + XkbBellNotifyEvent bell; + XkbActionMessageEvent message; + XkbAccessXNotifyEvent accessx; + XkbExtensionDeviceNotifyEvent device; + XEvent core; +} XkbEvent; + +typedef struct _XkbKbdDpyState XkbKbdDpyStateRec,*XkbKbdDpyStatePtr; + + /* XkbOpenDisplay error codes */ +#define XkbOD_Success 0 +#define XkbOD_BadLibraryVersion 1 +#define XkbOD_ConnectionRefused 2 +#define XkbOD_NonXkbServer 3 +#define XkbOD_BadServerVersion 4 + + /* Values for XlibFlags */ +#define XkbLC_ForceLatin1Lookup (1<<0) +#define XkbLC_ConsumeLookupMods (1<<1) +#define XkbLC_AlwaysConsumeShiftAndLock (1<<2) +#define XkbLC_IgnoreNewKeyboards (1<<3) +#define XkbLC_ControlFallback (1<<4) +#define XkbLC_ConsumeKeysOnComposeFail (1<<29) +#define XkbLC_ComposeLED (1<<30) +#define XkbLC_BeepOnComposeFail (1<<31) + +#define XkbLC_AllComposeControls (0xc0000000) +#define XkbLC_AllControls (0xc000001f) + +_XFUNCPROTOBEGIN + +extern Bool XkbIgnoreExtension( + Bool /* ignore */ +); + +extern Display *XkbOpenDisplay( + char * /* name */, + int * /* ev_rtrn */, + int * /* err_rtrn */, + int * /* major_rtrn */, + int * /* minor_rtrn */, + int * /* reason */ +); + +extern Bool XkbQueryExtension( + Display * /* dpy */, + int * /* opcodeReturn */, + int * /* eventBaseReturn */, + int * /* errorBaseReturn */, + int * /* majorRtrn */, + int * /* minorRtrn */ +); + +extern Bool XkbUseExtension( + Display * /* dpy */, + int * /* major_rtrn */, + int * /* minor_rtrn */ +); + +extern Bool XkbLibraryVersion( + int * /* libMajorRtrn */, + int * /* libMinorRtrn */ +); + +extern unsigned int XkbSetXlibControls( + Display* /* dpy */, + unsigned int /* affect */, + unsigned int /* values */ +); + +extern unsigned int XkbGetXlibControls( + Display* /* dpy */ +); + +extern unsigned int XkbXlibControlsImplemented(void); + +typedef Atom (*XkbInternAtomFunc)( + Display * /* dpy */, + _Xconst char * /* name */, + Bool /* only_if_exists */ +); + +typedef char * (*XkbGetAtomNameFunc)( + Display * /* dpy */, + Atom /* atom */ +); + +extern void XkbSetAtomFuncs( + XkbInternAtomFunc /* getAtom */, + XkbGetAtomNameFunc /* getName */ +); + +extern KeySym XkbKeycodeToKeysym( + Display * /* dpy */, +#if NeedWidePrototypes + unsigned int /* kc */, +#else + KeyCode /* kc */, +#endif + int /* group */, + int /* level */ +); + +extern unsigned int XkbKeysymToModifiers( + Display * /* dpy */, + KeySym /* ks */ +); + +extern Bool XkbLookupKeySym( + Display * /* dpy */, + KeyCode /* keycode */, + unsigned int /* modifiers */, + unsigned int * /* modifiers_return */, + KeySym * /* keysym_return */ +); + +extern int XkbLookupKeyBinding( + Display * /* dpy */, + KeySym /* sym_rtrn */, + unsigned int /* mods */, + char * /* buffer */, + int /* nbytes */, + int * /* extra_rtrn */ +); + +extern Bool XkbTranslateKeyCode( + XkbDescPtr /* xkb */, + KeyCode /* keycode */, + unsigned int /* modifiers */, + unsigned int * /* modifiers_return */, + KeySym * /* keysym_return */ +); + +extern int XkbTranslateKeySym( + Display * /* dpy */, + register KeySym * /* sym_return */, + unsigned int /* modifiers */, + char * /* buffer */, + int /* nbytes */, + int * /* extra_rtrn */ +); + +extern Bool XkbSetAutoRepeatRate( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* delay */, + unsigned int /* interval */ +); + +extern Bool XkbGetAutoRepeatRate( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int * /* delayRtrn */, + unsigned int * /* intervalRtrn */ +); + +extern Bool XkbChangeEnabledControls( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* affect */, + unsigned int /* values */ +); + +extern Bool XkbDeviceBell( + Display * /* dpy */, + Window /* win */, + int /* deviceSpec */, + int /* bellClass */, + int /* bellID */, + int /* percent */, + Atom /* name */ +); + +extern Bool XkbForceDeviceBell( + Display * /* dpy */, + int /* deviceSpec */, + int /* bellClass */, + int /* bellID */, + int /* percent */ +); + +extern Bool XkbDeviceBellEvent( + Display * /* dpy */, + Window /* win */, + int /* deviceSpec */, + int /* bellClass */, + int /* bellID */, + int /* percent */, + Atom /* name */ +); + +extern Bool XkbBell( + Display * /* dpy */, + Window /* win */, + int /* percent */, + Atom /* name */ +); + +extern Bool XkbForceBell( + Display * /* dpy */, + int /* percent */ +); + +extern Bool XkbBellEvent( + Display * /* dpy */, + Window /* win */, + int /* percent */, + Atom /* name */ +); + +extern Bool XkbSelectEvents( + Display * /* dpy */, + unsigned int /* deviceID */, + unsigned int /* affect */, + unsigned int /* values */ +); + +extern Bool XkbSelectEventDetails( + Display * /* dpy */, + unsigned int /* deviceID */, + unsigned int /* eventType */, + unsigned long /* affect */, + unsigned long /* details */ +); + +extern void XkbNoteMapChanges( + XkbMapChangesPtr /* old */, + XkbMapNotifyEvent * /* new */, + unsigned int /* wanted */ +); + +extern void XkbNoteNameChanges( + XkbNameChangesPtr /* old */, + XkbNamesNotifyEvent * /* new */, + unsigned int /* wanted */ +); + +extern Status XkbGetIndicatorState( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int * /* pStateRtrn */ +); + +extern Status XkbGetDeviceIndicatorState( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* ledClass */, + unsigned int /* ledID */, + unsigned int * /* pStateRtrn */ +); + +extern Status XkbGetIndicatorMap( + Display * /* dpy */, + unsigned long /* which */, + XkbDescPtr /* desc */ +); + +extern Bool XkbSetIndicatorMap( + Display * /* dpy */, + unsigned long /* which */, + XkbDescPtr /* desc */ +); + +#define XkbNoteIndicatorMapChanges(o,n,w) \ + ((o)->map_changes|=((n)->map_changes&(w))) +#define XkbNoteIndicatorStateChanges(o,n,w)\ + ((o)->state_changes|=((n)->state_changes&(w))) +#define XkbGetIndicatorMapChanges(d,x,c) \ + (XkbGetIndicatorMap((d),(c)->map_changes,x)) +#define XkbChangeIndicatorMaps(d,x,c) \ + (XkbSetIndicatorMap((d),(c)->map_changes,x)) + +extern Bool XkbGetNamedIndicator( + Display * /* dpy */, + Atom /* name */, + int * /* pNdxRtrn */, + Bool * /* pStateRtrn */, + XkbIndicatorMapPtr /* pMapRtrn */, + Bool * /* pRealRtrn */ +); + +extern Bool XkbGetNamedDeviceIndicator( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* ledClass */, + unsigned int /* ledID */, + Atom /* name */, + int * /* pNdxRtrn */, + Bool * /* pStateRtrn */, + XkbIndicatorMapPtr /* pMapRtrn */, + Bool * /* pRealRtrn */ +); + +extern Bool XkbSetNamedIndicator( + Display * /* dpy */, + Atom /* name */, + Bool /* changeState */, + Bool /* state */, + Bool /* createNewMap */, + XkbIndicatorMapPtr /* pMap */ +); + +extern Bool XkbSetNamedDeviceIndicator( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* ledClass */, + unsigned int /* ledID */, + Atom /* name */, + Bool /* changeState */, + Bool /* state */, + Bool /* createNewMap */, + XkbIndicatorMapPtr /* pMap */ +); + +extern Bool XkbLockModifiers( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* affect */, + unsigned int /* values */ +); + +extern Bool XkbLatchModifiers( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* affect */, + unsigned int /* values */ +); + +extern Bool XkbLockGroup( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* group */ +); + +extern Bool XkbLatchGroup( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* group */ +); + +extern Bool XkbSetServerInternalMods( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* affectReal */, + unsigned int /* realValues */, + unsigned int /* affectVirtual */, + unsigned int /* virtualValues */ +); + +extern Bool XkbSetIgnoreLockMods( + Display * /* dpy */, + unsigned int /* deviceSpec */, + unsigned int /* affectReal */, + unsigned int /* realValues */, + unsigned int /* affectVirtual */, + unsigned int /* virtualValues */ +); + + +extern Bool XkbVirtualModsToReal( + XkbDescPtr /* xkb */, + unsigned int /* virtual_mask */, + unsigned int * /* mask_rtrn */ +); + +extern Bool XkbComputeEffectiveMap( + XkbDescPtr /* xkb */, + XkbKeyTypePtr /* type */, + unsigned char * /* map_rtrn */ +); + +extern Status XkbInitCanonicalKeyTypes( + XkbDescPtr /* xkb */, + unsigned int /* which */, + int /* keypadVMod */ +); + +extern XkbDescPtr XkbAllocKeyboard( + void +); + +extern void XkbFreeKeyboard( + XkbDescPtr /* xkb */, + unsigned int /* which */, + Bool /* freeDesc */ +); + +extern Status XkbAllocClientMap( + XkbDescPtr /* xkb */, + unsigned int /* which */, + unsigned int /* nTypes */ +); + +extern Status XkbAllocServerMap( + XkbDescPtr /* xkb */, + unsigned int /* which */, + unsigned int /* nActions */ +); + +extern void XkbFreeClientMap( + XkbDescPtr /* xkb */, + unsigned int /* what */, + Bool /* freeMap */ +); + +extern void XkbFreeServerMap( + XkbDescPtr /* xkb */, + unsigned int /* what */, + Bool /* freeMap */ +); + +extern XkbKeyTypePtr XkbAddKeyType( + XkbDescPtr /* xkb */, + Atom /* name */, + int /* map_count */, + Bool /* want_preserve */, + int /* num_lvls */ +); + +extern Status XkbAllocIndicatorMaps( + XkbDescPtr /* xkb */ +); + +extern void XkbFreeIndicatorMaps( + XkbDescPtr /* xkb */ +); + +extern XkbDescPtr XkbGetMap( + Display * /* dpy */, + unsigned int /* which */, + unsigned int /* deviceSpec */ +); + +extern Status XkbGetUpdatedMap( + Display * /* dpy */, + unsigned int /* which */, + XkbDescPtr /* desc */ +); + +extern Status XkbGetMapChanges( + Display * /* dpy */, + XkbDescPtr /* xkb */, + XkbMapChangesPtr /* changes */ +); + + +extern Status XkbRefreshKeyboardMapping( + XkbMapNotifyEvent * /* event */ +); + +extern Status XkbGetKeyTypes( + Display * /* dpy */, + unsigned int /* first */, + unsigned int /* num */, + XkbDescPtr /* xkb */ +); + +extern Status XkbGetKeySyms( + Display * /* dpy */, + unsigned int /* first */, + unsigned int /* num */, + XkbDescPtr /* xkb */ +); + +extern Status XkbGetKeyActions( + Display * /* dpy */, + unsigned int /* first */, + unsigned int /* num */, + XkbDescPtr /* xkb */ +); + +extern Status XkbGetKeyBehaviors( + Display * /* dpy */, + unsigned int /* firstKey */, + unsigned int /* nKeys */, + XkbDescPtr /* desc */ +); + +extern Status XkbGetVirtualMods( + Display * /* dpy */, + unsigned int /* which */, + XkbDescPtr /* desc */ +); + +extern Status XkbGetKeyExplicitComponents( + Display * /* dpy */, + unsigned int /* firstKey */, + unsigned int /* nKeys */, + XkbDescPtr /* desc */ +); + +extern Status XkbGetKeyModifierMap( + Display * /* dpy */, + unsigned int /* firstKey */, + unsigned int /* nKeys */, + XkbDescPtr /* desc */ +); + +extern Status XkbGetKeyVirtualModMap( + Display * /* dpy */, + unsigned int /* first */, + unsigned int /* num */, + XkbDescPtr /* xkb */ +); + +extern Status XkbAllocControls( + XkbDescPtr /* xkb */, + unsigned int /* which*/ +); + +extern void XkbFreeControls( + XkbDescPtr /* xkb */, + unsigned int /* which */, + Bool /* freeMap */ +); + +extern Status XkbGetControls( + Display * /* dpy */, + unsigned long /* which */, + XkbDescPtr /* desc */ +); + +extern Bool XkbSetControls( + Display * /* dpy */, + unsigned long /* which */, + XkbDescPtr /* desc */ +); + +extern void XkbNoteControlsChanges( + XkbControlsChangesPtr /* old */, + XkbControlsNotifyEvent * /* new */, + unsigned int /* wanted */ +); + +#define XkbGetControlsChanges(d,x,c) XkbGetControls(d,(c)->changed_ctrls,x) +#define XkbChangeControls(d,x,c) XkbSetControls(d,(c)->changed_ctrls,x) + +extern Status XkbAllocCompatMap( + XkbDescPtr /* xkb */, + unsigned int /* which */, + unsigned int /* nInterpret */ +); + +extern void XkbFreeCompatMap( + XkbDescPtr /* xkb */, + unsigned int /* which */, + Bool /* freeMap */ +); + +extern Status XkbGetCompatMap( + Display * /* dpy */, + unsigned int /* which */, + XkbDescPtr /* xkb */ +); + +extern Bool XkbSetCompatMap( + Display * /* dpy */, + unsigned int /* which */, + XkbDescPtr /* xkb */, + Bool /* updateActions */ +); + +extern XkbSymInterpretPtr XkbAddSymInterpret( + XkbDescPtr /* xkb */, + XkbSymInterpretPtr /* si */, + Bool /* updateMap */, + XkbChangesPtr /* changes */ +); + +extern Status XkbAllocNames( + XkbDescPtr /* xkb */, + unsigned int /* which */, + int /* nTotalRG */, + int /* nTotalAliases */ +); + +extern Status XkbGetNames( + Display * /* dpy */, + unsigned int /* which */, + XkbDescPtr /* desc */ +); + +extern Bool XkbSetNames( + Display * /* dpy */, + unsigned int /* which */, + unsigned int /* firstType */, + unsigned int /* nTypes */, + XkbDescPtr /* desc */ +); + +extern Bool XkbChangeNames( + Display * /* dpy */, + XkbDescPtr /* xkb */, + XkbNameChangesPtr /* changes */ +); + +extern void XkbFreeNames( + XkbDescPtr /* xkb */, + unsigned int /* which */, + Bool /* freeMap */ +); + + +extern Status XkbGetState( + Display * /* dpy */, + unsigned int /* deviceSpec */, + XkbStatePtr /* rtrnState */ +); + +extern Bool XkbSetMap( + Display * /* dpy */, + unsigned int /* which */, + XkbDescPtr /* desc */ +); + +extern Bool XkbChangeMap( + Display* /* dpy */, + XkbDescPtr /* desc */, + XkbMapChangesPtr /* changes */ +); + +extern Bool XkbSetDetectableAutoRepeat( + Display * /* dpy */, + Bool /* detectable */, + Bool * /* supported */ +); + +extern Bool XkbGetDetectableAutoRepeat( + Display * /* dpy */, + Bool * /* supported */ +); + +extern Bool XkbSetAutoResetControls( + Display * /* dpy */, + unsigned int /* changes */, + unsigned int * /* auto_ctrls */, + unsigned int * /* auto_values */ +); + +extern Bool XkbGetAutoResetControls( + Display * /* dpy */, + unsigned int * /* auto_ctrls */, + unsigned int * /* auto_ctrl_values */ +); + +extern Bool XkbSetPerClientControls( + Display * /* dpy */, + unsigned int /* change */, + unsigned int * /* values */ +); + +extern Bool XkbGetPerClientControls( + Display * /* dpy */, + unsigned int * /* ctrls */ +); + +extern Status XkbCopyKeyType( + XkbKeyTypePtr /* from */, + XkbKeyTypePtr /* into */ +); + +extern Status XkbCopyKeyTypes( + XkbKeyTypePtr /* from */, + XkbKeyTypePtr /* into */, + int /* num_types */ +); + +extern Status XkbResizeKeyType( + XkbDescPtr /* xkb */, + int /* type_ndx */, + int /* map_count */, + Bool /* want_preserve */, + int /* new_num_lvls */ +); + +extern KeySym *XkbResizeKeySyms( + XkbDescPtr /* desc */, + int /* forKey */, + int /* symsNeeded */ +); + +extern XkbAction *XkbResizeKeyActions( + XkbDescPtr /* desc */, + int /* forKey */, + int /* actsNeeded */ +); + +extern Status XkbChangeTypesOfKey( + XkbDescPtr /* xkb */, + int /* key */, + int /* num_groups */, + unsigned int /* groups */, + int * /* newTypes */, + XkbMapChangesPtr /* pChanges */ +); + +extern Status XkbChangeKeycodeRange( + XkbDescPtr /* xkb */, + int /* minKC */, + int /* maxKC */, + XkbChangesPtr /* changes */ +); + +/***====================================================================***/ + +extern XkbComponentListPtr XkbListComponents( + Display * /* dpy */, + unsigned int /* deviceSpec */, + XkbComponentNamesPtr /* ptrns */, + int * /* max_inout */ +); + +extern void XkbFreeComponentList( + XkbComponentListPtr /* list */ +); + +extern XkbDescPtr XkbGetKeyboard( + Display * /* dpy */, + unsigned int /* which */, + unsigned int /* deviceSpec */ +); + +extern XkbDescPtr XkbGetKeyboardByName( + Display * /* dpy */, + unsigned int /* deviceSpec */, + XkbComponentNamesPtr /* names */, + unsigned int /* want */, + unsigned int /* need */, + Bool /* load */ +); + +/***====================================================================***/ + +extern int XkbKeyTypesForCoreSymbols( /* returns # of groups */ + XkbDescPtr /* xkb */, /* keyboard device */ + int /* map_width */, /* width of core KeySym array */ + KeySym * /* core_syms */, /* always mapWidth symbols */ + unsigned int /* protected */, /* explicit key types */ + int * /* types_inout */, /* always four type indices */ + KeySym * /* xkb_syms_rtrn */ /* must have enough space */ +); + +extern Bool XkbApplyCompatMapToKey( /* False only on error */ + XkbDescPtr /* xkb */, /* keymap to be edited */ + KeyCode /* key */, /* key to be updated */ + XkbChangesPtr /* changes */ /* resulting changes to map */ +); + +extern Bool XkbUpdateMapFromCore( /* False only on error */ + XkbDescPtr /* xkb */, /* XKB keyboard to be edited */ + KeyCode /* first_key */, /* first changed key */ + int /* num_keys */, /* number of changed keys */ + int /* map_width */, /* width of core keymap */ + KeySym * /* core_keysyms */, /* symbols from core keymap */ + XkbChangesPtr /* changes */ /* resulting changes */ +); + +/***====================================================================***/ + +extern XkbDeviceLedInfoPtr XkbAddDeviceLedInfo( + XkbDeviceInfoPtr /* devi */, + unsigned int /* ledClass */, + unsigned int /* ledId */ +); + +extern Status XkbResizeDeviceButtonActions( + XkbDeviceInfoPtr /* devi */, + unsigned int /* newTotal */ +); + +extern XkbDeviceInfoPtr XkbAllocDeviceInfo( + unsigned int /* deviceSpec */, + unsigned int /* nButtons */, + unsigned int /* szLeds */ +); + +extern void XkbFreeDeviceInfo( + XkbDeviceInfoPtr /* devi */, + unsigned int /* which */, + Bool /* freeDevI */ +); + +extern void XkbNoteDeviceChanges( + XkbDeviceChangesPtr /* old */, + XkbExtensionDeviceNotifyEvent * /* new */, + unsigned int /* wanted */ +); + +extern XkbDeviceInfoPtr XkbGetDeviceInfo( + Display * /* dpy */, + unsigned int /* which */, + unsigned int /* deviceSpec */, + unsigned int /* ledClass */, + unsigned int /* ledID */ +); + +extern Status XkbGetDeviceInfoChanges( + Display * /* dpy */, + XkbDeviceInfoPtr /* devi */, + XkbDeviceChangesPtr /* changes */ +); + +extern Status XkbGetDeviceButtonActions( + Display * /* dpy */, + XkbDeviceInfoPtr /* devi */, + Bool /* all */, + unsigned int /* first */, + unsigned int /* nBtns */ +); + +extern Status XkbGetDeviceLedInfo( + Display * /* dpy */, + XkbDeviceInfoPtr /* devi */, + unsigned int /* ledClass (class, XIDflt, XIAll) */, + unsigned int /* ledId (id, XIDflt, XIAll) */, + unsigned int /* which (XkbXI_Indicator{Names,Map}Mask */ +); + +extern Bool XkbSetDeviceInfo( + Display * /* dpy */, + unsigned int /* which */, + XkbDeviceInfoPtr /* devi */ +); + +extern Bool XkbChangeDeviceInfo( + Display* /* dpy */, + XkbDeviceInfoPtr /* desc */, + XkbDeviceChangesPtr /* changes */ +); + +extern Bool XkbSetDeviceLedInfo( + Display * /* dpy */, + XkbDeviceInfoPtr /* devi */, + unsigned int /* ledClass */, + unsigned int /* ledID */, + unsigned int /* which */ +); + +extern Bool XkbSetDeviceButtonActions( + Display * /* dpy */, + XkbDeviceInfoPtr /* devi */, + unsigned int /* first */, + unsigned int /* nBtns */ +); + +/***====================================================================***/ + +extern char XkbToControl( + char /* c */ +); + +/***====================================================================***/ + +extern Bool XkbSetDebuggingFlags( + Display * /* dpy */, + unsigned int /* mask */, + unsigned int /* flags */, + char * /* msg */, + unsigned int /* ctrls_mask */, + unsigned int /* ctrls */, + unsigned int * /* rtrn_flags */, + unsigned int * /* rtrn_ctrls */ +); + +extern Bool XkbApplyVirtualModChanges( + XkbDescPtr /* xkb */, + unsigned int /* changed */, + XkbChangesPtr /* changes */ +); + +extern Bool XkbUpdateActionVirtualMods( + XkbDescPtr /* xkb */, + XkbAction * /* act */, + unsigned int /* changed */ +); + +extern void XkbUpdateKeyTypeVirtualMods( + XkbDescPtr /* xkb */, + XkbKeyTypePtr /* type */, + unsigned int /* changed */, + XkbChangesPtr /* changes */ +); + +_XFUNCPROTOEND + +#endif /* _X11_XKBLIB_H_ */ diff --git a/ThirdParty/X11/Include/X11/XWDFile.h b/ThirdParty/X11/Include/X11/XWDFile.h new file mode 100644 index 0000000..50e17df --- /dev/null +++ b/ThirdParty/X11/Include/X11/XWDFile.h @@ -0,0 +1,113 @@ +/* + +Copyright 1985, 1986, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * XWDFile.h MIT Project Athena, X Window system window raster + * image dumper, dump file format header file. + * + * Author: Tony Della Fera, DEC + * 27-Jun-85 + * + * Modifier: William F. Wyatt, SAO + * 18-Nov-86 - version 6 for saving/restoring color maps + */ + +#ifndef XWDFILE_H +#define XWDFILE_H + +#include <X11/Xmd.h> + +#define XWD_FILE_VERSION 7 +#define sz_XWDheader 100 +#define sz_XWDColor 12 + +typedef CARD32 xwdval; /* for old broken programs */ + +/* Values in the file are most significant byte first. */ + +typedef struct _xwd_file_header { + /* header_size = SIZEOF(XWDheader) + length of null-terminated + * window name. */ + CARD32 header_size B32; + + CARD32 file_version B32; /* = XWD_FILE_VERSION above */ + CARD32 pixmap_format B32; /* ZPixmap or XYPixmap */ + CARD32 pixmap_depth B32; /* Pixmap depth */ + CARD32 pixmap_width B32; /* Pixmap width */ + CARD32 pixmap_height B32; /* Pixmap height */ + CARD32 xoffset B32; /* Bitmap x offset, normally 0 */ + CARD32 byte_order B32; /* of image data: MSBFirst, LSBFirst */ + + /* bitmap_unit applies to bitmaps (depth 1 format XY) only. + * It is the number of bits that each scanline is padded to. */ + CARD32 bitmap_unit B32; + + CARD32 bitmap_bit_order B32; /* bitmaps only: MSBFirst, LSBFirst */ + + /* bitmap_pad applies to pixmaps (non-bitmaps) only. + * It is the number of bits that each scanline is padded to. */ + CARD32 bitmap_pad B32; + + CARD32 bits_per_pixel B32; /* Bits per pixel */ + + /* bytes_per_line is pixmap_width padded to bitmap_unit (bitmaps) + * or bitmap_pad (pixmaps). It is the delta (in bytes) to get + * to the same x position on an adjacent row. */ + CARD32 bytes_per_line B32; + CARD32 visual_class B32; /* Class of colormap */ + CARD32 red_mask B32; /* Z red mask */ + CARD32 green_mask B32; /* Z green mask */ + CARD32 blue_mask B32; /* Z blue mask */ + CARD32 bits_per_rgb B32; /* Log2 of distinct color values */ + CARD32 colormap_entries B32; /* Number of entries in colormap; not used? */ + CARD32 ncolors B32; /* Number of XWDColor structures */ + CARD32 window_width B32; /* Window width */ + CARD32 window_height B32; /* Window height */ + CARD32 window_x B32; /* Window upper left X coordinate */ + CARD32 window_y B32; /* Window upper left Y coordinate */ + CARD32 window_bdrwidth B32; /* Window border width */ +} XWDFileHeader; + +/* Null-terminated window name follows the above structure. */ + +/* Next comes XWDColor structures, at offset XWDFileHeader.header_size in + * the file. XWDFileHeader.ncolors tells how many XWDColor structures + * there are. + */ + +typedef struct { + CARD32 pixel B32; + CARD16 red B16; + CARD16 green B16; + CARD16 blue B16; + CARD8 flags; + CARD8 pad; +} XWDColor; + +/* Last comes the image data in the format described by XWDFileHeader. */ + +#endif /* XWDFILE_H */ + diff --git a/ThirdParty/X11/Include/X11/Xalloca.h b/ThirdParty/X11/Include/X11/Xalloca.h new file mode 100644 index 0000000..1919884 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xalloca.h @@ -0,0 +1,121 @@ +/* + +Copyright 1995, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. + +*/ +/* + * The purpose of this header is to define the macros ALLOCATE_LOCAL and + * DEALLOCATE_LOCAL appropriately for the platform being compiled on. + * These macros are used to make fast, function-local memory allocations. + * Their characteristics are as follows: + * + * void *ALLOCATE_LOCAL(int size) + * Returns a pointer to size bytes of memory, or NULL if the allocation + * failed. The memory must be freed with DEALLOCATE_LOCAL before the + * function that made the allocation returns. You should not ask for + * large blocks of memory with this function, since on many platforms + * the memory comes from the stack, which may have limited size. + * + * void DEALLOCATE_LOCAL(void *) + * Frees the memory allocated by ALLOCATE_LOCAL. Omission of this + * step may be harmless on some platforms, but will result in + * memory leaks or worse on others. + * + * Before including this file, you should define two macros, + * ALLOCATE_LOCAL_FALLBACK and DEALLOCATE_LOCAL_FALLBACK, that have the + * same characteristics as ALLOCATE_LOCAL and DEALLOCATE_LOCAL. The + * header uses the fallbacks if it doesn't know a "better" way to define + * ALLOCATE_LOCAL and DEALLOCATE_LOCAL. Typical usage would be: + * + * #define ALLOCATE_LOCAL_FALLBACK(_size) malloc(_size) + * #define DEALLOCATE_LOCAL_FALLBACK(_ptr) free(_ptr) + * #include "Xalloca.h" + */ + +#ifndef XALLOCA_H +#define XALLOCA_H 1 + +#ifndef INCLUDE_ALLOCA_H +/* Need to add more here to match Imake *.cf's */ +# if defined(HAVE_ALLOCA_H) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) +# define INCLUDE_ALLOCA_H +# endif +#endif + +#ifdef INCLUDE_ALLOCA_H +# include <alloca.h> +#endif + +#ifndef NO_ALLOCA +/* + * os-dependent definition of local allocation and deallocation + * If you want something other than (DE)ALLOCATE_LOCAL_FALLBACK + * for ALLOCATE/DEALLOCATE_LOCAL then you add that in here. + */ + + +# ifdef __GNUC__ +# ifndef alloca +# define alloca __builtin_alloca +# endif /* !alloca */ +# define ALLOCATE_LOCAL(size) alloca((int)(size)) +# else /* ! __GNUC__ */ + +/* + * warning: old mips alloca (pre 2.10) is unusable, new one is built in + * Test is easy, the new one is named __builtin_alloca and comes + * from alloca.h which #defines alloca. + */ +# if defined(__sun) || defined(alloca) +/* + * Some System V boxes extract alloca.o from /lib/libPW.a; if you + * decide that you don't want to use alloca, you might want to fix it here. + */ +/* alloca might be a macro taking one arg (hi, Sun!), so give it one. */ +# if !defined(__cplusplus) +# define __Xnullarg /* as nothing */ + extern void *alloca(__Xnullarg); +# endif +# define ALLOCATE_LOCAL(size) alloca((int)(size)) +# endif /* who does alloca */ +# endif /* __GNUC__ */ + +#endif /* NO_ALLOCA */ + +#if !defined(ALLOCATE_LOCAL) +# if defined(ALLOCATE_LOCAL_FALLBACK) && defined(DEALLOCATE_LOCAL_FALLBACK) +# define ALLOCATE_LOCAL(_size) ALLOCATE_LOCAL_FALLBACK(_size) +# define DEALLOCATE_LOCAL(_ptr) DEALLOCATE_LOCAL_FALLBACK(_ptr) +# else /* no fallbacks supplied; error */ +# define ALLOCATE_LOCAL(_size) ALLOCATE_LOCAL_FALLBACK undefined! +# define DEALLOCATE_LOCAL(_ptr) DEALLOCATE_LOCAL_FALLBACK undefined! +# endif /* defined(ALLOCATE_LOCAL_FALLBACK && DEALLOCATE_LOCAL_FALLBACK) */ +#else +# if !defined(DEALLOCATE_LOCAL) +# define DEALLOCATE_LOCAL(_ptr) do {} while(0) +# endif +#endif /* defined(ALLOCATE_LOCAL) */ + +#endif /* XALLOCA_H */ diff --git a/ThirdParty/X11/Include/X11/Xarch.h b/ThirdParty/X11/Include/X11/Xarch.h new file mode 100644 index 0000000..f80c580 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xarch.h @@ -0,0 +1,94 @@ +#ifndef _XARCH_H_ +# define _XARCH_H_ + +/* + * Copyright 1997 Metro Link Incorporated + * + * All Rights Reserved + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the names of the above listed copyright holder(s) + * not be used in advertising or publicity pertaining to distribution of + * the software without specific, written prior permission. The above listed + * copyright holder(s) make(s) no representations about the suitability of + * this software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM(S) ALL WARRANTIES WITH REGARD + * TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE + * LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY + * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING + * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + +/* + * Determine the machine's byte order. + */ + +/* See if it is set in the imake config first */ +# ifdef X_BYTE_ORDER + +# define X_BIG_ENDIAN 4321 +# define X_LITTLE_ENDIAN 1234 + +# else + +# if defined(SVR4) || defined(__SVR4) +# include <sys/types.h> +# include <sys/byteorder.h> +# elif defined(CSRG_BASED) +# if defined(__NetBSD__) || defined(__OpenBSD__) +# include <sys/types.h> +# endif +# include <machine/endian.h> +# elif defined(linux) +# if defined __STRICT_ANSI__ +# undef __STRICT_ANSI__ +# include <endian.h> +# define __STRICT_ANSI__ +# else +# include <endian.h> +# endif +/* 'endian.h' might have been included before 'Xarch.h' */ +# if !defined(LITTLE_ENDIAN) && defined(__LITTLE_ENDIAN) +# define LITTLE_ENDIAN __LITTLE_ENDIAN +# endif +# if !defined(BIG_ENDIAN) && defined(__BIG_ENDIAN) +# define BIG_ENDIAN __BIG_ENDIAN +# endif +# if !defined(PDP_ENDIAN) && defined(__PDP_ENDIAN) +# define PDP_ENDIAN __PDP_ENDIAN +# endif +# if !defined(BYTE_ORDER) && defined(__BYTE_ORDER) +# define BYTE_ORDER __BYTE_ORDER +# endif +# endif + +# ifndef BYTE_ORDER +# define LITTLE_ENDIAN 1234 +# define BIG_ENDIAN 4321 + +# if defined(__sun) && defined(__SVR4) +# include <sys/isa_defs.h> +# ifdef _LITTLE_ENDIAN +# define BYTE_ORDER LITTLE_ENDIAN +# endif +# ifdef _BIG_ENDIAN +# define BYTE_ORDER BIG_ENDIAN +# endif +# endif /* sun */ +# endif /* BYTE_ORDER */ + +# define X_BYTE_ORDER BYTE_ORDER +# define X_BIG_ENDIAN BIG_ENDIAN +# define X_LITTLE_ENDIAN LITTLE_ENDIAN + +# endif /* not in imake config */ + +#endif /* _XARCH_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xatom.h b/ThirdParty/X11/Include/X11/Xatom.h new file mode 100644 index 0000000..485a423 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xatom.h @@ -0,0 +1,79 @@ +#ifndef XATOM_H +#define XATOM_H 1 + +/* THIS IS A GENERATED FILE + * + * Do not change! Changing this file implies a protocol change! + */ + +#define XA_PRIMARY ((Atom) 1) +#define XA_SECONDARY ((Atom) 2) +#define XA_ARC ((Atom) 3) +#define XA_ATOM ((Atom) 4) +#define XA_BITMAP ((Atom) 5) +#define XA_CARDINAL ((Atom) 6) +#define XA_COLORMAP ((Atom) 7) +#define XA_CURSOR ((Atom) 8) +#define XA_CUT_BUFFER0 ((Atom) 9) +#define XA_CUT_BUFFER1 ((Atom) 10) +#define XA_CUT_BUFFER2 ((Atom) 11) +#define XA_CUT_BUFFER3 ((Atom) 12) +#define XA_CUT_BUFFER4 ((Atom) 13) +#define XA_CUT_BUFFER5 ((Atom) 14) +#define XA_CUT_BUFFER6 ((Atom) 15) +#define XA_CUT_BUFFER7 ((Atom) 16) +#define XA_DRAWABLE ((Atom) 17) +#define XA_FONT ((Atom) 18) +#define XA_INTEGER ((Atom) 19) +#define XA_PIXMAP ((Atom) 20) +#define XA_POINT ((Atom) 21) +#define XA_RECTANGLE ((Atom) 22) +#define XA_RESOURCE_MANAGER ((Atom) 23) +#define XA_RGB_COLOR_MAP ((Atom) 24) +#define XA_RGB_BEST_MAP ((Atom) 25) +#define XA_RGB_BLUE_MAP ((Atom) 26) +#define XA_RGB_DEFAULT_MAP ((Atom) 27) +#define XA_RGB_GRAY_MAP ((Atom) 28) +#define XA_RGB_GREEN_MAP ((Atom) 29) +#define XA_RGB_RED_MAP ((Atom) 30) +#define XA_STRING ((Atom) 31) +#define XA_VISUALID ((Atom) 32) +#define XA_WINDOW ((Atom) 33) +#define XA_WM_COMMAND ((Atom) 34) +#define XA_WM_HINTS ((Atom) 35) +#define XA_WM_CLIENT_MACHINE ((Atom) 36) +#define XA_WM_ICON_NAME ((Atom) 37) +#define XA_WM_ICON_SIZE ((Atom) 38) +#define XA_WM_NAME ((Atom) 39) +#define XA_WM_NORMAL_HINTS ((Atom) 40) +#define XA_WM_SIZE_HINTS ((Atom) 41) +#define XA_WM_ZOOM_HINTS ((Atom) 42) +#define XA_MIN_SPACE ((Atom) 43) +#define XA_NORM_SPACE ((Atom) 44) +#define XA_MAX_SPACE ((Atom) 45) +#define XA_END_SPACE ((Atom) 46) +#define XA_SUPERSCRIPT_X ((Atom) 47) +#define XA_SUPERSCRIPT_Y ((Atom) 48) +#define XA_SUBSCRIPT_X ((Atom) 49) +#define XA_SUBSCRIPT_Y ((Atom) 50) +#define XA_UNDERLINE_POSITION ((Atom) 51) +#define XA_UNDERLINE_THICKNESS ((Atom) 52) +#define XA_STRIKEOUT_ASCENT ((Atom) 53) +#define XA_STRIKEOUT_DESCENT ((Atom) 54) +#define XA_ITALIC_ANGLE ((Atom) 55) +#define XA_X_HEIGHT ((Atom) 56) +#define XA_QUAD_WIDTH ((Atom) 57) +#define XA_WEIGHT ((Atom) 58) +#define XA_POINT_SIZE ((Atom) 59) +#define XA_RESOLUTION ((Atom) 60) +#define XA_COPYRIGHT ((Atom) 61) +#define XA_NOTICE ((Atom) 62) +#define XA_FONT_NAME ((Atom) 63) +#define XA_FAMILY_NAME ((Atom) 64) +#define XA_FULL_NAME ((Atom) 65) +#define XA_CAP_HEIGHT ((Atom) 66) +#define XA_WM_CLASS ((Atom) 67) +#define XA_WM_TRANSIENT_FOR ((Atom) 68) + +#define XA_LAST_PREDEFINED ((Atom) 68) +#endif /* XATOM_H */ diff --git a/ThirdParty/X11/Include/X11/Xauth.h b/ThirdParty/X11/Include/X11/Xauth.h new file mode 100644 index 0000000..a707bed --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xauth.h @@ -0,0 +1,149 @@ +/* + +Copyright 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _Xauth_h +#define _Xauth_h + +/* struct xauth is full of implicit padding to properly align the pointers + after the length fields. We can't clean that up without breaking ABI, + so tell clang not to bother complaining about it. */ +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wpadded" +#endif + +typedef struct xauth { + unsigned short family; + unsigned short address_length; + char *address; + unsigned short number_length; + char *number; + unsigned short name_length; + char *name; + unsigned short data_length; + char *data; +} Xauth; + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + +#ifndef _XAUTH_STRUCT_ONLY + +# include <X11/Xfuncproto.h> +# include <X11/Xfuncs.h> + +# include <stdio.h> + +# define FamilyLocal (256) /* not part of X standard (i.e. X.h) */ +# define FamilyWild (65535) +# define FamilyNetname (254) /* not part of X standard */ +# define FamilyKrb5Principal (253) /* Kerberos 5 principal name */ +# define FamilyLocalHost (252) /* for local non-net authentication */ + + +_XFUNCPROTOBEGIN + +char *XauFileName(void); + +Xauth *XauReadAuth( +FILE* /* auth_file */ +); + +int XauLockAuth( +_Xconst char* /* file_name */, +int /* retries */, +int /* timeout */, +long /* dead */ +); + +int XauUnlockAuth( +_Xconst char* /* file_name */ +); + +int XauWriteAuth( +FILE* /* auth_file */, +Xauth* /* auth */ +); + +Xauth *XauGetAuthByAddr( +#if NeedWidePrototypes +unsigned int /* family */, +unsigned int /* address_length */, +#else +unsigned short /* family */, +unsigned short /* address_length */, +#endif +_Xconst char* /* address */, +#if NeedWidePrototypes +unsigned int /* number_length */, +#else +unsigned short /* number_length */, +#endif +_Xconst char* /* number */, +#if NeedWidePrototypes +unsigned int /* name_length */, +#else +unsigned short /* name_length */, +#endif +_Xconst char* /* name */ +); + +Xauth *XauGetBestAuthByAddr( +#if NeedWidePrototypes +unsigned int /* family */, +unsigned int /* address_length */, +#else +unsigned short /* family */, +unsigned short /* address_length */, +#endif +_Xconst char* /* address */, +#if NeedWidePrototypes +unsigned int /* number_length */, +#else +unsigned short /* number_length */, +#endif +_Xconst char* /* number */, +int /* types_length */, +char** /* type_names */, +_Xconst int* /* type_lengths */ +); + +void XauDisposeAuth( +Xauth* /* auth */ +); + +_XFUNCPROTOEND + +/* Return values from XauLockAuth */ + +# define LOCK_SUCCESS 0 /* lock succeeded */ +# define LOCK_ERROR 1 /* lock unexpectely failed, check errno */ +# define LOCK_TIMEOUT 2 /* lock failed, timeouts expired */ + +#endif /* _XAUTH_STRUCT_ONLY */ + +#endif /* _Xauth_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/AllWidgets.h b/ThirdParty/X11/Include/X11/Xaw/AllWidgets.h new file mode 100644 index 0000000..5c125d5 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/AllWidgets.h @@ -0,0 +1,37 @@ +/* + * +Copyright 1990, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + */ + +#ifndef _XawAllWidgets_h +#define _XawAllWidgets_h + +#include <X11/Xmu/WidgetNode.h> + +/* + * This file matches the generated AllWidgets.c + */ +extern XmuWidgetNode XawWidgetArray[]; +extern int XawWidgetCount; + +#endif /* _XawAllWidgets_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/AsciiSink.h b/ThirdParty/X11/Include/X11/Xaw/AsciiSink.h new file mode 100644 index 0000000..27d8f48 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/AsciiSink.h @@ -0,0 +1,77 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawAsciiSink_h +#define _XawAsciiSink_h + +/* + * AsciiSink Object + */ + +#include <X11/Xaw/TextSink.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + echo Output Boolean True + displayNonprinting Output Boolean True + +*/ + +#define XtCOutput "Output" + +#define XtNdisplayNonprinting "displayNonprinting" +#define XtNecho "echo" + +/* Class record constants */ +extern WidgetClass asciiSinkObjectClass; + +typedef struct _AsciiSinkClassRec *AsciiSinkObjectClass; +typedef struct _AsciiSinkRec *AsciiSinkObject; + +#endif /* _XawAsciiSink_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/AsciiSinkP.h b/ThirdParty/X11/Include/X11/Xaw/AsciiSinkP.h new file mode 100644 index 0000000..4bf440a --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/AsciiSinkP.h @@ -0,0 +1,95 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawAsciiSinkP_h +#define _XawAsciiSinkP_h + +/* + * AsciiSink Object Private Data + */ +#include <X11/Xaw/TextSinkP.h> +#include <X11/Xaw/AsciiSink.h> + +/* New fields for the AsciiSink object class record */ +typedef struct _AsciiSinkClassPart { + XtPointer extension; +} AsciiSinkClassPart; + +/* Full class record declaration */ +typedef struct _AsciiSinkClassRec { + ObjectClassPart object_class; + TextSinkClassPart text_sink_class; + AsciiSinkClassPart ascii_sink_class; +} AsciiSinkClassRec; + +extern AsciiSinkClassRec asciiSinkClassRec; + +/* New fields for the AsciiSink object record */ +typedef struct { + /* resources */ + XFontStruct *font; /* Font to draw in. */ + Boolean echo; + Boolean display_nonprinting; + + /* private */ + GC normgc, invgc, xorgc; + XawTextPosition cursor_position; + XawTextInsertState laststate; + short cursor_x, cursor_y; /* Cursor Location. */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} AsciiSinkPart; + +/* Full instance record declaration */ +typedef struct _AsciiSinkRec { + ObjectPart object; + TextSinkPart text_sink; + AsciiSinkPart ascii_sink; +} AsciiSinkRec; + +#endif /* _XawAsciiSinkP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/AsciiSrc.h b/ThirdParty/X11/Include/X11/Xaw/AsciiSrc.h new file mode 100644 index 0000000..08c5f8c --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/AsciiSrc.h @@ -0,0 +1,172 @@ +/* + +Copyright 1989, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + + +/* + * AsciiSrc.h - Public Header file for Ascii Text Source. + * + * This is the public header file for the Ascii Text Source. + * It is intended to be used with the Text widget, the simplest way to use + * this text source is to use the AsciiText Object. + * + * Date: June 29, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + + +#ifndef _XawAsciiSrc_h +#define _XawAsciiSrc_h + +#include <X11/Xaw/TextSrc.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + dataCompression DataCompression Boolean True + length Length int (internal) + pieceSize PieceSize int BUFSIZ + string String String NULL + type Type XawAsciiType XawAsciiString + useStringInPlace UseStringInPlace Boolean False + +*/ + +extern WidgetClass asciiSrcObjectClass; + +typedef struct _AsciiSrcClassRec *AsciiSrcObjectClass; +typedef struct _AsciiSrcRec *AsciiSrcObject; + +#define AsciiSourceObjectClass AsciiSrcObjectClass +#define AsciiSourceObject AsciiSrcObject + +/* + * Resource Definitions + */ +#define XtCDataCompression "DataCompression" +#define XtCPieceSize "PieceSize" +#define XtCType "Type" +#define XtCUseStringInPlace "UseStringInPlace" + +#define XtNdataCompression "dataCompression" +#define XtNpieceSize "pieceSize" +#define XtNtype "type" +#define XtNuseStringInPlace "useStringInPlace" + +#define XtRAsciiType "AsciiType" + +#define XtEstring "string" +#define XtEfile "file" + +typedef enum { + XawAsciiFile, + XawAsciiString +} XawAsciiType; + +/* + * Public routines + */ + +_XFUNCPROTOBEGIN + +/* + * Function: + * XawAsciiSourceFreeString + * + * Parameters: + * w - AsciiSrc object + * + * Description: + * Frees the string returned by a get values call + * on the string when the source is of type string. + */ +void XawAsciiSourceFreeString +( + Widget w + ); + +/* + * Function: + * XawAsciiSave + * + * Arguments: + * w - asciiSrc Object. + * + * Description: + * Saves all the pieces into a file or string as required. + * + * Returns: + * True if the save was successful + */ +Bool XawAsciiSave +( + Widget w + ); + +/* + * Function: + * XawAsciiSaveAsFile + * + * Parameters: + * w - asciiSrc object + * name - name of the file to save this file into + * + * Description: + * Save the current buffer as a file. + * + * Returns: + * True if the save was successful + */ +Bool XawAsciiSaveAsFile +( + Widget w, + _Xconst char *name + ); + +/* + * Function: + * XawAsciiSourceChanged + * + * Parameters: + * w - asciiSource object + * + * Description: + * Returns true if the source has changed since last saved. + * + * Returns: + * a Boolean (see description) + */ +Bool XawAsciiSourceChanged +( + Widget w + ); + +_XFUNCPROTOEND + +#endif /* _XawAsciiSrc_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/AsciiSrcP.h b/ThirdParty/X11/Include/X11/Xaw/AsciiSrcP.h new file mode 100644 index 0000000..1f3f06e --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/AsciiSrcP.h @@ -0,0 +1,139 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +/* + * AsciiSrcP.h - Private Header for Ascii Text Source. + * + * This is the private header file for the Ascii Text Source. + * It is intended to be used with the Text widget, the simplest way to use + * this text source is to use the AsciiText Object. + * + * Date: June 29, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _XawAsciiSrcP_h +#define _XawAsciiSrcP_h + +#include <X11/Xaw/TextSrcP.h> +#include <X11/Xaw/AsciiSrc.h> + +#ifdef L_tmpnam +#define TMPSIZ L_tmpnam +#else +#ifdef PATH_MAX +#define TMPSIZ PATH_MAX +#else +#define TMPSIZ 1024 /* bytes to allocate for tmpnam */ +#endif +#endif + +typedef struct _Piece { /* Piece of the text file of BUFSIZ allocated + characters */ + char *text; /* The text in this buffer */ + XawTextPosition used; /* The number of characters of this buffer + that have been used */ + struct _Piece *prev, *next; /* linked list pointers */ +} Piece; + +typedef struct _AsciiSrcClassPart { + XtPointer extension; +} AsciiSrcClassPart; + +/* Full class record */ +typedef struct _AsciiSrcClassRec { + ObjectClassPart object_class; + TextSrcClassPart text_src_class; + AsciiSrcClassPart ascii_src_class; +} AsciiSrcClassRec; + +extern AsciiSrcClassRec asciiSrcClassRec; + +/* New fields for the AsciiSrc object */ +typedef struct _AsciiSrcPart { + /* resources */ + char *string; /* either the string, or the + file name, depending upon the type */ + XawAsciiType type; /* either string or disk */ + XawTextPosition piece_size; /* Size of text buffer for each piece */ + Boolean data_compression; /* compress to minimum memory automatically + on save? */ +#ifdef OLDXAW + XtCallbackList callback; +#endif + Boolean use_string_in_place;/* Use the string passed in place */ + int ascii_length; /* length field for ascii string emulation */ + +#ifdef ASCII_DISK + String filename; /* name of file for Compatability */ +#endif /* ASCII_DISK */ + + /* private */ + Boolean is_tempfile; /* Is this a temporary file? */ +#ifdef OLDXAW + Boolean changes; +#endif + Boolean allocated_string; /* Have I allocated the + string in ascii_src->string? */ + XawTextPosition length; /* length of file */ + Piece *first_piece; /* first piece of the text */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} AsciiSrcPart; + +/* instance record */ +typedef struct _AsciiSrcRec { + ObjectPart object; + TextSrcPart text_src; + AsciiSrcPart ascii_src; +} AsciiSrcRec; + +#endif /* _XawAsciiSrcP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/AsciiText.h b/ThirdParty/X11/Include/X11/Xaw/AsciiText.h new file mode 100644 index 0000000..b0b3cd9 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/AsciiText.h @@ -0,0 +1,123 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +/* + * AsciiText.h - Public header file for AsciiText Widget + * + * This Widget is intended to be used as a simple front end to the + * text widget with an ascii source and ascii sink attached to it + * + * Date: June 29, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ +#ifndef _AsciiText_h +#define _AsciiText_h + +#include <X11/Xaw/Text.h> +#include <X11/Xaw/AsciiSrc.h> +#include <X11/Xaw/MultiSrc.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + autoFill AutoFill Boolean False + background Background Pixel XtDefaultBackground + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + bottomMargin Margin Position 2 + cursor Cursor Cursor xterm + destroyCallback Callback Pointer NULL + displayCaret Output Boolean True + displayPosition TextPosition int 0 + editType EditType XawTextEditType XawtextRead + font Font XFontStruct* Fixed + foreground Foreground Pixel Black + height Height Dimension font height + insertPosition TextPosition int 0 + international International Boolean false + leftMargin Margin Position 2 + mappedWhenManaged MappedWhenManaged Boolean True + resize Resize XawTextResizeMode XawtextResizeNever + rightMargin Margin Position 4 + scrollHorizontal Scroll XawTextScrollMode XawtextScrollNever + scrollVertical Scroll XawTextScrollMode XawtextScrollNever + selectTypes SelectTypes Pointer pos/word/line/par/all + selection Selection Pointer (empty selection) + sensitive Sensitive Boolean True + sink TextSink Widget (none) + source TextSource Widget (none) + string String String NULL + topMargin Margin Position 2 + width Width Dimension 100 + wrap Wrap XawTextWrapMode XawtextWrapNever + x Position Position 0 + y Position Position 0 + + (see also *Src.h and *Sink.h) +*/ + +typedef struct _AsciiTextClassRec *AsciiTextWidgetClass; +typedef struct _AsciiRec *AsciiWidget; + +extern WidgetClass asciiTextWidgetClass; + +/* + * Disk and String Emulation Info + */ +#ifdef ASCII_STRING +extern WidgetClass asciiStringWidgetClass; +#endif + +#ifdef ASCII_DISK +extern WidgetClass asciiDiskWidgetClass; +#endif + +#endif /* _AsciiText_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/AsciiTextP.h b/ThirdParty/X11/Include/X11/Xaw/AsciiTextP.h new file mode 100644 index 0000000..f91c362 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/AsciiTextP.h @@ -0,0 +1,164 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +/* + * AsciiText.c - Private header file for AsciiText Widget. + * + * This Widget is intended to be used as a simple front end to the + * text widget with an ascii source and ascii sink attached to it. + * + * Date: June 29, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _AsciiTextP_h +#define _AsciiTextP_h + +#include <X11/Xaw/TextP.h> +#include <X11/Xaw/AsciiText.h> +#include <X11/Xaw/AsciiSrc.h> +#include <X11/Xaw/MultiSrc.h> + +typedef struct { + XtPointer extension; +} AsciiClassPart; + +typedef struct _AsciiTextClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + TextClassPart text_class; + AsciiClassPart ascii_class; +} AsciiTextClassRec; + +extern AsciiTextClassRec asciiTextClassRec; + +typedef struct { + int resource; +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} AsciiPart; + +typedef struct _AsciiRec { + CorePart core; + SimplePart simple; + TextPart text; + AsciiPart ascii; +} AsciiRec; + +/* + * Ascii String Emulation widget + */ +#ifdef ASCII_STRING +typedef struct { + XtPointer extension; +} AsciiStringClassPart; + +typedef struct _AsciiStringClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + TextClassPart text_class; + AsciiClassPart ascii_class; + AsciiStringClassPart string_class; +} AsciiStringClassRec; + +extern AsciiStringClassRec asciiStringClassRec; + +typedef struct { + int resource; +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} AsciiStringPart; + +typedef struct _AsciiStringRec { + CorePart core; + SimplePart simple; + TextPart text; + AsciiPart ascii; + AsciiStringPart ascii_str; +} AsciiStringRec; +#endif /* ASCII_STRING */ + +#ifdef ASCII_DISK +/* + * Ascii Disk Emulation widget + */ +typedef struct { + XtPointer extension; +} AsciiDiskClassPart; + +typedef struct _AsciiDiskClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + TextClassPart text_class; + AsciiClassPart ascii_class; + AsciiDiskClassPart disk_class; +} AsciiDiskClassRec; + +extern AsciiDiskClassRec asciiDiskClassRec; + +typedef struct { + char resource; +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} AsciiDiskPart; + +typedef struct _AsciiDiskRec { + CorePart core; + SimplePart simple; + TextPart text; + AsciiPart ascii; + AsciiDiskPart ascii_disk; +} AsciiDiskRec; +#endif /* ASCII_DISK */ + +#endif /* _AsciiTextP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Box.h b/ThirdParty/X11/Include/X11/Xaw/Box.h new file mode 100644 index 0000000..9eb1884 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Box.h @@ -0,0 +1,102 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawBox_h +#define _XawBox_h + +#include <X11/Xmu/Converters.h> + +/* + * Box Widget (subclass of CompositeClass) + */ + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + destroyCallback Callback Pointer NULL + displayList DisplayList XawDisplayList* NULL + hSpace HSpace Dimension 4 + height Height Dimension 0 + mappedWhenManaged MappedWhenManaged Boolean True + orientation Orientation XtOrientation vertical + vSpace VSpace Dimension 4 + width Width Dimension 0 + x Position Position 0 + y Position Position 0 + +*/ + +#ifndef _XtStringDefs_h_ +#define XtNhSpace "hSpace" +#define XtNvSpace "vSpace" +#endif + +#ifndef OLDXAW +#ifndef XawNdisplayList +#define XawNdisplayList "displayList" +#endif + +#ifndef XawCDisplayList +#define XawCDisplayList "DisplayList" +#endif + +#ifndef XawRDisplayList +#define XawRDisplayList "XawDisplayList" +#endif +#endif /* OLDXAW */ + +/* Class record constants */ +extern WidgetClass boxWidgetClass; + +typedef struct _BoxClassRec *BoxWidgetClass; +typedef struct _BoxRec *BoxWidget; + +#endif /* _XawBox_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/BoxP.h b/ThirdParty/X11/Include/X11/Xaw/BoxP.h new file mode 100644 index 0000000..b3c2573 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/BoxP.h @@ -0,0 +1,97 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawBoxP_h +#define _XawBoxP_h + +/* + * Box Widget Private Data + */ +#include <X11/Xaw/Box.h> +#include <X11/Xmu/Converters.h> +#include <X11/Xaw/XawInit.h> + +/* New fields for the Box widget class record */ +typedef struct { + XtPointer extension; +} BoxClassPart; + +/* Full class record declaration */ +typedef struct _BoxClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + BoxClassPart box_class; +} BoxClassRec; + +extern BoxClassRec boxClassRec; + +/* New fields for the Box widget record */ +typedef struct { + /* resources */ + Dimension h_space, v_space; + XtOrientation orientation; + + /* private state */ + Dimension preferred_width, preferred_height; + Dimension last_query_width, last_query_height; + XtGeometryMask last_query_mode; +#ifndef OLDXAW + XawDisplayList *display_list; + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} BoxPart; + +/* + * Full instance record declaration + */ +typedef struct _BoxRec { + CorePart core; + CompositePart composite; + BoxPart box; +} BoxRec; + +#endif /* _XawBoxP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Cardinals.h b/ThirdParty/X11/Include/X11/Xaw/Cardinals.h new file mode 100644 index 0000000..9a754c1 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Cardinals.h @@ -0,0 +1,42 @@ +/* + +Copyright 1985, 1986, 1987, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _Cardinals_h +#define _Cardinals_h + +#define ZERO ((Cardinal)0) +#define ONE ((Cardinal)1) +#define TWO ((Cardinal)2) +#define THREE ((Cardinal)3) +#define FOUR ((Cardinal)4) +#define FIVE ((Cardinal)5) +#define SIX ((Cardinal)6) +#define SEVEN ((Cardinal)7) +#define EIGHT ((Cardinal)8) +#define NINE ((Cardinal)9) +#define TEN ((Cardinal)10) + +#endif /* _Cardinals_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Command.h b/ThirdParty/X11/Include/X11/Xaw/Command.h new file mode 100644 index 0000000..7011fde --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Command.h @@ -0,0 +1,116 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawCommand_h +#define _XawCommand_h + +#include <X11/Xaw/Label.h> + +/* Command widget resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + accelerators Accelerators AcceleratorTable NULL + ancestorSensitive AncestorSensitive Boolean True + background Background Pixel XtDefaultBackground + backgroundPixmap Pixmap Pixmap XtUnspecifiedPixmap + bitmap Pixmap Pixmap None + borderColor BorderColor Pixel XtDefaultForeground + borderPixmap Pixmap Pixmap XtUnspecifiedPixmap + borderWidth BorderWidth Dimension 1 + callback Callback XtCallbackList NULL + colormap Colormap Colormap parent's colormap + cornerRoundPercent CornerRoundPercent Dimension 25 + cursor Cursor Cursor None + cursorName Cursor String NULL + depth Depth int parent's depth + destroyCallback Callback XtCallbackList NULL + displayList DisplayList XawDisplayList* NULL + encoding Encoding UnsignedChar XawTextEncoding8bit + font Font XFontStruct* XtDefaultFont + foreground Foreground Pixel XtDefaultForeground + height Height Dimension text height + highlightThickness Thickness Dimension 0 if shaped, else 2 + insensitiveBorder Insensitive Pixmap Gray + internalHeight Height Dimension 2 + internalWidth Width Dimension 4 + justify Justify XtJustify XtJustifyCenter + label Label String NULL + leftBitmap LeftBitmap Pixmap None + mappedWhenManaged MappedWhenManaged Boolean True + pointerColor Foreground Pixel XtDefaultForeground + pointerColorBackground Background Pixel XtDefaultBackground + resize Resize Boolean True + screen Screen Screen parent's Screen + sensitive Sensitive Boolean True + shapeStyle ShapeStyle ShapeStyle Rectangle + translations Translations TranslationTable see doc or source + width Width Dimension text width + x Position Position 0 + y Position Position 0 + +*/ + +#define XtNhighlightThickness "highlightThickness" + +#define XtNshapeStyle "shapeStyle" +#define XtCShapeStyle "ShapeStyle" +#define XtRShapeStyle "ShapeStyle" +#define XtNcornerRoundPercent "cornerRoundPercent" +#define XtCCornerRoundPercent "CornerRoundPercent" + +#define XawShapeRectangle XmuShapeRectangle +#define XawShapeOval XmuShapeOval +#define XawShapeEllipse XmuShapeEllipse +#define XawShapeRoundedRectangle XmuShapeRoundedRectangle + +extern WidgetClass commandWidgetClass; + +typedef struct _CommandClassRec *CommandWidgetClass; +typedef struct _CommandRec *CommandWidget; + +#endif /* _XawCommand_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/CommandP.h b/ThirdParty/X11/Include/X11/Xaw/CommandP.h new file mode 100644 index 0000000..d0be64e --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/CommandP.h @@ -0,0 +1,111 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawCommandP_h +#define _XawCommandP_h + +/* + * Command Widget Private Data + */ +#include <X11/Xaw/Command.h> +#include <X11/Xaw/LabelP.h> + +typedef enum { + HighlightNone, /* Do not highlight */ + HighlightWhenUnset, /* Highlight only when unset, this is + to preserve current command widget + functionality */ + HighlightAlways /* Always highlight, lets the toggle widget + and other subclasses do the right thing */ +} XtCommandHighlight; + +/* New fields for the Command widget class record */ +typedef struct _CommandClass { + XtPointer extension; +} CommandClassPart; + +/* Full class record declaration */ +typedef struct _CommandClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + LabelClassPart label_class; + CommandClassPart command_class; +} CommandClassRec; + +extern CommandClassRec commandClassRec; + +/* New fields for the Command widget record */ +typedef struct { + /* resources */ + Dimension highlight_thickness; + XtCallbackList callbacks; + + /* private state */ + Pixmap gray_pixmap; + GC normal_GC; + GC inverse_GC; + Boolean set; + XtCommandHighlight highlighted; + + /* more resources */ + int shape_style; + Dimension corner_round; + +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} CommandPart; + +/* Full widget declaration */ +typedef struct _CommandRec { + CorePart core; + SimplePart simple; + LabelPart label; + CommandPart command; +} CommandRec; + +#endif /* _XawCommandP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Dialog.h b/ThirdParty/X11/Include/X11/Xaw/Dialog.h new file mode 100644 index 0000000..442d2d2 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Dialog.h @@ -0,0 +1,98 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawDialog_h +#define _XawDialog_h + +#include <X11/Xaw/Form.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + borderColor BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + destroyCallback Callback Pointer NULL + height Height Dimension computed at create + icon Icon Pixmap 0 + label Label String NULL + mappedWhenManaged MappedWhenManaged Boolean True + sensitive Sensitive Boolean True + value Value String NULL + width Width Dimension computed at create + x Position Position 0 + y Position Position 0 + +*/ + +#define XtCIcon "Icon" +#define XtNicon "icon" + +typedef struct _DialogClassRec *DialogWidgetClass; +typedef struct _DialogRec *DialogWidget; + +extern WidgetClass dialogWidgetClass; + +_XFUNCPROTOBEGIN + +void XawDialogAddButton +( + Widget dialog, + _Xconst char *name, + XtCallbackProc function, + XtPointer client_data + ); + +char *XawDialogGetValueString +( + Widget w +); + +_XFUNCPROTOEND + +#endif /* _XawDialog_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/DialogP.h b/ThirdParty/X11/Include/X11/Xaw/DialogP.h new file mode 100644 index 0000000..8fb4735 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/DialogP.h @@ -0,0 +1,100 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _DialogP_h +#define _DialogP_h + +#include <X11/Xaw/Dialog.h> +#include <X11/Xaw/FormP.h> + +typedef struct { + XtPointer extension; +} DialogClassPart; + +typedef struct _DialogClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ConstraintClassPart constraint_class; + FormClassPart form_class; + DialogClassPart dialog_class; +} DialogClassRec; + +extern DialogClassRec dialogClassRec; + +typedef struct _DialogPart { + /* resources */ + String label; /* description of the dialog */ + String value; /* for the user response */ + Pixmap icon; /* icon bitmap */ + + /* private */ + Widget iconW; /* widget to display the icon */ + Widget labelW; /* widget to display description */ + Widget valueW; /* user response TextWidget */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} DialogPart; + +typedef struct _DialogRec { + CorePart core; + CompositePart composite; + ConstraintPart constraint; + FormPart form; + DialogPart dialog; +} DialogRec; + +typedef struct { + XtPointer extension; +} DialogConstraintsPart; + +typedef struct _DialogConstraintsRec { + FormConstraintsPart form; + DialogConstraintsPart dialog; +} DialogConstraintsRec, *DialogConstraints; + +#endif /* _DialogP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Form.h b/ThirdParty/X11/Include/X11/Xaw/Form.h new file mode 100644 index 0000000..71a0bcc --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Form.h @@ -0,0 +1,167 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawForm_h +#define _XawForm_h + +#include <X11/Intrinsic.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + defaultDistance Thickness int 4 + destroyCallback Callback Pointer NULL + displayList DisplayList XawDisplayList* NULL + height Height Dimension computed at realize + mappedWhenManaged MappedWhenManaged Boolean True + sensitive Sensitive Boolean True + width Width Dimension computed at realize + x Position Position 0 + y Position Position 0 + +*/ + +/* Constraint parameters: + + Name Class RepType Default Value + ---- ----- ------- ------------- + bottom Edge XtEdgeType XtRubber + fromHoriz Widget Widget (left edge of form) + fromVert Widget Widget (top of form) + horizDistance Thickness int defaultDistance + left Edge XtEdgeType XtRubber + resizable Boolean Boolean False + right Edge XtEdgeType XtRubber + top Edge XtEdgeType XtRubber + vertDistance Thickness int defaultDistance + +*/ + + +#ifndef _XtStringDefs_h_ +#define XtNtop "top" +#define XtRWidget "Widget" +#endif + +#define XtNdefaultDistance "defaultDistance" +#define XtNbottom "bottom" +#define XtNleft "left" +#define XtNright "right" +#define XtNfromHoriz "fromHoriz" +#define XtNfromVert "fromVert" +#define XtNhorizDistance "horizDistance" +#define XtNvertDistance "vertDistance" +#define XtNresizable "resizable" + +#define XtCEdge "Edge" +#define XtCWidget "Widget" + +typedef enum { + XawChainTop, /* Keep this edge a constant distance from + the top of the form */ + XawChainBottom, /* Keep this edge a constant distance from + the bottom of the form */ + XawChainLeft, /* Keep this edge a constant distance from + the left of the form */ + XawChainRight, /* Keep this edge a constant distance from + the right of the form */ + XawRubber /* Keep this edge a proportional distance + from the edges of the form */ +} XawEdgeType; + +#define XtEdgeType XawEdgeType + +#define XtChainTop XawChainTop +#define XtChainBottom XawChainBottom +#define XtChainLeft XawChainLeft +#define XtChainRight XawChainRight +#define XtRubber XawRubber + +#define XtEchainLeft "chainLeft" +#define XtEchainRight "chainRight" +#define XtEchainTop "chainTop" +#define XtEchainBottom "chainBottom" +#define XtErubber "rubber" + +#ifndef OLDXAW +#ifndef XawNdisplayList +#define XawNdisplayList "displayList" +#endif + +#ifndef XawCDisplayList +#define XawCDisplayList "DisplayList" +#endif + +#ifndef XawRDisplayList +#define XawRDisplayList "XawDisplayList" +#endif +#endif + +typedef struct _FormClassRec *FormWidgetClass; +typedef struct _FormRec *FormWidget; + +extern WidgetClass formWidgetClass; + +_XFUNCPROTOBEGIN + +void XawFormDoLayout +( + Widget w, +#if NeedWidePrototypes + Bool do_layout +#else + Boolean do_layout +#endif + ); + +_XFUNCPROTOEND + +#endif /* _XawForm_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/FormP.h b/ThirdParty/X11/Include/X11/Xaw/FormP.h new file mode 100644 index 0000000..43a58e9 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/FormP.h @@ -0,0 +1,139 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +/* Form widget private definitions */ + +#ifndef _XawFormP_h +#define _XawFormP_h + +#include <X11/Xfuncproto.h> + +#include <X11/Xaw/Form.h> +#include <X11/Xaw/XawInit.h> + +_XFUNCPROTOBEGIN + +#define XtREdgeType "EdgeType" + +typedef enum { + LayoutPending, + LayoutInProgress, + LayoutDone +} LayoutState; + +#define XtInheritLayout \ +((Boolean (*)(FormWidget, unsigned int, unsigned int, Bool))_XtInherit) + +typedef struct { + Boolean(*layout)(FormWidget, unsigned int, unsigned int, Bool); +#ifndef OLDXAW + XtPointer extension; +#endif +} FormClassPart; + +typedef struct _FormClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ConstraintClassPart constraint_class; + FormClassPart form_class; +} FormClassRec; + +extern FormClassRec formClassRec; + +typedef struct _FormPart { + /* resources */ + int default_spacing; /* default distance between children */ + + /* private */ + Dimension old_width, old_height; /* reference value for *_virtual */ + int no_refigure; /* no re-layout while > 0 */ + Boolean needs_relayout; /* next time no_refigure == 0 */ + Boolean resize_in_layout; /* should layout() do geom request? */ + Dimension preferred_width, preferred_height; /* cached from layout */ + Boolean resize_is_no_op; /* Causes resize to take not action */ +#ifndef OLDXAW + XawDisplayList *display_list; + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} FormPart; + +typedef struct _FormRec { + CorePart core; + CompositePart composite; + ConstraintPart constraint; + FormPart form; +} FormRec; + +typedef struct _FormConstraintsPart { + /* resources */ + XtEdgeType top, bottom, left, right;/* where to drag edge on resize */ + int dx; /* desired horiz offset */ + int dy; /* desired vertical offset */ + Widget horiz_base; /* measure dx from here if non-null */ + Widget vert_base; /* measure dy from here if non-null */ + Boolean allow_resize; /* True if child may request resize */ + + /* private */ + short virtual_width, virtual_height; + Position new_x, new_y; + LayoutState layout_state; /* temporary layout state */ + Boolean deferred_resize;/* was resized while no_refigure is set */ +#ifndef OLDXAW + short virtual_x, virtual_y; + XtPointer pad[2]; /* leave some space for further optimizations + * in the form widget geometry + */ +#endif +} FormConstraintsPart; + +typedef struct _FormConstraintsRec { + FormConstraintsPart form; +} FormConstraintsRec, *FormConstraints; + +_XFUNCPROTOEND + +#endif /* _XawFormP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Grip.h b/ThirdParty/X11/Include/X11/Xaw/Grip.h new file mode 100644 index 0000000..e8892ae --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Grip.h @@ -0,0 +1,96 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +/* + * Grip.h - Public Definitions for Grip widget (used by VPane Widget) + * + */ + +#ifndef _XawGrip_h +#define _XawGrip_h + +#include <X11/Xaw/Simple.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + foreground Foreground Pixel XtDefaultForeground + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 0 + callback Callback Pointer GripAction + cursor Cursor Cursor None + cursorName Cursor String NULL + destroyCallback Callback Pointer NULL + height Height Dimension 8 + mappedWhenManaged MappedWhenManaged Boolean True + pointerColor Foreground Pixel XtDefaultForeground + pointerColorBackground Background Pixel XtDefaultBackground + sensitive Sensitive Boolean True + width Width Dimension 8 + x Position Position 0 + y Position Position 0 + +*/ + +#define XtNgripTranslations "gripTranslations" + +typedef struct _XawGripCallData { + XEvent *event; /* the event causing the GripAction */ + String *params; /* the TranslationTable params */ + Cardinal num_params; /* count of params */ +} XawGripCallDataRec, *XawGripCallData, + GripCallDataRec, *GripCallData; /* supported for R4 compatibility */ + +/* Class Record Constant */ + +extern WidgetClass gripWidgetClass; + +typedef struct _GripClassRec *GripWidgetClass; +typedef struct _GripRec *GripWidget; + +#endif /* _XawGrip_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/GripP.h b/ThirdParty/X11/Include/X11/Xaw/GripP.h new file mode 100644 index 0000000..427948a --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/GripP.h @@ -0,0 +1,85 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawGripP_h +#define _XawGripP_h + +#include <X11/Xaw/Grip.h> +#include <X11/Xaw/SimpleP.h> + +#define DEFAULT_GRIP_SIZE 8 + +/* New fields for the Grip widget class */ +typedef struct { + XtPointer extension; +} GripClassPart; + +/* Full Class record */ +typedef struct _GripClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + GripClassPart grip_class; +} GripClassRec; + +extern GripClassRec gripClassRec; + +/* New fields for the Grip widget */ +typedef struct { + XtCallbackList grip_action; +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} GripPart; + +/* Full instance record */ +typedef struct _GripRec { + CorePart core; + SimplePart simple; + GripPart grip; +} GripRec; + +#endif /* _XawGripP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Label.h b/ThirdParty/X11/Include/X11/Xaw/Label.h new file mode 100644 index 0000000..175f1c1 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Label.h @@ -0,0 +1,132 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawLabel_h +#define _XawLabel_h + +/* + * Label Widget + */ + +#include <X11/Xaw/Simple.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + bitmap Pixmap Pixmap None + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + cursor Cursor Cursor None + cursorName Cursor String NULL + destroyCallback Callback XtCallbackList NULL + encoding Encoding UnsignedChar XawTextEncoding8bit + font Font XFontStruct* XtDefaultFont + foreground Foreground Pixel XtDefaultForeground + height Height Dimension text height + insensitiveBorder Insensitive Pixmap Gray + internalHeight Height Dimension 2 + internalWidth Width Dimension 4 + justify Justify XtJustify XtJustifyCenter + label Label String NULL + leftBitmap LeftBitmap Pixmap None + mappedWhenManaged MappedWhenManaged Boolean True + pointerColor Foreground Pixel XtDefaultForeground + pointerColorBackground Background Pixel XtDefaultBackground + resize Resize Boolean True + sensitive Sensitive Boolean True + width Width Dimension text width + x Position Position 0 + y Position Position 0 + +*/ + +#define XawTextEncoding8bit 0 +#define XawTextEncodingChar2b 1 + +#define XtNleftBitmap "leftBitmap" +#define XtCLeftBitmap "LeftBitmap" +#define XtNencoding "encoding" +#define XtCEncoding "Encoding" + +#ifndef XtNfontSet +#define XtNfontSet "fontSet" +#endif + +#ifndef XtCFontSet +#define XtCFontSet "FontSet" +#endif + +#ifndef _XtStringDefs_h_ +#define XtNbitmap "bitmap" +#define XtNforeground "foreground" +#define XtNlabel "label" +#define XtNfont "font" +#define XtNinternalWidth "internalWidth" +#define XtNinternalHeight "internalHeight" +#define XtNresize "resize" +#define XtCResize "Resize" +#define XtCBitmap "Bitmap" +#endif + +#ifndef XtNlabelX +#define XtNlabelX "labelX" +#endif + +#ifndef XtNlabelY +#define XtNlabelY "labelY" +#endif + +/* Class record constants */ + +extern WidgetClass labelWidgetClass; + +typedef struct _LabelClassRec *LabelWidgetClass; +typedef struct _LabelRec *LabelWidget; + +#endif /* _XawLabel_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/LabelP.h b/ThirdParty/X11/Include/X11/Xaw/LabelP.h new file mode 100644 index 0000000..e8cc611 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/LabelP.h @@ -0,0 +1,115 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawLabelP_h +#define _XawLabelP_h + +/* + * Label Widget Private Data + */ +#include <X11/Xaw/Label.h> +#include <X11/Xaw/SimpleP.h> + +/* New fields for the Label widget class record */ +typedef struct { + XtPointer extension; +} LabelClassPart; + +/* Full class record declaration */ +typedef struct _LabelClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + LabelClassPart label_class; +} LabelClassRec; + +extern LabelClassRec labelClassRec; + +/* New fields for the Label widget record */ +typedef struct { + /* resources */ + Pixel foreground; + XFontStruct *font; + XFontSet fontset; + char *label; + XtJustify justify; + Dimension internal_width; + Dimension internal_height; + Pixmap pixmap; + Boolean resize; + unsigned char encoding; + Pixmap left_bitmap; + + /* private state */ + GC normal_GC; + GC gray_GC; + Pixmap stipple; + Position label_x; + Position label_y; + Dimension label_width; + Dimension label_height; + Dimension label_len; + int lbm_y; /* where in label */ + unsigned int lbm_width, lbm_height; /* size of pixmap */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} LabelPart; + +/* + * Full instance record declaration + */ +typedef struct _LabelRec { + CorePart core; + SimplePart simple; + LabelPart label; +} LabelRec; + +#define LEFT_OFFSET(lw) ((lw)->label.left_bitmap \ + ? (lw)->label.lbm_width + (lw)->label.internal_width \ + : 0) + +#endif /* _XawLabelP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/List.h b/ThirdParty/X11/Include/X11/Xaw/List.h new file mode 100644 index 0000000..7fc59f4 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/List.h @@ -0,0 +1,234 @@ +/* +Copyright 1989, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. +*/ + +/* This is the List widget, it is useful to display a list, without the + * overhead of having a widget for each item in the list. It allows + * the user to select an item in a list and notifies the application through + * a callback function. + * + * Created: 8/13/88 + * By: Chris D. Peterson + * MIT X Consortium + */ + +#ifndef _XawList_h +#define _XawList_h + +#include <X11/Xaw/Simple.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + borderColor BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + callback Callback XtCallbackList NULL **6 + columnSpacing Spacing Dimension 6 + cursor Cursor Cursor left_ptr + cursorName Cursor String NULL + defaultColumns Columns int 2 **5 + destroyCallback Callback Pointer NULL + font Font XFontStruct* XtDefaultFont + forceColumns Columns Boolean False **5 + foreground Foreground Pixel XtDefaultForeground + height Height Dimension 0 **1 + insensitiveBorder Insensitive Pixmap Gray + internalHeight Height Dimension 2 + internalWidth Width Dimension 4 + list List String* NULL **2 + longest Longest int 0 **3 **4 + mappedWhenManaged MappedWhenManaged Boolean True + numberStrings NumberStrings int 0 **4 + pasteBuffer Boolean Boolean False + pointerColor Foreground Pixel XtDefaultForeground + pointerColorBackground Background Pixel XtDefaultBackground + rowSpacing Spacing Dimension 4 + sensitive Sensitive Boolean True + verticalList Boolean Boolean False + width Width Dimension 0 **1 + x Position Position 0 + y Position Position 0 + + **1 - If the Width or Height of the list widget is zero (0) then the value + is set to the minimum size necessay to fit the entire list. + + If both Width and Height are zero then they are adjusted to fit the + entire list that is created width the number of default columns + specified in the defaultColumns resource. + + **2 - This is an array of strings the specify elements of the list. + This resource must be specified. + (What good is a list widget without a list?? :-) + + **3 - Longest is the length of the widest string in pixels. + + **4 - If either of these values are zero (0) then the list widget calculates + the correct value. + + (This allows you to make startup faster if you already have + this information calculated) + + NOTE: If the numberStrings value is zero the list must + be NULL terminated. + + **5 - By setting the List.Columns resource you can force the application to + have a given number of columns. + + **6 - This returns the name and index of the item selected in an + XawListReturnStruct that is pointed to by the client_data + in the CallbackProc. + +*/ + +/* + * Value returned when there are no highlighted objects + */ +#define XAW_LIST_NONE -1 + +#define XtCList "List" +#define XtCSpacing "Spacing" +#define XtCColumns "Columns" +#define XtCLongest "Longest" +#define XtCNumberStrings "NumberStrings" + +#define XtNcursor "cursor" +#define XtNcolumnSpacing "columnSpacing" +#define XtNdefaultColumns "defaultColumns" +#define XtNforceColumns "forceColumns" +#define XtNlist "list" +#define XtNlongest "longest" +#define XtNnumberStrings "numberStrings" +#define XtNpasteBuffer "pasteBuffer" +#define XtNrowSpacing "rowSpacing" +#define XtNverticalList "verticalList" +#define XtNshowCurrent "showCurrent" + +#ifndef XtNfontSet +#define XtNfontSet "fontSet" +#endif + +#ifndef XtCFontSet +#define XtCFontSet "FontSet" +#endif + +extern WidgetClass listWidgetClass; + +typedef struct _ListClassRec *ListWidgetClass; +typedef struct _ListRec *ListWidget; + +/* list return structure */ +typedef struct _XawListReturnStruct { + String string; + int list_index; +} XawListReturnStruct; + +_XFUNCPROTOBEGIN + +/* + * Function: + * XawListChange + * + * Parameters: + * w - list widget + * list - new list + * nitems - number of items in the list + * longest - length (in Pixels) of the longest element in the list + * resize - if True the the list widget will try to resize itself + * + * Description: + * Changes the list being used and shown. + * + * Note: + * If nitems of longest are <= 0 then they will be caluculated + * If nitems is <= 0 then the list needs to be NULL terminated + */ +void XawListChange +( + Widget w, + String *list, + int nitems, + int longest, +#if NeedWidePrototypes + int resize +#else + Boolean resize +#endif + ); + +/* + * Function: + * XawListUnhighlight + * + * Parameters: + * w - list widget + * + * Description: + * Unlights the current highlighted element. + */ +void XawListUnhighlight +( + Widget w + ); + +/* + * Function: + * XawListHighlight + * + * Parameters: + * w - list widget + * item - item to highlight + * + * Description: + * Highlights the given item. + */ +void XawListHighlight +( + Widget w, + int item + ); + + +/* + * Function: + * XawListShowCurrent + * + * Paraneters: + * w - list widget + * + * Description: + * Returns the currently highlighted object. + * + * Returns: + * The info about the currently highlighted object + */ + +XawListReturnStruct *XawListShowCurrent +( + Widget w + ); + +_XFUNCPROTOEND + +#endif /* _XawList_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/ListP.h b/ThirdParty/X11/Include/X11/Xaw/ListP.h new file mode 100644 index 0000000..5f53982 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/ListP.h @@ -0,0 +1,115 @@ +/* +Copyright 1989, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. +*/ + + +/* + * This is a List widget. It allows the user to select an item in a list and + * notifies the application through a callback function. + * + * Created: 8/13/88 + * By: Chris D. Peterson + * MIT - Project Athena + */ + +#ifndef _XawListP_h +#define _XawListP_h + +/* + * List Widget Private Data + */ +#include <X11/Xaw/SimpleP.h> +#include <X11/Xaw/List.h> + +#define NO_HIGHLIGHT XAW_LIST_NONE +#define OUT_OF_RANGE -1 +#define OKAY 0 + +/* New fields for the List widget class */ +typedef struct { + XtPointer extension; +} ListClassPart; + +/* Full class record */ +typedef struct _ListClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + ListClassPart list_class; +} ListClassRec; + +extern ListClassRec listClassRec; + +/* New fields for the List widget */ +typedef struct { + /* resources */ + Pixel foreground; + Dimension internal_width; /* if not 3d, user sets directly */ + Dimension internal_height; + Dimension column_space; /* half of *_space is add on + top/bot/left of */ + Dimension row_space; /* each item's text bounding box + half added to longest for right */ + int default_cols; + Boolean force_cols; + Boolean paste; + Boolean vertical_cols; + int longest; /* in pixels */ + int nitems; + XFontStruct *font; + XFontSet fontset; /* Sheeran, Omron KK, 93/03/05 */ + String *list; /* for i18n, always in multibyte + format */ + XtCallbackList callback; + + /* private */ + int is_highlighted; /* set to the item currently + highlighted */ + int highlight; /* set to the item that should be + highlighted */ + int col_width; /* width of each column */ + int row_height; /* height of each row */ + int nrows; /* number of rows in the list */ + int ncols; /* number of columns in the list */ + GC normgc; + GC revgc; + GC graygc; + int freedoms; /* flags for resizing height + and width */ +#ifndef OLDXAW + int selected; + Boolean show_current; + char pad1[(sizeof(XtPointer) - sizeof(Boolean)) + + (sizeof(XtPointer) - sizeof(int))]; + XtPointer pad2[2]; /* for future use and keep binary compatability */ +#endif +} ListPart; + + +/* Full instance record */ +typedef struct _ListRec { + CorePart core; + SimplePart simple; + ListPart list; +} ListRec; + +#endif /* _XawListP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/MenuButtoP.h b/ThirdParty/X11/Include/X11/Xaw/MenuButtoP.h new file mode 100644 index 0000000..8ee3195 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/MenuButtoP.h @@ -0,0 +1,79 @@ +/* + * +Copyright 1989,1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + */ + +/* + * MenuButtonP.h - Private Header file for MenuButton widget. + * + * This is the private header file for the Athena MenuButton widget. + * It is intended to provide an easy method of activating pulldown menus. + * + * Date: May 2, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _XawMenuButtonP_h +#define _XawMenuButtonP_h + +#include <X11/Xaw/MenuButton.h> +#include <X11/Xaw/CommandP.h> + +/* New fields for the MenuButton widget class */ +typedef struct _MenuButtonClass { + XtPointer extension; +} MenuButtonClassPart; + +/* class record declaration */ +typedef struct _MenuButtonClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + LabelClassPart label_class; + CommandClassPart command_class; + MenuButtonClassPart menuButton_class; +} MenuButtonClassRec; + +extern MenuButtonClassRec menuButtonClassRec; + +/* New fields for the MenuButton widget */ +typedef struct { + /* resources */ + String menu_name; +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} MenuButtonPart; + +/* widget declaration */ +typedef struct _MenuButtonRec { + CorePart core; + SimplePart simple; + LabelPart label; + CommandPart command; + MenuButtonPart menu_button; +} MenuButtonRec; + +#endif /* _XawMenuButtonP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/MenuButton.h b/ThirdParty/X11/Include/X11/Xaw/MenuButton.h new file mode 100644 index 0000000..93f0963 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/MenuButton.h @@ -0,0 +1,89 @@ +/* + * +Copyright 1989, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + */ + +/*********************************************************************** + * + * MenuButton Widget + * + ***********************************************************************/ + +/* + * MenuButton.h - Public Header file for MenuButton widget. + * + * This is the public header file for the Athena MenuButton widget. + * It is intended to provide an easy method of activating pulldown menus. + * + * Date: May 2, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _XawMenuButton_h +#define _XawMenuButton_h + +#include <X11/Xaw/Command.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + bitmap Pixmap Pixmap None + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + callback Callback Pointer NULL + cursor Cursor Cursor None + destroyCallback Callback Pointer NULL + displayList DisplayList XawDisplayList* NULL + font Font XFontStruct* XtDefaultFont + foreground Foreground Pixel XtDefaultForeground + height Height Dimension text height + highlightThickness Thickness Dimension 2 + insensitiveBorder Insensitive Pixmap Gray + internalHeight Height Dimension 2 + internalWidth Width Dimension 4 + justify Justify XtJustify XtJustifyCenter + label Label String NULL + mappedWhenManaged MappedWhenManaged Boolean True + menuName MenuName String "menu" + resize Resize Boolean True + sensitive Sensitive Boolean True + width Width Dimension text width + x Position Position 0 + y Position Position 0 + +*/ + +#define XtNmenuName "menuName" +#define XtCMenuName "MenuName" + +extern WidgetClass menuButtonWidgetClass; + +typedef struct _MenuButtonClassRec *MenuButtonWidgetClass; +typedef struct _MenuButtonRec *MenuButtonWidget; + +#endif /* _XawMenuButton_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/MultiSink.h b/ThirdParty/X11/Include/X11/Xaw/MultiSink.h new file mode 100644 index 0000000..3519acc --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/MultiSink.h @@ -0,0 +1,110 @@ +/* + * Copyright 1991 by OMRON Corporation + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name OMRON is not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. OMRON makes no representations + * about the suitability of this software for any purpose. It is provided + * "as is" without express or implied warranty. + * + * OMRON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL OMRON BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + * + * Author: Li Yuhong OMRON Corporation + */ + +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawMultiSink_h +#define _XawMultiSink_h + +/* + * MultiSink Object + */ + +#include <X11/Xaw/TextSink.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + echo Output Boolean True + displayNonprinting Output Boolean True + fontSet FontSet XFontSet XtDefaultFontSet + +*/ + +#define XtCOutput "Output" + +#define XtNdisplayNonprinting "displayNonprinting" +#define XtNecho "echo" + +#ifndef XtNfontSet /*Sheeran, Omron KK, 93/03/04*/ +#define XtNfontSet "fontSet" +#endif + +#ifndef XtCFontSet /*Sheeran, Omron KK, 93/03/04*/ +#define XtCFontSet "FontSet" +#endif + +/* Class record constants */ +extern WidgetClass multiSinkObjectClass; + +typedef struct _MultiSinkClassRec *MultiSinkObjectClass; +typedef struct _MultiSinkRec *MultiSinkObject; + +#endif /* _XawMultiSink_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/MultiSinkP.h b/ThirdParty/X11/Include/X11/Xaw/MultiSinkP.h new file mode 100644 index 0000000..019f5f4 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/MultiSinkP.h @@ -0,0 +1,138 @@ +/* + * Copyright 1991 by OMRON Corporation + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name OMRON not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. OMRON make no representations + * about the suitability of this software for any purpose. It is provided + * "as is" without express or implied warranty. + * + * OMRON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL OMRON BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + * + * Author: Li Yuhong OMRON Corporation + */ + + +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawMultiSinkP_h +#define _XawMultiSinkP_h + +#include <X11/Xfuncproto.h> + +/* + * MultiSink Object Private Data + */ +#include <X11/Xaw/TextSinkP.h> +#include <X11/Xaw/MultiSink.h> + +/* new fields for the MultiSink object class */ +typedef struct _MultiSinkClassPart { + XtPointer extension; +} MultiSinkClassPart; + +/* Full class record declaration */ +typedef struct _MultiSinkClassRec { + ObjectClassPart object_class; + TextSinkClassPart text_sink_class; + MultiSinkClassPart multi_sink_class; +} MultiSinkClassRec; + +extern MultiSinkClassRec multiSinkClassRec; + +/* New fields for the MultiSink object record */ +typedef struct { + /* resources */ + Boolean echo; + Boolean display_nonprinting; + + /* private */ + GC normgc, invgc, xorgc; + XawTextPosition cursor_position; + XawTextInsertState laststate; + short cursor_x, cursor_y; /* Cursor Location */ + XFontSet fontset; /* font set to draw */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} MultiSinkPart; + +/* Full instance record declaration */ +typedef struct _MultiSinkRec { + ObjectPart object; + TextSinkPart text_sink; + MultiSinkPart multi_sink; +} MultiSinkRec; + +/* + * Semi-private functions + * for use by other Xaw modules only + */ +_XFUNCPROTOBEGIN + +void _XawMultiSinkPosToXY +( + Widget w, + XawTextPosition pos, + Position *x, + Position *y +); + +_XFUNCPROTOEND + +#endif /* _XawMultiSinkP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/MultiSrc.h b/ThirdParty/X11/Include/X11/Xaw/MultiSrc.h new file mode 100644 index 0000000..628da0c --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/MultiSrc.h @@ -0,0 +1,130 @@ +/* + * Copyright 1991 by OMRON Corporation + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name OMRON not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. OMRON makes no representations + * about the suitability of this software for any purpose. It is provided + * "as is" without express or implied warranty. + * + * OMRON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL OMRON BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + * + * Author: Li Yuhong OMRON Corporation + */ + +/* + +Copyright 1989, 1991, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * This file was modified from AsciiSrc.h. + * + * By Li Yuhong, Sept. 18, 1990 + */ + +#ifndef _XawMultiSrc_h +#define _XawMultiSrc_h + +#include <X11/Xaw/TextSrc.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + dataCompression DataCompression Boolean True + length Length int (internal) + pieceSize PieceSize int BUFSIZ + string String String NULL + type Type XawAsciiType XawAsciiString + useStringInPlace UseStringInPlace Boolean False + +*/ + +extern WidgetClass multiSrcObjectClass; + +typedef struct _MultiSrcClassRec *MultiSrcObjectClass; +typedef struct _MultiSrcRec *MultiSrcObject; + +#define MultiSourceObjectClass MultiSrcObjectClass +#define MultiSourceObject MultiSrcObject + +#define XtCDataCompression "DataCompression" +#define XtCPieceSize "PieceSize" +#define XtCType "Type" +#define XtCUseStringInPlace "UseStringInPlace" + +#define XtNdataCompression "dataCompression" +#define XtNpieceSize "pieceSize" +#define XtNtype "type" +#define XtNuseStringInPlace "useStringInPlace" + +#define XtRMultiType "MultiType" + +#define XtEstring "string" +#define XtEfile "file" + +/************************************************************ + * + * THESE ROUTINES ARE NOT PUBLIC: Source should call + * + * the AsciiSrc API which currently forwards requests here. + * + * future versions (like theres going to be an R7 Xaw!) may + * + * eliminate this file or at least these functions entirely. + * + ************************************************************/ + +_XFUNCPROTOBEGIN + +void XawMultiSourceFreeString +( + Widget w + ); + +Bool _XawMultiSave +( + Widget w +); + +Bool _XawMultiSaveAsFile +( + Widget w, + _Xconst char *name + ); + +_XFUNCPROTOEND + +#endif /* _XawMultiSrc_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/MultiSrcP.h b/ThirdParty/X11/Include/X11/Xaw/MultiSrcP.h new file mode 100644 index 0000000..95642a4 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/MultiSrcP.h @@ -0,0 +1,179 @@ +/* + * Copyright 1991 by OMRON Corporation + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name OMRON not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. OMRON make no representations + * about the suitability of this software for any purpose. It is provided + * "as is" without express or implied warranty. + * + * OMRON DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL OMRON BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + * + * Author: Li Yuhong OMRON Corporation + */ + + +/*********************************************************** + +Copyright 1987, 1988, 1991, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +/* + * MultiSrcP.h - Private Header for Multi Text Source. + * + * This is the private header file for the Multi Text Source. + * It is intended to be used with the Text widget, the simplest way to use + * this text source is to use the MultiText Object. + * + * Date: June 29, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +/* + * This file was changed from AsciiSrcP.h. + * + * By Li Yuhong, Sept. 18, 1990 + */ + +#ifndef _XawMultiSrcP_h +#define _XawMultiSrcP_h + +#include <X11/Xfuncproto.h> +#include <X11/Xaw/TextSrcP.h> +#include <X11/Xaw/MultiSrc.h> + +#ifdef L_tmpnam +#define TMPSIZ L_tmpnam +#else +#ifdef PATH_MAX +#define TMPSIZ PATH_MAX +#else +#define TMPSIZ 1024 /* bytes to allocate for tmpnam */ +#endif +#endif + +typedef struct _MultiPiece { /* Piece of the text file of BUFSIZ allocated + characters */ + wchar_t* text; /* The text in this buffer */ + XawTextPosition used; /* The number of characters of this buffer + that have been used */ + struct _MultiPiece *prev, *next; /* linked list pointers */ +} MultiPiece; + +/* New fields for the MultiSrc object class */ +typedef struct _MultiSrcClassPart { + XtPointer extension; +} MultiSrcClassPart; + +/* Full class record */ +typedef struct _MultiSrcClassRec { + ObjectClassPart object_class; + TextSrcClassPart text_src_class; + MultiSrcClassPart multi_src_class; +} MultiSrcClassRec; + +extern MultiSrcClassRec multiSrcClassRec; + +/* New fields for the MultiSrc object */ +typedef struct _MultiSrcPart { + /* resources */ + XIC ic; /* for X Input Method */ + XtPointer string; /* either the string, or the file name, depend- + ing upon the `type'. ALWAYS IN MB FORMAT */ + XawAsciiType type; /* either string or disk */ + XawTextPosition piece_size; /* Size of text buffer for each piece */ + Boolean data_compression; /* compress to minimum memory automatically + on save? */ +#ifdef OLDXAW + XtCallbackList callback; +#endif + Boolean use_string_in_place;/* Use the string passed in place */ + int multi_length; /* length field for multi string emulation */ + + /* private */ + + Boolean is_tempfile; /* Is this a temporary file? */ +#ifdef OLDXAW + Boolean changes; +#endif + Boolean allocated_string; /* Have I allocated the + string in multi_src->string? */ + XawTextPosition length; /* length of file - IN CHARACTERS, NOT BYTES */ + MultiPiece *first_piece; /* first piece of the text */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} MultiSrcPart; + +/* Full instance record */ +typedef struct _MultiSrcRec { + ObjectPart object; + TextSrcPart text_src; + MultiSrcPart multi_src; +} MultiSrcRec; + +_XFUNCPROTOBEGIN + +void _XawMultiSourceFreeString +( + Widget w + ); + +_XFUNCPROTOEND + +#endif /* _XawMultiSrcP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Paned.h b/ThirdParty/X11/Include/X11/Xaw/Paned.h new file mode 100644 index 0000000..4b7e115 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Paned.h @@ -0,0 +1,258 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +/* + * Paned.h - Paned Composite Widget's public header file. + * + * Updated and significantly modifided from the Athena VPaned Widget. + * + * Date: March 1, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _XawPaned_h +#define _XawPaned_h + +#include <X11/Intrinsic.h> +#include <X11/Xmu/Converters.h> + +/* RESOURCES: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + betweenCursor Cursor Cursor ** + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + cursor Cursor Cursor None + destroyCallback Callback Pointer NULL + height Height Dimension 0 + gripIndent GripIndent Position 16 + gripCursor Cursor Cursor ** + horizontalGripCursol Cursor Cursor sb_h_double_arrow + horizontalBetweencursor Cursor Cursor sb_up_arrow + internalBorderColor BorderColor Pixel XtDefaultForeground + internalBorderWidth BorderWidth Position 1 + leftCursor Cursor Cursor sb_left_arrow + lowerCursor Cursor Cursor sb_down_arrow + mappedWhenManaged MappedWhenManaged Boolean True + orientation Orientation XtOrientation XtorientVertical + refigureMode Boolean Boolean On + rightCursor Cursor Cursor sb_right_arrow + sensitive Sensitive Boolean True + upperCursor Cursor Cursor sb_up_arrow + verticalBetweenCursor Cursor Cursor sb_left_arrow + verticalGripCursor Cursor Cursor sb_v_double_arrow + width Width Dimension 0 + x Position Position 0 + y Position Position 0 + +** These resources now are set to the vertical or horizontal cursor + depending upon orientation, by default. If a value is specified here + then that cursor will be used reguardless of orientation. + + +CONSTRAINT RESOURCES: + + Name Class RepType Default Value + ---- ----- ------- ------------- + allowResize Boolean Boolean False + max Max Dimension unlimited + min Min Dimension Grip Size + preferredPaneSize PreferredPaneSize Dimension PANED_ASK_CHILD + resizeToPreferred Boolean Boolean False + showGrip ShowGrip Boolean True + skipAdjust Boolean Boolean False + +*/ + +#define PANED_ASK_CHILD 0 +#define PANED_GRIP_SIZE 0 + +#define XtNallowResize "allowResize" +#define XtNbetweenCursor "betweenCursor" +#define XtNverticalBetweenCursor "verticalBetweenCursor" +#define XtNhorizontalBetweenCursor "horizontalBetweenCursor" +#define XtNgripCursor "gripCursor" +#define XtNgripIndent "gripIndent" +#define XtNhorizontalGripCursor "horizontalGripCursor" +#define XtNinternalBorderColor "internalBorderColor" +#define XtNinternalBorderWidth "internalBorderWidth" +#define XtNleftCursor "leftCursor" +#define XtNlowerCursor "lowerCursor" +#define XtNrefigureMode "refigureMode" +#define XtNposition "position" +#define XtNmin "min" +#define XtNmax "max" +#define XtNpreferredPaneSize "preferredPaneSize" +#define XtNresizeToPreferred "resizeToPreferred" +#define XtNrightCursor "rightCursor" +#define XtNshowGrip "showGrip" +#define XtNskipAdjust "skipAdjust" +#define XtNupperCursor "upperCursor" +#define XtNverticalGripCursor "verticalGripCursor" + +#define XtCGripIndent "GripIndent" +#define XtCMin "Min" +#define XtCMax "Max" +#define XtCPreferredPaneSize "PreferredPaneSize" +#define XtCShowGrip "ShowGrip" + +/* Class record constant */ +extern WidgetClass panedWidgetClass; + +typedef struct _PanedClassRec *PanedWidgetClass; +typedef struct _PanedRec *PanedWidget; + +/* + * Public Procedures + */ + +_XFUNCPROTOBEGIN + +/* + * Function: + * XawPanedSetMinMax + * + * Parameters: + * widget - widget that is a child of the Paned widget + * min - new min and max size for the pane + * max - "" + * + * Description: + * Sets the min and max size for a pane. + */ +void XawPanedSetMinMax +( + Widget w, + int min, + int max + ); + +/* + * Function: + * XawPanedGetMinMax + * + * Parameters: + * widget - widget that is a child of the Paned widget + * min - return the current min and max size for the pane + * max - "" + * + * Description: + * Gets the min and max size for a pane. + */ +void XawPanedGetMinMax +( + Widget w, + int *min_return, + int *max_return + ); + +/* + * Function: + * XawPanedSetRefigureMode + * + * Parameters: + * w - paned widget + * mode - if False then inhibit refigure + * + * Description: + * Allows a flag to be set the will inhibit the paned widgets + * relayout routine. + */ +void XawPanedSetRefigureMode +( + Widget w, +#if NeedWidePrototypes + int mode +#else + Boolean mode +#endif + ); + +/* + * Function: + * XawPanedGetNumSub + * + * Parameters: + * w - paned widget + * + * Returns: + * Number of panes in the paned widget. + */ +int XawPanedGetNumSub +( + Widget w + ); + +/* + * Function: + * XawPanedAllowResize + * + * Parameters: + * widget - child of the paned widget + * + * Description: + * Allows a flag to be set that determines if the paned widget will + * allow geometry requests from this child + */ +void XawPanedAllowResize +( + Widget w, +#if NeedWidePrototypes + int allow_resize +#else + Boolean allow_resize +#endif + ); + +_XFUNCPROTOEND + +#endif /* _XawPaned_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/PanedP.h b/ThirdParty/X11/Include/X11/Xaw/PanedP.h new file mode 100644 index 0000000..4e40eaf --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/PanedP.h @@ -0,0 +1,176 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +/* + * Updated and significantly modified from the Athena VPaned Widget. + * + * Date: March 1, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _XawPanedP_h +#define _XawPanedP_h + +#include <X11/Xaw/Paned.h> + +/* New fields for the Paned widget class record */ +typedef struct _PanedClassPart { + XtPointer extension; +} PanedClassPart; + +/* Full Class record declaration */ +typedef struct _PanedClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ConstraintClassPart constraint_class; + PanedClassPart paned_class; +} PanedClassRec; + +extern PanedClassRec panedClassRec; + +/* Paned constraint record */ +typedef struct _PanedConstraintsPart { + /* Resources */ + Dimension min; /* Minimum height */ + Dimension max; /* Maximum height */ + Boolean allow_resize; /* True if child resize requests are ok */ + Boolean show_grip; /* True if child will have grip below it, + when it is not the bottom pane */ + Boolean skip_adjust; /* True if child's height should not be + changed without explicit user action */ + int position; /* position location in Paned (relative to + other children) ** NIY ** */ + Dimension preferred_size; /* The Preferred size of the pane. + If this is zero then ask child for size*/ + Boolean resize_to_pref; /* resize this pane to its preferred size + on a resize or change managed after + realize */ + + /* Private state */ + Position delta; /* Desired Location */ + Position olddelta; /* The last value of dy */ + Boolean paned_adjusted_me; /* Has the vpaned adjusted this widget w/o + user interaction to make things fit? */ + Dimension wp_size; /* widget's preferred size */ + int size; /* the size the widget will actually get */ + Widget grip; /* The grip for this child */ +} PanedConstraintsPart, *Pane; + +typedef struct _PanedConstraintsRec { + PanedConstraintsPart paned; +} PanedConstraintsRec, *PanedConstraints; + +/* + * The Pane Stack Structure + */ +typedef struct _PaneStack { + struct _PaneStack *next; /* The next element on the stack */ + Pane pane; /* The pane in this element on the stack */ + int start_size; /* The size of this element when it + was pushed onto the stack */ +} PaneStack; + +/* New Fields for the Paned widget record */ +typedef struct { + /* resources */ + Position grip_indent; /* Location of grips (offset + from right margin) */ + Boolean refiguremode; /* Whether to refigure changes + right now */ + XtTranslations grip_translations; /* grip translation table */ + Pixel internal_bp; /* color of internal borders */ + Dimension internal_bw; /* internal border width */ + XtOrientation orientation; /* Orientation of paned widget */ + + Cursor cursor; /* Cursor for paned window */ + Cursor grip_cursor; /* inactive grip cursor */ + Cursor v_grip_cursor; /* inactive vert grip cursor */ + Cursor h_grip_cursor; /* inactive horiz grip cursor */ + Cursor adjust_this_cursor; /* active grip cursor: T */ + Cursor v_adjust_this_cursor; /* active vert grip cursor: T */ + Cursor h_adjust_this_cursor; /* active horiz grip cursor: T */ + + /* vertical */ + Cursor adjust_upper_cursor; /* active grip cursor: U */ + Cursor adjust_lower_cursor; /* active grip cursor: D */ + + /* horizontal */ + Cursor adjust_left_cursor; /* active grip cursor: U */ + Cursor adjust_right_cursor; /* active grip cursor: D */ + + /* private */ + Boolean recursively_called; /* for ChangeManaged */ + Boolean resize_children_to_pref; /* override constrain resources + and resize all children to + preferred size */ + int start_loc; /* mouse origin when adjusting */ + Widget whichadd; /* Which pane to add changes to */ + Widget whichsub; /* Which pane to sub changes from */ + GC normgc; /* GC to use when drawing borders */ + GC invgc; /* GC to use when erasing borders */ + GC flipgc; /* GC to use when animating borders */ + int num_panes; /* count of managed panes */ + PaneStack *stack; /* The pane stack for this widget */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} PanedPart; + +/* + * Full instance record declaration + */ +typedef struct _PanedRec { + CorePart core; + CompositePart composite; + ConstraintPart constraint; + PanedPart paned; +} PanedRec; + +#endif /* _XawPanedP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Panner.h b/ThirdParty/X11/Include/X11/Xaw/Panner.h new file mode 100644 index 0000000..dd37602 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Panner.h @@ -0,0 +1,105 @@ +/* + * +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + * + * Author: Jim Fulton, MIT X Consortium + */ + +#ifndef _XawPanner_h +#define _XawPanner_h + +#include <X11/Intrinsic.h> +#include <X11/Xaw/Reports.h> + +/***************************************************************************** + * + * Panner Widget (subclass of Simple) + * + * This widget is used to represent navigation in a 2d coordinate system + * + * Resources: + * + * Name Class Type Default + * ---- ----- ---- ------- + * + * allowOff AllowOff Boolean FALSE + * background Background Pixel XtDefaultBackground + * backgroundStipple BackgroundStipple String NULL + * canvasWidth CanvasWidth Dimension 0 + * canvasHeight CanvasHeight Dimension 0 + * defaultScale DefaultScale Dimension 8 percent + * foreground Foreground Pixel XtDefaultBackground + * internalSpace InternalSpace Dimension 4 + * lineWidth LineWidth Dimension 0 + * reportCallback ReportCallback XtCallbackList NULL + * resize Resize Boolean TRUE + * rubberBand RubberBand Boolean FALSE + * shadowColor ShadowColor Pixel XtDefaultForeground + * shadowThickness ShadowThickness Dimension 2 + * sliderX SliderX Position 0 + * sliderY SliderY Position 0 + * sliderWidth SliderWidth Dimension 0 + * sliderHeight SliderHeight Dimension 0 + * + *****************************************************************************/ + +#ifndef _XtStringDefs_h_ +#define XtNresize "resize" +#define XtCResize "Resize" +#endif + +#define XtNallowOff "allowOff" +#define XtCAllowOff "AllowOff" +#define XtNbackgroundStipple "backgroundStipple" +#define XtCBackgroundStipple "BackgroundStipple" +#define XtNdefaultScale "defaultScale" +#define XtCDefaultScale "DefaultScale" +#define XtNcanvasWidth "canvasWidth" +#define XtCCanvasWidth "CanvasWidth" +#define XtNcanvasHeight "canvasHeight" +#define XtCCanvasHeight "CanvasHeight" +#define XtNinternalSpace "internalSpace" +#define XtCInternalSpace "InternalSpace" +#define XtNlineWidth "lineWidth" +#define XtCLineWidth "LineWidth" +#define XtNrubberBand "rubberBand" +#define XtCRubberBand "RubberBand" +#define XtNshadowThickness "shadowThickness" +#define XtCShadowThickness "ShadowThickness" +#define XtNshadowColor "shadowColor" +#define XtCShadowColor "ShadowColor" +#define XtNsliderX "sliderX" +#define XtCSliderX "SliderX" +#define XtNsliderY "sliderY" +#define XtCSliderY "SliderY" +#define XtNsliderWidth "sliderWidth" +#define XtCSliderWidth "SliderWidth" +#define XtNsliderHeight "sliderHeight" +#define XtCSliderHeight "SliderHeight" + +extern WidgetClass pannerWidgetClass; + +typedef struct _PannerClassRec *PannerWidgetClass; +typedef struct _PannerRec *PannerWidget; + +#endif /* _XawPanner_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/PannerP.h b/ThirdParty/X11/Include/X11/Xaw/PannerP.h new file mode 100644 index 0000000..8a7f580 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/PannerP.h @@ -0,0 +1,106 @@ +/* + * +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + * + * Author: Jim Fulton, MIT X Consortium + */ + +#ifndef _XawPannerP_h +#define _XawPannerP_h + +#include <X11/Xaw/Panner.h> +#include <X11/Xaw/SimpleP.h> + +/* new fields in widget class */ +typedef struct { + XtPointer extension; +} PannerClassPart; + +/* Panner widget class */ +typedef struct _PannerClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + PannerClassPart panner_class; +} PannerClassRec; + +/* new fields in widget */ +typedef struct { + /* resources */ + XtCallbackList report_callbacks; /* callback/Callback */ + Boolean allow_off; /* allowOff/AllowOff */ + Boolean resize_to_pref; /* resizeToPreferred/Boolean */ + Pixel foreground; /* foreground/Foreground */ + Pixel shadow_color; /* shadowColor/ShadowColor */ + Dimension shadow_thickness; /* shadowThickness/ShadowThickness */ + Dimension default_scale; /* defaultScale/DefaultScale */ + Dimension line_width; /* lineWidth/LineWidth */ + Dimension canvas_width; /* canvasWidth/CanvasWidth */ + Dimension canvas_height; /* canvasHeight/CanvasHeight */ + Position slider_x; /* sliderX/SliderX */ + Position slider_y; /* sliderY/SliderY */ + Dimension slider_width; /* sliderWidth/SliderWidth */ + Dimension slider_height; /* sliderHeight/SliderHeight */ + Dimension internal_border; /* internalBorderWidth/BorderWidth */ + String stipple_name; /* backgroundStipple/BackgroundStipple + */ + /* private */ + GC slider_gc; /* background of slider */ + GC shadow_gc; /* edge of slider and shadow */ + GC xor_gc; /* for doing XOR tmp graphics */ + double haspect, vaspect; /* aspect ratio of core to canvas */ + Boolean rubber_band; /* true = rubber band, false = move */ + struct { + Boolean doing; /* tmp graphics in progress */ + Boolean showing; /* true if tmp graphics displayed */ + Position startx, starty; /* initial position of slider */ + Position dx, dy; /* offset loc for tmp graphics */ + Position x, y; /* location for tmp graphics */ + } tmp; + Position knob_x, knob_y; /* real upper left of knob in canvas */ + Dimension knob_width, knob_height; /* real size of knob in canvas */ + Boolean shadow_valid; /* true if rects are valid */ + XRectangle shadow_rects[2]; /* location of shadows */ + Position last_x, last_y; /* previous location of knob */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} PannerPart; + +typedef struct _PannerRec { + CorePart core; + SimplePart simple; + PannerPart panner; +} PannerRec; + +#define PANNER_HSCALE(pw,val) ((pw)->panner.haspect * ((double)(val))) +#define PANNER_VSCALE(pw,val) ((pw)->panner.vaspect * ((double)(val))) + +#define PANNER_DSCALE(pw,val) (Dimension) \ +((((unsigned long)(val)) * (unsigned long)pw->panner.default_scale) / 100L) + +#define PANNER_DEFAULT_SCALE 8 /* percent */ +#define PANNER_OUTOFRANGE -30000 + +extern PannerClassRec pannerClassRec; + +#endif /* _XawPannerP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Porthole.h b/ThirdParty/X11/Include/X11/Xaw/Porthole.h new file mode 100644 index 0000000..2dbcf18 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Porthole.h @@ -0,0 +1,61 @@ +/* + * +Copyright 1990, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + * + * Author: Jim Fulton, MIT X Consortium + */ + +#ifndef _XawPorthole_h +#define _XawPorthole_h + +#include <X11/Intrinsic.h> +#include <X11/Xaw/Reports.h> + +/***************************************************************************** + * + * Porthole Widget (subclass of Composite) + * + * This widget is similar to a viewport without scrollbars. Child movement + * is done by external panners or scrollbars. + * + * Parameters: + * + * Name Class Type Default + * ---- ----- ---- ------- + * + * background Background Pixel XtDefaultBackground + * border BorderColor Pixel XtDefaultForeground + * borderWidth BorderWidth Dimension 1 + * height Height Dimension 0 + * reportCallback ReportCallback Pointer NULL + * width Width Dimension 0 + * x Position Position 0 + * y Position Position 0 + * + *****************************************************************************/ + +extern WidgetClass portholeWidgetClass; +typedef struct _PortholeClassRec *PortholeWidgetClass; +typedef struct _PortholeRec *PortholeWidget; + +#endif /* _XawPorthole_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/PortholeP.h b/ThirdParty/X11/Include/X11/Xaw/PortholeP.h new file mode 100644 index 0000000..31bd65f --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/PortholeP.h @@ -0,0 +1,62 @@ +/* + * +Copyright 1990, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + * + * Author: Jim Fulton, MIT X Consortium + */ + +#ifndef _XawPortholeP_h +#define _XawPortholeP_h + +#include <X11/Xaw/Porthole.h> + +/* new fields in widget class */ +typedef struct { + XtPointer extension; +} PortholeClassPart; + +/* widget class */ +typedef struct _PortholeClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + PortholeClassPart porthole_class; +} PortholeClassRec; + +/* new fields in widget */ +typedef struct { + /* resources */ + XtCallbackList report_callbacks; /* callback/Callback */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} PortholePart; + +typedef struct _PortholeRec { + CorePart core; + CompositePart composite; + PortholePart porthole; +} PortholeRec; + +extern PortholeClassRec portholeClassRec; + +#endif /* _XawPortholeP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Repeater.h b/ThirdParty/X11/Include/X11/Xaw/Repeater.h new file mode 100644 index 0000000..6b712ca --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Repeater.h @@ -0,0 +1,73 @@ +/* + * +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + * + * Author: Jim Fulton, MIT X Consortium + */ + +#ifndef _XawRepeater_h +#define _XawRepeater_h + +#include <X11/Xaw/Command.h> + +/***************************************************************************** + * + * Repeater Widget (subclass of Command) + * + * This widget is a push button that repeatedly fires when held down + * + * Parameters: + * + * Name Class Type Default + * ---- ----- ---- ------- + * + * decay Decay int 5 milliseconds + * flash Boolean Boolean FALSE + * initialDelay Delay int 200 milliseconds + * minimumDelay MinimumDelay int 10 milliseconds + * repeatDelay Delay int 50 milliseconds + * startCallback StartCallback XtCallbackList NULL + * stopCallback StopCallback XtCallbackList NULL + * + *****************************************************************************/ + +#define XtNdecay "decay" +#define XtCDecay "Decay" +#define XtNinitialDelay "initialDelay" +#define XtCDelay "Delay" +#define XtNminimumDelay "minimumDelay" +#define XtCMinimumDelay "MinimumDelay" +#define XtNrepeatDelay "repeatDelay" +#define XtNflash "flash" +#define XtNstartCallback "startCallback" +#define XtCStartCallback "StartCallback" +#define XtNstopCallback "stopCallback" +#define XtCStopCallback "StopCallback" + + +extern WidgetClass repeaterWidgetClass; + +typedef struct _RepeaterClassRec *RepeaterWidgetClass; +typedef struct _RepeaterRec *RepeaterWidget; + +#endif /* _XawRepeater_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/RepeaterP.h b/ThirdParty/X11/Include/X11/Xaw/RepeaterP.h new file mode 100644 index 0000000..3eebf82 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/RepeaterP.h @@ -0,0 +1,82 @@ +/* + * +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + * + * Author: Jim Fulton, MIT X Consortium + */ + +#ifndef _XawRepeaterP_h +#define _XawRepeaterP_h + +#include <X11/Xaw/CommandP.h> +#include <X11/Xaw/Repeater.h> + +/* new fields in widget class */ +typedef struct { + XtPointer extension; +} RepeaterClassPart; + +/* repeater widget class */ +typedef struct _RepeaterClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + LabelClassPart label_class; + CommandClassPart command_class; + RepeaterClassPart repeater_class; +} RepeaterClassRec; + +typedef struct { + /* resources */ + int initial_delay; /* initialDelay/Delay */ + int repeat_delay; /* repeatDelay/Delay */ + int minimum_delay; /* minimumDelay/MinimumDelay */ + int decay; /* decay to minimum delay */ + Boolean flash; /* flash/Boolean */ + XtCallbackList start_callbacks; /* startCallback/StartCallback */ + XtCallbackList stop_callbacks; /* stopCallback/StopCallback */ + + /* private */ + int next_delay; /* next amount for timer */ + XtIntervalId timer; /* timer that will fire */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} RepeaterPart; + +typedef struct _RepeaterRec { + CorePart core; + SimplePart simple; + LabelPart label; + CommandPart command; + RepeaterPart repeater; +} RepeaterRec; + + /* milliseconds */ +#define REP_DEF_DECAY 5 +#define REP_DEF_INITIAL_DELAY 200 +#define REP_DEF_MINIMUM_DELAY 10 +#define REP_DEF_REPEAT_DELAY 50 + +extern RepeaterClassRec repeaterClassRec; + +#endif /* _XawRepeaterP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Reports.h b/ThirdParty/X11/Include/X11/Xaw/Reports.h new file mode 100644 index 0000000..14a6586 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Reports.h @@ -0,0 +1,55 @@ +/* + * +Copyright 1990, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + */ + +#ifndef _Xaw_Reports_h +#define _Xaw_Reports_h + +#include <X11/Intrinsic.h> + +/* + * XawPannerReport - this structure is used by the reportCallback of the + * Panner, Porthole, Viewport, and Scrollbar widgets to report its position. + * All fields must be filled in, although the changed field may be used as + * a hint as to which fields have been altered since the last report. + */ +typedef struct { + unsigned int changed; /* mask, see below */ + Position slider_x, slider_y; /* location of slider within outer */ + Dimension slider_width, slider_height; /* size of slider */ + Dimension canvas_width, canvas_height; /* size of canvas */ +} XawPannerReport; + +#define XawPRSliderX (1 << 0) +#define XawPRSliderY (1 << 1) +#define XawPRSliderWidth (1 << 2) +#define XawPRSliderHeight (1 << 3) +#define XawPRCanvasWidth (1 << 4) +#define XawPRCanvasHeight (1 << 5) +#define XawPRAll (63) /* union of above */ + +#define XtNreportCallback "reportCallback" +#define XtCReportCallback "reportCallback" + +#endif /* _Xaw_Reports_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Scrollbar.h b/ThirdParty/X11/Include/X11/Xaw/Scrollbar.h new file mode 100644 index 0000000..904aad9 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Scrollbar.h @@ -0,0 +1,133 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _Scrollbar_h +#define _Scrollbar_h + +/* + * Scrollbar Widget + */ + +#include <X11/Xmu/Converters.h> +#include <X11/Xfuncproto.h> + +/* Scrollbar resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + accelerators Accelerators AcceleratorTable NULL + ancestorSensitive AncestorSensitive Boolean True + background Background Pixel XtDefaultBackground + backgroundPixmap Pixmap Pixmap XtUnspecifiedPixmap + borderColor BorderColor Pixel XtDefaultForeground + borderPixmap Pixmap Pixmap XtUnspecifiedPixmap + borderWidth BorderWidth Dimension 1 + colormap Colormap Colormap parent's colormap + cursor Cursor Cursor None + cursorName Cursor String NULL + depth Depth int parent's depth + destroyCallback Callback XtCallbackList NULL + foreground Foreground Pixel XtDefaultForeground + height Height Dimension length or thickness + insensitiveBorder Insensitive Pixmap GreyPixmap + jumpProc Callback XtCallbackList NULL + length Length Dimension 1 + mappedWhenManaged MappedWhenManaged Boolean True + minimumThumb MinimumThumb Dimension 7 + orientation Orientation XtOrientation XtorientVertical + pointerColor Foreground Pixel XtDefaultForeground + pointerColorBackground Background Pixel XtDefaultBackground + screen Screen Screen parent's screen + scrollDCursor Cursor Cursor XC_sb_down_arrow + scrollHCursor Cursor Cursor XC_sb_h_double_arrow + scrollLCursor Cursor Cursor XC_sb_left_arrow + scrollProc Callback XtCallbackList NULL + scrollRCursor Cursor Cursor XC_sb_right_arrow + scrollUCursor Cursor Cursor XC_sb_up_arrow + scrollVCursor Cursor Cursor XC_sb_v_double_arrow + sensitive Sensitive Boolean True + shown Shown Float 0.0 + thickness Thickness Dimension 14 + thumb Thumb Bitmap GreyPixmap + thumbProc Callback XtCallbackList NULL + topOfThumb TopOfThumb Float 0.0 + translations Translations TranslationTable see source or doc + width Width Dimension thickness or length + x Position Position 0 + y Position Position 0 + +*/ + +#define XtCMinimumThumb "MinimumThumb" +#define XtCShown "Shown" +#define XtCTopOfThumb "TopOfThumb" + +#define XtNminimumThumb "minimumThumb" +#define XtNtopOfThumb "topOfThumb" + +typedef struct _ScrollbarRec *ScrollbarWidget; +typedef struct _ScrollbarClassRec *ScrollbarWidgetClass; + +extern WidgetClass scrollbarWidgetClass; + +_XFUNCPROTOBEGIN + +void XawScrollbarSetThumb +( + Widget scrollbar, +#if NeedWidePrototypes + double top, + double shown +#else + float top, + float shown +#endif + ); + +_XFUNCPROTOEND + +#endif /* _Scrollbar_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/ScrollbarP.h b/ThirdParty/X11/Include/X11/Xaw/ScrollbarP.h new file mode 100644 index 0000000..b36472d --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/ScrollbarP.h @@ -0,0 +1,103 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _ScrollbarP_h +#define _ScrollbarP_h + +#include <X11/Xaw/Scrollbar.h> +#include <X11/Xaw/SimpleP.h> + +typedef struct { + /* resources */ + Pixel foreground; /* thumb foreground color */ + XtOrientation orientation; /* horizontal or vertical */ + XtCallbackList scrollProc; /* proportional scroll */ + XtCallbackList thumbProc; /* jump (to position) scroll */ + XtCallbackList jumpProc; /* same as thumbProc but pass data by ref */ + Pixmap thumb; /* thumb pixmap */ + Cursor upCursor; /* scroll up cursor */ + Cursor downCursor; /* scroll down cursor */ + Cursor leftCursor; /* scroll left cursor */ + Cursor rightCursor; /* scroll right cursor */ + Cursor verCursor; /* scroll vertical cursor */ + Cursor horCursor; /* scroll horizontal cursor */ + float top; + float shown; + Dimension length; /* either height or width */ + Dimension thickness; /* either width or height */ + Dimension min_thumb; /* minium size for the thumb */ + + /* private */ + Cursor inactiveCursor; /* The normal cursor for scrollbar */ + char direction; /* a scroll has started; which direction */ + GC gc; /* a (shared) gc */ + Position topLoc; /* Pixel that corresponds to top */ + Dimension shownLength; /* Num pixels corresponding to shown */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} ScrollbarPart; + +typedef struct _ScrollbarRec { + CorePart core; + SimplePart simple; + ScrollbarPart scrollbar; +} ScrollbarRec; + +typedef struct { + XtPointer extension; +} ScrollbarClassPart; + +typedef struct _ScrollbarClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + ScrollbarClassPart scrollbar_class; +} ScrollbarClassRec; + +extern ScrollbarClassRec scrollbarClassRec; + +#endif /* _ScrollbarP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Simple.h b/ThirdParty/X11/Include/X11/Xaw/Simple.h new file mode 100644 index 0000000..ff38f16 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Simple.h @@ -0,0 +1,113 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _Simple_h +#define _Simple_h + +#include <X11/Xmu/Converters.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + cursor Cursor Cursor None + cursorName Cursor String NULL + destroyCallback Callback Pointer NULL + displayList DisplayList XawDisplayList* NULL + height Height Dimension 0 + insensitiveBorder Insensitive Pixmap Gray + mappedWhenManaged MappedWhenManaged Boolean True + pointerColor Foreground Pixel XtDefaultForeground + pointerColorBackground Background Pixel XtDefaultBackground + sensitive Sensitive Boolean True + tip Tip String NULL + width Width Dimension 0 + x Position Position 0 + y Position Position 0 + +*/ + +#define XtNcursor "cursor" +#define XtNcursorName "cursorName" +#define XtNinsensitiveBorder "insensitiveBorder" + +#define XtCInsensitive "Insensitive" + +#ifndef XtCInternational +#define XtCInternational "International" +#endif + +#ifndef XtNinternational +#define XtNinternational "international" +#endif + +#ifndef OLDXAW +#ifndef XawNdisplayList +#define XawNdisplayList "displayList" +#endif + +#ifndef XawCDisplayList +#define XawCDisplayList "DisplayList" +#endif + +#ifndef XawRDisplayList +#define XawRDisplayList "XawDisplayList" +#endif + +#define XtNtip "tip" +#define XtCTip "Tip" +#endif /* OLDXAW */ + +typedef struct _SimpleClassRec *SimpleWidgetClass; +typedef struct _SimpleRec *SimpleWidget; + +extern WidgetClass simpleWidgetClass; + +#endif /* _Simple_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/SimpleMenP.h b/ThirdParty/X11/Include/X11/Xaw/SimpleMenP.h new file mode 100644 index 0000000..e01c151 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/SimpleMenP.h @@ -0,0 +1,99 @@ +/* + * +Copyright 1989, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + * + */ + +/* + * SimpleMenuP.h - Private Header file for SimpleMenu widget. + * + * Date: April 3, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _SimpleMenuP_h +#define _SimpleMenuP_h + +#include <X11/Xaw/SimpleMenu.h> +#include <X11/Xaw/SmeP.h> +#include <X11/ShellP.h> +#include <X11/Xaw/XawInit.h> + +typedef struct { + XtPointer extension; /* For future needs */ +} SimpleMenuClassPart; + +typedef struct _SimpleMenuClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ShellClassPart shell_class; + OverrideShellClassPart override_shell_class; + SimpleMenuClassPart simpleMenu_class; +} SimpleMenuClassRec; + +extern SimpleMenuClassRec simpleMenuClassRec; + +typedef struct _SimpleMenuPart { + /* resources */ + String label_string; /* The string for the label or NULL */ + SmeObject label; /* If label_string is non-NULL then this is + the label widget */ + WidgetClass label_class; /* Widget Class of the menu label object */ + Dimension top_margin; /* Top and bottom margins */ + Dimension bottom_margin; + Dimension row_height; /* height of each row (menu entry) */ + Cursor cursor; /* The menu's cursor */ + SmeObject popup_entry; /* The entry to position the cursor on for + when using XawPositionSimpleMenu */ + Boolean menu_on_screen; /* Force the menus to be fully on the screen*/ + int backing_store; /* What type of backing store to use */ + + /* private */ + Boolean recursive_set_values; /* contain a possible infinite loop */ + Boolean menu_width; /* If true then force width to remain + core.width */ + Boolean menu_height; /* Just like menu_width, but for height */ + SmeObject entry_set; /* The entry that is currently set or + highlighted */ +#ifndef OLDXAW + Dimension left_margin; + Dimension right_margin; + XawDisplayList *display_list; + Widget sub_menu; + unsigned char state; + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} SimpleMenuPart; + +typedef struct _SimpleMenuRec { + CorePart core; + CompositePart composite; + ShellPart shell; + OverrideShellPart override; + SimpleMenuPart simple_menu; +} SimpleMenuRec; + +#endif /* _SimpleMenuP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/SimpleMenu.h b/ThirdParty/X11/Include/X11/Xaw/SimpleMenu.h new file mode 100644 index 0000000..79f7216 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/SimpleMenu.h @@ -0,0 +1,171 @@ +/* + * +Copyright 1989, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + * + * Author: Chris D. Peterson, MIT X Consortium + */ + +/* + * SimpleMenu.h - Public Header file for SimpleMenu widget. + * + * This is the public header file for the Athena SimpleMenu widget. + * It is intended to provide one pane pulldown and popup menus within + * the framework of the X Toolkit. As the name implies it is a first and + * by no means complete implementation of menu code. It does not attempt to + * fill the needs of all applications, but does allow a resource oriented + * interface to menus. + * + * Date: April 3, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _SimpleMenu_h +#define _SimpleMenu_h + +#include <X11/Shell.h> +#include <X11/Xmu/Converters.h> + +/* + * SimpleMenu widget + */ + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + backgroundPixmap BackgroundPixmap Pixmap None + borderColor BorderColor Pixel XtDefaultForeground + borderPixmap BorderPixmap Pixmap None + borderWidth BorderWidth Dimension 1 + bottomMargin VerticalMargins Dimension VerticalSpace + columnWidth ColumnWidth Dimension Width of widest text + cursor Cursor Cursor None + destroyCallback Callback Pointer NULL + displayList DisplayList XawDisplayList* NULL + height Height Dimension 0 + label Label String NULL (No label) + labelClass LabelClass Pointer smeBSBObjectClass + leftMargin HorizontalMargins Dimension 0 + mappedWhenManaged MappedWhenManaged Boolean True + rightMargin HorizontalMargins Dimension 0 + rowHeight RowHeight Dimension Height of Font + sensitive Sensitive Boolean True + topMargin VerticalMargins Dimension VerticalSpace + width Width Dimension 0 + x Position Position 0 + y Position Position 0 + +*/ + +typedef struct _SimpleMenuClassRec* SimpleMenuWidgetClass; +typedef struct _SimpleMenuRec* SimpleMenuWidget; + +extern WidgetClass simpleMenuWidgetClass; + +#define XtNcursor "cursor" +#define XtNbottomMargin "bottomMargin" +#define XtNcolumnWidth "columnWidth" +#define XtNlabelClass "labelClass" +#define XtNmenuOnScreen "menuOnScreen" +#define XtNpopupOnEntry "popupOnEntry" +#define XtNrowHeight "rowHeight" +#define XtNtopMargin "topMargin" +#define XtNleftMargin "leftMargin" +#define XtNrightMargin "rightMargin" + +#define XtCColumnWidth "ColumnWidth" +#define XtCLabelClass "LabelClass" +#define XtCMenuOnScreen "MenuOnScreen" +#define XtCPopupOnEntry "PopupOnEntry" +#define XtCRowHeight "RowHeight" + +#define XtCVerticalMargins "VerticalMargins" + +#ifndef OLDXAW +#define XtCHorizontalMargins "HorizontalMargins" +#define XawNdisplayList "displayList" +#define XawCDisplayList "DisplayList" +#define XawRDisplayList "XawDisplayList" +#endif + +/* + * Public Functions + */ + +_XFUNCPROTOBEGIN + +/* + * Function: + * XawSimpleMenuAddGlobalActions + * + * Parameters: + * app_con - appcontext + * + * Description: + * Adds the global actions to the simple menu widget. + */ +void XawSimpleMenuAddGlobalActions +( + XtAppContext app_con + ); + +/* + * Function: + * XawSimpleMenuGetActiveEntry + * + * Parameters: + * w - smw widget + * + * Description: + * Gets the currently active (set) entry. + * + * Returns: + * The currently set entry or NULL if none is set + */ +Widget XawSimpleMenuGetActiveEntry +( + Widget w + ); + +/* + * Function: + * XawSimpleMenuClearActiveEntry + * + * Parameters: + * w - smw widget + * + * Description: + * Unsets the currently active (set) entry. + */ +void XawSimpleMenuClearActiveEntry +( + Widget w +); + +_XFUNCPROTOEND + +#endif /* _SimpleMenu_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/SimpleP.h b/ThirdParty/X11/Include/X11/Xaw/SimpleP.h new file mode 100644 index 0000000..d801162 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/SimpleP.h @@ -0,0 +1,98 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _SimpleP_h +#define _SimpleP_h + +#include <X11/Xfuncproto.h> + +#include <X11/Xaw/Simple.h> + +_XFUNCPROTOBEGIN + +#include <X11/Xaw/XawInit.h> + +typedef struct { + Bool (*change_sensitive)(Widget); +#ifndef OLDXAW + XtPointer extension; +#endif +} SimpleClassPart; + +#define XtInheritChangeSensitive ((Bool (*)(Widget))_XtInherit) + +typedef struct _SimpleClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; +} SimpleClassRec; + +extern SimpleClassRec simpleClassRec; + +typedef struct { + /* resources */ + Cursor cursor; + Pixmap insensitive_border; + String cursor_name; /* cursor specified by name */ + Pixel pointer_fg, pointer_bg; /* Pointer colors */ + Boolean international; + + /* private */ +#ifndef OLDXAW + XawDisplayList *display_list; + String tip; + XtPointer pad[3]; /* for future use and keep binary compatability */ +#endif +} SimplePart; + +typedef struct _SimpleRec { + CorePart core; + SimplePart simple; +} SimpleRec; + +_XFUNCPROTOEND + +#endif /* _SimpleP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Sme.h b/ThirdParty/X11/Include/X11/Xaw/Sme.h new file mode 100644 index 0000000..b395ae7 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Sme.h @@ -0,0 +1,71 @@ +/* + * +Copyright 1989, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + */ + +/* + * This is the public header file for the Athena Sme object. + * It is intended to be used with the simple menu widget. + * + * Date: April 3, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _Sme_h +#define _Sme_h + +#include <X11/Intrinsic.h> +#include <X11/RectObj.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + callback Callback Pointer NULL + destroyCallback Callback Pointer NULL + height Height Dimension 0 + sensitive Sensitive Boolean True + width Width Dimension 0 + x Position Position 0 + y Position Position 0 + +*/ + +#ifndef XtCInternational +#define XtCInternational "International" +#endif + +#ifndef XtNinternational +#define XtNinternational "international" +#endif + + +typedef struct _SmeClassRec *SmeObjectClass; +typedef struct _SmeRec *SmeObject; + +extern WidgetClass smeObjectClass; + +#endif /* _Sme_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/SmeBSB.h b/ThirdParty/X11/Include/X11/Xaw/SmeBSB.h new file mode 100644 index 0000000..ab6fda7 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/SmeBSB.h @@ -0,0 +1,96 @@ +/* + * +Copyright 1989, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + */ + +/* + * SmeBSB.h - Public Header file for SmeBSB object. + * + * This is the public header file for the Athena BSB Sme object. + * It is intended to be used with the simple menu widget. This object + * provides bitmap - string - bitmap style entries. + * + * Date: April 3, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _SmeBSB_h +#define _SmeBSB_h + +#include <X11/Xmu/Converters.h> +#include <X11/Xaw/Sme.h> + +/* BSB Menu Entry Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + callback Callback Callback NULL + destroyCallback Callback Pointer NULL + font Font XFontStruct * XtDefaultFont + foreground Foreground Pixel XtDefaultForeground + height Height Dimension 0 + label Label String Name of entry + leftBitmap LeftBitmap Pixmap None + leftMargin HorizontalMargins Dimension 4 + menuName MenuName String NULL + rightBitmap RightBitmap Pixmap None + rightMargin HorizontalMargins Dimension 4 + sensitive Sensitive Boolean True + vertSpace VertSpace int 25 + width Width Dimension 0 + x Position Position 0 + y Position Position 0 + +*/ + +typedef struct _SmeBSBClassRec *SmeBSBObjectClass; +typedef struct _SmeBSBRec *SmeBSBObject; + +extern WidgetClass smeBSBObjectClass; + +#define XtNleftBitmap "leftBitmap" +#define XtNleftMargin "leftMargin" +#define XtNrightBitmap "rightBitmap" +#define XtNrightMargin "rightMargin" +#define XtNvertSpace "vertSpace" + +#define XtNmenuName "menuName" +#define XtCMenuName "MenuName" + +#ifndef XtNfontSet +#define XtNfontSet "fontSet" +#endif + +#ifndef XtCFontSet +#define XtCFontSet "FontSet" +#endif + +#define XtCLeftBitmap "LeftBitmap" +#define XtCHorizontalMargins "HorizontalMargins" +#define XtCRightBitmap "RightBitmap" +#define XtCVertSpace "VertSpace" + +#endif /* _SmeBSB_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/SmeBSBP.h b/ThirdParty/X11/Include/X11/Xaw/SmeBSBP.h new file mode 100644 index 0000000..3df9b88 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/SmeBSBP.h @@ -0,0 +1,92 @@ +/* + * +Copyright 1989, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + * + * Author: Chris D. Peterson, MIT X Consortium + */ + +#ifndef _XawSmeBSBP_h +#define _XawSmeBSBP_h + +/* + * Sme Object Private Data + */ +#include <X11/Xaw/SmeP.h> +#include <X11/Xaw/SmeBSB.h> + +typedef struct _SmeBSBClassPart { + XtPointer extension; +} SmeBSBClassPart; + +/* Full class record declaration */ +typedef struct _SmeBSBClassRec { + RectObjClassPart rect_class; + SmeClassPart sme_class; + SmeBSBClassPart sme_bsb_class; +} SmeBSBClassRec; + +extern SmeBSBClassRec smeBSBClassRec; + +/* New fields for the Sme Object record */ +typedef struct { + /* resources */ + String label; /* The entry label */ + int vert_space; /* extra vert space to leave, as a + percentage of the font height of + the label */ + Pixmap left_bitmap, right_bitmap; /* bitmaps to show */ + Dimension left_margin, right_margin;/* left and right margins */ + Pixel foreground; /* foreground color */ + XFontStruct *font; /* The font to show label in */ + XFontSet fontset; /* or fontset */ + XtJustify justify; /* Justification for the label. */ + + /* private */ + Boolean set_values_area_cleared; /* do we need to unhighlight? */ + GC norm_gc; /* noral color gc */ + GC rev_gc; /* reverse color gc */ + GC norm_gray_gc; /* Normal color (grayed out) gc */ + GC invert_gc; /* gc for flipping colors */ + Dimension left_bitmap_width; /* size of each bitmap */ + Dimension left_bitmap_height; + Dimension right_bitmap_width; + Dimension right_bitmap_height; + +#ifndef OLDXAW + /* new resources */ + String menu_name; /* name of nested sub menu or NULL */ + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} SmeBSBPart; + +/* + * Full instance record declaration + */ +typedef struct _SmeBSBRec { + ObjectPart object; + RectObjPart rectangle; + SmePart sme; + SmeBSBPart sme_bsb; +} SmeBSBRec; + +#endif /* _XawSmeBSBP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/SmeLine.h b/ThirdParty/X11/Include/X11/Xaw/SmeLine.h new file mode 100644 index 0000000..af4406f --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/SmeLine.h @@ -0,0 +1,69 @@ +/* + * +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + * + */ + +/* + * This is the public header file for the Athena SmeLine object. + * It is intended to be used with the simple menu widget. + * + * Date: April 3, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _SmeLine_h +#define _SmeLine_h + +#include <X11/Xaw/Sme.h> +#include <X11/Xmu/Converters.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + callback Callback Pointer NULL + destroyCallback Callback Pointer NULL + height Height Dimension 0 + sensitive Sensitive Boolean True + width Width Dimension 0 + x Position Position 0 + y Position Position 0 + +*/ + +#define XtCLineWidth "LineWidth" +#define XtCStipple "Stipple" + +#define XtNlineWidth "lineWidth" +#define XtNstipple "stipple" + +typedef struct _SmeLineClassRec *SmeLineObjectClass; +typedef struct _SmeLineRec *SmeLineObject; + +extern WidgetClass smeLineObjectClass; + +#endif /* _SmeLine_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/SmeLineP.h b/ThirdParty/X11/Include/X11/Xaw/SmeLineP.h new file mode 100644 index 0000000..ae9f1d5 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/SmeLineP.h @@ -0,0 +1,73 @@ +/* + * +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + * + * Author: Chris D. Peterson, MIT X Consortium + */ + +#ifndef _XawSmeLineP_h +#define _XawSmeLineP_h + +/* + * SmeLine Widget Private Data + */ +#include <X11/Xaw/SmeP.h> +#include <X11/Xaw/SmeLine.h> + +/* New fields for the SmeLine widget class */ +typedef struct _SmeLineClassPart { + XtPointer extension; +} SmeLineClassPart; + +/* Full class record */ +typedef struct _SmeLineClassRec { + RectObjClassPart rect_class; + SmeClassPart sme_class; + SmeLineClassPart sme_line_class; +} SmeLineClassRec; + +extern SmeLineClassRec smeLineClassRec; + +/* New fields for the SmeLine widget */ +typedef struct { + /* resources */ + Pixel foreground; /* Foreground color */ + Pixmap stipple; /* Line Stipple */ + Dimension line_width; /* Width of the line */ + + /* private */ + GC gc; /* Graphics context for drawing line */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} SmeLinePart; + +/* Full instance record */ +typedef struct _SmeLineRec { + ObjectPart object; + RectObjPart rectangle; + SmePart sme; + SmeLinePart sme_line; +} SmeLineRec; + +#endif /* _XawSmeLineP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/SmeP.h b/ThirdParty/X11/Include/X11/Xaw/SmeP.h new file mode 100644 index 0000000..bd4bd9d --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/SmeP.h @@ -0,0 +1,88 @@ +/* + * +Copyright 1989, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + */ + +/* + * This is the private header file for the Athena Sme object. + * This object is intended to be used with the simple menu widget. + * + * Date: April 3, 1989 + * + * By: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + */ + +#ifndef _XawSmeP_h +#define _XawSmeP_h + +/* + * Sme Widget Private Data + */ +#include <X11/Xfuncproto.h> + +#include <X11/Xaw/Sme.h> + +_XFUNCPROTOBEGIN + +/* New fields for the Sme widget class */ +typedef struct _SmeClassPart { + XtWidgetProc highlight; + XtWidgetProc unhighlight; + XtWidgetProc notify; + XtPointer extension; +} SmeClassPart; + +/* Full class record */ +typedef struct _SmeClassRec { + RectObjClassPart rect_class; + SmeClassPart sme_class; +} SmeClassRec; + +extern SmeClassRec smeClassRec; + +/* New fields for the Sme widget */ +typedef struct { + /* resources */ + XtCallbackList callbacks; + Boolean international; +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} SmePart; + +/* Full instance record */ +typedef struct _SmeRec { + ObjectPart object; + RectObjPart rectangle; + SmePart sme; +} SmeRec; + +#define XtInheritHighlight ((XtWidgetProc)_XtInherit) +#define XtInheritUnhighlight XtInheritHighlight +#define XtInheritNotify XtInheritHighlight + +_XFUNCPROTOEND + +#endif /* _XawSmeP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/StripCharP.h b/ThirdParty/X11/Include/X11/Xaw/StripCharP.h new file mode 100644 index 0000000..a0085b4 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/StripCharP.h @@ -0,0 +1,104 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawStripChartP_h +#define _XawStripChartP_h + +#include <X11/Xaw/StripChart.h> +#include <X11/Xaw/SimpleP.h> + +#define NO_GCS 0 +#define FOREGROUND (1 << 0) +#define HIGHLIGHT (1 << 1) +#define ALL_GCS (FOREGROUND | HIGHLIGHT) + +/* new fields for the stripChart widget */ +typedef struct { + /* resources */ + Pixel fgpixel; /* color index for graph */ + Pixel hipixel; /* color index for lines */ + GC fgGC; /* graphics context for fgpixel */ + GC hiGC; /* graphics context for hipixel */ + + /* private */ + int update; /* update frequence */ + int scale; /* scale factor */ + int min_scale; /* smallest scale factor */ + int interval; /* data point interval */ + XPoint *points; /* Poly point for repairing graph lines */ + double max_value; /* Max Value in window */ + double valuedata[2048]; /* record of data points */ + XtIntervalId interval_id; + XtCallbackList get_value; /* proc to call to fetch load pt */ + int jump_val; /* Amount to jump on each scroll */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} StripChartPart; + +/* instance record declaration */ +typedef struct _StripChartRec { + CorePart core; + SimplePart simple; + StripChartPart strip_chart; +} StripChartRec; + +/* new fields for the StripChart widget class record */ +typedef struct { + XtPointer extension; +} StripChartClassPart; + +/* class record declaration */ +typedef struct _StripChartClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + StripChartClassPart strip_chart_class; +} StripChartClassRec; + +extern StripChartClassRec stripChartClassRec; + +#endif /* _XawStripChartP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/StripChart.h b/ThirdParty/X11/Include/X11/Xaw/StripChart.h new file mode 100644 index 0000000..17e9299 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/StripChart.h @@ -0,0 +1,116 @@ +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawStripChart_h +#define _XawStripChart_h + +#include <X11/Intrinsic.h> + +/*********************************************************************** + * + * StripChart Widget + * + ***********************************************************************/ + +/* StripChart resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + accelerators Accelerators AcceleratorTable NULL + ancestorSensitive AncestorSensitive Boolean True + background Background Pixel XtDefaultBackground + backgroundPixmap Pixmap Pixmap XtUnspecifiedPixmap + borderColor BorderColor Pixel XtDefaultForeground + borderPixmap Pixmap Pixmap XtUnspecifiedPixmap + borderWidth BorderWidth Dimension 1 + colormap Colormap Colormap parent's colormap + cursor Cursor Cursor None + cursorName Cursor String NULL + depth Depth int parent's depth + destroyCallback Callback XtCallbackList NULL + foreground Foreground Pixel XtDefaultForeground + getValue Callback XtCallbackList NULL + height Height Dimension 120 + highlight Foreground Pixel XtDefaultForeground + insensitiveBorder Insensitive Pixmap GreyPixmap + jumpScroll JumpScroll int 1/2 width + mappedWhenManaged MappedWhenManaged Boolean True + minScale Scale int 1 + pointerColor Foreground Pixel XtDefaultForeground + pointerColorBackground Background Pixel XtDefaultBackground + screen Screen Screen parent's screen + sensitive Sensitive Boolean True + translations Translations TranslationTable NULL + update Interval int 10 (seconds) + width Width Dimension 120 + x Position Position 0 + y Position Position 0 + +*/ + +#define DEFAULT_JUMP -1 + +#ifndef _XtStringDefs_h_ +#define XtNhighlight "highlight" +#define XtNupdate "update" +#endif + +#define XtCJumpScroll "JumpScroll" +#define XtCScale "Scale" + +#define XtNgetValue "getValue" +#define XtNjumpScroll "jumpScroll" +#define XtNminScale "minScale" +#define XtNscale "scale" +#define XtNvmunix "vmunix" + +typedef struct _StripChartRec *StripChartWidget; +typedef struct _StripChartClassRec *StripChartWidgetClass; + +extern WidgetClass stripChartWidgetClass; + +#endif /* _XawStripChart_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Template.c b/ThirdParty/X11/Include/X11/Xaw/Template.c new file mode 100644 index 0000000..6553c95 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Template.c @@ -0,0 +1,195 @@ +/* + +Copyright 1987, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif +#include <X11/IntrinsicP.h> +#include <X11/StringDefs.h> +#include <X11/Xaw/TemplateP.h> + +/* + * Class Methods + */ +static void TemplateInitialize(Widget, Widget, ArgList, Cardinal*); + +/* + * Prototypes + */ +static Bool TemplateFunction(TemplateWidget, int, int, Bool); + +/* + * Actions + */ +static void TemplateAction(Widget, XEvent*, String*, Cardinal*); + +/* + * Initialization + */ +#define offset(field) XtOffsetOf(TemplateRec, template.field) +static XtResource resources[] = { +/*{ + name, + class, + type, + size, + offset, + default_type, + default_addr + },*/ + { + XtNtemplateResource, + XtCTemplateResource, + XtRTemplateResource, + sizeof(char*), + offset(resource), + XtRString, + (XtPointer)"default" + }, +}; +#undef offset + +static XtActionsRec actions[] = +{ + /*{name, procedure},*/ + {"template", TemplateAction}, +}; + +static char translations[] = +"<Key>:" "template()\n" +; + +#define Superclass (&widgetClassRec) +TemplateClassRec templateClassRec = { + /* core */ + { + (WidgetClass)Superclass, /* superclass */ + "Template", /* class_name */ + sizeof(TemplateRec), /* widget_size */ + NULL, /* class_initialize */ + NULL, /* class_part_initialize */ + False, /* class_inited */ + TemplateInitialize, /* initialize */ + NULL, /* initialize_hook */ + XtInheritRealize, /* realize */ + actions, /* actions */ + XtNumber(actions), /* num_actions */ + resources, /* resources */ + XtNumber(resources), /* num_resources */ + NULLQUARK, /* xrm_class */ + True, /* compress_motion */ + True, /* compress_exposure */ + True, /* compress_enterleave */ + False, /* visible_interest */ + NULL, /* destroy */ + NULL, /* resize */ + NULL, /* expose */ + NULL, /* set_values */ + NULL, /* set_values_hook */ + XtInheritSetValuesAlmost, /* set_values_almost */ + NULL, /* get_values_hook */ + NULL, /* accept_focus */ + XtVersion, /* version */ + NULL, /* callback_private */ + translations, /* tm_table */ + XtInheritQueryGeometry, /* query_geometry */ + XtInheritDisplayAccelerator, /* display_accelerator */ + NULL, /* extension */ + }, + /* template */ + { + NULL, /* extension */ + } +}; + +WidgetClass templateWidgetClass = (WidgetClass)&templateClassRec; + +/* + * Implementation + */ +/* + * Function: + * TemplateInitialize + * + * Parameters: + * request - requested widget + * w - the widget + * args - arguments + * num_args - number of arguments + * + * Description: + * Initializes widget instance. + */ +/*ARGSUSED*/ +static void +TemplateInitialize(Widget request, Widget w, ArgList args, Cardinal *num_args) +{ + TemplateWidget tw = (TemplateWidget)w; + + tw->template.private = NULL; +} + +/* + * Function: + * TemplateFunction + * + * Parameters: + * tw - template widget + * x - x coordinate + * y - y coordinate + * force - force action + * + * Description: + * This function does nothing. + * + * Return: + * Parameter force + */ +/*ARGSUSED*/ +static Bool +TemplateFunction(TemplateWidget tw, int x, int y, Bool force) +{ + return (force); +} + +/* + * Function: + * TemplateAction + * + * Parameters: + * w - template widget + * event - event that caused this action + * params - parameters + * num_params - number of parameters + * + * Description: + * This function does nothing. + */ +/*ARGSUSED*/ +static void +TemplateAction(Widget w, XEvent *event, String *params, Cardinal *num_params) +{ +} diff --git a/ThirdParty/X11/Include/X11/Xaw/Template.h b/ThirdParty/X11/Include/X11/Xaw/Template.h new file mode 100644 index 0000000..c4bb34b --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Template.h @@ -0,0 +1,67 @@ +/* + +Copyright 1987, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _Template_h +#define _Template_h + +#include <X11/Intrinsic.h> + +/**************************************************************** + * + * Template widget + * + ****************************************************************/ + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + destroyCallback Callback Pointer NULL + height Height Dimension 0 + mappedWhenManaged MappedWhenManaged Boolean True + sensitive Sensitive Boolean True + width Width Dimension 0 + x Position Position 0 + y Position Position 0 + +*/ + +/* define any special resource names here that are not in <X11/StringDefs.h> */ +#define XtNtemplateResource "templateResource" + +#define XtCTemplateResource "TemplateResource" + +/* declare specific TemplateWidget class and instance datatypes */ +typedef struct _TemplateClassRec *TemplateWidgetClass; +typedef struct _TemplateRec *TemplateWidget; + +/* declare the class constant */ +extern WidgetClass templateWidgetClass; + +#endif /* _Template_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/TemplateP.h b/ThirdParty/X11/Include/X11/Xaw/TemplateP.h new file mode 100644 index 0000000..0031d1d --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/TemplateP.h @@ -0,0 +1,65 @@ +/* + +Copyright 1987, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _TemplateP_h +#define _TemplateP_h + +#include <X11/Xaw/Template.h> + +/* include superclass private header file */ +#include <X11/CoreP.h> + +/* define unique representation types not found in <X11/StringDefs.h> */ +#define XtRTemplateResource "TemplateResource" + +typedef struct { + XtPointer extension; +} TemplateClassPart; + +typedef struct _TemplateClassRec { + CoreClassPart core_class; + TemplateClassPart template_class; +} TemplateClassRec; + +extern TemplateClassRec templateClassRec; + +typedef struct { + /* resources */ + char* resource; + /* private */ + char *private; +} TemplatePart; + +typedef struct _TemplateRec { + CorePart core; +#if defined(__cplusplus) || defined(c_plusplus) + TemplatePart c_template; +#else + TemplatePart template; +#endif +} TemplateRec; + +#endif /* _TemplateP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Text.h b/ThirdParty/X11/Include/X11/Xaw/Text.h new file mode 100644 index 0000000..78c1478 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Text.h @@ -0,0 +1,370 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawText_h +#define _XawText_h + +#include <X11/Xaw/Simple.h> + +/* + + Class: textWidgetClass + Class Name: Text + Superclass: Simple + + Resources added by the Text widget: + + Name Class RepType Default Value + ---- ----- ------- ------------- + autoFill AutoFill Boolean False + bottomMargin Margin Position 2 + displayPosition TextPosition XawTextPosition 0 + insertPosition TextPosition XawTextPosition 0 + justify JustifyMode JustifyMode left + leftColumn Column Column 0 + rightColumn Column Column 0 + leftMargin Margin Position 2 + rightMargin Margin Position 4 + positionCallback Callback Callback NULL + scrollHorizontal Scroll Boolean False + scrollVertical Scroll Boolean False + selectTypes SelectTypes Pointer see documentation + textSink TextSink Widget NULL + textSource TextSource Widget NULL + topMargin Margin Position 2 + unrealizeCallback Callback Callback NULL + wrap Wrap XawTextWrapMode XawTextWrapNever + +*/ + +typedef long XawTextPosition; + +#ifndef notdef +typedef enum { + XawtextScrollNever, + XawtextScrollWhenNeeded, + XawtextScrollAlways +} XawTextScrollMode; + +typedef enum { + XawtextResizeNever, + XawtextResizeWidth, + XawtextResizeHeight, + XawtextResizeBoth +} XawTextResizeMode; +#endif + +typedef enum { + XawtextWrapNever, + XawtextWrapLine, + XawtextWrapWord +} XawTextWrapMode; + +typedef enum { + XawsdLeft, + XawsdRight +} XawTextScanDirection; + +typedef enum { + XawtextRead, + XawtextAppend, + XawtextEdit +} XawTextEditType; + +typedef enum { + XawselectNull, + XawselectPosition, + XawselectChar, + XawselectWord, + XawselectLine, + XawselectParagraph, + XawselectAll, + XawselectAlphaNumeric +} XawTextSelectType; + +typedef enum { + XawjustifyLeft, + XawjustifyRight, + XawjustifyCenter, + XawjustifyFull +} XawTextJustifyMode; + +typedef struct { + int firstPos; + int length; + char *ptr; + unsigned long format; +} XawTextBlock, *XawTextBlockPtr; + +#ifndef OLDXAW +typedef struct { + int line_number; + int column_number; + XawTextPosition insert_position; + XawTextPosition last_position; + Boolean overwrite_mode; +} XawTextPositionInfo; + +typedef struct { + XawTextPosition left, right; + XawTextBlock *block; +} XawTextPropertyInfo; + +typedef struct _XawTextAnchor XawTextAnchor; +typedef struct _XawTextEntity XawTextEntity; +typedef struct _XawTextProperty XawTextProperty; +typedef struct _XawTextPropertyList XawTextPropertyList; +#endif + +#include <X11/Xaw/TextSink.h> +#include <X11/Xaw/TextSrc.h> + +#define XtEtextScrollNever "never" +#define XtEtextScrollWhenNeeded "whenneeded" +#define XtEtextScrollAlways "always" +#define XtEtextResizeNever "never" +#define XtEtextResizeWidth "width" +#define XtEtextResizeHeight "height" +#define XtEtextResizeBoth "both" + +#define XtEtextWrapNever "never" +#define XtEtextWrapLine "line" +#define XtEtextWrapWord "word" + +#define XtNautoFill "autoFill" +#define XtNbottomMargin "bottomMargin" +#define XtNdialogHOffset "dialogHOffset" +#define XtNdialogVOffset "dialogVOffset" +#define XtNdisplayCaret "displayCaret" +#define XtNdisplayPosition "displayPosition" +#define XtNleftMargin "leftMargin" +#define XtNrightMargin "rightMargin" +#define XtNpositionCallback "positionCallback" +#define XtNscrollVertical "scrollVertical" +#define XtNscrollHorizontal "scrollHorizontal" +#define XtNselectTypes "selectTypes" +#define XtNtopMargin "topMargin" +#define XtNwrap "wrap" + +#define XtCColumn "Column" +#define XtNleftColumn "leftColumn" +#define XtNrightColumn "rightColumn" + +#define XtCJustifyMode XtCJustify +#define XtNjustifyMode XtNjustify +#define XtEtextJustifyLeft "left" +#define XtEtextJustifyRight "right" +#define XtEtextJustifyCenter "center" +#define XtEtextJustifyFull "full" + +#define XtCAutoFill "AutoFill" +#define XtCSelectTypes "SelectTypes" +#define XtCWrap "Wrap" +#ifndef notdef +#define XtCScroll "Scroll" +#endif + +#ifndef _XtStringDefs_h_ +#define XtNinsertPosition "insertPosition" +#ifndef notdef +#define XtNresize "resize" +#define XtCResize "Resize" +#endif +#define XtNselection "selection" +#endif + +/* return Error code for XawTextSearch */ +#define XawTextSearchError (-12345L) + +/* return codes from XawTextReplace */ +#define XawReplaceError -1 +#define XawEditDone 0 +#define XawEditError 1 +#define XawPositionError 2 + +/* XrmQuark is not unsigned long */ +#define XawTextFormat(tw,fmt) ((unsigned long)_XawTextFormat(tw) == (fmt)) + +extern unsigned long FMT8BIT; +extern unsigned long XawFmt8Bit; +extern unsigned long XawFmtWide; + +extern WidgetClass textWidgetClass; + +typedef struct _TextClassRec *TextWidgetClass; +typedef struct _TextRec *TextWidget; + +_XFUNCPROTOBEGIN + +XrmQuark _XawTextFormat +( + TextWidget tw + ); + +void XawTextDisplay +( + Widget w + ); + +void XawTextEnableRedisplay +( + Widget w + ); + +void XawTextDisableRedisplay +( + Widget w + ); + +void XawTextSetSelectionArray +( + Widget w, + XawTextSelectType *sarray + ); + +void XawTextGetSelectionPos +( + Widget w, + XawTextPosition *begin_return, + XawTextPosition *end_return + ); + +void XawTextSetSource +( + Widget w, + Widget source, + XawTextPosition top + ); + +int XawTextReplace +( + Widget w, + XawTextPosition start, + XawTextPosition end, + XawTextBlock *text + ); + +XawTextPosition XawTextTopPosition +( + Widget w + ); + +XawTextPosition XawTextLastPosition +( + Widget w + ); + +void XawTextSetInsertionPoint +( + Widget w, + XawTextPosition position + ); + +XawTextPosition XawTextGetInsertionPoint +( + Widget w + ); + +void XawTextUnsetSelection +( + Widget w + ); + +void XawTextSetSelection +( + Widget w, + XawTextPosition left, + XawTextPosition right + ); + +void XawTextInvalidate +( + Widget w, + XawTextPosition from, + XawTextPosition to +); + +Widget XawTextGetSource +( + Widget w + ); + +Widget XawTextGetSink +( + Widget w + ); + +XawTextPosition XawTextSearch +( + Widget w, +#if NeedWidePrototypes + int dir, +#else + XawTextScanDirection dir, +#endif + XawTextBlock *text + ); + +void XawTextDisplayCaret +( + Widget w, +#if NeedWidePrototypes + int visible +#else + Boolean visible +#endif + ); + +_XFUNCPROTOEND + +/* + * For R3 compatability only + */ +#include <X11/Xaw/AsciiSrc.h> +#include <X11/Xaw/AsciiSink.h> + +#endif /* _XawText_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/TextP.h b/ThirdParty/X11/Include/X11/Xaw/TextP.h new file mode 100644 index 0000000..60f4624 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/TextP.h @@ -0,0 +1,317 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawTextP_h +#define _XawTextP_h + +#include <X11/Xfuncproto.h> + +#include <X11/Xaw/Text.h> +#include <X11/Xaw/SimpleP.h> + +_XFUNCPROTOBEGIN + +#define MAXCUT 30000 /* Maximum number of characters that can be cut */ + +#define XawTextGetLastPosition(ctx) \ + XawTextSourceScan((ctx)->text.source, 0, \ + XawstAll, XawsdRight, 1, True) +#define GETLASTPOS XawTextGetLastPosition(ctx) + +#define zeroPosition ((XawTextPosition)0) + +extern XtActionsRec _XawTextActionsTable[]; +extern Cardinal _XawTextActionsTableCount; + +extern char _XawDefaultTextTranslations[]; + +#define XawLF 0x0a +#define XawCR 0x0d +#define XawTAB 0x09 +#define XawBS 0x08 +#define XawSP 0x20 +#define XawDEL 0x7f +#define XawESC 0x1b +#define XawBSLASH '\\' + +/* constants that subclasses may want to know */ +#define DEFAULT_TEXT_HEIGHT ((Dimension)~0) +#define DEFAULT_TAB_SIZE 8 + +/* displayable text management data structures */ +typedef struct { + XawTextPosition position; + Position y; +#ifndef OLDXAW + unsigned int textWidth; +#else + Dimension textWidth; +#endif +} XawTextLineTableEntry, *XawTextLineTableEntryPtr; + +typedef struct { + XawTextPosition left, right; + XawTextSelectType type; + Atom *selections; + int atom_count; + int array_size; +} XawTextSelection; + +typedef struct _XawTextSelectionSalt { + struct _XawTextSelectionSalt *next; + XawTextSelection s; + /* + * The element "contents" stores the CT string which is gotten in the + * function _XawTextSaltAwaySelection() + */ + char *contents; + int length; +} XawTextSelectionSalt; + +#ifndef OLDXAW +typedef struct _XawTextKillRing { + struct _XawTextKillRing *next; + char *contents; + int length; + unsigned refcount; + unsigned long format; +} XawTextKillRing; + +extern XawTextKillRing *xaw_text_kill_ring; +#endif + +/* Line Tables are n+1 long - last position displayed is in last lt entry */ +typedef struct { + XawTextPosition top; /* Top of the displayed text */ + int lines; /* How many lines in this table */ +#ifndef OLDXAW + int base_line; /* line number of first entry */ +#endif + XawTextLineTableEntry *info; /* A dynamic array, one entry per line */ +} XawTextLineTable, *XawTextLineTablePtr; + +typedef struct _XawTextMargin { + Position left, right, top, bottom; +} XawTextMargin; + +typedef struct _XmuScanline XmuTextUpdate; + +#define VMargins(ctx) ((ctx)->text.margin.top + (ctx)->text.margin.bottom) +#define HMargins(ctx) ((ctx)->text.left_margin + (ctx)->text.margin.right) +#define RVMargins(ctx) ((ctx)->text.r_margin.top + (ctx)->text.r_margin.bottom) +#define RHMargins(ctx) ((ctx)->text.r_margin.left + (ctx)->text.r_margin.right) + +#define IsPositionVisible(ctx, pos) \ +(pos >= ctx->text.lt.info[0].position && \ + pos < ctx->text.lt.info[ctx->text.lt.lines].position) + +/* + * Search & Replace data structure + */ +struct SearchAndReplace { + Boolean selection_changed; /* flag so that the selection cannot be + changed out from underneath query-replace.*/ + Widget search_popup; /* The poppup widget that allows searches.*/ + Widget label1; /* The label widgets for the search window. */ + Widget label2; + Widget left_toggle; /* The left search toggle radioGroup. */ + Widget right_toggle; /* The right search toggle radioGroup. */ + Widget rep_label; /* The Replace label string. */ + Widget rep_text; /* The Replace text field. */ + Widget search_text; /* The Search text field. */ + Widget rep_one; /* The Replace one button. */ + Widget rep_all; /* The Replace all button. */ +#ifndef OLDXAW + Widget case_sensitive; /* The "Case Sensitive" toggle */ +#endif +}; + +/* New fields for the Text widget class record */ +typedef struct { + XtPointer extension; +} TextClassPart; + +/* Full class record declaration */ +typedef struct _TextClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + TextClassPart text_class; +} TextClassRec; + +extern TextClassRec textClassRec; + +/* New fields for the Text widget record */ +typedef struct _TextPart { + /* resources */ + Widget source, sink; + XawTextPosition insertPos; + XawTextSelection s; + XawTextSelectType *sarray; /* Array to cycle for selections */ + XawTextSelectionSalt *salt; /* salted away selections */ + int left_margin; + int dialog_horiz_offset, dialog_vert_offset; /* position for popup dialog */ + Boolean display_caret; /* insertion pt visible iff T */ + Boolean auto_fill; /* Auto fill mode? */ + XawTextScrollMode scroll_vert, scroll_horiz; + XawTextWrapMode wrap; /* The type of wrapping */ + XawTextResizeMode resize; + XawTextMargin r_margin; /* The real margins */ +#ifndef OLDXAW + XtCallbackList position_callbacks; +#else + XtPointer pad1; +#endif + + /* private state */ + XawTextMargin margin; /* The current margins */ + XawTextLineTable lt; + XawTextScanDirection extendDir; + XawTextSelection origSel; /* the selection being modified */ + Time lasttime; /* timestamp of last processed action */ + Time time; /* time of last key or button action */ + Position ev_x, ev_y; /* x, y coords for key or button action */ + Widget vbar, hbar; /* The scroll bars (none = NULL) */ + struct SearchAndReplace *search; /* Search and replace structure */ + Widget file_insert; /* The file insert popup widget */ + XmuTextUpdate *update; /* Position intervals to update */ +#ifndef OLDXAW + int line_number; + short column_number; + unsigned char kill_ring; + Boolean selection_state; +#else + XtPointer pad2; + int pad3; +#endif + int from_left; /* Cursor position */ + XawTextPosition lastPos; /* Last position of source */ + GC gc; + Boolean showposition; /* True if we need to show the position */ + Boolean hasfocus; /* TRUE if we currently have input focus*/ + Boolean update_disabled; /* TRUE if display updating turned off */ + Boolean clear_to_eol; /* Clear to eol when painting text? */ + XawTextPosition old_insert; /* Last insertPos for batched updates */ + short mult; /* Multiplier */ +#ifndef OLDXAW + XawTextKillRing *kill_ring_ptr; +#else + XtPointer pad4; +#endif + + /* private state, shared w/Source and Sink */ + Boolean redisplay_needed; /* in SetValues */ + XawTextSelectionSalt *salt2; /* salted away selections */ + +#ifndef OLDXAW + char numeric; + char source_changed; + Boolean overwrite; /* Overwrite mode */ + + /* new resources and states, for text edition + * Note: a fixed width font is required for these resources/states. + */ + short left_column, right_column; + XawTextJustifyMode justify; + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} TextPart; + +#define XtRWrapMode "WrapMode" +#define XtRScrollMode "ScrollMode" +#define XtRResizeMode "ResizeMode" +#define XtRJustifyMode "JustifyMode" + +/* full instance record */ +typedef struct _TextRec { + CorePart core; + SimplePart simple; + TextPart text; +} TextRec; + +/* + * Semi-private functions + * for use by other Xaw modules only + */ +void _XawTextBuildLineTable +( + TextWidget ctx, + XawTextPosition top_pos, + _XtBoolean force_rebuild + ); + +char *_XawTextGetSTRING +( + TextWidget ctx, + XawTextPosition left, + XawTextPosition right + ); + +void _XawTextSaltAwaySelection +( + TextWidget ctx, + Atom *selections, + int num_atoms + ); + +void _XawTextPosToXY +( + Widget w, + XawTextPosition pos, + Position *x, + Position *y + ); + +void _XawTextNeedsUpdating +( + TextWidget ctx, + XawTextPosition left, + XawTextPosition right + ); + +_XFUNCPROTOEND + +#endif /* _XawTextP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/TextSink.h b/ThirdParty/X11/Include/X11/Xaw/TextSink.h new file mode 100644 index 0000000..f3dd968 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/TextSink.h @@ -0,0 +1,359 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawTextSink_h +#define _XawTextSink_h + +#include <X11/Xaw/Text.h> + +/*********************************************************************** + * + * TextSink Object + * + ***********************************************************************/ + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + font Font XFontStruct * XtDefaultFont + foreground Foreground Pixel XtDefaultForeground + background Background Pixel XtDefaultBackground + cursorColor Color Pixel XtDefaultForeground +*/ + +/* Class record constants */ + +extern WidgetClass textSinkObjectClass; + +typedef struct _TextSinkClassRec *TextSinkObjectClass; +typedef struct _TextSinkRec *TextSinkObject; + +typedef enum {XawisOn, XawisOff} XawTextInsertState; + +#ifndef OLDXAW +#ifndef XtNcursorColor +#define XtNcursorColor "cursorColor" +#endif + +#define XawNtextProperties "textProperties" +#define XawCTextProperties "TextProperties" +#define XawRTextProperties "XawTextProperties" +#endif + +/* + * Public Functions + */ +_XFUNCPROTOBEGIN + +/* + * Function: + * XawTextSinkDisplayText + * + * Parameters: + * w - the TextSink Object + * x - location to start drawing text + * y - "" + * pos1 - location of starting and ending points in the text buffer + * pos2 - "" + * highlight - hightlight this text? + * + * Description: + * Stub function that in subclasses will display text. + * + * Note: + * This function doesn't actually display anything, it is only a place + * holder. + */ +void XawTextSinkDisplayText +( + Widget w, +#if NeedWidePrototypes + int x, + int y, +#else + Position x, + Position y, +#endif + XawTextPosition pos1, + XawTextPosition pos2, +#if NeedWidePrototypes + int highlight +#else + Boolean highlight +#endif + ); + +/* + * Function: + * XawTextSinkInsertCursor + * + * Parameters: + * w - the TextSink Object. + * x - location for the cursor. + * y - "" + * state - whether to turn the cursor on, or off + * + * Description: + * Places the InsertCursor. + * + * Note: + * This function doesn't actually display anything, it is only a place + * holder. + */ +void XawTextSinkInsertCursor +( + Widget w, +#if NeedWidePrototypes + int x, + int y, + int state +#else + Position x, + Position y, + XawTextInsertState state +#endif + ); + +/* + * Function: + * XawTextSinkClearToBackground + * + * Parameters: + * w - TextSink Object + * x - location of area to clear + * y - "" + * width - size of area to clear + * height - "" + * + * Description: + * Clears a region of the sink to the background color. + * + * Note: + * This function doesn't actually display anything, it is only a place + * holder. + */ +void XawTextSinkClearToBackground +( + Widget w, +#if NeedWidePrototypes + int x, + int y, + unsigned int width, + unsigned int height +#else + Position x, + Position y, + Dimension width, + Dimension height +#endif + ); + +/* + * Function: + * XawTextSinkFindPosition + * + * Parameters: + * w - TextSink Object + * fromPos - reference position + * fromX - reference location + * width - width of section to paint text + * stopAtWordBreak - returned position is a word break? + * resPos - Position to return + * resWidth - Width actually used + * resHeight - Height actually used + * + * Description: + * Finds a position in the text. + */ +void XawTextSinkFindPosition +( + Widget w, + XawTextPosition fromPos, + int fromX, + int width, +#if NeedWidePrototypes + int stopAtWordBreak, +#else + Boolean stopAtWordBreak, +#endif + XawTextPosition* pos_return, + int *width_return, + int *height_return + ); + +/* + * Function: + * XawTextSinkFindDistance + * + * Parameters: + * w - TextSink Object + * fromPos - starting Position + * fromX - x location of starting Position + * toPos - end Position + * resWidth - Distance between fromPos and toPos + * resPos - Acutal toPos used + * resHeight - Height required by this text + * + * Description: + * Find the Pixel Distance between two text Positions. + */ +void XawTextSinkFindDistance +( + Widget w, + XawTextPosition fromPos, + int fromX, + XawTextPosition toPos, + int *width_return, + XawTextPosition *pos_return, + int *height_return + ); + +/* + * Function: + * XawTextSinkResolve + * + * Parameters: + * w - TextSink Object + * pos - reference Position + * fromx - reference Location + * width - width to move + * resPos - resulting position + * + * Description: + * Resloves a location to a position. + */ +void XawTextSinkResolve +( + Widget w, + XawTextPosition fromPos, + int fromX, + int width, + XawTextPosition *pos_return + ); + +/* + * Function: + * XawTextSinkMaxLines + * + * Parameters: + * w - TextSink Object + * height - height to fit lines into + * + * Returns: + * Number of lines that will fit + * + * Description: + * Finds the Maximum number of lines that will fit in a given height. + */ +int XawTextSinkMaxLines +( + Widget w, +#if NeedWidePrototypes + unsigned int height +#else + Dimension height +#endif + ); + +/* + * Function: + * XawTextSinkMaxHeight + * + * Parameters: + * w - TextSink Object + * lines - number of lines + * + * Returns: + * Height + * + * Description: + * Finds the Minium height that will contain a given number lines. + */ +int XawTextSinkMaxHeight +( + Widget w, + int lines +); + +/* + * Function: + * XawTextSinkSetTabs + * + * Parameters: + * w - TextSink Object + * tab_count - number of tabs in the list + * tabs - text positions of the tabs + * Description: + * Sets the Tab stops. + */ +void XawTextSinkSetTabs +( + Widget w, + int tab_count, + int *tabs +); + +/* + * Function: + * XawTextSinkGetCursorBounds + * + * Parameters: + * w - TextSink Object + * rect - X rectance containing the cursor bounds + * Description: + * Finds the bounding box for the insert curor (caret). + */ +void XawTextSinkGetCursorBounds +( + Widget w, + XRectangle *rect_return +); + +_XFUNCPROTOEND + +#endif /* _XawTextSink_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/TextSinkP.h b/ThirdParty/X11/Include/X11/Xaw/TextSinkP.h new file mode 100644 index 0000000..78f41d2 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/TextSinkP.h @@ -0,0 +1,300 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawTextSinkP_h +#define _XawTextSinkP_h + +/* + * TextSink Object Private Data + */ +#include <X11/Xaw/TextSink.h> +#include <X11/Xaw/TextP.h> /* This sink works with the Text widget */ +#include <X11/Xaw/TextSrcP.h> /* This sink works with the Text Source */ +#include <X11/Xmu/Xmu.h> + +#ifndef OLDXAW +/* font/fontset defined? */ +#define XAW_TPROP_FONT (1<<0) +#define XAW_TPROP_FONTSET (1<<1) + +/* extra attributes */ +#define XAW_TPROP_FOREGROUND (1<<2) +#define XAW_TPROP_BACKGROUND (1<<3) +#define XAW_TPROP_FPIXMAP (1<<4) +#define XAW_TPROP_BPIXMAP (1<<5) +#define XAW_TPROP_UNDERLINE (1<<6) +#define XAW_TPROP_OVERSTRIKE (1<<7) +#define XAW_TPROP_SUBSCRIPT (1<<8) +#define XAW_TPROP_SUPERSCRIPT (1<<9) + +/* xlfd attributes */ +#define XAW_TPROP_FOUNDRY (1<<0) +#define XAW_TPROP_FAMILY (1<<1) +#define XAW_TPROP_WEIGHT (1<<2) +#define XAW_TPROP_SLANT (1<<3) +#define XAW_TPROP_SETWIDTH (1<<4) +#define XAW_TPROP_ADDSTYLE (1<<5) +#define XAW_TPROP_PIXELSIZE (1<<6) +#define XAW_TPROP_POINTSIZE (1<<7) +#define XAW_TPROP_RESX (1<<8) +#define XAW_TPROP_RESY (1<<9) +#define XAW_TPROP_SPACING (1<<10) +#define XAW_TPROP_AVGWIDTH (1<<11) +#define XAW_TPROP_REGISTRY (1<<12) +#define XAW_TPROP_ENCODING (1<<13) +struct _XawTextProperty { /* to be extended/modified */ + XrmQuark identifier, code; + unsigned long mask; + XFontStruct *font; + XFontSet fontset; + Pixel foreground, background; + Pixmap foreground_pixmap, background_pixmap; + XrmQuark xlfd; + + unsigned long xlfd_mask; + XrmQuark foundry, family, weight, slant, setwidth, addstyle, pixel_size, + point_size, res_x, res_y, spacing, avgwidth, registry, encoding; + + short underline_position, underline_thickness; +}; + +struct _XawTextPropertyList { + XrmQuark identifier; + Screen *screen; + Colormap colormap; + int depth; + XawTextProperty **properties; + Cardinal num_properties; + XawTextPropertyList *next; +}; + +typedef struct _XawTextPaintStruct XawTextPaintStruct; +struct _XawTextPaintStruct { + XawTextPaintStruct *next; + int x, y, width; + char *text; /* formatted text */ + Cardinal length; /* length of text */ + XawTextProperty *property; + int max_ascent, max_descent; + XmuArea *backtabs; + Boolean highlight; +}; + +typedef struct { + XmuArea *clip, *hightabs; /* clip list */ + XawTextPaintStruct *paint, *bearings; /* drawing information */ +} XawTextPaintList; + +typedef struct { + XtPointer next_extension; + XrmQuark record_type; + long version; + Cardinal record_size; + Bool (*BeginPaint)(Widget); + void (*PreparePaint)(Widget, int, int, + XawTextPosition, XawTextPosition, Bool); + void (*DoPaint)(Widget); + Bool (*EndPaint)(Widget); +} TextSinkExtRec, *TextSinkExt; +#endif + +typedef void (*_XawSinkDisplayTextProc) + (Widget, int, int, XawTextPosition, XawTextPosition, Bool); + +typedef void (*_XawSinkInsertCursorProc) + (Widget, int, int, XawTextInsertState); + +typedef void (*_XawSinkClearToBackgroundProc) + (Widget, int, int, unsigned int, unsigned int); + +typedef void (*_XawSinkFindPositionProc) + (Widget, XawTextPosition, int, int, Bool, XawTextPosition*, int*, int*); + +typedef void (*_XawSinkFindDistanceProc) + (Widget, XawTextPosition, int, XawTextPosition, int*, + XawTextPosition*, int*); + +typedef void (*_XawSinkResolveProc) + (Widget, XawTextPosition, int, int, XawTextPosition*); + +typedef int (*_XawSinkMaxLinesProc) + (Widget, unsigned int); + +typedef int (*_XawSinkMaxHeightProc) + (Widget, int); + +typedef void (*_XawSinkSetTabsProc) + (Widget, int, short*); + +typedef void (*_XawSinkGetCursorBoundsProc) + (Widget, XRectangle*); + +typedef struct _TextSinkClassPart { + _XawSinkDisplayTextProc DisplayText; + _XawSinkInsertCursorProc InsertCursor; + _XawSinkClearToBackgroundProc ClearToBackground; + _XawSinkFindPositionProc FindPosition; + _XawSinkFindDistanceProc FindDistance; + _XawSinkResolveProc Resolve; + _XawSinkMaxLinesProc MaxLines; + _XawSinkMaxHeightProc MaxHeight; + _XawSinkSetTabsProc SetTabs; + _XawSinkGetCursorBoundsProc GetCursorBounds; +#ifndef OLDXAW + TextSinkExt extension; +#endif +} TextSinkClassPart; + +/* Full class record */ +typedef struct _TextSinkClassRec { + ObjectClassPart object_class; + TextSinkClassPart text_sink_class; +} TextSinkClassRec; + +extern TextSinkClassRec textSinkClassRec; + +/* New fields for the TextSink object */ +typedef struct { + /* resources */ + Pixel foreground; /* Foreground color */ + Pixel background; /* Background color */ + + /* private */ + Position *tabs; /* The tab stops as pixel values */ + short *char_tabs; /* The tabs stops as character values */ + int tab_count; /* number of items in tabs */ + +#ifndef OLDXAW + /* more resources */ + Pixel cursor_color; + XawTextPropertyList *properties; + XawTextPaintList *paint; + XtPointer pad[2]; /* for future use and keep binary compatability */ +#endif +} TextSinkPart; + +/* Full instance record */ +typedef struct _TextSinkRec { + ObjectPart object; + TextSinkPart text_sink; +} TextSinkRec; + +/* Semi private routines */ +#ifndef OLDXAW +XawTextPropertyList *XawTextSinkConvertPropertyList +( + String name, + String spec, + Screen *screen, + Colormap Colormap, + int depth + ); + +XawTextProperty *XawTextSinkGetProperty +( + Widget w, + XrmQuark property + ); + +XawTextProperty *XawTextSinkCopyProperty +( + Widget w, + XrmQuark property + ); + +XawTextProperty *XawTextSinkAddProperty +( + Widget w, + XawTextProperty *property + ); + +XawTextProperty *XawTextSinkCombineProperty +( + Widget w, + XawTextProperty *result_in_out, + XawTextProperty *property, + Bool override + ); + +Bool XawTextSinkBeginPaint +( + Widget w + ); + +void XawTextSinkPreparePaint +( + Widget w, + int y, + int line, + XawTextPosition from, + XawTextPosition to, + Bool highlight +); + +void XawTextSinkDoPaint +( + Widget w + ); + +Bool XawTextSinkEndPaint +( + Widget w + ); +#endif + +#define XtInheritDisplayText ((_XawSinkDisplayTextProc)_XtInherit) +#define XtInheritInsertCursor ((_XawSinkInsertCursorProc)_XtInherit) +#define XtInheritClearToBackground ((_XawSinkClearToBackgroundProc)_XtInherit) +#define XtInheritFindPosition ((_XawSinkFindPositionProc)_XtInherit) +#define XtInheritFindDistance ((_XawSinkFindDistanceProc)_XtInherit) +#define XtInheritResolve ((_XawSinkResolveProc)_XtInherit) +#define XtInheritMaxLines ((_XawSinkMaxLinesProc)_XtInherit) +#define XtInheritMaxHeight ((_XawSinkMaxHeightProc)_XtInherit) +#define XtInheritSetTabs ((_XawSinkSetTabsProc)_XtInherit) +#define XtInheritGetCursorBounds ((_XawSinkGetCursorBoundsProc)_XtInherit) + +#endif /* _XawTextSinkP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/TextSrc.h b/ThirdParty/X11/Include/X11/Xaw/TextSrc.h new file mode 100644 index 0000000..2c65e66 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/TextSrc.h @@ -0,0 +1,275 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawTextSrc_h +#define _XawTextSrc_h + +#include <X11/Xaw/Text.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + callback Callback Callback NULL + editType EditType XawTextEditType XawtextRead + enableUndo Undo Boolean False + sourceChanged Changed Boolean False + +*/ + +/* Class record constants */ +extern WidgetClass textSrcObjectClass; + +typedef struct _TextSrcClassRec *TextSrcObjectClass; +typedef struct _TextSrcRec *TextSrcObject; + +typedef enum { + XawstPositions, + XawstWhiteSpace, + XawstEOL, + XawstParagraph, + XawstAll, + XawstAlphaNumeric + } XawTextScanType; + +typedef enum { + Normal, + Selected +} highlightType; + +typedef enum { + XawsmTextSelect, + XawsmTextExtend +} XawTextSelectionMode; + +typedef enum { + XawactionStart, + XawactionAdjust, + XawactionEnd +} XawTextSelectionAction; + +#define XawTextReadError -1 +#define XawTextScanError -1 + +#ifndef OLDXAW +#define XtNenableUndo "enableUndo" +#define XtCUndo "Undo" + +#define XtNsourceChanged "sourceChanged" +#define XtCChanged "Changed" + +#define XtNpropertyCallback "propertyCallback" +#endif + +/* + * Public Functions + */ +_XFUNCPROTOBEGIN + +/* + * Function: + * XawTextSourceRead + * + * Parameters: + * w - TextSrc Object + * pos - position of the text to retreive + * text - text block that will contain returned text + * length - maximum number of characters to read + * + * Description: + * This function reads the source. + * + * Returns: + * The number of characters read into the buffer + */ +XawTextPosition XawTextSourceRead +( + Widget w, + XawTextPosition pos, + XawTextBlock *text_return, + int length + ); + +/* + * Function: + * XawTextSourceReplace + * + * Parameters: + * src - Text Source Object + * startPos - ends of text that will be removed + * endPos - "" + * text - new text to be inserted into buffer at startPos + * + * Description: + * Replaces a block of text with new text + * + * Returns: + * XawEditError or XawEditDone + */ +int XawTextSourceReplace +( + Widget w, + XawTextPosition start, + XawTextPosition end, + XawTextBlock *text + ); + +/* + * Function: + * XawTextSourceScan + * + * Parameters: + * w - TextSrc Object + * position - position to start scanning + * type - type of thing to scan for + * dir - direction to scan + * count - which occurance if this thing to search for + * include - whether or not to include the character found in + * the position that is returned. + * + * Description: + * Scans the text source for the number and type of item specified. + * + * Returns: + * The position of the text + */ +XawTextPosition XawTextSourceScan +( + Widget w, + XawTextPosition position, +#if NeedWidePrototypes + int type, + int dir, + int count, + int include +#else + XawTextScanType type, + XawTextScanDirection dir, + int count, + Boolean include +#endif + ); + +/* + * Function: + * XawTextSourceSearch + * + * Parameters: + * w - TextSource Object + * position - position to start scanning + * dir - direction to search + * text - the text block to search for + * + * Description: + * Searchs the text source for the text block passed. + * + * Returns: + * The position of the text we are searching for or XawTextSearchError + */ +XawTextPosition XawTextSourceSearch +( + Widget w, + XawTextPosition position, +#if NeedWidePrototypes + int dir, +#else + XawTextScanDirection dir, +#endif + XawTextBlock *text + ); + +/* + * Function: + * XawTextSourceConvertSelection + * + * Parameters: + * w - TextSrc object + * selection - current selection atom + * target - current target atom + * type - type to conver the selection to + * value - return value that has been converted + * length - "" + * format - format of the returned value + * + * Returns: + * True if the selection has been converted + */ +Boolean XawTextSourceConvertSelection +( + Widget w, + Atom *selection, + Atom *target, + Atom *type, + XtPointer *value_return, + unsigned long *length_return, + int *format_return + ); + +/* + * Function: + * XawTextSourceSetSelection + * + * Parameters: + * w - TextSrc object + * left - bounds of the selection + * right - "" + * selection - selection atom + * + * Description: + * Allows special setting of the selection. + */ +void XawTextSourceSetSelection +( + Widget w, + XawTextPosition start, + XawTextPosition end, + Atom selection + ); + +_XFUNCPROTOEND + +#endif /* _XawTextSrc_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/TextSrcP.h b/ThirdParty/X11/Include/X11/Xaw/TextSrcP.h new file mode 100644 index 0000000..27514c2 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/TextSrcP.h @@ -0,0 +1,258 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XawTextSrcP_h +#define _XawTextSrcP_h + +/* + * TextSrc Object Private Data + */ +#include <X11/Xfuncproto.h> + +#include <X11/Xaw/TextSrc.h> +#include <X11/Xaw/TextP.h> /* This source works with the Text widget */ + +_XFUNCPROTOBEGIN + +#ifndef OLDXAW +struct _XawTextAnchor { + XawTextPosition position; + XawTextEntity *entities, *cache; +}; + +#define XAW_TENTF_HIDE 0x0001 +#define XAW_TENTF_READ 0x0002 +#define XAW_TENTF_REPLACE 0x0004 +struct _XawTextEntity { + short type; + short flags; + XawTextEntity *next; + XtPointer data; + XawTextPosition offset; /* from the anchor */ + Cardinal length; + XrmQuark property; +}; +#endif + +#if 0 /* no longer used */ +/* New fields for the TextSrc object class */ +typedef struct { + XtPointer next_extension; + XrmQuark record_type; + long version; + Cardinal record_size; + int (*Input)(); +} TextSrcExtRec, *TextSrcExt; +#endif + +typedef XawTextPosition (*_XawSrcReadProc) + (Widget, XawTextPosition, XawTextBlock*, int); + +typedef int (*_XawSrcReplaceProc) + (Widget, XawTextPosition, XawTextPosition, XawTextBlock*); + +typedef XawTextPosition (*_XawSrcScanProc) + (Widget, XawTextPosition, XawTextScanType, XawTextScanDirection, + int, Bool); + +typedef XawTextPosition (*_XawSrcSearchProc) + (Widget, XawTextPosition, XawTextScanDirection, XawTextBlock*); + +typedef void (*_XawSrcSetSelectionProc) + (Widget, XawTextPosition, XawTextPosition, Atom); + +typedef Boolean (*_XawSrcConvertSelectionProc) + (Widget, Atom*, Atom*, Atom*, XtPointer*, unsigned long*, int*); + +typedef struct _TextSrcClassPart { + _XawSrcReadProc Read; + _XawSrcReplaceProc Replace; + _XawSrcScanProc Scan; + _XawSrcSearchProc Search; + _XawSrcSetSelectionProc SetSelection; + _XawSrcConvertSelectionProc ConvertSelection; +#ifndef OLDXAW + XtPointer extension; +#endif +} TextSrcClassPart; + +/* Full class record */ +typedef struct _TextSrcClassRec { + ObjectClassPart object_class; + TextSrcClassPart textSrc_class; +} TextSrcClassRec; + +extern TextSrcClassRec textSrcClassRec; + +#ifndef OLDXAW +typedef struct _XawTextUndo XawTextUndo; +#endif + +/* New fields for the TextSrc object */ +typedef struct { + /* resources */ + XawTextEditType edit_mode; + XrmQuark text_format; /* 2 formats: FMT8BIT for Ascii + FMTWIDE for ISO 10646 */ +#ifndef OLDXAW + XtCallbackList callback; /* A callback list to call when the + source is changed */ + Boolean changed; + Boolean enable_undo; + + /* private state */ + Boolean undo_state; /* to protect undo manipulation */ + XawTextUndo *undo; + WidgetList text; /* TextWidget's using this source */ + Cardinal num_text; + XtCallbackList property_callback; + XawTextAnchor **anchors; + int num_anchors; + XtPointer pad[1]; /* for future use and keep binary compatability */ +#endif +} TextSrcPart; + +/* Full instance record */ +typedef struct _TextSrcRec { + ObjectPart object; + TextSrcPart textSrc; +} TextSrcRec; + +/* + * Semiprivate declarations of functions used in other modules + */ +char* _XawTextWCToMB +( + Display *display, + wchar_t *wstr, + int *len_in_out + ); + +wchar_t* _XawTextMBToWC +( + Display *display, + char *str, + int *len_in_out + ); + +#ifndef OLDXAW +XawTextAnchor *XawTextSourceAddAnchor +( + Widget source, + XawTextPosition position + ); + +XawTextAnchor *XawTextSourceFindAnchor +( + Widget source, + XawTextPosition position + ); + +XawTextAnchor *XawTextSourceNextAnchor +( + Widget source, + XawTextAnchor *anchor + ); + +XawTextAnchor *XawTextSourcePrevAnchor +( + Widget source, + XawTextAnchor *anchor + ); + +XawTextAnchor *XawTextSourceRemoveAnchor +( + Widget source, + XawTextAnchor *anchor + ); + +Bool XawTextSourceAnchorAndEntity +( + Widget w, + XawTextPosition position, + XawTextAnchor **anchor_return, + XawTextEntity **entity_return + ); + +XawTextEntity *XawTextSourceAddEntity +( + Widget source, + int type, + int flags, + XtPointer data, + XawTextPosition position, + Cardinal length, + XrmQuark property + ); + +void XawTextSourceClearEntities +( + Widget w, + XawTextPosition left, + XawTextPosition right + ); +#endif + +#if 0 /* no longer used */ +typedef XawTextPosition (*_XawTextPositionFunc)(); +#endif + +#define XtInheritInput ((_XawTextPositionFunc)_XtInherit) +#define XtInheritRead ((_XawSrcReadProc)_XtInherit) +#define XtInheritReplace ((_XawSrcReplaceProc)_XtInherit) +#define XtInheritScan ((_XawSrcScanProc)_XtInherit) +#define XtInheritSearch ((_XawSrcSearchProc)_XtInherit) +#define XtInheritSetSelection ((_XawSrcSetSelectionProc)_XtInherit) +#define XtInheritConvertSelection ((_XawSrcConvertSelectionProc)_XtInherit) +#if 0 +#define XtTextSrcExtVersion 1 +#define XtTextSrcExtTypeString "XT_TEXTSRC_EXT" +#endif + +_XFUNCPROTOEND + +#endif /* _XawTextSrcP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Tip.h b/ThirdParty/X11/Include/X11/Xaw/Tip.h new file mode 100644 index 0000000..5400234 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Tip.h @@ -0,0 +1,118 @@ +/* + * Copyright (c) 1999 by The XFree86 Project, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF + * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * Except as contained in this notice, the name of the XFree86 Project shall + * not be used in advertising or otherwise to promote the sale, use or other + * dealings in this Software without prior written authorization from the + * XFree86 Project. + * + * Author: Paulo César Pereira de Andrade + */ + +#ifndef _XawTip_h +#define _XawTip_h + +/* + * Tip Widget + */ + +#include <X11/Xaw/Simple.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + background Background Pixel XtDefaultBackground + backgroundPixmap BackgroundPixmap Pixmap XtUnspecifiedPixmap + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + bottomMargin VerticalMargins Dimension 2 + destroyCallback Callback XtCallbackList NULL + displayList DisplayList XawDisplayList* NULL + font Font XFontStruct* XtDefaultFont + foreground Foreground Pixel XtDefaultForeground + height Height Dimension text height + leftMargin HorizontalMargins Dimension 6 + rightMargin HorizontalMargins Dimension 6 + timeout Timeout Int 500 + topMargin VerticalMargins Dimension 2 + width Width Dimension text width + x Position Position 0 + y Position Position 0 + +*/ + +typedef struct _TipClassRec *TipWidgetClass; +typedef struct _TipRec *TipWidget; + +extern WidgetClass tipWidgetClass; + +#define XtNbottomMargin "bottomMargin" +#define XawNdisplayList "displayList" +#define XtNencoding "encoding" +#define XtNleftMargin "leftMargin" +#define XtNrightMargin "rightMargin" +#define XtNtimeout "timeout" +#define XtNtopMargin "topMargin" +#define XtNtip "tip" + +#define XawCDisplayList "DisplayList" +#define XtCHorizontalMargins "HorizontalMargins" +#define XtCTimeout "Timeout" +#define XtCVerticalMargins "VerticalMargins" +#define XtCTip "Tip" + +#define XawRDisplayList "XawDisplayList" + +/* + * Public Functions + */ +/* + * Function: + * XawTipEnable + * + * Parameters: + * w - widget + * + * Description: + * Enables the tip event handler for this widget. + */ +void XawTipEnable +( + Widget w + ); + +/* + * Function: + * XawTipEnable + * + * Parameters: + * w - widget + * + * Description: + * Disables the tip event handler for this widget. + */ +void XawTipDisable +( + Widget w + ); + +#endif /* _XawTip_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/TipP.h b/ThirdParty/X11/Include/X11/Xaw/TipP.h new file mode 100644 index 0000000..48c688b --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/TipP.h @@ -0,0 +1,75 @@ +/* + * Copyright (c) 1999 by The XFree86 Project, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF + * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * Except as contained in this notice, the name of the XFree86 Project shall + * not be used in advertising or otherwise to promote the sale, use or other + * dealings in this Software without prior written authorization from the + * XFree86 Project. + * + * Author: Paulo César Pereira de Andrade + */ + +#ifndef _XawTipP_h +#define _XawTipP_h + +#include <X11/Xaw/Tip.h> +#include <X11/CoreP.h> +#include <X11/Xaw/XawInit.h> + +typedef struct { + XtPointer extension; +} TipClassPart; + +typedef struct _TipClassRec { + CoreClassPart core_class; + TipClassPart tip_class; +} TipClassRec; + +extern TipClassRec tipClassRec; + +typedef struct _TipPart { + /* resources */ + Pixel foreground; + XFontStruct *font; + XFontSet fontset; + Dimension top_margin; + Dimension bottom_margin; + Dimension left_margin; + Dimension right_margin; + int backing_store; + int timeout; + XawDisplayList *display_list; + + /* private */ + GC gc; + XtIntervalId timer; + String label; + Boolean international; + unsigned char encoding; + XtPointer pad[4]; +} TipPart; + +typedef struct _TipRec { + CorePart core; + TipPart tip; +} TipRec; + +#endif /* _XawTipP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Toggle.h b/ThirdParty/X11/Include/X11/Xaw/Toggle.h new file mode 100644 index 0000000..f6c6b97 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Toggle.h @@ -0,0 +1,179 @@ +/* + * +Copyright 1989, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + */ + +/* + * ToggleP.h - Private definitions for Toggle widget + * + * Author: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + * + * Date: January 12, 1989 + */ + +#ifndef _XawToggle_h +#define _XawToggle_h + +#include <X11/Xaw/Command.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + radioGroup RadioGroup Widget NULL + + radioData RadioData Pointer (XPointer) Widget ++ + state State Boolean Off + + background Background Pixel XtDefaultBackground + bitmap Pixmap Pixmap None + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + callback Callback Pointer NULL + cursor Cursor Cursor None + destroyCallback Callback Pointer NULL + displayList DisplayList XawDisplayList* NULL + font Font XFontStructx* XtDefaultFont + foreground Foreground Pixel XtDefaultForeground + height Height Dimension text height + highlightThickness Thickness Dimension 2 + insensitiveBorder Insensitive Pixmap Gray + internalHeight Height Dimension 2 + internalWidth Width Dimension 4 + justify Justify XtJustify XtJustifyCenter + label Label String NULL + mappedWhenManaged MappedWhenManaged Boolean True + resize Resize Boolean True + sensitive Sensitive Boolean True + width Width Dimension text width + x Position Position 0 + y Position Position 0 + ++ To use the toggle as a radio toggle button, set this resource to point to + any other widget in the radio group. + +++ This is the data returned from a call to XtToggleGetCurrent, by default + this is set to the name of toggle widget. + +*/ + +/* + * These should be in StringDefs.h but aren't so we will define + * them here if they are needed + */ +#define XtCWidget "Widget" +#define XtCState "State" +#define XtCRadioGroup "RadioGroup" +#define XtCRadioData "RadioData" + +#ifndef _XtStringDefs_h_ +#define XtRWidget "Widget" +#endif + +#define XtNstate "state" +#define XtNradioGroup "radioGroup" +#define XtNradioData "radioData" + +extern WidgetClass toggleWidgetClass; + +typedef struct _ToggleClassRec *ToggleWidgetClass; +typedef struct _ToggleRec *ToggleWidget; + +/* + * Public Functions + */ + +_XFUNCPROTOBEGIN + +/* + * Function: + * XawToggleChangeRadioGroup + * + * Parameters: + * w - toggle widget to change lists + * radio_group - any widget in the new list + * + * Description: + * Allows a toggle widget to change radio lists. + */ +void XawToggleChangeRadioGroup +( + Widget w, + Widget radio_group + ); + +/* + * Function: + * XawToggleGetCurrent + * + * Parameters: + * radio_group - any toggle widget in the toggle list + * + * Description: + * Returns the RadioData associated with the toggle + * widget that is currently active in a toggle list. + * Returns: + * The XtNradioData associated with the toggle widget + */ + +XtPointer XawToggleGetCurrent +( + Widget radio_group + ); + +/* + * Function: + * XawToggleSetCurrent + * + * Parameters: + * radio_group - any toggle widget in the toggle list + * radio_data - radio data of the toggle widget to set + * + * Description: + * Sets the Toggle widget associated with the radio_data specified. + */ +void XawToggleSetCurrent +( + Widget radio_group, + XtPointer radio_data + ); + +/* + * Function: + * XawToggleUnsetCurrent + * + * Parameters: + * radio_group - any toggle widget in the toggle list + * + * Description: + * Unsets all Toggles in the radio_group specified. + */ +void XawToggleUnsetCurrent +( + Widget radio_group + ); + +_XFUNCPROTOEND + +#endif /* _XawToggle_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/ToggleP.h b/ThirdParty/X11/Include/X11/Xaw/ToggleP.h new file mode 100644 index 0000000..a816598 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/ToggleP.h @@ -0,0 +1,92 @@ +/* + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * Author: Chris D. Peterson + * MIT X Consortium + * kit@expo.lcs.mit.edu + * + * Date: January 12, 1989 + * + */ + +#ifndef _XawToggleP_h +#define _XawToggleP_h + +#include <X11/Xaw/Toggle.h> +#include <X11/Xaw/CommandP.h> + +/* + * Toggle Widget Private Data + */ +#define streq(a, b) (strcmp((a), (b)) == 0) + +typedef struct _RadioGroup { + struct _RadioGroup *prev, *next; /* Pointers to other elements in group */ + Widget widget; /* Widget corrosponding to this element */ +} RadioGroup; + +/* New fields for the Toggle widget class */ +typedef struct _ToggleClass { + XtActionProc Set; + XtActionProc Unset; + XtPointer extension; +} ToggleClassPart; + +/* class record declaration */ +typedef struct _ToggleClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + LabelClassPart label_class; + CommandClassPart command_class; + ToggleClassPart toggle_class; +} ToggleClassRec; + +extern ToggleClassRec toggleClassRec; + +/* New fields for the Toggle widget */ +typedef struct { + /* resources */ + Widget widget; + XtPointer radio_data; + + /* private */ + RadioGroup *radio_group; +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} TogglePart; + +/* Full widget declaration */ +typedef struct _ToggleRec { + CorePart core; + SimplePart simple; + LabelPart label; + CommandPart command; + TogglePart toggle; +} ToggleRec; + +#endif /* _XawToggleP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Tree.h b/ThirdParty/X11/Include/X11/Xaw/Tree.h new file mode 100644 index 0000000..1747a78 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Tree.h @@ -0,0 +1,135 @@ +/* + * + +Copyright 1990, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + * Copyright 1989 Prentice Hall + * + * Permission to use, copy, modify, and distribute this software for any + * purpose and without fee is hereby granted, provided that the above + * copyright notice appear in all copies and that both the copyright notice + * and this permission notice appear in supporting documentation. + * + * Prentice Hall and the authors disclaim all warranties with regard + * to this software, including all implied warranties of merchantability and + * fitness. In no event shall Prentice Hall or the authors be liable + * for any special, indirect or cosequential damages or any damages whatsoever + * resulting from loss of use, data or profits, whether in an action of + * contract, negligence or other tortious action, arising out of or in + * connection with the use or performance of this software. + * + * Authors: Jim Fulton, MIT X Consortium, + * based on a version by Douglas Young, Prentice Hall + * + * This widget is based on the Tree widget described on pages 397-419 of + * Douglas Young's book "The X Window System, Programming and Applications + * with Xt OSF/Motif Edition." The layout code has been rewritten to use + * additional blank space to make the structure of the graph easier to see + * as well as to support vertical trees. + */ + +#ifndef _XawTree_h +#define _XawTree_h + +#include <X11/Xmu/Converters.h> + +/****************************************************************************** + * + * Tree Widget (subclass of ConstraintClass) + * + ****************************************************************************** + * + * Parameters: + * + * Name Class Type Default + * ---- ----- ---- ------- + * + * autoReconfigure AutoReconfigure Boolean FALSE + * background Background Pixel XtDefaultBackground + * foreground Foreground Pixel XtDefaultForeground + * gravity Gravity XtGravity West + * hSpace HSpace Dimension 20 + * lineWidth LineWidth Dimension 0 + * vSpace VSpace Dimension 6 + * + * + * Constraint Resources attached to children: + * + * treeGC TreeGC GC NULL + * treeParent TreeParent Widget NULL + * + * + *****************************************************************************/ + + /* new instance field names */ +#ifndef _XtStringDefs_h_ +#define XtNhSpace "hSpace" +#define XtNvSpace "vSpace" +#define XtCHSpace "HSpace" +#define XtCVSpace "VSpace" +#endif + +#define XtNautoReconfigure "autoReconfigure" +#define XtNlineWidth "lineWidth" +#define XtNtreeGC "treeGC" +#define XtNtreeParent "treeParent" +#define XtNgravity "gravity" + + /* new class field names */ +#define XtCAutoReconfigure "AutoReconfigure" +#define XtCLineWidth "LineWidth" +#define XtCTreeGC "TreeGC" +#define XtCTreeParent "TreeParent" +#define XtCGravity "Gravity" + +#define XtRGC "GC" + +#ifndef OLDXAW +#ifndef XawNdisplayList +#define XawNdisplayList "displayList" +#endif + +#ifndef XawCDisplayList +#define XawCDisplayList "DisplayList" +#endif + +#ifndef XawRDisplayList +#define XawRDisplayList "XawDisplayList" +#endif +#endif + /* external declarations */ +extern WidgetClass treeWidgetClass; + +typedef struct _TreeClassRec *TreeWidgetClass; +typedef struct _TreeRec *TreeWidget; + +_XFUNCPROTOBEGIN + +void XawTreeForceLayout +( + Widget tree + ); + +_XFUNCPROTOEND + +#endif /* _XawTree_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/TreeP.h b/ThirdParty/X11/Include/X11/Xaw/TreeP.h new file mode 100644 index 0000000..01d2bdc --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/TreeP.h @@ -0,0 +1,137 @@ +/* + +Copyright 1990, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + * Copyright 1989 Prentice Hall + * + * Permission to use, copy, modify, and distribute this software for any + * purpose and without fee is hereby granted, provided that the above + * copyright notice appear in all copies and that both the copyright notice + * and this permission notice appear in supporting documentation. + * + * Prentice Hall and the authors disclaim all warranties with regard + * to this software, including all implied warranties of merchantability and + * fitness. In no event shall Prentice Hall or the authors be liable + * for any special, indirect or cosequential damages or any damages whatsoever + * resulting from loss of use, data or profits, whether in an action of + * contract, negligence or other tortious action, arising out of or in + * connection with the use or performance of this software. + * + * Authors: Jim Fulton, MIT X Consortium, + * based on a version by Douglas Young, Prentice Hall + * + * This widget is based on the Tree widget described on pages 397-419 of + * Douglas Young's book "The X Window System, Programming and Applications + * with Xt OSF/Motif Edition." The layout code has been rewritten to use + * additional blank space to make the structure of the graph easier to see + * as well as to support vertical trees. + */ + +#ifndef _XawTreeP_h +#define _XawTreeP_h + +#include <X11/Xaw/Tree.h> + +typedef struct _TreeClassPart { + XtPointer extension; +} TreeClassPart; + +typedef struct _TreeClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ConstraintClassPart constraint_class; + TreeClassPart tree_class; +} TreeClassRec; + +extern TreeClassRec treeClassRec; + +typedef struct { + /* fields available through resources */ + Dimension hpad; /* hSpace/HSpace */ + Dimension vpad; /* vSpace/VSpace */ + Dimension line_width; /* lineWidth/LineWidth */ + Pixel foreground; /* foreground/Foreground */ + XtGravity gravity; /* gravity/Gravity */ + Boolean auto_reconfigure; /* autoReconfigure/AutoReconfigure */ + /* private fields */ + GC gc; /* used to draw lines */ + Widget tree_root; /* hidden root off all children */ + Dimension *largest; /* list of largest per depth */ + int n_largest; /* number of elements in largest */ + Dimension maxwidth, maxheight; /* for shrink wrapping */ +#ifndef OLDXAW + XawDisplayList *display_list; + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} TreePart; + + +typedef struct _TreeRec { + CorePart core; + CompositePart composite; + ConstraintPart constraint; + TreePart tree; +} TreeRec; + + +/* + * structure attached to all children + */ +typedef struct _TreeConstraintsPart { + /* resources */ + Widget parent; /* treeParent/TreeParent */ + GC gc; /* treeGC/TreeGC */ + /* private data */ + Widget *children; + int n_children; + int max_children; + Dimension bbsubwidth, bbsubheight; /* bounding box of sub tree */ + Dimension bbwidth, bbheight; /* bounding box including node */ + Position x, y; +#ifndef OLDXAW + XtPointer pad[2]; /* leave some space for future optimizations, and + * keep binary compatability + */ +#endif +} TreeConstraintsPart; + +typedef struct _TreeConstraintsRec { + TreeConstraintsPart tree; +} TreeConstraintsRec, *TreeConstraints; + + +/* + * useful macros + */ + +#define TREE_CONSTRAINT(w) \ + ((TreeConstraints)((w)->core.constraints)) + +#define TREE_INITIAL_DEPTH 10 /* for allocating largest array */ +#define TREE_HORIZONTAL_DEFAULT_SPACING 20 +#define TREE_VERTICAL_DEFAULT_SPACING 6 + +#endif /* _XawTreeP_h */ + + + diff --git a/ThirdParty/X11/Include/X11/Xaw/VendorEP.h b/ThirdParty/X11/Include/X11/Xaw/VendorEP.h new file mode 100644 index 0000000..b91f10a --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/VendorEP.h @@ -0,0 +1,81 @@ +/* + * Copyright 1991 by OMRON Corporation + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of OMRON not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. OMRON makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * OMRON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING + * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL + * OMRON BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR + * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + * SOFTWARE. + * + * Author: Seiji Kuwari OMRON Corporation + * kuwa@omron.co.jp + * kuwa%omron.co.jp@uunet.uu.net + */ + +/* + +Copyright 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _VendorEP_h +#define _VendorEP_h + +#include <X11/Xaw/XawImP.h> + +typedef struct { + XtPointer extension; +} XawVendorShellExtClassPart; + +typedef struct _VendorShellExtClassRec { + ObjectClassPart object_class; + XawVendorShellExtClassPart vendor_shell_ext_class; +} XawVendorShellExtClassRec; + +typedef struct { + Widget parent; + XawImPart im; + XawIcPart ic; +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} XawVendorShellExtPart; + +typedef struct XawVendorShellExtRec { + ObjectPart object; + XawVendorShellExtPart vendor_ext; +} XawVendorShellExtRec, *XawVendorShellExtWidget; + +#endif /* _VendorEP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/Viewport.h b/ThirdParty/X11/Include/X11/Xaw/Viewport.h new file mode 100644 index 0000000..36fab44 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/Viewport.h @@ -0,0 +1,118 @@ +/************************************************************ + +Copyright 1987, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +********************************************************/ + +#ifndef _XawViewport_h +#define _XawViewport_h + +#include <X11/Xaw/Form.h> +#include <X11/Xaw/Reports.h> + +/* Resources: + + Name Class RepType Default Value + ---- ----- ------- ------------- + allowHoriz Boolean Boolean False + allowVert Boolean Boolean False + background Background Pixel XtDefaultBackground + border BorderColor Pixel XtDefaultForeground + borderWidth BorderWidth Dimension 1 + destroyCallback Callback Pointer NULL + forceBars Boolean Boolean False + height Height Dimension 0 + mappedWhenManaged MappedWhenManaged Boolean True + reportCallback ReportCallback Pointer NULL + sensitive Sensitive Boolean True + useBottom Boolean Boolean False + useRight Boolean Boolean False + width Width Dimension 0 + x Position Position 0 + y Position Position 0 + +*/ + +#ifndef _XtStringDefs_h_ +#define XtNforceBars "forceBars" +#define XtNallowHoriz "allowHoriz" +#define XtNallowVert "allowVert" +#define XtNuseBottom "useBottom" +#define XtNuseRight "useRight" +#endif + +extern WidgetClass viewportWidgetClass; + +typedef struct _ViewportClassRec *ViewportWidgetClass; +typedef struct _ViewportRec *ViewportWidget; + +_XFUNCPROTOBEGIN + +void XawViewportSetLocation +( + Widget gw, +#if NeedWidePrototypes + double xoff, + double yoff +#else + float xoff, + float yoff +#endif + ); + +void XawViewportSetCoordinates +( + Widget gw, +#if NeedWidePrototypes + int x, + int y +#else + Position x, + Position y +#endif + ); + +_XFUNCPROTOEND + +#endif /* _XawViewport_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/ViewportP.h b/ThirdParty/X11/Include/X11/Xaw/ViewportP.h new file mode 100644 index 0000000..2aeb8a5 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/ViewportP.h @@ -0,0 +1,107 @@ +/* + * Private declarations for ViewportWidgetClass + */ + +/************************************************************ + +Copyright 1987, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +********************************************************/ + +#ifndef _ViewportP_h +#define _ViewportP_h + +#include <X11/Xaw/Viewport.h> +#include <X11/Xaw/FormP.h> + +typedef struct { + XtPointer extension; +} ViewportClassPart; + +typedef struct _ViewportClassRec { + CoreClassPart core_class; + CompositeClassPart composite_class; + ConstraintClassPart constraint_class; + FormClassPart form_class; + ViewportClassPart viewport_class; +} ViewportClassRec; + +extern ViewportClassRec viewportClassRec; + +typedef struct _ViewportPart { + /* resources */ + Boolean forcebars; /* Whether we should always display + the selected scrollbars */ + Boolean allowhoriz; /* Whether we allow horizontal scrollbars */ + Boolean allowvert; /* Whether we allow vertical scrollbars */ + Boolean usebottom; /* True if horiz bars appear at bottom */ + Boolean useright; /* True if vert bars appear at right */ + XtCallbackList report_callbacks;/* when size/position changes */ + + /* private */ + Widget clip, child; /* The clipping and (scrolled) child widgets */ + Widget horiz_bar, vert_bar; /* What scrollbars we currently have */ +#ifndef OLDXAW + XtPointer pad[4]; /* for future use and keep binary compatability */ +#endif +} ViewportPart; + +typedef struct _ViewportRec { + CorePart core; + CompositePart composite; + ConstraintPart constraint; + FormPart form; + ViewportPart viewport; +} ViewportRec; + +typedef struct { + Bool reparented; /* True if child has been re-parented */ +} ViewportConstraintsPart; + +typedef struct _ViewportConstraintsRec { + FormConstraintsPart form; + ViewportConstraintsPart viewport; +} ViewportConstraintsRec, *ViewportConstraints; + +#endif /* _ViewportP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/XawImP.h b/ThirdParty/X11/Include/X11/Xaw/XawImP.h new file mode 100644 index 0000000..a03eef6 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/XawImP.h @@ -0,0 +1,210 @@ +/* + * Copyright 1991 by OMRON Corporation + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of OMRON not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. OMRON makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * OMRON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING + * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL + * OMRON BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR + * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + * SOFTWARE. + * + * Author: Seiji Kuwari OMRON Corporation + * kuwa@omron.co.jp + * kuwa%omron.co.jp@uunet.uu.net + */ + +/* + +Copyright 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _XawImP_h +#define _XawImP_h + +#define XtNinputMethod "inputMethod" +#define XtCInputMethod "InputMethod" +#define XtNpreeditType "preeditType" +#define XtCPreeditType "PreeditType" +#define XtNopenIm "openIm" +#define XtCOpenIm "OpenIm" +#define XtNsharedIc "sharedIc" +#define XtCSharedIc "SharedIc" + +#include <X11/Xaw/Text.h> + +#define CIICFocus (1 << 0) +#define CIFontSet (1 << 1) +#define CIFg (1 << 2) +#define CIBg (1 << 3) +#define CIBgPixmap (1 << 4) +#define CICursorP (1 << 5) +#define CILineS (1 << 6) + +typedef struct _XawImPart { + XIM xim; + XrmResourceList resources; + Cardinal num_resources; + Boolean open_im; + Boolean initialized; + Dimension area_height; + String input_method; + String preedit_type; +} XawImPart; + +typedef struct _XawIcTablePart { + Widget widget; + XIC xic; + XIMStyle input_style; + unsigned long flg; + unsigned long prev_flg; + Boolean ic_focused; + XFontSet font_set; + Pixel foreground; + Pixel background; + Pixmap bg_pixmap; + XawTextPosition cursor_position; + unsigned long line_spacing; + Boolean openic_error; + struct _XawIcTablePart *next; +} XawIcTablePart, *XawIcTableList; + +typedef struct _XawIcPart { + XIMStyle input_style; + Boolean shared_ic; + XawIcTableList shared_ic_table; + XawIcTableList current_ic_table; + XawIcTableList ic_table; +} XawIcPart; + +typedef struct _contextDataRec { + Widget parent; + Widget ve; +} contextDataRec; + +typedef struct _contextErrDataRec { + Widget widget; + XIM xim; +} contextErrDataRec; + +void _XawImResizeVendorShell +( + Widget w + ); + +Dimension _XawImGetShellHeight +( + Widget w +); + +void _XawImRealize +( + Widget w + ); + +void _XawImInitialize +( + Widget w, + Widget ext + ); + +void _XawImReconnect +( + Widget w + ); + +void _XawImRegister +( + Widget w + ); + +void _XawImUnregister +( + Widget w + ); + +void _XawImSetValues +( + Widget w, + ArgList args, + Cardinal num_args + ); + +void _XawImSetFocusValues +( + Widget w, + ArgList args, + Cardinal num_args +); + +void _XawImUnsetFocus +( + Widget w + ); + +int _XawImWcLookupString +( + Widget w, + XKeyPressedEvent *event, + wchar_t *buffer_return, + int bytes_buffer, + KeySym *keysym_return + ); + +int _XawLookupString +( + Widget w, + XKeyEvent *event, + char *buffer_return, + int buffer_size, + KeySym *keysym_return + ); + +int _XawImGetImAreaHeight +( + Widget w + ); + +void _XawImCallVendorShellExtResize +( + Widget w + ); + +void _XawImDestroy +( + Widget w, + Widget ext + ); + +#endif /* _XawImP_h */ diff --git a/ThirdParty/X11/Include/X11/Xaw/XawInit.h b/ThirdParty/X11/Include/X11/Xaw/XawInit.h new file mode 100644 index 0000000..73226b2 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xaw/XawInit.h @@ -0,0 +1,62 @@ +/* + * +Copyright 1989, 1994, 1998 The Open Group +Copyright 2003-2004 Roland Mainz <roland.mainz@nrubsig.org> + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + */ +#ifndef _XawInit_h +#define _XawInit_h + +#define XawVendor XVENDORNAMESHORT + +#ifdef OLDXAW +#define XawVersion 6700002L +#else +#define XawVersion 7000002L + +typedef struct _XawDL XawDisplayList; +#endif /* OLDXAW */ + +#include <X11/Intrinsic.h> +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +void XawInitializeWidgetSet(void); +#ifndef OLDXAW +void XawInitializeDefaultConverters(void); +#endif + +extern Widget XawOpenApplication( + XtAppContext *app_context_return, + Display *dpy, + Screen *screen, + String application_name, + String application_class, + WidgetClass widget_class, + int *argc, + String *argv +); + +_XFUNCPROTOEND + +#endif /* _XawInit_h */ diff --git a/ThirdParty/X11/Include/X11/Xcms.h b/ThirdParty/X11/Include/X11/Xcms.h new file mode 100644 index 0000000..6631854 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xcms.h @@ -0,0 +1,815 @@ + +/* + * Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc. + * All Rights Reserved + * + * This file is a component of an X Window System-specific implementation + * of Xcms based on the TekColor Color Management System. Permission is + * hereby granted to use, copy, modify, sell, and otherwise distribute this + * software and its documentation for any purpose and without fee, provided + * that this copyright, permission, and disclaimer notice is reproduced in + * all copies of this software and in supporting documentation. TekColor + * is a trademark of Tektronix, Inc. + * + * Tektronix makes no representation about the suitability of this software + * for any purpose. It is provided "as is" and with all faults. + * + * TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE, + * INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE. IN NO EVENT SHALL TEKTRONIX BE LIABLE FOR ANY + * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER + * RESULTING FROM LOSS OF USE, DATA, OR PROFITS, WHETHER IN AN ACTION OF + * CONTRACT, NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR THE PERFORMANCE OF THIS SOFTWARE. + * + * + * DESCRIPTION + * Public include file for X Color Management System + */ +#ifndef _X11_XCMS_H_ +#define _X11_XCMS_H_ + +#include <X11/Xlib.h> + +/* The Xcms structs are full of implicit padding to properly align members. + We can't clean that up without breaking ABI, so tell clang not to bother + complaining about it. */ +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wpadded" +#endif + + /* + * XCMS Status Values + */ +#define XcmsFailure 0 +#define XcmsSuccess 1 +#define XcmsSuccessWithCompression 2 + + /* + * Color Space Format ID's + * Color Space ID's are of XcmsColorFormat type. + * + * bit 31 + * 0 == Device-Independent + * 1 == Device-Dependent + * + * bit 30: + * 0 == Registered with X Consortium + * 1 == Unregistered + */ +#define XcmsUndefinedFormat (XcmsColorFormat)0x00000000 +#define XcmsCIEXYZFormat (XcmsColorFormat)0x00000001 +#define XcmsCIEuvYFormat (XcmsColorFormat)0x00000002 +#define XcmsCIExyYFormat (XcmsColorFormat)0x00000003 +#define XcmsCIELabFormat (XcmsColorFormat)0x00000004 +#define XcmsCIELuvFormat (XcmsColorFormat)0x00000005 +#define XcmsTekHVCFormat (XcmsColorFormat)0x00000006 +#define XcmsRGBFormat (XcmsColorFormat)0x80000000 +#define XcmsRGBiFormat (XcmsColorFormat)0x80000001 + + /* + * State of XcmsPerScrnInfo + */ +#define XcmsInitNone 0x00 /* no initialization attempted */ +#define XcmsInitSuccess 0x01 /* initialization successful */ +#define XcmsInitFailure 0xff /* failure, use defaults */ + +#define DisplayOfCCC(ccc) ((ccc)->dpy) +#define ScreenNumberOfCCC(ccc) ((ccc)->screenNumber) +#define VisualOfCCC(ccc) ((ccc)->visual) +#define ClientWhitePointOfCCC(ccc) (&(ccc)->clientWhitePt) +#define ScreenWhitePointOfCCC(ccc) (&(ccc)->pPerScrnInfo->screenWhitePt) +#define FunctionSetOfCCC(ccc) ((ccc)->pPerScrnInfo->functionSet) + +typedef unsigned long XcmsColorFormat; /* Color Space Format ID */ + +typedef double XcmsFloat; + + /* + * Device RGB + */ +typedef struct { + unsigned short red; /* scaled from 0x0000 to 0xffff */ + unsigned short green; /* scaled from 0x0000 to 0xffff */ + unsigned short blue; /* scaled from 0x0000 to 0xffff */ +} XcmsRGB; + + /* + * RGB Intensity + */ +typedef struct { + XcmsFloat red; /* 0.0 - 1.0 */ + XcmsFloat green; /* 0.0 - 1.0 */ + XcmsFloat blue; /* 0.0 - 1.0 */ +} XcmsRGBi; + + /* + * CIE XYZ + */ +typedef struct { + XcmsFloat X; + XcmsFloat Y; + XcmsFloat Z; +} XcmsCIEXYZ; + + /* + * CIE u'v'Y + */ +typedef struct { + XcmsFloat u_prime; /* 0.0 - 1.0 */ + XcmsFloat v_prime; /* 0.0 - 1.0 */ + XcmsFloat Y; /* 0.0 - 1.0 */ +} XcmsCIEuvY; + + /* + * CIE xyY + */ +typedef struct { + XcmsFloat x; /* 0.0 - 1.0 */ + XcmsFloat y; /* 0.0 - 1.0 */ + XcmsFloat Y; /* 0.0 - 1.0 */ +} XcmsCIExyY; + + /* + * CIE L*a*b* + */ +typedef struct { + XcmsFloat L_star; /* 0.0 - 100.0 */ + XcmsFloat a_star; + XcmsFloat b_star; +} XcmsCIELab; + + /* + * CIE L*u*v* + */ +typedef struct { + XcmsFloat L_star; /* 0.0 - 100.0 */ + XcmsFloat u_star; + XcmsFloat v_star; +} XcmsCIELuv; + + /* + * TekHVC + */ +typedef struct { + XcmsFloat H; /* 0.0 - 360.0 */ + XcmsFloat V; /* 0.0 - 100.0 */ + XcmsFloat C; /* 0.0 - 100.0 */ +} XcmsTekHVC; + + /* + * PAD + */ +typedef struct { + XcmsFloat pad0; + XcmsFloat pad1; + XcmsFloat pad2; + XcmsFloat pad3; +} XcmsPad; + + + /* + * XCMS Color Structure + */ +typedef struct { + union { + XcmsRGB RGB; + XcmsRGBi RGBi; + XcmsCIEXYZ CIEXYZ; + XcmsCIEuvY CIEuvY; + XcmsCIExyY CIExyY; + XcmsCIELab CIELab; + XcmsCIELuv CIELuv; + XcmsTekHVC TekHVC; + XcmsPad Pad; + } spec; /* the color specification */ + unsigned long pixel; /* pixel value (as needed) */ + XcmsColorFormat format; /* the specification format */ +} XcmsColor; + + + /* + * XCMS Per Screen related data + */ + +typedef struct _XcmsPerScrnInfo { + XcmsColor screenWhitePt; /* Screen White point */ + XPointer functionSet; /* pointer to Screen Color Characterization */ + /* Function Set structure */ + XPointer screenData; /* pointer to corresponding Screen Color*/ + /* Characterization Data */ + unsigned char state; /* XcmsInitNone, XcmsInitSuccess, XcmsInitFailure */ + char pad[3]; +} XcmsPerScrnInfo; + +typedef struct _XcmsCCC *XcmsCCC; + +typedef Status (*XcmsCompressionProc)( /* Gamut Compression Proc */ + XcmsCCC /* ccc */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + unsigned int /* index */, + Bool* /* compression_flags_return */ +); + +typedef Status (*XcmsWhiteAdjustProc)( /* White Point Adjust Proc */ + XcmsCCC /* ccc */, + XcmsColor* /* initial_white_point*/, + XcmsColor* /* target_white_point*/, + XcmsColorFormat /* target_format */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + Bool* /* compression_flags_return */ +); + + /* + * XCMS Color Conversion Context + */ +typedef struct _XcmsCCC { + Display *dpy; /* X Display */ + int screenNumber; /* X screen number */ + Visual *visual; /* X Visual */ + XcmsColor clientWhitePt; /* Client White Point */ + XcmsCompressionProc gamutCompProc; /* Gamut Compression Function */ + XPointer gamutCompClientData; /* Gamut Comp Func Client Data */ + XcmsWhiteAdjustProc whitePtAdjProc; /* White Point Adjustment Function */ + XPointer whitePtAdjClientData; /* White Pt Adj Func Client Data */ + XcmsPerScrnInfo *pPerScrnInfo; /* pointer to per screen information */ + /* associated with the above display */ + /* screenNumber */ +} XcmsCCCRec; + +typedef Status (*XcmsScreenInitProc)( /* Screen Initialization Proc */ + Display* /* dpy */, + int /* screen_number */, + XcmsPerScrnInfo* /* screen_info */ +); + +typedef void (*XcmsScreenFreeProc)( + XPointer /* screenData */ +); + + /* + * Function List Pointer -- pointer to an array of function pointers. + * The end of list is indicated by a NULL pointer. + */ +/* + * XXX: The use of the XcmsConversionProc type is broken. The + * device-independent colour conversion code uses it as: + +typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, XcmsColor *, + unsigned int); + + * while the device-dependent code uses it as: + +typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, unsigned int, + Bool *); + + * Until this is reworked, it's probably best to leave it unprotoized. + * The code works regardless. + */ +typedef Status (*XcmsDDConversionProc)( /* using device-dependent version */ + XcmsCCC /* ccc */, + XcmsColor* /* pcolors_in_out */, + unsigned int /* ncolors */, + Bool* /* pCompressed */ + ); + +typedef Status (*XcmsDIConversionProc)( /* using device-independent version */ + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* pcolors_in_out */, + unsigned int /* ncolors */ + ); + +typedef XcmsDIConversionProc XcmsConversionProc; +typedef XcmsConversionProc *XcmsFuncListPtr; + +typedef int (*XcmsParseStringProc)( /* Color String Parsing Proc */ + char* /* color_string */, + XcmsColor* /* color_return */ +); + + /* + * Color Space -- per Color Space related data (Device-Independent + * or Device-Dependent) + */ +typedef struct _XcmsColorSpace { + const char *prefix; /* Prefix of string format. */ + XcmsColorFormat id; /* Format ID number. */ + XcmsParseStringProc parseString; + /* String format parsing function */ + XcmsFuncListPtr to_CIEXYZ; /* Pointer to an array of function */ + /* pointers such that when the */ + /* functions are executed in sequence */ + /* will convert a XcmsColor structure */ + /* from this color space to CIEXYZ */ + /* space. */ + XcmsFuncListPtr from_CIEXYZ;/* Pointer to an array of function */ + /* pointers such that when the */ + /* functions are executed in sequence */ + /* will convert a XcmsColor structure */ + /* from CIEXYZ space to this color */ + /* space. */ + int inverse_flag; /* If 1, indicates that for 0 <= i < n */ + /* where n is the number of function */ + /* pointers in the lists to_CIEXYZ */ + /* and from_CIEXYZ; for each function */ + /* to_CIEXYZ[i] its inverse function */ + /* is from_CIEXYZ[n - i]. */ + +} XcmsColorSpace; + + /* + * Screen Color Characterization Function Set -- per device class + * color space conversion functions. + */ +typedef struct _XcmsFunctionSet { + XcmsColorSpace **DDColorSpaces; + /* Pointer to an array of pointers to */ + /* Device-DEPENDENT color spaces */ + /* understood by this SCCFuncSet. */ + XcmsScreenInitProc screenInitProc; + /* Screen initialization function that */ + /* reads Screen Color Characterization*/ + /* Data off properties on the screen's*/ + /* root window. */ + XcmsScreenFreeProc screenFreeProc; + /* Function that frees the SCCData */ + /* structures. */ +} XcmsFunctionSet; + +_XFUNCPROTOBEGIN + +extern Status XcmsAddColorSpace ( + XcmsColorSpace* /* pColorSpace */ +); + +extern Status XcmsAddFunctionSet ( + XcmsFunctionSet* /* functionSet */ +); + +extern Status XcmsAllocColor ( + Display* /* dpy */, + Colormap /* colormap */, + XcmsColor* /* color_in_out */, + XcmsColorFormat /* result_format */ +); + +extern Status XcmsAllocNamedColor ( + Display* /* dpy */, + Colormap /* colormap */, + _Xconst char* /* color_string */, + XcmsColor* /* color_scrn_return */, + XcmsColor* /* color_exact_return */, + XcmsColorFormat /* result_format */ +); + +extern XcmsCCC XcmsCCCOfColormap ( + Display* /* dpy */, + Colormap /* colormap */ +); + +extern Status XcmsCIELabClipab( + XcmsCCC /* ccc */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + unsigned int /* index */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsCIELabClipL( + XcmsCCC /* ccc */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + unsigned int /* index */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsCIELabClipLab( + XcmsCCC /* ccc */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + unsigned int /* index */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsCIELabQueryMaxC ( + XcmsCCC /* ccc */, + XcmsFloat /* hue_angle */, + XcmsFloat /* L_star */, + XcmsColor* /* color_return */ +); + +extern Status XcmsCIELabQueryMaxL ( + XcmsCCC /* ccc */, + XcmsFloat /* hue_angle */, + XcmsFloat /* chroma */, + XcmsColor* /* color_return */ +); + +extern Status XcmsCIELabQueryMaxLC ( + XcmsCCC /* ccc */, + XcmsFloat /* hue_angle */, + XcmsColor* /* color_return */ +); + +extern Status XcmsCIELabQueryMinL ( + XcmsCCC /* ccc */, + XcmsFloat /* hue_angle */, + XcmsFloat /* chroma */, + XcmsColor* /* color_return */ +); + +extern Status XcmsCIELabToCIEXYZ ( + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* colors */, + unsigned int /* ncolors */ +); + +extern Status XcmsCIELabWhiteShiftColors( + XcmsCCC /* ccc */, + XcmsColor* /* initial_white_point*/, + XcmsColor* /* target_white_point*/, + XcmsColorFormat /* target_format */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsCIELuvClipL( + XcmsCCC /* ccc */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + unsigned int /* index */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsCIELuvClipLuv( + XcmsCCC /* ccc */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + unsigned int /* index */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsCIELuvClipuv( + XcmsCCC /* ccc */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + unsigned int /* index */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsCIELuvQueryMaxC ( + XcmsCCC /* ccc */, + XcmsFloat /* hue_angle */, + XcmsFloat /* L_star */, + XcmsColor* /* color_return */ +); + +extern Status XcmsCIELuvQueryMaxL ( + XcmsCCC /* ccc */, + XcmsFloat /* hue_angle */, + XcmsFloat /* chroma */, + XcmsColor* /* color_return */ +); + +extern Status XcmsCIELuvQueryMaxLC ( + XcmsCCC /* ccc */, + XcmsFloat /* hue_angle */, + XcmsColor* /* color_return */ +); + +extern Status XcmsCIELuvQueryMinL ( + XcmsCCC /* ccc */, + XcmsFloat /* hue_angle */, + XcmsFloat /* chroma */, + XcmsColor* /* color_return */ +); + +extern Status XcmsCIELuvToCIEuvY ( + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* colors */, + unsigned int /* ncolors */ +); + +extern Status XcmsCIELuvWhiteShiftColors( + XcmsCCC /* ccc */, + XcmsColor* /* initial_white_point*/, + XcmsColor* /* target_white_point*/, + XcmsColorFormat /* target_format */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsCIEXYZToCIELab ( + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* colors */, + unsigned int /* ncolors */ +); + +extern Status XcmsCIEXYZToCIEuvY ( + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* colors */, + unsigned int /* ncolors */ +); + +extern Status XcmsCIEXYZToCIExyY ( + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* colors */, + unsigned int /* ncolors */ +); + +extern Status XcmsCIEXYZToRGBi ( + XcmsCCC /* ccc */, + XcmsColor* /* colors */, + unsigned int /* ncolors */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsCIEuvYToCIELuv ( + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* colors */, + unsigned int /* ncolors */ +); + +extern Status XcmsCIEuvYToCIEXYZ ( + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* colors */, + unsigned int /* ncolors */ +); + +extern Status XcmsCIEuvYToTekHVC ( + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* colors */, + unsigned int /* ncolors */ +); + +extern Status XcmsCIExyYToCIEXYZ ( + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* colors */, + unsigned int /* ncolors */ +); + +extern XcmsColor *XcmsClientWhitePointOfCCC ( + XcmsCCC /* ccc */ +); + +extern Status XcmsConvertColors ( + XcmsCCC /* ccc */, + XcmsColor* /* colorArry_in_out */, + unsigned int /* nColors */, + XcmsColorFormat /* targetFormat */, + Bool* /* compArry_return */ +); + +extern XcmsCCC XcmsCreateCCC ( + Display* /* dpy */, + int /* screenNumber */, + Visual* /* visual */, + XcmsColor* /* clientWhitePt */, + XcmsCompressionProc /* gamutCompProc */, + XPointer /* gamutCompClientData */, + XcmsWhiteAdjustProc /* whitePtAdjProc */, + XPointer /* whitePtAdjClientData */ +); + +extern XcmsCCC XcmsDefaultCCC ( + Display* /* dpy */, + int /* screenNumber */ +); + +extern Display *XcmsDisplayOfCCC ( + XcmsCCC /* ccc */ +); + +extern XcmsColorFormat XcmsFormatOfPrefix ( + char* /* prefix */ +); + +extern void XcmsFreeCCC ( + XcmsCCC /* ccc */ +); + +extern Status XcmsLookupColor ( + Display* /* dpy */, + Colormap /* colormap */, + _Xconst char* /* color_string */, + XcmsColor* /* pColor_exact_in_out */, + XcmsColor* /* pColor_scrn_in_out */, + XcmsColorFormat /* result_format */ +); + +extern char *XcmsPrefixOfFormat ( + XcmsColorFormat /* id */ +); + +extern Status XcmsQueryBlack ( + XcmsCCC /* ccc */, + XcmsColorFormat /* target_format */, + XcmsColor* /* color_return */ +); + +extern Status XcmsQueryBlue ( + XcmsCCC /* ccc */, + XcmsColorFormat /* target_format */, + XcmsColor* /* color_return */ +); + +extern Status XcmsQueryColor ( + Display* /* dpy */, + Colormap /* colormap */, + XcmsColor* /* pColor_in_out */, + XcmsColorFormat /* result_format */ +); + +extern Status XcmsQueryColors ( + Display* /* dpy */, + Colormap /* colormap */, + XcmsColor* /* colorArry_in_out */, + unsigned int /* nColors */, + XcmsColorFormat /* result_format */ +); + +extern Status XcmsQueryGreen ( + XcmsCCC /* ccc */, + XcmsColorFormat /* target_format */, + XcmsColor* /* color_return */ +); + +extern Status XcmsQueryRed ( + XcmsCCC /* ccc */, + XcmsColorFormat /* target_format */, + XcmsColor* /* color_return */ +); + +extern Status XcmsQueryWhite ( + XcmsCCC /* ccc */, + XcmsColorFormat /* target_format */, + XcmsColor* /* color_return */ +); + +extern Status XcmsRGBiToCIEXYZ ( + XcmsCCC /* ccc */, + XcmsColor* /* colors */, + unsigned int /* ncolors */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsRGBiToRGB ( + XcmsCCC /* ccc */, + XcmsColor* /* colors */, + unsigned int /* ncolors */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsRGBToRGBi ( + XcmsCCC /* ccc */, + XcmsColor* /* colors */, + unsigned int /* ncolors */, + Bool* /* compression_flags_return */ +); + +extern int XcmsScreenNumberOfCCC ( + XcmsCCC /* ccc */ +); + +extern XcmsColor *XcmsScreenWhitePointOfCCC ( + XcmsCCC /* ccc */ +); + +extern XcmsCCC XcmsSetCCCOfColormap( + Display* /* dpy */, + Colormap /* colormap */, + XcmsCCC /* ccc */ +); + +extern XcmsCompressionProc XcmsSetCompressionProc ( + XcmsCCC /* ccc */, + XcmsCompressionProc /* compression_proc */, + XPointer /* client_data */ +); + +extern XcmsWhiteAdjustProc XcmsSetWhiteAdjustProc ( + XcmsCCC /* ccc */, + XcmsWhiteAdjustProc /* white_adjust_proc */, + XPointer /* client_data */ +); + +extern Status XcmsSetWhitePoint ( + XcmsCCC /* ccc */, + XcmsColor* /* color */ +); + +extern Status XcmsStoreColor ( + Display* /* dpy */, + Colormap /* colormap */, + XcmsColor* /* pColor_in */ +); + +extern Status XcmsStoreColors ( + Display* /* dpy */, + Colormap /* colormap */, + XcmsColor* /* colorArry_in */, + unsigned int /* nColors */, + Bool* /* compArry_return */ +); + +extern Status XcmsTekHVCClipC( + XcmsCCC /* ccc */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + unsigned int /* index */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsTekHVCClipV( + XcmsCCC /* ccc */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + unsigned int /* index */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsTekHVCClipVC( + XcmsCCC /* ccc */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + unsigned int /* index */, + Bool* /* compression_flags_return */ +); + +extern Status XcmsTekHVCQueryMaxC ( + XcmsCCC /* ccc */, + XcmsFloat /* hue */, + XcmsFloat /* value */, + XcmsColor* /* color_return */ +); + +extern Status XcmsTekHVCQueryMaxV ( + XcmsCCC /* ccc */, + XcmsFloat /* hue */, + XcmsFloat /* chroma */, + XcmsColor* /* color_return */ +); + +extern Status XcmsTekHVCQueryMaxVC ( + XcmsCCC /* ccc */, + XcmsFloat /* hue */, + XcmsColor* /* color_return */ +); + +extern Status XcmsTekHVCQueryMaxVSamples ( + XcmsCCC /* ccc */, + XcmsFloat /* hue */, + XcmsColor* /* colors_return */, + unsigned int /* nsamples */ +); + +extern Status XcmsTekHVCQueryMinV ( + XcmsCCC /* ccc */, + XcmsFloat /* hue */, + XcmsFloat /* chroma */, + XcmsColor* /* color_return */ +); + +extern Status XcmsTekHVCToCIEuvY ( + XcmsCCC /* ccc */, + XcmsColor* /* white_point */, + XcmsColor* /* colors */, + unsigned int /* ncolors */ +); + +extern Status XcmsTekHVCWhiteShiftColors( + XcmsCCC /* ccc */, + XcmsColor* /* initial_white_point*/, + XcmsColor* /* target_white_point*/, + XcmsColorFormat /* target_format */, + XcmsColor* /* colors_in_out */, + unsigned int /* ncolors */, + Bool* /* compression_flags_return */ +); + +extern Visual *XcmsVisualOfCCC ( + XcmsCCC /* ccc */ +); + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + +_XFUNCPROTOEND + +#endif /* _X11_XCMS_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xcursor/Xcursor.h b/ThirdParty/X11/Include/X11/Xcursor/Xcursor.h new file mode 100644 index 0000000..f3bc43d --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xcursor/Xcursor.h @@ -0,0 +1,500 @@ +/* include/X11/Xcursor/Xcursor.h. Generated from Xcursor.h.in by configure. */ +/* + * Copyright © 2002 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _XCURSOR_H_ +#define _XCURSOR_H_ +#include <stdio.h> +#include <X11/Xfuncproto.h> +#include <X11/Xlib.h> + +typedef int XcursorBool; +typedef unsigned int XcursorUInt; + +typedef XcursorUInt XcursorDim; +typedef XcursorUInt XcursorPixel; + +#define XcursorTrue 1 +#define XcursorFalse 0 + +/* + * Cursor files start with a header. The header + * contains a magic number, a version number and a + * table of contents which has type and offset information + * for the remaining tables in the file. + * + * File minor versions increment for compatible changes + * File major versions increment for incompatible changes (never, we hope) + * + * Chunks of the same type are always upward compatible. Incompatible + * changes are made with new chunk types; the old data can remain under + * the old type. Upward compatible changes can add header data as the + * header lengths are specified in the file. + * + * File: + * FileHeader + * LISTofChunk + * + * FileHeader: + * CARD32 magic magic number + * CARD32 header bytes in file header + * CARD32 version file version + * CARD32 ntoc number of toc entries + * LISTofFileToc toc table of contents + * + * FileToc: + * CARD32 type entry type + * CARD32 subtype entry subtype (size for images) + * CARD32 position absolute file position + */ + +#define XCURSOR_MAGIC 0x72756358 /* "Xcur" LSBFirst */ + +/* + * Current Xcursor version number. Will be substituted by configure + * from the version in the libXcursor configure.ac file. + */ + +#define XCURSOR_LIB_MAJOR 1 +#define XCURSOR_LIB_MINOR 1 +#define XCURSOR_LIB_REVISION 14 +#define XCURSOR_LIB_VERSION ((XCURSOR_LIB_MAJOR * 10000) + \ + (XCURSOR_LIB_MINOR * 100) + \ + (XCURSOR_LIB_REVISION)) + +/* + * This version number is stored in cursor files; changes to the + * file format require updating this version number + */ +#define XCURSOR_FILE_MAJOR 1 +#define XCURSOR_FILE_MINOR 0 +#define XCURSOR_FILE_VERSION ((XCURSOR_FILE_MAJOR << 16) | (XCURSOR_FILE_MINOR)) +#define XCURSOR_FILE_HEADER_LEN (4 * 4) +#define XCURSOR_FILE_TOC_LEN (3 * 4) + +typedef struct _XcursorFileToc { + XcursorUInt type; /* chunk type */ + XcursorUInt subtype; /* subtype (size for images) */ + XcursorUInt position; /* absolute position in file */ +} XcursorFileToc; + +typedef struct _XcursorFileHeader { + XcursorUInt magic; /* magic number */ + XcursorUInt header; /* byte length of header */ + XcursorUInt version; /* file version number */ + XcursorUInt ntoc; /* number of toc entries */ + XcursorFileToc *tocs; /* table of contents */ +} XcursorFileHeader; + +/* + * The rest of the file is a list of chunks, each tagged by type + * and version. + * + * Chunk: + * ChunkHeader + * <extra type-specific header fields> + * <type-specific data> + * + * ChunkHeader: + * CARD32 header bytes in chunk header + type header + * CARD32 type chunk type + * CARD32 subtype chunk subtype + * CARD32 version chunk type version + */ + +#define XCURSOR_CHUNK_HEADER_LEN (4 * 4) + +typedef struct _XcursorChunkHeader { + XcursorUInt header; /* bytes in chunk header */ + XcursorUInt type; /* chunk type */ + XcursorUInt subtype; /* chunk subtype (size for images) */ + XcursorUInt version; /* version of this type */ +} XcursorChunkHeader; + +/* + * Here's a list of the known chunk types + */ + +/* + * Comments consist of a 4-byte length field followed by + * UTF-8 encoded text + * + * Comment: + * ChunkHeader header chunk header + * CARD32 length bytes in text + * LISTofCARD8 text UTF-8 encoded text + */ + +#define XCURSOR_COMMENT_TYPE 0xfffe0001 +#define XCURSOR_COMMENT_VERSION 1 +#define XCURSOR_COMMENT_HEADER_LEN (XCURSOR_CHUNK_HEADER_LEN + (1 *4)) +#define XCURSOR_COMMENT_COPYRIGHT 1 +#define XCURSOR_COMMENT_LICENSE 2 +#define XCURSOR_COMMENT_OTHER 3 +#define XCURSOR_COMMENT_MAX_LEN 0x100000 + +typedef struct _XcursorComment { + XcursorUInt version; + XcursorUInt comment_type; + char *comment; +} XcursorComment; + +/* + * Each cursor image occupies a separate image chunk. + * The length of the image header follows the chunk header + * so that future versions can extend the header without + * breaking older applications + * + * Image: + * ChunkHeader header chunk header + * CARD32 width actual width + * CARD32 height actual height + * CARD32 xhot hot spot x + * CARD32 yhot hot spot y + * CARD32 delay animation delay + * LISTofCARD32 pixels ARGB pixels + */ + +#define XCURSOR_IMAGE_TYPE 0xfffd0002 +#define XCURSOR_IMAGE_VERSION 1 +#define XCURSOR_IMAGE_HEADER_LEN (XCURSOR_CHUNK_HEADER_LEN + (5*4)) +#define XCURSOR_IMAGE_MAX_SIZE 0x7fff /* 32767x32767 max cursor size */ + +typedef struct _XcursorImage { + XcursorUInt version; /* version of the image data */ + XcursorDim size; /* nominal size for matching */ + XcursorDim width; /* actual width */ + XcursorDim height; /* actual height */ + XcursorDim xhot; /* hot spot x (must be inside image) */ + XcursorDim yhot; /* hot spot y (must be inside image) */ + XcursorUInt delay; /* animation delay to next frame (ms) */ + XcursorPixel *pixels; /* pointer to pixels */ +} XcursorImage; + +/* + * Other data structures exposed by the library API + */ +typedef struct _XcursorImages { + int nimage; /* number of images */ + XcursorImage **images; /* array of XcursorImage pointers */ + char *name; /* name used to load images */ +} XcursorImages; + +typedef struct _XcursorCursors { + Display *dpy; /* Display holding cursors */ + int ref; /* reference count */ + int ncursor; /* number of cursors */ + Cursor *cursors; /* array of cursors */ +} XcursorCursors; + +typedef struct _XcursorAnimate { + XcursorCursors *cursors; /* list of cursors to use */ + int sequence; /* which cursor is next */ +} XcursorAnimate; + +typedef struct _XcursorFile XcursorFile; + +struct _XcursorFile { + void *closure; + int (*read) (XcursorFile *file, unsigned char *buf, int len); + int (*write) (XcursorFile *file, unsigned char *buf, int len); + int (*seek) (XcursorFile *file, long offset, int whence); +}; + +typedef struct _XcursorComments { + int ncomment; /* number of comments */ + XcursorComment **comments; /* array of XcursorComment pointers */ +} XcursorComments; + +#define XCURSOR_CORE_THEME "core" + +_XFUNCPROTOBEGIN + +/* + * Manage Image objects + */ +XcursorImage * +XcursorImageCreate (int width, int height); + +void +XcursorImageDestroy (XcursorImage *image); + +/* + * Manage Images objects + */ +XcursorImages * +XcursorImagesCreate (int size); + +void +XcursorImagesDestroy (XcursorImages *images); + +void +XcursorImagesSetName (XcursorImages *images, const char *name); + +/* + * Manage Cursor objects + */ +XcursorCursors * +XcursorCursorsCreate (Display *dpy, int size); + +void +XcursorCursorsDestroy (XcursorCursors *cursors); + +/* + * Manage Animate objects + */ +XcursorAnimate * +XcursorAnimateCreate (XcursorCursors *cursors); + +void +XcursorAnimateDestroy (XcursorAnimate *animate); + +Cursor +XcursorAnimateNext (XcursorAnimate *animate); + +/* + * Manage Comment objects + */ +XcursorComment * +XcursorCommentCreate (XcursorUInt comment_type, int length); + +void +XcursorCommentDestroy (XcursorComment *comment); + +XcursorComments * +XcursorCommentsCreate (int size); + +void +XcursorCommentsDestroy (XcursorComments *comments); + +/* + * XcursorFile/Image APIs + */ +XcursorImage * +XcursorXcFileLoadImage (XcursorFile *file, int size); + +XcursorImages * +XcursorXcFileLoadImages (XcursorFile *file, int size); + +XcursorImages * +XcursorXcFileLoadAllImages (XcursorFile *file); + +XcursorBool +XcursorXcFileLoad (XcursorFile *file, + XcursorComments **commentsp, + XcursorImages **imagesp); + +XcursorBool +XcursorXcFileSave (XcursorFile *file, + const XcursorComments *comments, + const XcursorImages *images); + +/* + * FILE/Image APIs + */ +XcursorImage * +XcursorFileLoadImage (FILE *file, int size); + +XcursorImages * +XcursorFileLoadImages (FILE *file, int size); + +XcursorImages * +XcursorFileLoadAllImages (FILE *file); + +XcursorBool +XcursorFileLoad (FILE *file, + XcursorComments **commentsp, + XcursorImages **imagesp); + +XcursorBool +XcursorFileSaveImages (FILE *file, const XcursorImages *images); + +XcursorBool +XcursorFileSave (FILE * file, + const XcursorComments *comments, + const XcursorImages *images); + +/* + * Filename/Image APIs + */ +XcursorImage * +XcursorFilenameLoadImage (const char *filename, int size); + +XcursorImages * +XcursorFilenameLoadImages (const char *filename, int size); + +XcursorImages * +XcursorFilenameLoadAllImages (const char *filename); + +XcursorBool +XcursorFilenameLoad (const char *file, + XcursorComments **commentsp, + XcursorImages **imagesp); + +XcursorBool +XcursorFilenameSaveImages (const char *filename, const XcursorImages *images); + +XcursorBool +XcursorFilenameSave (const char *file, + const XcursorComments *comments, + const XcursorImages *images); + +/* + * Library/Image APIs + */ +XcursorImage * +XcursorLibraryLoadImage (const char *library, const char *theme, int size); + +XcursorImages * +XcursorLibraryLoadImages (const char *library, const char *theme, int size); + +/* + * Library/shape API + */ + +const char * +XcursorLibraryPath (void); + +int +XcursorLibraryShape (const char *library); + +/* + * Image/Cursor APIs + */ + +Cursor +XcursorImageLoadCursor (Display *dpy, const XcursorImage *image); + +XcursorCursors * +XcursorImagesLoadCursors (Display *dpy, const XcursorImages *images); + +Cursor +XcursorImagesLoadCursor (Display *dpy, const XcursorImages *images); + +/* + * Filename/Cursor APIs + */ +Cursor +XcursorFilenameLoadCursor (Display *dpy, const char *file); + +XcursorCursors * +XcursorFilenameLoadCursors (Display *dpy, const char *file); + +/* + * Library/Cursor APIs + */ +Cursor +XcursorLibraryLoadCursor (Display *dpy, const char *file); + +XcursorCursors * +XcursorLibraryLoadCursors (Display *dpy, const char *file); + +/* + * Shape/Image APIs + */ + +XcursorImage * +XcursorShapeLoadImage (unsigned int shape, const char *theme, int size); + +XcursorImages * +XcursorShapeLoadImages (unsigned int shape, const char *theme, int size); + +/* + * Shape/Cursor APIs + */ +Cursor +XcursorShapeLoadCursor (Display *dpy, unsigned int shape); + +XcursorCursors * +XcursorShapeLoadCursors (Display *dpy, unsigned int shape); + +/* + * This is the function called by Xlib when attempting to + * load cursors from XCreateGlyphCursor. The interface must + * not change as Xlib loads 'libXcursor.so' instead of + * a specific major version + */ +Cursor +XcursorTryShapeCursor (Display *dpy, + Font source_font, + Font mask_font, + unsigned int source_char, + unsigned int mask_char, + XColor _Xconst *foreground, + XColor _Xconst *background); + +void +XcursorNoticeCreateBitmap (Display *dpy, + Pixmap pid, + unsigned int width, + unsigned int height); + +void +XcursorNoticePutBitmap (Display *dpy, + Drawable draw, + XImage *image); + +Cursor +XcursorTryShapeBitmapCursor (Display *dpy, + Pixmap source, + Pixmap mask, + XColor *foreground, + XColor *background, + unsigned int x, + unsigned int y); + +#define XCURSOR_BITMAP_HASH_SIZE 16 + +void +XcursorImageHash (XImage *image, + unsigned char hash[XCURSOR_BITMAP_HASH_SIZE]); + +/* + * Display information APIs + */ +XcursorBool +XcursorSupportsARGB (Display *dpy); + +XcursorBool +XcursorSupportsAnim (Display *dpy); + +XcursorBool +XcursorSetDefaultSize (Display *dpy, int size); + +int +XcursorGetDefaultSize (Display *dpy); + +XcursorBool +XcursorSetTheme (Display *dpy, const char *theme); + +char * +XcursorGetTheme (Display *dpy); + +XcursorBool +XcursorGetThemeCore (Display *dpy); + +XcursorBool +XcursorSetThemeCore (Display *dpy, XcursorBool theme_core); + +_XFUNCPROTOEND + +#endif diff --git a/ThirdParty/X11/Include/X11/Xdefs.h b/ThirdParty/X11/Include/X11/Xdefs.h new file mode 100644 index 0000000..e25a208 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xdefs.h @@ -0,0 +1,108 @@ +/*********************************************************** + +Copyright (c) 1999 The XFree86 Project Inc. + +All Rights Reserved. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The XFree86 Project +Inc. shall not be used in advertising or otherwise to promote the +sale, use or other dealings in this Software without prior written +authorization from The XFree86 Project Inc.. + +*/ + +/** + ** Types definitions shared between server and clients + **/ + +#ifndef _XDEFS_H +#define _XDEFS_H + +#ifdef _XSERVER64 +#include <X11/Xmd.h> +#endif + +#ifndef _XTYPEDEF_ATOM +# define _XTYPEDEF_ATOM +# ifndef _XSERVER64 +typedef unsigned long Atom; +# else +typedef CARD32 Atom; +# endif +#endif + +#ifndef Bool +# ifndef _XTYPEDEF_BOOL +# define _XTYPEDEF_BOOL +typedef int Bool; +# endif +#endif + +#ifndef _XTYPEDEF_POINTER +# define _XTYPEDEF_POINTER +typedef void *pointer; +#endif + +#ifndef _XTYPEDEF_CLIENTPTR +typedef struct _Client *ClientPtr; +# define _XTYPEDEF_CLIENTPTR +#endif + +#ifndef _XTYPEDEF_XID +# define _XTYPEDEF_XID +# ifndef _XSERVER64 +typedef unsigned long XID; +# else +typedef CARD32 XID; +# endif +#endif + +#ifndef _XTYPEDEF_MASK +# define _XTYPEDEF_MASK +# ifndef _XSERVER64 +typedef unsigned long Mask; +# else +typedef CARD32 Mask; +# endif +#endif + +#ifndef _XTYPEDEF_FONTPTR +# define _XTYPEDEF_FONTPTR +typedef struct _Font *FontPtr; /* also in fonts/include/font.h */ +#endif + +#ifndef _XTYPEDEF_FONT +# define _XTYPEDEF_FONT +typedef XID Font; +#endif + +#ifndef _XTYPEDEF_FSID +# ifndef _XSERVER64 +typedef unsigned long FSID; +# else +typedef CARD32 FSID; +# endif +#endif + +typedef FSID AccContext; + +/* OS independent time value + XXX Should probably go in Xos.h */ +typedef struct timeval **OSTimePtr; + + +typedef void (* BlockHandlerProcPtr)(void * /* blockData */, + OSTimePtr /* pTimeout */, + void * /* pReadmask */); + +#endif diff --git a/ThirdParty/X11/Include/X11/Xdmcp.h b/ThirdParty/X11/Include/X11/Xdmcp.h new file mode 100644 index 0000000..0b531de --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xdmcp.h @@ -0,0 +1,181 @@ +/* + * Copyright 1989 Network Computing Devices, Inc., Mountain View, California. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose and without fee is hereby granted, provided + * that the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of N.C.D. not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. N.C.D. makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + */ + +#ifndef _XDMCP_H_ +#define _XDMCP_H_ + +#include <X11/Xmd.h> + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +#define XDM_PROTOCOL_VERSION 1 +#define XDM_UDP_PORT 177 + +/* IANA has assigned FF0X:0:0:0:0:0:0:12B as the permanently assigned + * multicast addresses for XDMCP, where X in the prefix may be replaced + * by any valid scope identifier, such as 1 for Node-Local, 2 for Link-Local, + * 5 for Site-Local, and so on. We set the default here to the Link-Local + * version to most closely match the old IPv4 subnet broadcast behavior. + * Both xdm and X -query allow specifying a different address if a different + * scope is defined. + */ +#define XDM_DEFAULT_MCAST_ADDR6 "ff02:0:0:0:0:0:0:12b" + +#define XDM_MAX_MSGLEN 8192 +#define XDM_MIN_RTX 2 +#define XDM_MAX_RTX 32 +#define XDM_RTX_LIMIT 7 +#define XDM_KA_RTX_LIMIT 4 +#define XDM_DEF_DORMANCY (3 * 60) /* 3 minutes */ +#define XDM_MAX_DORMANCY (24 * 60 * 60) /* 24 hours */ + +typedef enum { + BROADCAST_QUERY = 1, QUERY, INDIRECT_QUERY, FORWARD_QUERY, + WILLING, UNWILLING, REQUEST, ACCEPT, DECLINE, MANAGE, REFUSE, + FAILED, KEEPALIVE, ALIVE +} xdmOpCode; + +typedef enum { + XDM_QUERY, XDM_BROADCAST, XDM_INDIRECT, XDM_COLLECT_QUERY, + XDM_COLLECT_BROADCAST_QUERY, XDM_COLLECT_INDIRECT_QUERY, + XDM_START_CONNECTION, XDM_AWAIT_REQUEST_RESPONSE, + XDM_AWAIT_MANAGE_RESPONSE, XDM_MANAGE, XDM_RUN_SESSION, XDM_OFF, + XDM_AWAIT_USER_INPUT, XDM_KEEPALIVE, XDM_AWAIT_ALIVE_RESPONSE, +#if defined(IPv6) && defined(AF_INET6) + XDM_MULTICAST, XDM_COLLECT_MULTICAST_QUERY, +#endif + XDM_KEEP_ME_LAST +} xdmcp_states; + +#ifdef NOTDEF +/* table of hosts */ + +#define XDM_MAX_STR_LEN 21 +#define XDM_MAX_HOSTS 20 +struct xdm_host_table { + struct sockaddr_in sockaddr; + char name[XDM_MAX_STR_LEN]; + char status[XDM_MAX_STR_LEN]; +}; +#endif /* NOTDEF */ + +typedef CARD8 *CARD8Ptr; +typedef CARD16 *CARD16Ptr; +typedef CARD32 *CARD32Ptr; + +typedef struct _ARRAY8 { + CARD16 length; + CARD8Ptr data; +} ARRAY8, *ARRAY8Ptr; + +typedef struct _ARRAY16 { + CARD8 length; + CARD16Ptr data; +} ARRAY16, *ARRAY16Ptr; + +typedef struct _ARRAY32 { + CARD8 length; + CARD32Ptr data; +} ARRAY32, *ARRAY32Ptr; + +typedef struct _ARRAYofARRAY8 { + CARD8 length; + ARRAY8Ptr data; +} ARRAYofARRAY8, *ARRAYofARRAY8Ptr; + +typedef struct _XdmcpHeader { + CARD16 version, opcode, length; +} XdmcpHeader, *XdmcpHeaderPtr; + +typedef struct _XdmcpBuffer { + BYTE *data; + int size; /* size of buffer pointed by to data */ + int pointer; /* current index into data */ + int count; /* bytes read from network into data */ +} XdmcpBuffer, *XdmcpBufferPtr; + +typedef struct _XdmAuthKey { + BYTE data[8]; +} XdmAuthKeyRec, *XdmAuthKeyPtr; + + +/* implementation-independent network address structure. + Equiv to sockaddr* for sockets. */ + +typedef char *XdmcpNetaddr; + +extern int XdmcpWriteARRAY16(XdmcpBufferPtr buffer, const ARRAY16Ptr array); +extern int XdmcpWriteARRAY32(XdmcpBufferPtr buffer, const ARRAY32Ptr array); +extern int XdmcpWriteARRAY8(XdmcpBufferPtr buffer, const ARRAY8Ptr array); +extern int XdmcpWriteARRAYofARRAY8(XdmcpBufferPtr buffer, const ARRAYofARRAY8Ptr array); +extern int XdmcpWriteCARD16(XdmcpBufferPtr buffer, unsigned value); +extern int XdmcpWriteCARD32(XdmcpBufferPtr buffer, unsigned value); +extern int XdmcpWriteCARD8(XdmcpBufferPtr buffer, unsigned value); +extern int XdmcpWriteHeader(XdmcpBufferPtr buffer, const XdmcpHeaderPtr header); + +extern int XdmcpFlush(int fd, XdmcpBufferPtr buffer, XdmcpNetaddr to, int tolen); + +extern int XdmcpReadARRAY16(XdmcpBufferPtr buffer, ARRAY16Ptr array); +extern int XdmcpReadARRAY32(XdmcpBufferPtr buffer, ARRAY32Ptr array); +extern int XdmcpReadARRAY8(XdmcpBufferPtr buffer, ARRAY8Ptr array); +extern int XdmcpReadARRAYofARRAY8(XdmcpBufferPtr buffer, ARRAYofARRAY8Ptr array); +extern int XdmcpReadCARD16(XdmcpBufferPtr buffer, CARD16Ptr valuep); +extern int XdmcpReadCARD32(XdmcpBufferPtr buffer, CARD32Ptr valuep); +extern int XdmcpReadCARD8(XdmcpBufferPtr buffer, CARD8Ptr valuep); +extern int XdmcpReadHeader(XdmcpBufferPtr buffer, XdmcpHeaderPtr header); + +extern int XdmcpFill(int fd, XdmcpBufferPtr buffer, XdmcpNetaddr from, int *fromlen); + +extern int XdmcpReadRemaining(const XdmcpBufferPtr buffer); + +extern void XdmcpDisposeARRAY8(ARRAY8Ptr array); +extern void XdmcpDisposeARRAY16(ARRAY16Ptr array); +extern void XdmcpDisposeARRAY32(ARRAY32Ptr array); +extern void XdmcpDisposeARRAYofARRAY8(ARRAYofARRAY8Ptr array); + +extern int XdmcpCopyARRAY8(const ARRAY8Ptr src, ARRAY8Ptr dst); + +extern int XdmcpARRAY8Equal(const ARRAY8Ptr array1, const ARRAY8Ptr array2); + +extern void XdmcpGenerateKey (XdmAuthKeyPtr key); +extern void XdmcpIncrementKey (XdmAuthKeyPtr key); +extern void XdmcpDecrementKey (XdmAuthKeyPtr key); +#ifdef HASXDMAUTH +extern void XdmcpWrap(unsigned char *input, unsigned char *wrapper, unsigned char *output, int bytes); +extern void XdmcpUnwrap(unsigned char *input, unsigned char *wrapper, unsigned char *output, int bytes); +#endif + +#ifndef TRUE +#define TRUE 1 +#define FALSE 0 +#endif + +extern int XdmcpCompareKeys (const XdmAuthKeyPtr a, const XdmAuthKeyPtr b); + +extern int XdmcpAllocARRAY16 (ARRAY16Ptr array, int length); +extern int XdmcpAllocARRAY32 (ARRAY32Ptr array, int length); +extern int XdmcpAllocARRAY8 (ARRAY8Ptr array, int length); +extern int XdmcpAllocARRAYofARRAY8 (ARRAYofARRAY8Ptr array, int length); + +extern int XdmcpReallocARRAY16 (ARRAY16Ptr array, int length); +extern int XdmcpReallocARRAY32 (ARRAY32Ptr array, int length); +extern int XdmcpReallocARRAY8 (ARRAY8Ptr array, int length); +extern int XdmcpReallocARRAYofARRAY8 (ARRAYofARRAY8Ptr array, int length); + +_XFUNCPROTOEND + +#endif /* _XDMCP_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xft/Xft.h b/ThirdParty/X11/Include/X11/Xft/Xft.h new file mode 100644 index 0000000..3009493 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xft/Xft.h @@ -0,0 +1,618 @@ +/* include/X11/Xft/Xft.h. Generated from Xft.h.in by configure. */ +/* + * Copyright © 2000 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _XFT_H_ +#define _XFT_H_ + +/* + * Current Xft version number, set from version in the Xft configure.ac file. + */ +/* #undef will be substituted by configure */ +#define XFT_MAJOR 2 +#define XFT_MINOR 3 +#define XFT_REVISION 2 + +#define XFT_VERSION ((XFT_MAJOR * 10000) + (XFT_MINOR * 100) + (XFT_REVISION)) +#define XftVersion XFT_VERSION + +#include <stdarg.h> +#include <ft2build.h> +#include FT_FREETYPE_H +#include <fontconfig/fontconfig.h> +#include <X11/extensions/Xrender.h> + +#include <X11/Xfuncproto.h> +/* #include <X11/Xosdefs.h>*/ +#ifndef _X_SENTINEL +# define _X_SENTINEL(x) +#endif + +#ifndef _XFT_NO_COMPAT_ +#include <X11/Xft/XftCompat.h> +#endif + +#define XFT_CORE "core" +#define XFT_RENDER "render" +#define XFT_XLFD "xlfd" +#define XFT_MAX_GLYPH_MEMORY "maxglyphmemory" +#define XFT_MAX_UNREF_FONTS "maxunreffonts" + +extern FT_Library _XftFTlibrary; + +typedef struct _XftFontInfo XftFontInfo; + +typedef struct _XftFont { + int ascent; + int descent; + int height; + int max_advance_width; + FcCharSet *charset; + FcPattern *pattern; +} XftFont; + +typedef struct _XftDraw XftDraw; + +typedef struct _XftColor { + unsigned long pixel; + XRenderColor color; +} XftColor; + +typedef struct _XftCharSpec { + FcChar32 ucs4; + short x; + short y; +} XftCharSpec; + +typedef struct _XftCharFontSpec { + XftFont *font; + FcChar32 ucs4; + short x; + short y; +} XftCharFontSpec; + +typedef struct _XftGlyphSpec { + FT_UInt glyph; + short x; + short y; +} XftGlyphSpec; + +typedef struct _XftGlyphFontSpec { + XftFont *font; + FT_UInt glyph; + short x; + short y; +} XftGlyphFontSpec; + +_XFUNCPROTOBEGIN + + +/* xftcolor.c */ +Bool +XftColorAllocName (Display *dpy, + _Xconst Visual *visual, + Colormap cmap, + _Xconst char *name, + XftColor *result); + +Bool +XftColorAllocValue (Display *dpy, + Visual *visual, + Colormap cmap, + _Xconst XRenderColor *color, + XftColor *result); + +void +XftColorFree (Display *dpy, + Visual *visual, + Colormap cmap, + XftColor *color); + +/* xftdpy.c */ +Bool +XftDefaultHasRender (Display *dpy); + +Bool +XftDefaultSet (Display *dpy, FcPattern *defaults); + +void +XftDefaultSubstitute (Display *dpy, int screen, FcPattern *pattern); + +/* xftdraw.c */ + +XftDraw * +XftDrawCreate (Display *dpy, + Drawable drawable, + Visual *visual, + Colormap colormap); + +XftDraw * +XftDrawCreateBitmap (Display *dpy, + Pixmap bitmap); + +XftDraw * +XftDrawCreateAlpha (Display *dpy, + Pixmap pixmap, + int depth); + +void +XftDrawChange (XftDraw *draw, + Drawable drawable); + +Display * +XftDrawDisplay (XftDraw *draw); + +Drawable +XftDrawDrawable (XftDraw *draw); + +Colormap +XftDrawColormap (XftDraw *draw); + +Visual * +XftDrawVisual (XftDraw *draw); + +void +XftDrawDestroy (XftDraw *draw); + +Picture +XftDrawPicture (XftDraw *draw); + +Picture +XftDrawSrcPicture (XftDraw *draw, _Xconst XftColor *color); + +void +XftDrawGlyphs (XftDraw *draw, + _Xconst XftColor *color, + XftFont *pub, + int x, + int y, + _Xconst FT_UInt *glyphs, + int nglyphs); + +void +XftDrawString8 (XftDraw *draw, + _Xconst XftColor *color, + XftFont *pub, + int x, + int y, + _Xconst FcChar8 *string, + int len); + +void +XftDrawString16 (XftDraw *draw, + _Xconst XftColor *color, + XftFont *pub, + int x, + int y, + _Xconst FcChar16 *string, + int len); + +void +XftDrawString32 (XftDraw *draw, + _Xconst XftColor *color, + XftFont *pub, + int x, + int y, + _Xconst FcChar32 *string, + int len); + +void +XftDrawStringUtf8 (XftDraw *draw, + _Xconst XftColor *color, + XftFont *pub, + int x, + int y, + _Xconst FcChar8 *string, + int len); + +void +XftDrawStringUtf16 (XftDraw *draw, + _Xconst XftColor *color, + XftFont *pub, + int x, + int y, + _Xconst FcChar8 *string, + FcEndian endian, + int len); + +void +XftDrawCharSpec (XftDraw *draw, + _Xconst XftColor *color, + XftFont *pub, + _Xconst XftCharSpec *chars, + int len); + +void +XftDrawCharFontSpec (XftDraw *draw, + _Xconst XftColor *color, + _Xconst XftCharFontSpec *chars, + int len); + +void +XftDrawGlyphSpec (XftDraw *draw, + _Xconst XftColor *color, + XftFont *pub, + _Xconst XftGlyphSpec *glyphs, + int len); + +void +XftDrawGlyphFontSpec (XftDraw *draw, + _Xconst XftColor *color, + _Xconst XftGlyphFontSpec *glyphs, + int len); + +void +XftDrawRect (XftDraw *draw, + _Xconst XftColor *color, + int x, + int y, + unsigned int width, + unsigned int height); + + +Bool +XftDrawSetClip (XftDraw *draw, + Region r); + + +Bool +XftDrawSetClipRectangles (XftDraw *draw, + int xOrigin, + int yOrigin, + _Xconst XRectangle *rects, + int n); + +void +XftDrawSetSubwindowMode (XftDraw *draw, + int mode); + +/* xftextent.c */ + +void +XftGlyphExtents (Display *dpy, + XftFont *pub, + _Xconst FT_UInt *glyphs, + int nglyphs, + XGlyphInfo *extents); + +void +XftTextExtents8 (Display *dpy, + XftFont *pub, + _Xconst FcChar8 *string, + int len, + XGlyphInfo *extents); + +void +XftTextExtents16 (Display *dpy, + XftFont *pub, + _Xconst FcChar16 *string, + int len, + XGlyphInfo *extents); + +void +XftTextExtents32 (Display *dpy, + XftFont *pub, + _Xconst FcChar32 *string, + int len, + XGlyphInfo *extents); + +void +XftTextExtentsUtf8 (Display *dpy, + XftFont *pub, + _Xconst FcChar8 *string, + int len, + XGlyphInfo *extents); + +void +XftTextExtentsUtf16 (Display *dpy, + XftFont *pub, + _Xconst FcChar8 *string, + FcEndian endian, + int len, + XGlyphInfo *extents); + +/* xftfont.c */ +FcPattern * +XftFontMatch (Display *dpy, + int screen, + _Xconst FcPattern *pattern, + FcResult *result); + +XftFont * +XftFontOpen (Display *dpy, int screen, ...) _X_SENTINEL(0); + +XftFont * +XftFontOpenName (Display *dpy, int screen, _Xconst char *name); + +XftFont * +XftFontOpenXlfd (Display *dpy, int screen, _Xconst char *xlfd); + +/* xftfreetype.c */ + +FT_Face +XftLockFace (XftFont *pub); + +void +XftUnlockFace (XftFont *pub); + +XftFontInfo * +XftFontInfoCreate (Display *dpy, _Xconst FcPattern *pattern); + +void +XftFontInfoDestroy (Display *dpy, XftFontInfo *fi); + +FcChar32 +XftFontInfoHash (_Xconst XftFontInfo *fi); + +FcBool +XftFontInfoEqual (_Xconst XftFontInfo *a, _Xconst XftFontInfo *b); + +XftFont * +XftFontOpenInfo (Display *dpy, + FcPattern *pattern, + XftFontInfo *fi); + +XftFont * +XftFontOpenPattern (Display *dpy, FcPattern *pattern); + +XftFont * +XftFontCopy (Display *dpy, XftFont *pub); + +void +XftFontClose (Display *dpy, XftFont *pub); + +FcBool +XftInitFtLibrary(void); + +/* xftglyphs.c */ +void +XftFontLoadGlyphs (Display *dpy, + XftFont *pub, + FcBool need_bitmaps, + _Xconst FT_UInt *glyphs, + int nglyph); + +void +XftFontUnloadGlyphs (Display *dpy, + XftFont *pub, + _Xconst FT_UInt *glyphs, + int nglyph); + +#define XFT_NMISSING 256 + +FcBool +XftFontCheckGlyph (Display *dpy, + XftFont *pub, + FcBool need_bitmaps, + FT_UInt glyph, + FT_UInt *missing, + int *nmissing); + +FcBool +XftCharExists (Display *dpy, + XftFont *pub, + FcChar32 ucs4); + +FT_UInt +XftCharIndex (Display *dpy, + XftFont *pub, + FcChar32 ucs4); + +/* xftinit.c */ +FcBool +XftInit (_Xconst char *config); + +int +XftGetVersion (void); + +/* xftlist.c */ + +FcFontSet * +XftListFonts (Display *dpy, + int screen, + ...) _X_SENTINEL(0); + +/* xftname.c */ +FcPattern +*XftNameParse (_Xconst char *name); + +/* xftrender.c */ +void +XftGlyphRender (Display *dpy, + int op, + Picture src, + XftFont *pub, + Picture dst, + int srcx, + int srcy, + int x, + int y, + _Xconst FT_UInt *glyphs, + int nglyphs); + +void +XftGlyphSpecRender (Display *dpy, + int op, + Picture src, + XftFont *pub, + Picture dst, + int srcx, + int srcy, + _Xconst XftGlyphSpec *glyphs, + int nglyphs); + +void +XftCharSpecRender (Display *dpy, + int op, + Picture src, + XftFont *pub, + Picture dst, + int srcx, + int srcy, + _Xconst XftCharSpec *chars, + int len); + +void +XftGlyphFontSpecRender (Display *dpy, + int op, + Picture src, + Picture dst, + int srcx, + int srcy, + _Xconst XftGlyphFontSpec *glyphs, + int nglyphs); + +void +XftCharFontSpecRender (Display *dpy, + int op, + Picture src, + Picture dst, + int srcx, + int srcy, + _Xconst XftCharFontSpec *chars, + int len); + +void +XftTextRender8 (Display *dpy, + int op, + Picture src, + XftFont *pub, + Picture dst, + int srcx, + int srcy, + int x, + int y, + _Xconst FcChar8 *string, + int len); + +void +XftTextRender16 (Display *dpy, + int op, + Picture src, + XftFont *pub, + Picture dst, + int srcx, + int srcy, + int x, + int y, + _Xconst FcChar16 *string, + int len); + +void +XftTextRender16BE (Display *dpy, + int op, + Picture src, + XftFont *pub, + Picture dst, + int srcx, + int srcy, + int x, + int y, + _Xconst FcChar8 *string, + int len); + +void +XftTextRender16LE (Display *dpy, + int op, + Picture src, + XftFont *pub, + Picture dst, + int srcx, + int srcy, + int x, + int y, + _Xconst FcChar8 *string, + int len); + +void +XftTextRender32 (Display *dpy, + int op, + Picture src, + XftFont *pub, + Picture dst, + int srcx, + int srcy, + int x, + int y, + _Xconst FcChar32 *string, + int len); + +void +XftTextRender32BE (Display *dpy, + int op, + Picture src, + XftFont *pub, + Picture dst, + int srcx, + int srcy, + int x, + int y, + _Xconst FcChar8 *string, + int len); + +void +XftTextRender32LE (Display *dpy, + int op, + Picture src, + XftFont *pub, + Picture dst, + int srcx, + int srcy, + int x, + int y, + _Xconst FcChar8 *string, + int len); + +void +XftTextRenderUtf8 (Display *dpy, + int op, + Picture src, + XftFont *pub, + Picture dst, + int srcx, + int srcy, + int x, + int y, + _Xconst FcChar8 *string, + int len); + +void +XftTextRenderUtf16 (Display *dpy, + int op, + Picture src, + XftFont *pub, + Picture dst, + int srcx, + int srcy, + int x, + int y, + _Xconst FcChar8 *string, + FcEndian endian, + int len); + +/* xftxlfd.c */ +FcPattern * +XftXlfdParse (_Xconst char *xlfd_orig, Bool ignore_scalable, Bool complete); + +_XFUNCPROTOEND + +#endif /* _XFT_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xft/XftCompat.h b/ThirdParty/X11/Include/X11/Xft/XftCompat.h new file mode 100644 index 0000000..0fced03 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xft/XftCompat.h @@ -0,0 +1,163 @@ +/* + * Copyright © 2001 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _XFTCOMPAT_H_ +#define _XFTCOMPAT_H_ +#include <X11/Xfuncproto.h> + +/* + * Compatibility definitions -- map Fc names to Xft names + */ + +typedef FcChar8 XftChar8; +typedef FcChar16 XftChar16; +typedef FcChar32 XftChar32; + +#define XFT_FAMILY FC_FAMILY +#define XFT_STYLE FC_STYLE +#define XFT_SLANT FC_SLANT +#define XFT_WEIGHT FC_WEIGHT +#define XFT_SIZE FC_SIZE +#define XFT_PIXEL_SIZE FC_PIXEL_SIZE +#define XFT_SPACING FC_SPACING +#define XFT_FOUNDRY FC_FOUNDRY +#define XFT_ANTIALIAS FC_ANTIALIAS +#define XFT_FILE FC_FILE +#define XFT_INDEX FC_INDEX +#define XFT_RASTERIZER FC_RASTERIZER +#define XFT_OUTLINE FC_OUTLINE +#define XFT_SCALABLE FC_SCALABLE +#define XFT_RGBA FC_RGBA + +/* defaults from resources */ +#define XFT_SCALE FC_SCALE +#define XFT_MINSPACE FC_MINSPACE +#define XFT_DPI FC_DPI + +/* specific to FreeType rasterizer */ +#define XFT_CHAR_WIDTH FC_CHAR_WIDTH +#define XFT_CHAR_HEIGHT FC_CHAR_HEIGHT +#define XFT_MATRIX FC_MATRIX + +#define XFT_WEIGHT_LIGHT FC_WEIGHT_LIGHT +#define XFT_WEIGHT_MEDIUM FC_WEIGHT_MEDIUM +#define XFT_WEIGHT_DEMIBOLD FC_WEIGHT_DEMIBOLD +#define XFT_WEIGHT_BOLD FC_WEIGHT_BOLD +#define XFT_WEIGHT_BLACK FC_WEIGHT_BLACK + +#define XFT_SLANT_ROMAN FC_SLANT_ROMAN +#define XFT_SLANT_ITALIC FC_SLANT_ITALIC +#define XFT_SLANT_OBLIQUE FC_SLANT_OBLIQUE + +#define XFT_PROPORTIONAL FC_PROPORTIONAL +#define XFT_MONO FC_MONO +#define XFT_CHARCELL FC_CHARCELL + +#define XFT_RGBA_UNKNOWN FC_RGBA_UNKNOWN +#define XFT_RGBA_RGB FC_RGBA_RGB +#define XFT_RGBA_BGR FC_RGBA_BGR +#define XFT_RGBA_VRGB FC_RGBA_VRGB +#define XFT_RGBA_VBGR FC_RGBA_VBGR +#define XFT_RGBA_NONE FC_RGBA_NONE + +/* + * Old constants + */ +#define XFT_ENCODING "encoding" + +typedef FcType XftType; + +typedef FcMatrix XftMatrix; + +#define XftMatrixInit(m) FcMatrixInit(m) + +typedef FcResult XftResult; + +#define XftResultMatch FcResultMatch +#define XftResultNoMatch FcResultNoMatch +#define XftResultTypeMismatch FcResultTypeMismatch +#define XftResultNoId FcResultNoId + +typedef FcValue XftValue; +typedef FcPattern XftPattern; +typedef FcFontSet XftFontSet; +typedef FcObjectSet XftObjectSet; + +#define XftGlyphExists XftCharExists + +#define XftObjectSetCreate FcObjectSetCreate +#define XftObjectSetAdd FcObjectSetAdd +#define XftObjectSetDestroy FcObjectSetDestroy +#define XftObjectSetVaBuild FcObjectSetVaBuild +#define XftObjectSetBuild FcObjectSetBuild + +#define XftFontSetMatch FcFontSetMatch +#define XftFontSetDestroy FcFontSetDestroy + +#define XftMatrixEqual FcMatrixEqual +#define XftMatrixMultiply FcMatrixMultiply +#define XftMatrixRotate FcMatrixRotate +#define XftMatrixScale FcMatrixScale +#define XftMatrixShear FcMatrixShear + +#define XftPatternCreate FcPatternCreate +#define XftPatternDuplicate FcPatternDuplicate +#define XftValueDestroy FcValueDestroy +#define XftValueListDestroy FcValueListDestroy +#define XftPatternDestroy FcPatternDestroy +#define XftPatternFind FcPatternFind +#define XftPatternAdd FcPatternAdd +#define XftPatternGet FcPatternGet +#define XftPatternDel FcPatternDel +#define XftPatternAddInteger FcPatternAddInteger +#define XftPatternAddDouble FcPatternAddDouble +#define XftPatternAddString(p,e,s) FcPatternAddString(p,e,(FcChar8 *)(s)) +#define XftPatternAddMatrix FcPatternAddMatrix +#define XftPatternAddBool FcPatternAddBool +#define XftPatternGetInteger FcPatternGetInteger +#define XftPatternGetDouble FcPatternGetDouble +#define XftPatternGetString(p,e,i,n) FcPatternGetString(p,e,i,(FcChar8 **) (n)) +#define XftPatternGetMatrix FcPatternGetMatrix +#define XftPatternGetBool FcPatternGetBool +#define XftPatternVaBuild FcPatternVaBuild +#define XftPatternBuild FcPatternBuild + +#define XftUtf8ToUcs4 FcUtf8ToUcs4 +#define XftUtf8Len FcUtf8Len + +#define XftTypeVoid FcTypeVoid +#define XftTypeInteger FcTypeInteger +#define XftTypeDouble FcTypeDouble +#define XftTypeString FcTypeString +#define XftTypeBool FcTypeBool +#define XftTypeMatrix FcTypeMatrix + +#define XftConfigSubstitute(p) FcConfigSubstitute (0, p, FcMatchPattern) + +_XFUNCPROTOBEGIN + +FcBool +XftNameUnparse (XftPattern *pat, char *dest, int len); + +_XFUNCPROTOEND + +#endif /* _XFTCOMPAT_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xfuncproto.h b/ThirdParty/X11/Include/X11/Xfuncproto.h new file mode 100644 index 0000000..61fa8fa --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xfuncproto.h @@ -0,0 +1,221 @@ +/* Xfuncproto.h. Generated from Xfuncproto.h.in by configure. */ +/* + * +Copyright 1989, 1991, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + * + */ + +/* Definitions to make function prototypes manageable */ + +#ifndef _XFUNCPROTO_H_ +#define _XFUNCPROTO_H_ + +#ifndef NeedFunctionPrototypes +#define NeedFunctionPrototypes 1 +#endif /* NeedFunctionPrototypes */ + +#ifndef NeedVarargsPrototypes +#define NeedVarargsPrototypes 1 +#endif /* NeedVarargsPrototypes */ + +#if NeedFunctionPrototypes + +#ifndef NeedNestedPrototypes +#define NeedNestedPrototypes 1 +#endif /* NeedNestedPrototypes */ + +#ifndef _Xconst +#define _Xconst const +#endif /* _Xconst */ + +/* Function prototype configuration (see configure for more info) */ +#ifndef NARROWPROTO +#define NARROWPROTO /**/ +#endif +#ifndef FUNCPROTO +#define FUNCPROTO 15 +#endif + +#ifndef NeedWidePrototypes +#ifdef NARROWPROTO +#define NeedWidePrototypes 0 +#else +#define NeedWidePrototypes 1 /* default to make interropt. easier */ +#endif +#endif /* NeedWidePrototypes */ + +#endif /* NeedFunctionPrototypes */ + +#ifndef _XFUNCPROTOBEGIN +#if defined(__cplusplus) || defined(c_plusplus) /* for C++ V2.0 */ +#define _XFUNCPROTOBEGIN extern "C" { /* do not leave open across includes */ +#define _XFUNCPROTOEND } +#else +#define _XFUNCPROTOBEGIN +#define _XFUNCPROTOEND +#endif +#endif /* _XFUNCPROTOBEGIN */ + +/* http://clang.llvm.org/docs/LanguageExtensions.html#has-attribute */ +#ifndef __has_attribute +# define __has_attribute(x) 0 /* Compatibility with non-clang compilers. */ +#endif +#ifndef __has_feature +# define __has_feature(x) 0 /* Compatibility with non-clang compilers. */ +#endif +#ifndef __has_extension +# define __has_extension(x) 0 /* Compatibility with non-clang compilers. */ +#endif + +/* Added in X11R6.9, so available in any version of modular xproto */ +#if __has_attribute(__sentinel__) || (defined(__GNUC__) && (__GNUC__ >= 4)) +# define _X_SENTINEL(x) __attribute__ ((__sentinel__(x))) +#else +# define _X_SENTINEL(x) +#endif /* GNUC >= 4 */ + +/* Added in X11R6.9, so available in any version of modular xproto */ +#if (__has_attribute(visibility) || (defined(__GNUC__) && (__GNUC__ >= 4))) \ + && !defined(__CYGWIN__) && !defined(__MINGW32__) +# define _X_EXPORT __attribute__((visibility("default"))) +# define _X_HIDDEN __attribute__((visibility("hidden"))) +# define _X_INTERNAL __attribute__((visibility("internal"))) +#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) +# define _X_EXPORT __global +# define _X_HIDDEN __hidden +# define _X_INTERNAL __hidden +#else /* not gcc >= 4 and not Sun Studio >= 8 */ +# define _X_EXPORT +# define _X_HIDDEN +# define _X_INTERNAL +#endif /* GNUC >= 4 */ + +/* Branch prediction hints for individual conditionals */ +/* requires xproto >= 7.0.9 */ +#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 303) +# define _X_LIKELY(x) __builtin_expect(!!(x), 1) +# define _X_UNLIKELY(x) __builtin_expect(!!(x), 0) +#else /* not gcc >= 3.3 */ +# define _X_LIKELY(x) (x) +# define _X_UNLIKELY(x) (x) +#endif + +/* Bulk branch prediction hints via marking error path functions as "cold" */ +/* requires xproto >= 7.0.25 */ +#if __has_attribute(__cold__) || \ + (defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 403)) /* 4.3+ */ +# define _X_COLD __attribute__((__cold__)) +#else +# define _X_COLD /* nothing */ +#endif + +/* Added in X11R6.9, so available in any version of modular xproto */ +#if __has_attribute(deprecated) \ + || (defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 301)) \ + || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x5130)) +# define _X_DEPRECATED __attribute__((deprecated)) +#else /* not gcc >= 3.1 */ +# define _X_DEPRECATED +#endif + +/* requires xproto >= 7.0.30 */ +#if __has_extension(attribute_deprecated_with_message) || \ + (defined(__GNUC__) && ((__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)))) +# define _X_DEPRECATED_MSG(_msg) __attribute__((deprecated(_msg))) +#else +# define _X_DEPRECATED_MSG(_msg) _X_DEPRECATED +#endif + +/* requires xproto >= 7.0.17 */ +#if __has_attribute(noreturn) \ + || (defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 205)) \ + || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) +# define _X_NORETURN __attribute((noreturn)) +#else +# define _X_NORETURN +#endif /* GNUC */ + +/* Added in X11R6.9, so available in any version of modular xproto */ +#if __has_attribute(__format__) \ + || defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 203) +# define _X_ATTRIBUTE_PRINTF(x,y) __attribute__((__format__(__printf__,x,y))) +#else /* not gcc >= 2.3 */ +# define _X_ATTRIBUTE_PRINTF(x,y) +#endif + +/* requires xproto >= 7.0.22 - since this uses either gcc or C99 variable + argument macros, must be only used inside #ifdef _X_NONNULL guards, as + many legacy X clients are compiled in C89 mode still. */ +#if __has_attribute(nonnull) \ + && defined(__STDC_VERSION__) && (__STDC_VERSION__ - 0 >= 199901L) /* C99 */ +#define _X_NONNULL(...) __attribute__((nonnull(__VA_ARGS__))) +#elif __has_attribute(nonnull) \ + || defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 303) +#define _X_NONNULL(args...) __attribute__((nonnull(args))) +#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ - 0 >= 199901L) /* C99 */ +#define _X_NONNULL(...) /* */ +#endif + +/* requires xproto >= 7.0.22 */ +#if __has_attribute(__unused__) \ + || defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 205) +#define _X_UNUSED __attribute__((__unused__)) +#else +#define _X_UNUSED /* */ +#endif + +/* C99 keyword "inline" or equivalent extensions in pre-C99 compilers */ +/* requires xproto >= 7.0.9 + (introduced in 7.0.8 but didn't support all compilers until 7.0.9) */ +#if defined(inline) /* assume autoconf set it correctly */ || \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ - 0 >= 199901L)) /* C99 */ || \ + (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)) +# define _X_INLINE inline +#elif defined(__GNUC__) && !defined(__STRICT_ANSI__) /* gcc w/C89+extensions */ +# define _X_INLINE __inline__ +#else +# define _X_INLINE +#endif + +/* C99 keyword "restrict" or equivalent extensions in pre-C99 compilers */ +/* requires xproto >= 7.0.21 */ +#ifndef _X_RESTRICT_KYWD +# if defined(restrict) /* assume autoconf set it correctly */ || \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ - 0 >= 199901L) /* C99 */ \ + && !defined(__cplusplus)) /* Workaround g++ issue on Solaris */ +# define _X_RESTRICT_KYWD restrict +# elif defined(__GNUC__) && !defined(__STRICT_ANSI__) /* gcc w/C89+extensions */ +# define _X_RESTRICT_KYWD __restrict__ +# else +# define _X_RESTRICT_KYWD +# endif +#endif + +/* requires xproto >= 7.0.30 */ +#if __has_attribute(no_sanitize_thread) +# define _X_NOTSAN __attribute__((no_sanitize_thread)) +#else +# define _X_NOTSAN +#endif + +#endif /* _XFUNCPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xfuncs.h b/ThirdParty/X11/Include/X11/Xfuncs.h new file mode 100644 index 0000000..b7c4029 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xfuncs.h @@ -0,0 +1,69 @@ +/* + * +Copyright 1990, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + * + */ + +#ifndef _XFUNCS_H_ +# define _XFUNCS_H_ + +# include <X11/Xosdefs.h> + +/* the old Xfuncs.h, for pre-R6 */ +# if !(defined(XFree86LOADER) && defined(IN_MODULE)) + +# ifdef X_USEBFUNCS +void bcopy(); +void bzero(); +int bcmp(); +# else +# if defined(SYSV) && !defined(__SCO__) && !defined(__sun) && !defined(__UNIXWARE__) && !defined(_AIX) +# include <memory.h> +void bcopy(); +# define bzero(b,len) memset(b, 0, len) +# define bcmp(b1,b2,len) memcmp(b1, b2, len) +# else +# include <string.h> +# if defined(__SCO__) || defined(__sun) || defined(__UNIXWARE__) || defined(__CYGWIN__) || defined(_AIX) || defined(__APPLE__) +# include <strings.h> +# endif +# define _XFUNCS_H_INCLUDED_STRING_H +# endif +# endif /* X_USEBFUNCS */ + +/* the new Xfuncs.h */ + +/* the ANSI C way */ +# ifndef _XFUNCS_H_INCLUDED_STRING_H +# include <string.h> +# endif +# undef bzero +# define bzero(b,len) memset(b,0,len) + +# if defined WIN32 && defined __MINGW32__ +# define bcopy(b1,b2,len) memmove(b2, b1, (size_t)(len)) +# endif + +# endif /* !(defined(XFree86LOADER) && defined(IN_MODULE)) */ + +#endif /* _XFUNCS_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xlib-xcb.h b/ThirdParty/X11/Include/X11/Xlib-xcb.h new file mode 100644 index 0000000..a21e2be --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xlib-xcb.h @@ -0,0 +1,20 @@ +/* Copyright (C) 2003-2006 Jamey Sharp, Josh Triplett + * This file is licensed under the MIT license. See the file COPYING. */ + +#ifndef _X11_XLIB_XCB_H_ +#define _X11_XLIB_XCB_H_ + +#include <xcb/xcb.h> +#include <X11/Xlib.h> +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +xcb_connection_t *XGetXCBConnection(Display *dpy); + +enum XEventQueueOwner { XlibOwnsEventQueue = 0, XCBOwnsEventQueue }; +void XSetEventQueueOwner(Display *dpy, enum XEventQueueOwner owner); + +_XFUNCPROTOEND + +#endif /* _X11_XLIB_XCB_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xlib.h b/ThirdParty/X11/Include/X11/Xlib.h new file mode 100644 index 0000000..84403f7 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xlib.h @@ -0,0 +1,4015 @@ +/* + +Copyright 1985, 1986, 1987, 1991, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + + +/* + * Xlib.h - Header definition and support file for the C subroutine + * interface library (Xlib) to the X Window System Protocol (V11). + * Structures and symbols starting with "_" are private to the library. + */ +#ifndef _X11_XLIB_H_ +#define _X11_XLIB_H_ + +#define XlibSpecificationRelease 6 + +#include <sys/types.h> + +#if defined(__SCO__) || defined(__UNIXWARE__) +#include <stdint.h> +#endif + +#include <X11/X.h> + +/* applications should not depend on these two headers being included! */ +#include <X11/Xfuncproto.h> +#include <X11/Xosdefs.h> + +#ifndef X_WCHAR +#include <stddef.h> +#else +#ifdef __UNIXOS2__ +#include <stdlib.h> +#else +/* replace this with #include or typedef appropriate for your system */ +typedef unsigned long wchar_t; +#endif +#endif + + +extern int +_Xmblen( + char *str, + int len + ); + +/* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in + November 2000. Its presence is indicated through the following macro. */ +#define X_HAVE_UTF8_STRING 1 + +/* The Xlib structs are full of implicit padding to properly align members. + We can't clean that up without breaking ABI, so tell clang not to bother + complaining about it. */ +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wpadded" +#endif + +typedef char *XPointer; + +#define Bool int +#define Status int +#define True 1 +#define False 0 + +#define QueuedAlready 0 +#define QueuedAfterReading 1 +#define QueuedAfterFlush 2 + +#define ConnectionNumber(dpy) (((_XPrivDisplay)(dpy))->fd) +#define RootWindow(dpy, scr) (ScreenOfDisplay(dpy,scr)->root) +#define DefaultScreen(dpy) (((_XPrivDisplay)(dpy))->default_screen) +#define DefaultRootWindow(dpy) (ScreenOfDisplay(dpy,DefaultScreen(dpy))->root) +#define DefaultVisual(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_visual) +#define DefaultGC(dpy, scr) (ScreenOfDisplay(dpy,scr)->default_gc) +#define BlackPixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->black_pixel) +#define WhitePixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->white_pixel) +#define AllPlanes ((unsigned long)~0L) +#define QLength(dpy) (((_XPrivDisplay)(dpy))->qlen) +#define DisplayWidth(dpy, scr) (ScreenOfDisplay(dpy,scr)->width) +#define DisplayHeight(dpy, scr) (ScreenOfDisplay(dpy,scr)->height) +#define DisplayWidthMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mwidth) +#define DisplayHeightMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mheight) +#define DisplayPlanes(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth) +#define DisplayCells(dpy, scr) (DefaultVisual(dpy,scr)->map_entries) +#define ScreenCount(dpy) (((_XPrivDisplay)(dpy))->nscreens) +#define ServerVendor(dpy) (((_XPrivDisplay)(dpy))->vendor) +#define ProtocolVersion(dpy) (((_XPrivDisplay)(dpy))->proto_major_version) +#define ProtocolRevision(dpy) (((_XPrivDisplay)(dpy))->proto_minor_version) +#define VendorRelease(dpy) (((_XPrivDisplay)(dpy))->release) +#define DisplayString(dpy) (((_XPrivDisplay)(dpy))->display_name) +#define DefaultDepth(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth) +#define DefaultColormap(dpy, scr)(ScreenOfDisplay(dpy,scr)->cmap) +#define BitmapUnit(dpy) (((_XPrivDisplay)(dpy))->bitmap_unit) +#define BitmapBitOrder(dpy) (((_XPrivDisplay)(dpy))->bitmap_bit_order) +#define BitmapPad(dpy) (((_XPrivDisplay)(dpy))->bitmap_pad) +#define ImageByteOrder(dpy) (((_XPrivDisplay)(dpy))->byte_order) +#define NextRequest(dpy) (((_XPrivDisplay)(dpy))->request + 1) +#define LastKnownRequestProcessed(dpy) (((_XPrivDisplay)(dpy))->last_request_read) + +/* macros for screen oriented applications (toolkit) */ +#define ScreenOfDisplay(dpy, scr)(&((_XPrivDisplay)(dpy))->screens[scr]) +#define DefaultScreenOfDisplay(dpy) ScreenOfDisplay(dpy,DefaultScreen(dpy)) +#define DisplayOfScreen(s) ((s)->display) +#define RootWindowOfScreen(s) ((s)->root) +#define BlackPixelOfScreen(s) ((s)->black_pixel) +#define WhitePixelOfScreen(s) ((s)->white_pixel) +#define DefaultColormapOfScreen(s)((s)->cmap) +#define DefaultDepthOfScreen(s) ((s)->root_depth) +#define DefaultGCOfScreen(s) ((s)->default_gc) +#define DefaultVisualOfScreen(s)((s)->root_visual) +#define WidthOfScreen(s) ((s)->width) +#define HeightOfScreen(s) ((s)->height) +#define WidthMMOfScreen(s) ((s)->mwidth) +#define HeightMMOfScreen(s) ((s)->mheight) +#define PlanesOfScreen(s) ((s)->root_depth) +#define CellsOfScreen(s) (DefaultVisualOfScreen((s))->map_entries) +#define MinCmapsOfScreen(s) ((s)->min_maps) +#define MaxCmapsOfScreen(s) ((s)->max_maps) +#define DoesSaveUnders(s) ((s)->save_unders) +#define DoesBackingStore(s) ((s)->backing_store) +#define EventMaskOfScreen(s) ((s)->root_input_mask) + +/* + * Extensions need a way to hang private data on some structures. + */ +typedef struct _XExtData { + int number; /* number returned by XRegisterExtension */ + struct _XExtData *next; /* next item on list of data for structure */ + int (*free_private)( /* called to free private storage */ + struct _XExtData *extension + ); + XPointer private_data; /* data private to this extension. */ +} XExtData; + +/* + * This file contains structures used by the extension mechanism. + */ +typedef struct { /* public to extension, cannot be changed */ + int extension; /* extension number */ + int major_opcode; /* major op-code assigned by server */ + int first_event; /* first event number for the extension */ + int first_error; /* first error number for the extension */ +} XExtCodes; + +/* + * Data structure for retrieving info about pixmap formats. + */ + +typedef struct { + int depth; + int bits_per_pixel; + int scanline_pad; +} XPixmapFormatValues; + + +/* + * Data structure for setting graphics context. + */ +typedef struct { + int function; /* logical operation */ + unsigned long plane_mask;/* plane mask */ + unsigned long foreground;/* foreground pixel */ + unsigned long background;/* background pixel */ + int line_width; /* line width */ + int line_style; /* LineSolid, LineOnOffDash, LineDoubleDash */ + int cap_style; /* CapNotLast, CapButt, + CapRound, CapProjecting */ + int join_style; /* JoinMiter, JoinRound, JoinBevel */ + int fill_style; /* FillSolid, FillTiled, + FillStippled, FillOpaeueStippled */ + int fill_rule; /* EvenOddRule, WindingRule */ + int arc_mode; /* ArcChord, ArcPieSlice */ + Pixmap tile; /* tile pixmap for tiling operations */ + Pixmap stipple; /* stipple 1 plane pixmap for stipping */ + int ts_x_origin; /* offset for tile or stipple operations */ + int ts_y_origin; + Font font; /* default text font for text operations */ + int subwindow_mode; /* ClipByChildren, IncludeInferiors */ + Bool graphics_exposures;/* boolean, should exposures be generated */ + int clip_x_origin; /* origin for clipping */ + int clip_y_origin; + Pixmap clip_mask; /* bitmap clipping; other calls for rects */ + int dash_offset; /* patterned/dashed line information */ + char dashes; +} XGCValues; + +/* + * Graphics context. The contents of this structure are implementation + * dependent. A GC should be treated as opaque by application code. + */ + +typedef struct _XGC +#ifdef XLIB_ILLEGAL_ACCESS +{ + XExtData *ext_data; /* hook for extension to hang data */ + GContext gid; /* protocol ID for graphics context */ + /* there is more to this structure, but it is private to Xlib */ +} +#endif +*GC; + +/* + * Visual structure; contains information about colormapping possible. + */ +typedef struct { + XExtData *ext_data; /* hook for extension to hang data */ + VisualID visualid; /* visual id of this visual */ +#if defined(__cplusplus) || defined(c_plusplus) + int c_class; /* C++ class of screen (monochrome, etc.) */ +#else + int class; /* class of screen (monochrome, etc.) */ +#endif + unsigned long red_mask, green_mask, blue_mask; /* mask values */ + int bits_per_rgb; /* log base 2 of distinct color values */ + int map_entries; /* color map entries */ +} Visual; + +/* + * Depth structure; contains information for each possible depth. + */ +typedef struct { + int depth; /* this depth (Z) of the depth */ + int nvisuals; /* number of Visual types at this depth */ + Visual *visuals; /* list of visuals possible at this depth */ +} Depth; + +/* + * Information about the screen. The contents of this structure are + * implementation dependent. A Screen should be treated as opaque + * by application code. + */ + +struct _XDisplay; /* Forward declare before use for C++ */ + +typedef struct { + XExtData *ext_data; /* hook for extension to hang data */ + struct _XDisplay *display;/* back pointer to display structure */ + Window root; /* Root window id. */ + int width, height; /* width and height of screen */ + int mwidth, mheight; /* width and height of in millimeters */ + int ndepths; /* number of depths possible */ + Depth *depths; /* list of allowable depths on the screen */ + int root_depth; /* bits per pixel */ + Visual *root_visual; /* root visual */ + GC default_gc; /* GC for the root root visual */ + Colormap cmap; /* default color map */ + unsigned long white_pixel; + unsigned long black_pixel; /* White and Black pixel values */ + int max_maps, min_maps; /* max and min color maps */ + int backing_store; /* Never, WhenMapped, Always */ + Bool save_unders; + long root_input_mask; /* initial root input mask */ +} Screen; + +/* + * Format structure; describes ZFormat data the screen will understand. + */ +typedef struct { + XExtData *ext_data; /* hook for extension to hang data */ + int depth; /* depth of this image format */ + int bits_per_pixel; /* bits/pixel at this depth */ + int scanline_pad; /* scanline must padded to this multiple */ +} ScreenFormat; + +/* + * Data structure for setting window attributes. + */ +typedef struct { + Pixmap background_pixmap; /* background or None or ParentRelative */ + unsigned long background_pixel; /* background pixel */ + Pixmap border_pixmap; /* border of the window */ + unsigned long border_pixel; /* border pixel value */ + int bit_gravity; /* one of bit gravity values */ + int win_gravity; /* one of the window gravity values */ + int backing_store; /* NotUseful, WhenMapped, Always */ + unsigned long backing_planes;/* planes to be preseved if possible */ + unsigned long backing_pixel;/* value to use in restoring planes */ + Bool save_under; /* should bits under be saved? (popups) */ + long event_mask; /* set of events that should be saved */ + long do_not_propagate_mask; /* set of events that should not propagate */ + Bool override_redirect; /* boolean value for override-redirect */ + Colormap colormap; /* color map to be associated with window */ + Cursor cursor; /* cursor to be displayed (or None) */ +} XSetWindowAttributes; + +typedef struct { + int x, y; /* location of window */ + int width, height; /* width and height of window */ + int border_width; /* border width of window */ + int depth; /* depth of window */ + Visual *visual; /* the associated visual structure */ + Window root; /* root of screen containing window */ +#if defined(__cplusplus) || defined(c_plusplus) + int c_class; /* C++ InputOutput, InputOnly*/ +#else + int class; /* InputOutput, InputOnly*/ +#endif + int bit_gravity; /* one of bit gravity values */ + int win_gravity; /* one of the window gravity values */ + int backing_store; /* NotUseful, WhenMapped, Always */ + unsigned long backing_planes;/* planes to be preserved if possible */ + unsigned long backing_pixel;/* value to be used when restoring planes */ + Bool save_under; /* boolean, should bits under be saved? */ + Colormap colormap; /* color map to be associated with window */ + Bool map_installed; /* boolean, is color map currently installed*/ + int map_state; /* IsUnmapped, IsUnviewable, IsViewable */ + long all_event_masks; /* set of events all people have interest in*/ + long your_event_mask; /* my event mask */ + long do_not_propagate_mask; /* set of events that should not propagate */ + Bool override_redirect; /* boolean value for override-redirect */ + Screen *screen; /* back pointer to correct screen */ +} XWindowAttributes; + +/* + * Data structure for host setting; getting routines. + * + */ + +typedef struct { + int family; /* for example FamilyInternet */ + int length; /* length of address, in bytes */ + char *address; /* pointer to where to find the bytes */ +} XHostAddress; + +/* + * Data structure for ServerFamilyInterpreted addresses in host routines + */ +typedef struct { + int typelength; /* length of type string, in bytes */ + int valuelength; /* length of value string, in bytes */ + char *type; /* pointer to where to find the type string */ + char *value; /* pointer to where to find the address */ +} XServerInterpretedAddress; + +/* + * Data structure for "image" data, used by image manipulation routines. + */ +typedef struct _XImage { + int width, height; /* size of image */ + int xoffset; /* number of pixels offset in X direction */ + int format; /* XYBitmap, XYPixmap, ZPixmap */ + char *data; /* pointer to image data */ + int byte_order; /* data byte order, LSBFirst, MSBFirst */ + int bitmap_unit; /* quant. of scanline 8, 16, 32 */ + int bitmap_bit_order; /* LSBFirst, MSBFirst */ + int bitmap_pad; /* 8, 16, 32 either XY or ZPixmap */ + int depth; /* depth of image */ + int bytes_per_line; /* accelarator to next line */ + int bits_per_pixel; /* bits per pixel (ZPixmap) */ + unsigned long red_mask; /* bits in z arrangment */ + unsigned long green_mask; + unsigned long blue_mask; + XPointer obdata; /* hook for the object routines to hang on */ + struct funcs { /* image manipulation routines */ + struct _XImage *(*create_image)( + struct _XDisplay* /* display */, + Visual* /* visual */, + unsigned int /* depth */, + int /* format */, + int /* offset */, + char* /* data */, + unsigned int /* width */, + unsigned int /* height */, + int /* bitmap_pad */, + int /* bytes_per_line */); + int (*destroy_image) (struct _XImage *); + unsigned long (*get_pixel) (struct _XImage *, int, int); + int (*put_pixel) (struct _XImage *, int, int, unsigned long); + struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, unsigned int); + int (*add_pixel) (struct _XImage *, long); + } f; +} XImage; + +/* + * Data structure for XReconfigureWindow + */ +typedef struct { + int x, y; + int width, height; + int border_width; + Window sibling; + int stack_mode; +} XWindowChanges; + +/* + * Data structure used by color operations + */ +typedef struct { + unsigned long pixel; + unsigned short red, green, blue; + char flags; /* do_red, do_green, do_blue */ + char pad; +} XColor; + +/* + * Data structures for graphics operations. On most machines, these are + * congruent with the wire protocol structures, so reformatting the data + * can be avoided on these architectures. + */ +typedef struct { + short x1, y1, x2, y2; +} XSegment; + +typedef struct { + short x, y; +} XPoint; + +typedef struct { + short x, y; + unsigned short width, height; +} XRectangle; + +typedef struct { + short x, y; + unsigned short width, height; + short angle1, angle2; +} XArc; + + +/* Data structure for XChangeKeyboardControl */ + +typedef struct { + int key_click_percent; + int bell_percent; + int bell_pitch; + int bell_duration; + int led; + int led_mode; + int key; + int auto_repeat_mode; /* On, Off, Default */ +} XKeyboardControl; + +/* Data structure for XGetKeyboardControl */ + +typedef struct { + int key_click_percent; + int bell_percent; + unsigned int bell_pitch, bell_duration; + unsigned long led_mask; + int global_auto_repeat; + char auto_repeats[32]; +} XKeyboardState; + +/* Data structure for XGetMotionEvents. */ + +typedef struct { + Time time; + short x, y; +} XTimeCoord; + +/* Data structure for X{Set,Get}ModifierMapping */ + +typedef struct { + int max_keypermod; /* The server's max # of keys per modifier */ + KeyCode *modifiermap; /* An 8 by max_keypermod array of modifiers */ +} XModifierKeymap; + + +/* + * Display datatype maintaining display specific data. + * The contents of this structure are implementation dependent. + * A Display should be treated as opaque by application code. + */ +#ifndef XLIB_ILLEGAL_ACCESS +typedef struct _XDisplay Display; +#endif + +struct _XPrivate; /* Forward declare before use for C++ */ +struct _XrmHashBucketRec; + +typedef struct +#ifdef XLIB_ILLEGAL_ACCESS +_XDisplay +#endif +{ + XExtData *ext_data; /* hook for extension to hang data */ + struct _XPrivate *private1; + int fd; /* Network socket. */ + int private2; + int proto_major_version;/* major version of server's X protocol */ + int proto_minor_version;/* minor version of servers X protocol */ + char *vendor; /* vendor of the server hardware */ + XID private3; + XID private4; + XID private5; + int private6; + XID (*resource_alloc)( /* allocator function */ + struct _XDisplay* + ); + int byte_order; /* screen byte order, LSBFirst, MSBFirst */ + int bitmap_unit; /* padding and data requirements */ + int bitmap_pad; /* padding requirements on bitmaps */ + int bitmap_bit_order; /* LeastSignificant or MostSignificant */ + int nformats; /* number of pixmap formats in list */ + ScreenFormat *pixmap_format; /* pixmap format list */ + int private8; + int release; /* release of the server */ + struct _XPrivate *private9, *private10; + int qlen; /* Length of input event queue */ + unsigned long last_request_read; /* seq number of last event read */ + unsigned long request; /* sequence number of last request. */ + XPointer private11; + XPointer private12; + XPointer private13; + XPointer private14; + unsigned max_request_size; /* maximum number 32 bit words in request*/ + struct _XrmHashBucketRec *db; + int (*private15)( + struct _XDisplay* + ); + char *display_name; /* "host:display" string used on this connect*/ + int default_screen; /* default screen for operations */ + int nscreens; /* number of screens on this server*/ + Screen *screens; /* pointer to list of screens */ + unsigned long motion_buffer; /* size of motion buffer */ + unsigned long private16; + int min_keycode; /* minimum defined keycode */ + int max_keycode; /* maximum defined keycode */ + XPointer private17; + XPointer private18; + int private19; + char *xdefaults; /* contents of defaults from server */ + /* there is more to this structure, but it is private to Xlib */ +} +#ifdef XLIB_ILLEGAL_ACCESS +Display, +#endif +*_XPrivDisplay; + +#undef _XEVENT_ +#ifndef _XEVENT_ +/* + * Definitions of specific events. + */ +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* "event" window it is reported relative to */ + Window root; /* root window that the event occurred on */ + Window subwindow; /* child window */ + Time time; /* milliseconds */ + int x, y; /* pointer x, y coordinates in event window */ + int x_root, y_root; /* coordinates relative to root */ + unsigned int state; /* key or button mask */ + unsigned int keycode; /* detail */ + Bool same_screen; /* same screen flag */ +} XKeyEvent; +typedef XKeyEvent XKeyPressedEvent; +typedef XKeyEvent XKeyReleasedEvent; + +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* "event" window it is reported relative to */ + Window root; /* root window that the event occurred on */ + Window subwindow; /* child window */ + Time time; /* milliseconds */ + int x, y; /* pointer x, y coordinates in event window */ + int x_root, y_root; /* coordinates relative to root */ + unsigned int state; /* key or button mask */ + unsigned int button; /* detail */ + Bool same_screen; /* same screen flag */ +} XButtonEvent; +typedef XButtonEvent XButtonPressedEvent; +typedef XButtonEvent XButtonReleasedEvent; + +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* "event" window reported relative to */ + Window root; /* root window that the event occurred on */ + Window subwindow; /* child window */ + Time time; /* milliseconds */ + int x, y; /* pointer x, y coordinates in event window */ + int x_root, y_root; /* coordinates relative to root */ + unsigned int state; /* key or button mask */ + char is_hint; /* detail */ + Bool same_screen; /* same screen flag */ +} XMotionEvent; +typedef XMotionEvent XPointerMovedEvent; + +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* "event" window reported relative to */ + Window root; /* root window that the event occurred on */ + Window subwindow; /* child window */ + Time time; /* milliseconds */ + int x, y; /* pointer x, y coordinates in event window */ + int x_root, y_root; /* coordinates relative to root */ + int mode; /* NotifyNormal, NotifyGrab, NotifyUngrab */ + int detail; + /* + * NotifyAncestor, NotifyVirtual, NotifyInferior, + * NotifyNonlinear,NotifyNonlinearVirtual + */ + Bool same_screen; /* same screen flag */ + Bool focus; /* boolean focus */ + unsigned int state; /* key or button mask */ +} XCrossingEvent; +typedef XCrossingEvent XEnterWindowEvent; +typedef XCrossingEvent XLeaveWindowEvent; + +typedef struct { + int type; /* FocusIn or FocusOut */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* window of event */ + int mode; /* NotifyNormal, NotifyWhileGrabbed, + NotifyGrab, NotifyUngrab */ + int detail; + /* + * NotifyAncestor, NotifyVirtual, NotifyInferior, + * NotifyNonlinear,NotifyNonlinearVirtual, NotifyPointer, + * NotifyPointerRoot, NotifyDetailNone + */ +} XFocusChangeEvent; +typedef XFocusChangeEvent XFocusInEvent; +typedef XFocusChangeEvent XFocusOutEvent; + +/* generated on EnterWindow and FocusIn when KeyMapState selected */ +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + char key_vector[32]; +} XKeymapEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + int x, y; + int width, height; + int count; /* if non-zero, at least this many more */ +} XExposeEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Drawable drawable; + int x, y; + int width, height; + int count; /* if non-zero, at least this many more */ + int major_code; /* core is CopyArea or CopyPlane */ + int minor_code; /* not defined in the core */ +} XGraphicsExposeEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Drawable drawable; + int major_code; /* core is CopyArea or CopyPlane */ + int minor_code; /* not defined in the core */ +} XNoExposeEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + int state; /* Visibility state */ +} XVisibilityEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window parent; /* parent of the window */ + Window window; /* window id of window created */ + int x, y; /* window location */ + int width, height; /* size of window */ + int border_width; /* border width */ + Bool override_redirect; /* creation should be overridden */ +} XCreateWindowEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; +} XDestroyWindowEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; + Bool from_configure; +} XUnmapEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; + Bool override_redirect; /* boolean, is override set... */ +} XMapEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window parent; + Window window; +} XMapRequestEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; + Window parent; + int x, y; + Bool override_redirect; +} XReparentEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; + int x, y; + int width, height; + int border_width; + Window above; + Bool override_redirect; +} XConfigureEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; + int x, y; +} XGravityEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + int width, height; +} XResizeRequestEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window parent; + Window window; + int x, y; + int width, height; + int border_width; + Window above; + int detail; /* Above, Below, TopIf, BottomIf, Opposite */ + unsigned long value_mask; +} XConfigureRequestEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; + int place; /* PlaceOnTop, PlaceOnBottom */ +} XCirculateEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window parent; + Window window; + int place; /* PlaceOnTop, PlaceOnBottom */ +} XCirculateRequestEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + Atom atom; + Time time; + int state; /* NewValue, Deleted */ +} XPropertyEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + Atom selection; + Time time; +} XSelectionClearEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window owner; + Window requestor; + Atom selection; + Atom target; + Atom property; + Time time; +} XSelectionRequestEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window requestor; + Atom selection; + Atom target; + Atom property; /* ATOM or None */ + Time time; +} XSelectionEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + Colormap colormap; /* COLORMAP or None */ +#if defined(__cplusplus) || defined(c_plusplus) + Bool c_new; /* C++ */ +#else + Bool new; +#endif + int state; /* ColormapInstalled, ColormapUninstalled */ +} XColormapEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + Atom message_type; + int format; + union { + char b[20]; + short s[10]; + long l[5]; + } data; +} XClientMessageEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* unused */ + int request; /* one of MappingModifier, MappingKeyboard, + MappingPointer */ + int first_keycode; /* first keycode */ + int count; /* defines range of change w. first_keycode*/ +} XMappingEvent; + +typedef struct { + int type; + Display *display; /* Display the event was read from */ + XID resourceid; /* resource id */ + unsigned long serial; /* serial number of failed request */ + unsigned char error_code; /* error code of failed request */ + unsigned char request_code; /* Major op-code of failed request */ + unsigned char minor_code; /* Minor op-code of failed request */ +} XErrorEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display;/* Display the event was read from */ + Window window; /* window on which event was requested in event mask */ +} XAnyEvent; + + +/*************************************************************** + * + * GenericEvent. This event is the standard event for all newer extensions. + */ + +typedef struct + { + int type; /* of event. Always GenericEvent */ + unsigned long serial; /* # of last request processed */ + Bool send_event; /* true if from SendEvent request */ + Display *display; /* Display the event was read from */ + int extension; /* major opcode of extension that caused the event */ + int evtype; /* actual event type. */ + } XGenericEvent; + +typedef struct { + int type; /* of event. Always GenericEvent */ + unsigned long serial; /* # of last request processed */ + Bool send_event; /* true if from SendEvent request */ + Display *display; /* Display the event was read from */ + int extension; /* major opcode of extension that caused the event */ + int evtype; /* actual event type. */ + unsigned int cookie; + void *data; +} XGenericEventCookie; + +/* + * this union is defined so Xlib can always use the same sized + * event structure internally, to avoid memory fragmentation. + */ +typedef union _XEvent { + int type; /* must not be changed; first element */ + XAnyEvent xany; + XKeyEvent xkey; + XButtonEvent xbutton; + XMotionEvent xmotion; + XCrossingEvent xcrossing; + XFocusChangeEvent xfocus; + XExposeEvent xexpose; + XGraphicsExposeEvent xgraphicsexpose; + XNoExposeEvent xnoexpose; + XVisibilityEvent xvisibility; + XCreateWindowEvent xcreatewindow; + XDestroyWindowEvent xdestroywindow; + XUnmapEvent xunmap; + XMapEvent xmap; + XMapRequestEvent xmaprequest; + XReparentEvent xreparent; + XConfigureEvent xconfigure; + XGravityEvent xgravity; + XResizeRequestEvent xresizerequest; + XConfigureRequestEvent xconfigurerequest; + XCirculateEvent xcirculate; + XCirculateRequestEvent xcirculaterequest; + XPropertyEvent xproperty; + XSelectionClearEvent xselectionclear; + XSelectionRequestEvent xselectionrequest; + XSelectionEvent xselection; + XColormapEvent xcolormap; + XClientMessageEvent xclient; + XMappingEvent xmapping; + XErrorEvent xerror; + XKeymapEvent xkeymap; + XGenericEvent xgeneric; + XGenericEventCookie xcookie; + long pad[24]; +} XEvent; +#endif + +#define XAllocID(dpy) ((*((_XPrivDisplay)(dpy))->resource_alloc)((dpy))) + +/* + * per character font metric information. + */ +typedef struct { + short lbearing; /* origin to left edge of raster */ + short rbearing; /* origin to right edge of raster */ + short width; /* advance to next char's origin */ + short ascent; /* baseline to top edge of raster */ + short descent; /* baseline to bottom edge of raster */ + unsigned short attributes; /* per char flags (not predefined) */ +} XCharStruct; + +/* + * To allow arbitrary information with fonts, there are additional properties + * returned. + */ +typedef struct { + Atom name; + unsigned long card32; +} XFontProp; + +typedef struct { + XExtData *ext_data; /* hook for extension to hang data */ + Font fid; /* Font id for this font */ + unsigned direction; /* hint about direction the font is painted */ + unsigned min_char_or_byte2;/* first character */ + unsigned max_char_or_byte2;/* last character */ + unsigned min_byte1; /* first row that exists */ + unsigned max_byte1; /* last row that exists */ + Bool all_chars_exist;/* flag if all characters have non-zero size*/ + unsigned default_char; /* char to print for undefined character */ + int n_properties; /* how many properties there are */ + XFontProp *properties; /* pointer to array of additional properties*/ + XCharStruct min_bounds; /* minimum bounds over all existing char*/ + XCharStruct max_bounds; /* maximum bounds over all existing char*/ + XCharStruct *per_char; /* first_char to last_char information */ + int ascent; /* log. extent above baseline for spacing */ + int descent; /* log. descent below baseline for spacing */ +} XFontStruct; + +/* + * PolyText routines take these as arguments. + */ +typedef struct { + char *chars; /* pointer to string */ + int nchars; /* number of characters */ + int delta; /* delta between strings */ + Font font; /* font to print it in, None don't change */ +} XTextItem; + +typedef struct { /* normal 16 bit characters are two bytes */ + unsigned char byte1; + unsigned char byte2; +} XChar2b; + +typedef struct { + XChar2b *chars; /* two byte characters */ + int nchars; /* number of characters */ + int delta; /* delta between strings */ + Font font; /* font to print it in, None don't change */ +} XTextItem16; + + +typedef union { Display *display; + GC gc; + Visual *visual; + Screen *screen; + ScreenFormat *pixmap_format; + XFontStruct *font; } XEDataObject; + +typedef struct { + XRectangle max_ink_extent; + XRectangle max_logical_extent; +} XFontSetExtents; + +/* unused: +typedef void (*XOMProc)(); + */ + +typedef struct _XOM *XOM; +typedef struct _XOC *XOC, *XFontSet; + +typedef struct { + char *chars; + int nchars; + int delta; + XFontSet font_set; +} XmbTextItem; + +typedef struct { + wchar_t *chars; + int nchars; + int delta; + XFontSet font_set; +} XwcTextItem; + +#define XNRequiredCharSet "requiredCharSet" +#define XNQueryOrientation "queryOrientation" +#define XNBaseFontName "baseFontName" +#define XNOMAutomatic "omAutomatic" +#define XNMissingCharSet "missingCharSet" +#define XNDefaultString "defaultString" +#define XNOrientation "orientation" +#define XNDirectionalDependentDrawing "directionalDependentDrawing" +#define XNContextualDrawing "contextualDrawing" +#define XNFontInfo "fontInfo" + +typedef struct { + int charset_count; + char **charset_list; +} XOMCharSetList; + +typedef enum { + XOMOrientation_LTR_TTB, + XOMOrientation_RTL_TTB, + XOMOrientation_TTB_LTR, + XOMOrientation_TTB_RTL, + XOMOrientation_Context +} XOrientation; + +typedef struct { + int num_orientation; + XOrientation *orientation; /* Input Text description */ +} XOMOrientation; + +typedef struct { + int num_font; + XFontStruct **font_struct_list; + char **font_name_list; +} XOMFontInfo; + +typedef struct _XIM *XIM; +typedef struct _XIC *XIC; + +typedef void (*XIMProc)( + XIM, + XPointer, + XPointer +); + +typedef Bool (*XICProc)( + XIC, + XPointer, + XPointer +); + +typedef void (*XIDProc)( + Display*, + XPointer, + XPointer +); + +typedef unsigned long XIMStyle; + +typedef struct { + unsigned short count_styles; + XIMStyle *supported_styles; +} XIMStyles; + +#define XIMPreeditArea 0x0001L +#define XIMPreeditCallbacks 0x0002L +#define XIMPreeditPosition 0x0004L +#define XIMPreeditNothing 0x0008L +#define XIMPreeditNone 0x0010L +#define XIMStatusArea 0x0100L +#define XIMStatusCallbacks 0x0200L +#define XIMStatusNothing 0x0400L +#define XIMStatusNone 0x0800L + +#define XNVaNestedList "XNVaNestedList" +#define XNQueryInputStyle "queryInputStyle" +#define XNClientWindow "clientWindow" +#define XNInputStyle "inputStyle" +#define XNFocusWindow "focusWindow" +#define XNResourceName "resourceName" +#define XNResourceClass "resourceClass" +#define XNGeometryCallback "geometryCallback" +#define XNDestroyCallback "destroyCallback" +#define XNFilterEvents "filterEvents" +#define XNPreeditStartCallback "preeditStartCallback" +#define XNPreeditDoneCallback "preeditDoneCallback" +#define XNPreeditDrawCallback "preeditDrawCallback" +#define XNPreeditCaretCallback "preeditCaretCallback" +#define XNPreeditStateNotifyCallback "preeditStateNotifyCallback" +#define XNPreeditAttributes "preeditAttributes" +#define XNStatusStartCallback "statusStartCallback" +#define XNStatusDoneCallback "statusDoneCallback" +#define XNStatusDrawCallback "statusDrawCallback" +#define XNStatusAttributes "statusAttributes" +#define XNArea "area" +#define XNAreaNeeded "areaNeeded" +#define XNSpotLocation "spotLocation" +#define XNColormap "colorMap" +#define XNStdColormap "stdColorMap" +#define XNForeground "foreground" +#define XNBackground "background" +#define XNBackgroundPixmap "backgroundPixmap" +#define XNFontSet "fontSet" +#define XNLineSpace "lineSpace" +#define XNCursor "cursor" + +#define XNQueryIMValuesList "queryIMValuesList" +#define XNQueryICValuesList "queryICValuesList" +#define XNVisiblePosition "visiblePosition" +#define XNR6PreeditCallback "r6PreeditCallback" +#define XNStringConversionCallback "stringConversionCallback" +#define XNStringConversion "stringConversion" +#define XNResetState "resetState" +#define XNHotKey "hotKey" +#define XNHotKeyState "hotKeyState" +#define XNPreeditState "preeditState" +#define XNSeparatorofNestedList "separatorofNestedList" + +#define XBufferOverflow -1 +#define XLookupNone 1 +#define XLookupChars 2 +#define XLookupKeySym 3 +#define XLookupBoth 4 + +typedef void *XVaNestedList; + +typedef struct { + XPointer client_data; + XIMProc callback; +} XIMCallback; + +typedef struct { + XPointer client_data; + XICProc callback; +} XICCallback; + +typedef unsigned long XIMFeedback; + +#define XIMReverse 1L +#define XIMUnderline (1L<<1) +#define XIMHighlight (1L<<2) +#define XIMPrimary (1L<<5) +#define XIMSecondary (1L<<6) +#define XIMTertiary (1L<<7) +#define XIMVisibleToForward (1L<<8) +#define XIMVisibleToBackword (1L<<9) +#define XIMVisibleToCenter (1L<<10) + +typedef struct _XIMText { + unsigned short length; + XIMFeedback *feedback; + Bool encoding_is_wchar; + union { + char *multi_byte; + wchar_t *wide_char; + } string; +} XIMText; + +typedef unsigned long XIMPreeditState; + +#define XIMPreeditUnKnown 0L +#define XIMPreeditEnable 1L +#define XIMPreeditDisable (1L<<1) + +typedef struct _XIMPreeditStateNotifyCallbackStruct { + XIMPreeditState state; +} XIMPreeditStateNotifyCallbackStruct; + +typedef unsigned long XIMResetState; + +#define XIMInitialState 1L +#define XIMPreserveState (1L<<1) + +typedef unsigned long XIMStringConversionFeedback; + +#define XIMStringConversionLeftEdge (0x00000001) +#define XIMStringConversionRightEdge (0x00000002) +#define XIMStringConversionTopEdge (0x00000004) +#define XIMStringConversionBottomEdge (0x00000008) +#define XIMStringConversionConcealed (0x00000010) +#define XIMStringConversionWrapped (0x00000020) + +typedef struct _XIMStringConversionText { + unsigned short length; + XIMStringConversionFeedback *feedback; + Bool encoding_is_wchar; + union { + char *mbs; + wchar_t *wcs; + } string; +} XIMStringConversionText; + +typedef unsigned short XIMStringConversionPosition; + +typedef unsigned short XIMStringConversionType; + +#define XIMStringConversionBuffer (0x0001) +#define XIMStringConversionLine (0x0002) +#define XIMStringConversionWord (0x0003) +#define XIMStringConversionChar (0x0004) + +typedef unsigned short XIMStringConversionOperation; + +#define XIMStringConversionSubstitution (0x0001) +#define XIMStringConversionRetrieval (0x0002) + +typedef enum { + XIMForwardChar, XIMBackwardChar, + XIMForwardWord, XIMBackwardWord, + XIMCaretUp, XIMCaretDown, + XIMNextLine, XIMPreviousLine, + XIMLineStart, XIMLineEnd, + XIMAbsolutePosition, + XIMDontChange +} XIMCaretDirection; + +typedef struct _XIMStringConversionCallbackStruct { + XIMStringConversionPosition position; + XIMCaretDirection direction; + XIMStringConversionOperation operation; + unsigned short factor; + XIMStringConversionText *text; +} XIMStringConversionCallbackStruct; + +typedef struct _XIMPreeditDrawCallbackStruct { + int caret; /* Cursor offset within pre-edit string */ + int chg_first; /* Starting change position */ + int chg_length; /* Length of the change in character count */ + XIMText *text; +} XIMPreeditDrawCallbackStruct; + +typedef enum { + XIMIsInvisible, /* Disable caret feedback */ + XIMIsPrimary, /* UI defined caret feedback */ + XIMIsSecondary /* UI defined caret feedback */ +} XIMCaretStyle; + +typedef struct _XIMPreeditCaretCallbackStruct { + int position; /* Caret offset within pre-edit string */ + XIMCaretDirection direction; /* Caret moves direction */ + XIMCaretStyle style; /* Feedback of the caret */ +} XIMPreeditCaretCallbackStruct; + +typedef enum { + XIMTextType, + XIMBitmapType +} XIMStatusDataType; + +typedef struct _XIMStatusDrawCallbackStruct { + XIMStatusDataType type; + union { + XIMText *text; + Pixmap bitmap; + } data; +} XIMStatusDrawCallbackStruct; + +typedef struct _XIMHotKeyTrigger { + KeySym keysym; + int modifier; + int modifier_mask; +} XIMHotKeyTrigger; + +typedef struct _XIMHotKeyTriggers { + int num_hot_key; + XIMHotKeyTrigger *key; +} XIMHotKeyTriggers; + +typedef unsigned long XIMHotKeyState; + +#define XIMHotKeyStateON (0x0001L) +#define XIMHotKeyStateOFF (0x0002L) + +typedef struct { + unsigned short count_values; + char **supported_values; +} XIMValuesList; + +_XFUNCPROTOBEGIN + +#if defined(WIN32) && !defined(_XLIBINT_) +#define _Xdebug (*_Xdebug_p) +#endif + +extern int _Xdebug; + +extern XFontStruct *XLoadQueryFont( + Display* /* display */, + _Xconst char* /* name */ +); + +extern XFontStruct *XQueryFont( + Display* /* display */, + XID /* font_ID */ +); + + +extern XTimeCoord *XGetMotionEvents( + Display* /* display */, + Window /* w */, + Time /* start */, + Time /* stop */, + int* /* nevents_return */ +); + +extern XModifierKeymap *XDeleteModifiermapEntry( + XModifierKeymap* /* modmap */, +#if NeedWidePrototypes + unsigned int /* keycode_entry */, +#else + KeyCode /* keycode_entry */, +#endif + int /* modifier */ +); + +extern XModifierKeymap *XGetModifierMapping( + Display* /* display */ +); + +extern XModifierKeymap *XInsertModifiermapEntry( + XModifierKeymap* /* modmap */, +#if NeedWidePrototypes + unsigned int /* keycode_entry */, +#else + KeyCode /* keycode_entry */, +#endif + int /* modifier */ +); + +extern XModifierKeymap *XNewModifiermap( + int /* max_keys_per_mod */ +); + +extern XImage *XCreateImage( + Display* /* display */, + Visual* /* visual */, + unsigned int /* depth */, + int /* format */, + int /* offset */, + char* /* data */, + unsigned int /* width */, + unsigned int /* height */, + int /* bitmap_pad */, + int /* bytes_per_line */ +); +extern Status XInitImage( + XImage* /* image */ +); +extern XImage *XGetImage( + Display* /* display */, + Drawable /* d */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + unsigned long /* plane_mask */, + int /* format */ +); +extern XImage *XGetSubImage( + Display* /* display */, + Drawable /* d */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + unsigned long /* plane_mask */, + int /* format */, + XImage* /* dest_image */, + int /* dest_x */, + int /* dest_y */ +); + +/* + * X function declarations. + */ +extern Display *XOpenDisplay( + _Xconst char* /* display_name */ +); + +extern void XrmInitialize( + void +); + +extern char *XFetchBytes( + Display* /* display */, + int* /* nbytes_return */ +); +extern char *XFetchBuffer( + Display* /* display */, + int* /* nbytes_return */, + int /* buffer */ +); +extern char *XGetAtomName( + Display* /* display */, + Atom /* atom */ +); +extern Status XGetAtomNames( + Display* /* dpy */, + Atom* /* atoms */, + int /* count */, + char** /* names_return */ +); +extern char *XGetDefault( + Display* /* display */, + _Xconst char* /* program */, + _Xconst char* /* option */ +); +extern char *XDisplayName( + _Xconst char* /* string */ +); +extern char *XKeysymToString( + KeySym /* keysym */ +); + +extern int (*XSynchronize( + Display* /* display */, + Bool /* onoff */ +))( + Display* /* display */ +); +extern int (*XSetAfterFunction( + Display* /* display */, + int (*) ( + Display* /* display */ + ) /* procedure */ +))( + Display* /* display */ +); +extern Atom XInternAtom( + Display* /* display */, + _Xconst char* /* atom_name */, + Bool /* only_if_exists */ +); +extern Status XInternAtoms( + Display* /* dpy */, + char** /* names */, + int /* count */, + Bool /* onlyIfExists */, + Atom* /* atoms_return */ +); +extern Colormap XCopyColormapAndFree( + Display* /* display */, + Colormap /* colormap */ +); +extern Colormap XCreateColormap( + Display* /* display */, + Window /* w */, + Visual* /* visual */, + int /* alloc */ +); +extern Cursor XCreatePixmapCursor( + Display* /* display */, + Pixmap /* source */, + Pixmap /* mask */, + XColor* /* foreground_color */, + XColor* /* background_color */, + unsigned int /* x */, + unsigned int /* y */ +); +extern Cursor XCreateGlyphCursor( + Display* /* display */, + Font /* source_font */, + Font /* mask_font */, + unsigned int /* source_char */, + unsigned int /* mask_char */, + XColor _Xconst * /* foreground_color */, + XColor _Xconst * /* background_color */ +); +extern Cursor XCreateFontCursor( + Display* /* display */, + unsigned int /* shape */ +); +extern Font XLoadFont( + Display* /* display */, + _Xconst char* /* name */ +); +extern GC XCreateGC( + Display* /* display */, + Drawable /* d */, + unsigned long /* valuemask */, + XGCValues* /* values */ +); +extern GContext XGContextFromGC( + GC /* gc */ +); +extern void XFlushGC( + Display* /* display */, + GC /* gc */ +); +extern Pixmap XCreatePixmap( + Display* /* display */, + Drawable /* d */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int /* depth */ +); +extern Pixmap XCreateBitmapFromData( + Display* /* display */, + Drawable /* d */, + _Xconst char* /* data */, + unsigned int /* width */, + unsigned int /* height */ +); +extern Pixmap XCreatePixmapFromBitmapData( + Display* /* display */, + Drawable /* d */, + char* /* data */, + unsigned int /* width */, + unsigned int /* height */, + unsigned long /* fg */, + unsigned long /* bg */, + unsigned int /* depth */ +); +extern Window XCreateSimpleWindow( + Display* /* display */, + Window /* parent */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int /* border_width */, + unsigned long /* border */, + unsigned long /* background */ +); +extern Window XGetSelectionOwner( + Display* /* display */, + Atom /* selection */ +); +extern Window XCreateWindow( + Display* /* display */, + Window /* parent */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int /* border_width */, + int /* depth */, + unsigned int /* class */, + Visual* /* visual */, + unsigned long /* valuemask */, + XSetWindowAttributes* /* attributes */ +); +extern Colormap *XListInstalledColormaps( + Display* /* display */, + Window /* w */, + int* /* num_return */ +); +extern char **XListFonts( + Display* /* display */, + _Xconst char* /* pattern */, + int /* maxnames */, + int* /* actual_count_return */ +); +extern char **XListFontsWithInfo( + Display* /* display */, + _Xconst char* /* pattern */, + int /* maxnames */, + int* /* count_return */, + XFontStruct** /* info_return */ +); +extern char **XGetFontPath( + Display* /* display */, + int* /* npaths_return */ +); +extern char **XListExtensions( + Display* /* display */, + int* /* nextensions_return */ +); +extern Atom *XListProperties( + Display* /* display */, + Window /* w */, + int* /* num_prop_return */ +); +extern XHostAddress *XListHosts( + Display* /* display */, + int* /* nhosts_return */, + Bool* /* state_return */ +); +_X_DEPRECATED +extern KeySym XKeycodeToKeysym( + Display* /* display */, +#if NeedWidePrototypes + unsigned int /* keycode */, +#else + KeyCode /* keycode */, +#endif + int /* index */ +); +extern KeySym XLookupKeysym( + XKeyEvent* /* key_event */, + int /* index */ +); +extern KeySym *XGetKeyboardMapping( + Display* /* display */, +#if NeedWidePrototypes + unsigned int /* first_keycode */, +#else + KeyCode /* first_keycode */, +#endif + int /* keycode_count */, + int* /* keysyms_per_keycode_return */ +); +extern KeySym XStringToKeysym( + _Xconst char* /* string */ +); +extern long XMaxRequestSize( + Display* /* display */ +); +extern long XExtendedMaxRequestSize( + Display* /* display */ +); +extern char *XResourceManagerString( + Display* /* display */ +); +extern char *XScreenResourceString( + Screen* /* screen */ +); +extern unsigned long XDisplayMotionBufferSize( + Display* /* display */ +); +extern VisualID XVisualIDFromVisual( + Visual* /* visual */ +); + +/* multithread routines */ + +extern Status XInitThreads( + void +); + +extern void XLockDisplay( + Display* /* display */ +); + +extern void XUnlockDisplay( + Display* /* display */ +); + +/* routines for dealing with extensions */ + +extern XExtCodes *XInitExtension( + Display* /* display */, + _Xconst char* /* name */ +); + +extern XExtCodes *XAddExtension( + Display* /* display */ +); +extern XExtData *XFindOnExtensionList( + XExtData** /* structure */, + int /* number */ +); +extern XExtData **XEHeadOfExtensionList( + XEDataObject /* object */ +); + +/* these are routines for which there are also macros */ +extern Window XRootWindow( + Display* /* display */, + int /* screen_number */ +); +extern Window XDefaultRootWindow( + Display* /* display */ +); +extern Window XRootWindowOfScreen( + Screen* /* screen */ +); +extern Visual *XDefaultVisual( + Display* /* display */, + int /* screen_number */ +); +extern Visual *XDefaultVisualOfScreen( + Screen* /* screen */ +); +extern GC XDefaultGC( + Display* /* display */, + int /* screen_number */ +); +extern GC XDefaultGCOfScreen( + Screen* /* screen */ +); +extern unsigned long XBlackPixel( + Display* /* display */, + int /* screen_number */ +); +extern unsigned long XWhitePixel( + Display* /* display */, + int /* screen_number */ +); +extern unsigned long XAllPlanes( + void +); +extern unsigned long XBlackPixelOfScreen( + Screen* /* screen */ +); +extern unsigned long XWhitePixelOfScreen( + Screen* /* screen */ +); +extern unsigned long XNextRequest( + Display* /* display */ +); +extern unsigned long XLastKnownRequestProcessed( + Display* /* display */ +); +extern char *XServerVendor( + Display* /* display */ +); +extern char *XDisplayString( + Display* /* display */ +); +extern Colormap XDefaultColormap( + Display* /* display */, + int /* screen_number */ +); +extern Colormap XDefaultColormapOfScreen( + Screen* /* screen */ +); +extern Display *XDisplayOfScreen( + Screen* /* screen */ +); +extern Screen *XScreenOfDisplay( + Display* /* display */, + int /* screen_number */ +); +extern Screen *XDefaultScreenOfDisplay( + Display* /* display */ +); +extern long XEventMaskOfScreen( + Screen* /* screen */ +); + +extern int XScreenNumberOfScreen( + Screen* /* screen */ +); + +typedef int (*XErrorHandler) ( /* WARNING, this type not in Xlib spec */ + Display* /* display */, + XErrorEvent* /* error_event */ +); + +extern XErrorHandler XSetErrorHandler ( + XErrorHandler /* handler */ +); + + +typedef int (*XIOErrorHandler) ( /* WARNING, this type not in Xlib spec */ + Display* /* display */ +); + +extern XIOErrorHandler XSetIOErrorHandler ( + XIOErrorHandler /* handler */ +); + + +extern XPixmapFormatValues *XListPixmapFormats( + Display* /* display */, + int* /* count_return */ +); +extern int *XListDepths( + Display* /* display */, + int /* screen_number */, + int* /* count_return */ +); + +/* ICCCM routines for things that don't require special include files; */ +/* other declarations are given in Xutil.h */ +extern Status XReconfigureWMWindow( + Display* /* display */, + Window /* w */, + int /* screen_number */, + unsigned int /* mask */, + XWindowChanges* /* changes */ +); + +extern Status XGetWMProtocols( + Display* /* display */, + Window /* w */, + Atom** /* protocols_return */, + int* /* count_return */ +); +extern Status XSetWMProtocols( + Display* /* display */, + Window /* w */, + Atom* /* protocols */, + int /* count */ +); +extern Status XIconifyWindow( + Display* /* display */, + Window /* w */, + int /* screen_number */ +); +extern Status XWithdrawWindow( + Display* /* display */, + Window /* w */, + int /* screen_number */ +); +extern Status XGetCommand( + Display* /* display */, + Window /* w */, + char*** /* argv_return */, + int* /* argc_return */ +); +extern Status XGetWMColormapWindows( + Display* /* display */, + Window /* w */, + Window** /* windows_return */, + int* /* count_return */ +); +extern Status XSetWMColormapWindows( + Display* /* display */, + Window /* w */, + Window* /* colormap_windows */, + int /* count */ +); +extern void XFreeStringList( + char** /* list */ +); +extern int XSetTransientForHint( + Display* /* display */, + Window /* w */, + Window /* prop_window */ +); + +/* The following are given in alphabetical order */ + +extern int XActivateScreenSaver( + Display* /* display */ +); + +extern int XAddHost( + Display* /* display */, + XHostAddress* /* host */ +); + +extern int XAddHosts( + Display* /* display */, + XHostAddress* /* hosts */, + int /* num_hosts */ +); + +extern int XAddToExtensionList( + struct _XExtData** /* structure */, + XExtData* /* ext_data */ +); + +extern int XAddToSaveSet( + Display* /* display */, + Window /* w */ +); + +extern Status XAllocColor( + Display* /* display */, + Colormap /* colormap */, + XColor* /* screen_in_out */ +); + +extern Status XAllocColorCells( + Display* /* display */, + Colormap /* colormap */, + Bool /* contig */, + unsigned long* /* plane_masks_return */, + unsigned int /* nplanes */, + unsigned long* /* pixels_return */, + unsigned int /* npixels */ +); + +extern Status XAllocColorPlanes( + Display* /* display */, + Colormap /* colormap */, + Bool /* contig */, + unsigned long* /* pixels_return */, + int /* ncolors */, + int /* nreds */, + int /* ngreens */, + int /* nblues */, + unsigned long* /* rmask_return */, + unsigned long* /* gmask_return */, + unsigned long* /* bmask_return */ +); + +extern Status XAllocNamedColor( + Display* /* display */, + Colormap /* colormap */, + _Xconst char* /* color_name */, + XColor* /* screen_def_return */, + XColor* /* exact_def_return */ +); + +extern int XAllowEvents( + Display* /* display */, + int /* event_mode */, + Time /* time */ +); + +extern int XAutoRepeatOff( + Display* /* display */ +); + +extern int XAutoRepeatOn( + Display* /* display */ +); + +extern int XBell( + Display* /* display */, + int /* percent */ +); + +extern int XBitmapBitOrder( + Display* /* display */ +); + +extern int XBitmapPad( + Display* /* display */ +); + +extern int XBitmapUnit( + Display* /* display */ +); + +extern int XCellsOfScreen( + Screen* /* screen */ +); + +extern int XChangeActivePointerGrab( + Display* /* display */, + unsigned int /* event_mask */, + Cursor /* cursor */, + Time /* time */ +); + +extern int XChangeGC( + Display* /* display */, + GC /* gc */, + unsigned long /* valuemask */, + XGCValues* /* values */ +); + +extern int XChangeKeyboardControl( + Display* /* display */, + unsigned long /* value_mask */, + XKeyboardControl* /* values */ +); + +extern int XChangeKeyboardMapping( + Display* /* display */, + int /* first_keycode */, + int /* keysyms_per_keycode */, + KeySym* /* keysyms */, + int /* num_codes */ +); + +extern int XChangePointerControl( + Display* /* display */, + Bool /* do_accel */, + Bool /* do_threshold */, + int /* accel_numerator */, + int /* accel_denominator */, + int /* threshold */ +); + +extern int XChangeProperty( + Display* /* display */, + Window /* w */, + Atom /* property */, + Atom /* type */, + int /* format */, + int /* mode */, + _Xconst unsigned char* /* data */, + int /* nelements */ +); + +extern int XChangeSaveSet( + Display* /* display */, + Window /* w */, + int /* change_mode */ +); + +extern int XChangeWindowAttributes( + Display* /* display */, + Window /* w */, + unsigned long /* valuemask */, + XSetWindowAttributes* /* attributes */ +); + +extern Bool XCheckIfEvent( + Display* /* display */, + XEvent* /* event_return */, + Bool (*) ( + Display* /* display */, + XEvent* /* event */, + XPointer /* arg */ + ) /* predicate */, + XPointer /* arg */ +); + +extern Bool XCheckMaskEvent( + Display* /* display */, + long /* event_mask */, + XEvent* /* event_return */ +); + +extern Bool XCheckTypedEvent( + Display* /* display */, + int /* event_type */, + XEvent* /* event_return */ +); + +extern Bool XCheckTypedWindowEvent( + Display* /* display */, + Window /* w */, + int /* event_type */, + XEvent* /* event_return */ +); + +extern Bool XCheckWindowEvent( + Display* /* display */, + Window /* w */, + long /* event_mask */, + XEvent* /* event_return */ +); + +extern int XCirculateSubwindows( + Display* /* display */, + Window /* w */, + int /* direction */ +); + +extern int XCirculateSubwindowsDown( + Display* /* display */, + Window /* w */ +); + +extern int XCirculateSubwindowsUp( + Display* /* display */, + Window /* w */ +); + +extern int XClearArea( + Display* /* display */, + Window /* w */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + Bool /* exposures */ +); + +extern int XClearWindow( + Display* /* display */, + Window /* w */ +); + +extern int XCloseDisplay( + Display* /* display */ +); + +extern int XConfigureWindow( + Display* /* display */, + Window /* w */, + unsigned int /* value_mask */, + XWindowChanges* /* values */ +); + +extern int XConnectionNumber( + Display* /* display */ +); + +extern int XConvertSelection( + Display* /* display */, + Atom /* selection */, + Atom /* target */, + Atom /* property */, + Window /* requestor */, + Time /* time */ +); + +extern int XCopyArea( + Display* /* display */, + Drawable /* src */, + Drawable /* dest */, + GC /* gc */, + int /* src_x */, + int /* src_y */, + unsigned int /* width */, + unsigned int /* height */, + int /* dest_x */, + int /* dest_y */ +); + +extern int XCopyGC( + Display* /* display */, + GC /* src */, + unsigned long /* valuemask */, + GC /* dest */ +); + +extern int XCopyPlane( + Display* /* display */, + Drawable /* src */, + Drawable /* dest */, + GC /* gc */, + int /* src_x */, + int /* src_y */, + unsigned int /* width */, + unsigned int /* height */, + int /* dest_x */, + int /* dest_y */, + unsigned long /* plane */ +); + +extern int XDefaultDepth( + Display* /* display */, + int /* screen_number */ +); + +extern int XDefaultDepthOfScreen( + Screen* /* screen */ +); + +extern int XDefaultScreen( + Display* /* display */ +); + +extern int XDefineCursor( + Display* /* display */, + Window /* w */, + Cursor /* cursor */ +); + +extern int XDeleteProperty( + Display* /* display */, + Window /* w */, + Atom /* property */ +); + +extern int XDestroyWindow( + Display* /* display */, + Window /* w */ +); + +extern int XDestroySubwindows( + Display* /* display */, + Window /* w */ +); + +extern int XDoesBackingStore( + Screen* /* screen */ +); + +extern Bool XDoesSaveUnders( + Screen* /* screen */ +); + +extern int XDisableAccessControl( + Display* /* display */ +); + + +extern int XDisplayCells( + Display* /* display */, + int /* screen_number */ +); + +extern int XDisplayHeight( + Display* /* display */, + int /* screen_number */ +); + +extern int XDisplayHeightMM( + Display* /* display */, + int /* screen_number */ +); + +extern int XDisplayKeycodes( + Display* /* display */, + int* /* min_keycodes_return */, + int* /* max_keycodes_return */ +); + +extern int XDisplayPlanes( + Display* /* display */, + int /* screen_number */ +); + +extern int XDisplayWidth( + Display* /* display */, + int /* screen_number */ +); + +extern int XDisplayWidthMM( + Display* /* display */, + int /* screen_number */ +); + +extern int XDrawArc( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + int /* angle1 */, + int /* angle2 */ +); + +extern int XDrawArcs( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XArc* /* arcs */, + int /* narcs */ +); + +extern int XDrawImageString( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst char* /* string */, + int /* length */ +); + +extern int XDrawImageString16( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst XChar2b* /* string */, + int /* length */ +); + +extern int XDrawLine( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x1 */, + int /* y1 */, + int /* x2 */, + int /* y2 */ +); + +extern int XDrawLines( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XPoint* /* points */, + int /* npoints */, + int /* mode */ +); + +extern int XDrawPoint( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */ +); + +extern int XDrawPoints( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XPoint* /* points */, + int /* npoints */, + int /* mode */ +); + +extern int XDrawRectangle( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */ +); + +extern int XDrawRectangles( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XRectangle* /* rectangles */, + int /* nrectangles */ +); + +extern int XDrawSegments( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XSegment* /* segments */, + int /* nsegments */ +); + +extern int XDrawString( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst char* /* string */, + int /* length */ +); + +extern int XDrawString16( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst XChar2b* /* string */, + int /* length */ +); + +extern int XDrawText( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + XTextItem* /* items */, + int /* nitems */ +); + +extern int XDrawText16( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + XTextItem16* /* items */, + int /* nitems */ +); + +extern int XEnableAccessControl( + Display* /* display */ +); + +extern int XEventsQueued( + Display* /* display */, + int /* mode */ +); + +extern Status XFetchName( + Display* /* display */, + Window /* w */, + char** /* window_name_return */ +); + +extern int XFillArc( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + int /* angle1 */, + int /* angle2 */ +); + +extern int XFillArcs( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XArc* /* arcs */, + int /* narcs */ +); + +extern int XFillPolygon( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XPoint* /* points */, + int /* npoints */, + int /* shape */, + int /* mode */ +); + +extern int XFillRectangle( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */ +); + +extern int XFillRectangles( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XRectangle* /* rectangles */, + int /* nrectangles */ +); + +extern int XFlush( + Display* /* display */ +); + +extern int XForceScreenSaver( + Display* /* display */, + int /* mode */ +); + +extern int XFree( + void* /* data */ +); + +extern int XFreeColormap( + Display* /* display */, + Colormap /* colormap */ +); + +extern int XFreeColors( + Display* /* display */, + Colormap /* colormap */, + unsigned long* /* pixels */, + int /* npixels */, + unsigned long /* planes */ +); + +extern int XFreeCursor( + Display* /* display */, + Cursor /* cursor */ +); + +extern int XFreeExtensionList( + char** /* list */ +); + +extern int XFreeFont( + Display* /* display */, + XFontStruct* /* font_struct */ +); + +extern int XFreeFontInfo( + char** /* names */, + XFontStruct* /* free_info */, + int /* actual_count */ +); + +extern int XFreeFontNames( + char** /* list */ +); + +extern int XFreeFontPath( + char** /* list */ +); + +extern int XFreeGC( + Display* /* display */, + GC /* gc */ +); + +extern int XFreeModifiermap( + XModifierKeymap* /* modmap */ +); + +extern int XFreePixmap( + Display* /* display */, + Pixmap /* pixmap */ +); + +extern int XGeometry( + Display* /* display */, + int /* screen */, + _Xconst char* /* position */, + _Xconst char* /* default_position */, + unsigned int /* bwidth */, + unsigned int /* fwidth */, + unsigned int /* fheight */, + int /* xadder */, + int /* yadder */, + int* /* x_return */, + int* /* y_return */, + int* /* width_return */, + int* /* height_return */ +); + +extern int XGetErrorDatabaseText( + Display* /* display */, + _Xconst char* /* name */, + _Xconst char* /* message */, + _Xconst char* /* default_string */, + char* /* buffer_return */, + int /* length */ +); + +extern int XGetErrorText( + Display* /* display */, + int /* code */, + char* /* buffer_return */, + int /* length */ +); + +extern Bool XGetFontProperty( + XFontStruct* /* font_struct */, + Atom /* atom */, + unsigned long* /* value_return */ +); + +extern Status XGetGCValues( + Display* /* display */, + GC /* gc */, + unsigned long /* valuemask */, + XGCValues* /* values_return */ +); + +extern Status XGetGeometry( + Display* /* display */, + Drawable /* d */, + Window* /* root_return */, + int* /* x_return */, + int* /* y_return */, + unsigned int* /* width_return */, + unsigned int* /* height_return */, + unsigned int* /* border_width_return */, + unsigned int* /* depth_return */ +); + +extern Status XGetIconName( + Display* /* display */, + Window /* w */, + char** /* icon_name_return */ +); + +extern int XGetInputFocus( + Display* /* display */, + Window* /* focus_return */, + int* /* revert_to_return */ +); + +extern int XGetKeyboardControl( + Display* /* display */, + XKeyboardState* /* values_return */ +); + +extern int XGetPointerControl( + Display* /* display */, + int* /* accel_numerator_return */, + int* /* accel_denominator_return */, + int* /* threshold_return */ +); + +extern int XGetPointerMapping( + Display* /* display */, + unsigned char* /* map_return */, + int /* nmap */ +); + +extern int XGetScreenSaver( + Display* /* display */, + int* /* timeout_return */, + int* /* interval_return */, + int* /* prefer_blanking_return */, + int* /* allow_exposures_return */ +); + +extern Status XGetTransientForHint( + Display* /* display */, + Window /* w */, + Window* /* prop_window_return */ +); + +extern int XGetWindowProperty( + Display* /* display */, + Window /* w */, + Atom /* property */, + long /* long_offset */, + long /* long_length */, + Bool /* delete */, + Atom /* req_type */, + Atom* /* actual_type_return */, + int* /* actual_format_return */, + unsigned long* /* nitems_return */, + unsigned long* /* bytes_after_return */, + unsigned char** /* prop_return */ +); + +extern Status XGetWindowAttributes( + Display* /* display */, + Window /* w */, + XWindowAttributes* /* window_attributes_return */ +); + +extern int XGrabButton( + Display* /* display */, + unsigned int /* button */, + unsigned int /* modifiers */, + Window /* grab_window */, + Bool /* owner_events */, + unsigned int /* event_mask */, + int /* pointer_mode */, + int /* keyboard_mode */, + Window /* confine_to */, + Cursor /* cursor */ +); + +extern int XGrabKey( + Display* /* display */, + int /* keycode */, + unsigned int /* modifiers */, + Window /* grab_window */, + Bool /* owner_events */, + int /* pointer_mode */, + int /* keyboard_mode */ +); + +extern int XGrabKeyboard( + Display* /* display */, + Window /* grab_window */, + Bool /* owner_events */, + int /* pointer_mode */, + int /* keyboard_mode */, + Time /* time */ +); + +extern int XGrabPointer( + Display* /* display */, + Window /* grab_window */, + Bool /* owner_events */, + unsigned int /* event_mask */, + int /* pointer_mode */, + int /* keyboard_mode */, + Window /* confine_to */, + Cursor /* cursor */, + Time /* time */ +); + +extern int XGrabServer( + Display* /* display */ +); + +extern int XHeightMMOfScreen( + Screen* /* screen */ +); + +extern int XHeightOfScreen( + Screen* /* screen */ +); + +extern int XIfEvent( + Display* /* display */, + XEvent* /* event_return */, + Bool (*) ( + Display* /* display */, + XEvent* /* event */, + XPointer /* arg */ + ) /* predicate */, + XPointer /* arg */ +); + +extern int XImageByteOrder( + Display* /* display */ +); + +extern int XInstallColormap( + Display* /* display */, + Colormap /* colormap */ +); + +extern KeyCode XKeysymToKeycode( + Display* /* display */, + KeySym /* keysym */ +); + +extern int XKillClient( + Display* /* display */, + XID /* resource */ +); + +extern Status XLookupColor( + Display* /* display */, + Colormap /* colormap */, + _Xconst char* /* color_name */, + XColor* /* exact_def_return */, + XColor* /* screen_def_return */ +); + +extern int XLowerWindow( + Display* /* display */, + Window /* w */ +); + +extern int XMapRaised( + Display* /* display */, + Window /* w */ +); + +extern int XMapSubwindows( + Display* /* display */, + Window /* w */ +); + +extern int XMapWindow( + Display* /* display */, + Window /* w */ +); + +extern int XMaskEvent( + Display* /* display */, + long /* event_mask */, + XEvent* /* event_return */ +); + +extern int XMaxCmapsOfScreen( + Screen* /* screen */ +); + +extern int XMinCmapsOfScreen( + Screen* /* screen */ +); + +extern int XMoveResizeWindow( + Display* /* display */, + Window /* w */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */ +); + +extern int XMoveWindow( + Display* /* display */, + Window /* w */, + int /* x */, + int /* y */ +); + +extern int XNextEvent( + Display* /* display */, + XEvent* /* event_return */ +); + +extern int XNoOp( + Display* /* display */ +); + +extern Status XParseColor( + Display* /* display */, + Colormap /* colormap */, + _Xconst char* /* spec */, + XColor* /* exact_def_return */ +); + +extern int XParseGeometry( + _Xconst char* /* parsestring */, + int* /* x_return */, + int* /* y_return */, + unsigned int* /* width_return */, + unsigned int* /* height_return */ +); + +extern int XPeekEvent( + Display* /* display */, + XEvent* /* event_return */ +); + +extern int XPeekIfEvent( + Display* /* display */, + XEvent* /* event_return */, + Bool (*) ( + Display* /* display */, + XEvent* /* event */, + XPointer /* arg */ + ) /* predicate */, + XPointer /* arg */ +); + +extern int XPending( + Display* /* display */ +); + +extern int XPlanesOfScreen( + Screen* /* screen */ +); + +extern int XProtocolRevision( + Display* /* display */ +); + +extern int XProtocolVersion( + Display* /* display */ +); + + +extern int XPutBackEvent( + Display* /* display */, + XEvent* /* event */ +); + +extern int XPutImage( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XImage* /* image */, + int /* src_x */, + int /* src_y */, + int /* dest_x */, + int /* dest_y */, + unsigned int /* width */, + unsigned int /* height */ +); + +extern int XQLength( + Display* /* display */ +); + +extern Status XQueryBestCursor( + Display* /* display */, + Drawable /* d */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int* /* width_return */, + unsigned int* /* height_return */ +); + +extern Status XQueryBestSize( + Display* /* display */, + int /* class */, + Drawable /* which_screen */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int* /* width_return */, + unsigned int* /* height_return */ +); + +extern Status XQueryBestStipple( + Display* /* display */, + Drawable /* which_screen */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int* /* width_return */, + unsigned int* /* height_return */ +); + +extern Status XQueryBestTile( + Display* /* display */, + Drawable /* which_screen */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int* /* width_return */, + unsigned int* /* height_return */ +); + +extern int XQueryColor( + Display* /* display */, + Colormap /* colormap */, + XColor* /* def_in_out */ +); + +extern int XQueryColors( + Display* /* display */, + Colormap /* colormap */, + XColor* /* defs_in_out */, + int /* ncolors */ +); + +extern Bool XQueryExtension( + Display* /* display */, + _Xconst char* /* name */, + int* /* major_opcode_return */, + int* /* first_event_return */, + int* /* first_error_return */ +); + +extern int XQueryKeymap( + Display* /* display */, + char [32] /* keys_return */ +); + +extern Bool XQueryPointer( + Display* /* display */, + Window /* w */, + Window* /* root_return */, + Window* /* child_return */, + int* /* root_x_return */, + int* /* root_y_return */, + int* /* win_x_return */, + int* /* win_y_return */, + unsigned int* /* mask_return */ +); + +extern int XQueryTextExtents( + Display* /* display */, + XID /* font_ID */, + _Xconst char* /* string */, + int /* nchars */, + int* /* direction_return */, + int* /* font_ascent_return */, + int* /* font_descent_return */, + XCharStruct* /* overall_return */ +); + +extern int XQueryTextExtents16( + Display* /* display */, + XID /* font_ID */, + _Xconst XChar2b* /* string */, + int /* nchars */, + int* /* direction_return */, + int* /* font_ascent_return */, + int* /* font_descent_return */, + XCharStruct* /* overall_return */ +); + +extern Status XQueryTree( + Display* /* display */, + Window /* w */, + Window* /* root_return */, + Window* /* parent_return */, + Window** /* children_return */, + unsigned int* /* nchildren_return */ +); + +extern int XRaiseWindow( + Display* /* display */, + Window /* w */ +); + +extern int XReadBitmapFile( + Display* /* display */, + Drawable /* d */, + _Xconst char* /* filename */, + unsigned int* /* width_return */, + unsigned int* /* height_return */, + Pixmap* /* bitmap_return */, + int* /* x_hot_return */, + int* /* y_hot_return */ +); + +extern int XReadBitmapFileData( + _Xconst char* /* filename */, + unsigned int* /* width_return */, + unsigned int* /* height_return */, + unsigned char** /* data_return */, + int* /* x_hot_return */, + int* /* y_hot_return */ +); + +extern int XRebindKeysym( + Display* /* display */, + KeySym /* keysym */, + KeySym* /* list */, + int /* mod_count */, + _Xconst unsigned char* /* string */, + int /* bytes_string */ +); + +extern int XRecolorCursor( + Display* /* display */, + Cursor /* cursor */, + XColor* /* foreground_color */, + XColor* /* background_color */ +); + +extern int XRefreshKeyboardMapping( + XMappingEvent* /* event_map */ +); + +extern int XRemoveFromSaveSet( + Display* /* display */, + Window /* w */ +); + +extern int XRemoveHost( + Display* /* display */, + XHostAddress* /* host */ +); + +extern int XRemoveHosts( + Display* /* display */, + XHostAddress* /* hosts */, + int /* num_hosts */ +); + +extern int XReparentWindow( + Display* /* display */, + Window /* w */, + Window /* parent */, + int /* x */, + int /* y */ +); + +extern int XResetScreenSaver( + Display* /* display */ +); + +extern int XResizeWindow( + Display* /* display */, + Window /* w */, + unsigned int /* width */, + unsigned int /* height */ +); + +extern int XRestackWindows( + Display* /* display */, + Window* /* windows */, + int /* nwindows */ +); + +extern int XRotateBuffers( + Display* /* display */, + int /* rotate */ +); + +extern int XRotateWindowProperties( + Display* /* display */, + Window /* w */, + Atom* /* properties */, + int /* num_prop */, + int /* npositions */ +); + +extern int XScreenCount( + Display* /* display */ +); + +extern int XSelectInput( + Display* /* display */, + Window /* w */, + long /* event_mask */ +); + +extern Status XSendEvent( + Display* /* display */, + Window /* w */, + Bool /* propagate */, + long /* event_mask */, + XEvent* /* event_send */ +); + +extern int XSetAccessControl( + Display* /* display */, + int /* mode */ +); + +extern int XSetArcMode( + Display* /* display */, + GC /* gc */, + int /* arc_mode */ +); + +extern int XSetBackground( + Display* /* display */, + GC /* gc */, + unsigned long /* background */ +); + +extern int XSetClipMask( + Display* /* display */, + GC /* gc */, + Pixmap /* pixmap */ +); + +extern int XSetClipOrigin( + Display* /* display */, + GC /* gc */, + int /* clip_x_origin */, + int /* clip_y_origin */ +); + +extern int XSetClipRectangles( + Display* /* display */, + GC /* gc */, + int /* clip_x_origin */, + int /* clip_y_origin */, + XRectangle* /* rectangles */, + int /* n */, + int /* ordering */ +); + +extern int XSetCloseDownMode( + Display* /* display */, + int /* close_mode */ +); + +extern int XSetCommand( + Display* /* display */, + Window /* w */, + char** /* argv */, + int /* argc */ +); + +extern int XSetDashes( + Display* /* display */, + GC /* gc */, + int /* dash_offset */, + _Xconst char* /* dash_list */, + int /* n */ +); + +extern int XSetFillRule( + Display* /* display */, + GC /* gc */, + int /* fill_rule */ +); + +extern int XSetFillStyle( + Display* /* display */, + GC /* gc */, + int /* fill_style */ +); + +extern int XSetFont( + Display* /* display */, + GC /* gc */, + Font /* font */ +); + +extern int XSetFontPath( + Display* /* display */, + char** /* directories */, + int /* ndirs */ +); + +extern int XSetForeground( + Display* /* display */, + GC /* gc */, + unsigned long /* foreground */ +); + +extern int XSetFunction( + Display* /* display */, + GC /* gc */, + int /* function */ +); + +extern int XSetGraphicsExposures( + Display* /* display */, + GC /* gc */, + Bool /* graphics_exposures */ +); + +extern int XSetIconName( + Display* /* display */, + Window /* w */, + _Xconst char* /* icon_name */ +); + +extern int XSetInputFocus( + Display* /* display */, + Window /* focus */, + int /* revert_to */, + Time /* time */ +); + +extern int XSetLineAttributes( + Display* /* display */, + GC /* gc */, + unsigned int /* line_width */, + int /* line_style */, + int /* cap_style */, + int /* join_style */ +); + +extern int XSetModifierMapping( + Display* /* display */, + XModifierKeymap* /* modmap */ +); + +extern int XSetPlaneMask( + Display* /* display */, + GC /* gc */, + unsigned long /* plane_mask */ +); + +extern int XSetPointerMapping( + Display* /* display */, + _Xconst unsigned char* /* map */, + int /* nmap */ +); + +extern int XSetScreenSaver( + Display* /* display */, + int /* timeout */, + int /* interval */, + int /* prefer_blanking */, + int /* allow_exposures */ +); + +extern int XSetSelectionOwner( + Display* /* display */, + Atom /* selection */, + Window /* owner */, + Time /* time */ +); + +extern int XSetState( + Display* /* display */, + GC /* gc */, + unsigned long /* foreground */, + unsigned long /* background */, + int /* function */, + unsigned long /* plane_mask */ +); + +extern int XSetStipple( + Display* /* display */, + GC /* gc */, + Pixmap /* stipple */ +); + +extern int XSetSubwindowMode( + Display* /* display */, + GC /* gc */, + int /* subwindow_mode */ +); + +extern int XSetTSOrigin( + Display* /* display */, + GC /* gc */, + int /* ts_x_origin */, + int /* ts_y_origin */ +); + +extern int XSetTile( + Display* /* display */, + GC /* gc */, + Pixmap /* tile */ +); + +extern int XSetWindowBackground( + Display* /* display */, + Window /* w */, + unsigned long /* background_pixel */ +); + +extern int XSetWindowBackgroundPixmap( + Display* /* display */, + Window /* w */, + Pixmap /* background_pixmap */ +); + +extern int XSetWindowBorder( + Display* /* display */, + Window /* w */, + unsigned long /* border_pixel */ +); + +extern int XSetWindowBorderPixmap( + Display* /* display */, + Window /* w */, + Pixmap /* border_pixmap */ +); + +extern int XSetWindowBorderWidth( + Display* /* display */, + Window /* w */, + unsigned int /* width */ +); + +extern int XSetWindowColormap( + Display* /* display */, + Window /* w */, + Colormap /* colormap */ +); + +extern int XStoreBuffer( + Display* /* display */, + _Xconst char* /* bytes */, + int /* nbytes */, + int /* buffer */ +); + +extern int XStoreBytes( + Display* /* display */, + _Xconst char* /* bytes */, + int /* nbytes */ +); + +extern int XStoreColor( + Display* /* display */, + Colormap /* colormap */, + XColor* /* color */ +); + +extern int XStoreColors( + Display* /* display */, + Colormap /* colormap */, + XColor* /* color */, + int /* ncolors */ +); + +extern int XStoreName( + Display* /* display */, + Window /* w */, + _Xconst char* /* window_name */ +); + +extern int XStoreNamedColor( + Display* /* display */, + Colormap /* colormap */, + _Xconst char* /* color */, + unsigned long /* pixel */, + int /* flags */ +); + +extern int XSync( + Display* /* display */, + Bool /* discard */ +); + +extern int XTextExtents( + XFontStruct* /* font_struct */, + _Xconst char* /* string */, + int /* nchars */, + int* /* direction_return */, + int* /* font_ascent_return */, + int* /* font_descent_return */, + XCharStruct* /* overall_return */ +); + +extern int XTextExtents16( + XFontStruct* /* font_struct */, + _Xconst XChar2b* /* string */, + int /* nchars */, + int* /* direction_return */, + int* /* font_ascent_return */, + int* /* font_descent_return */, + XCharStruct* /* overall_return */ +); + +extern int XTextWidth( + XFontStruct* /* font_struct */, + _Xconst char* /* string */, + int /* count */ +); + +extern int XTextWidth16( + XFontStruct* /* font_struct */, + _Xconst XChar2b* /* string */, + int /* count */ +); + +extern Bool XTranslateCoordinates( + Display* /* display */, + Window /* src_w */, + Window /* dest_w */, + int /* src_x */, + int /* src_y */, + int* /* dest_x_return */, + int* /* dest_y_return */, + Window* /* child_return */ +); + +extern int XUndefineCursor( + Display* /* display */, + Window /* w */ +); + +extern int XUngrabButton( + Display* /* display */, + unsigned int /* button */, + unsigned int /* modifiers */, + Window /* grab_window */ +); + +extern int XUngrabKey( + Display* /* display */, + int /* keycode */, + unsigned int /* modifiers */, + Window /* grab_window */ +); + +extern int XUngrabKeyboard( + Display* /* display */, + Time /* time */ +); + +extern int XUngrabPointer( + Display* /* display */, + Time /* time */ +); + +extern int XUngrabServer( + Display* /* display */ +); + +extern int XUninstallColormap( + Display* /* display */, + Colormap /* colormap */ +); + +extern int XUnloadFont( + Display* /* display */, + Font /* font */ +); + +extern int XUnmapSubwindows( + Display* /* display */, + Window /* w */ +); + +extern int XUnmapWindow( + Display* /* display */, + Window /* w */ +); + +extern int XVendorRelease( + Display* /* display */ +); + +extern int XWarpPointer( + Display* /* display */, + Window /* src_w */, + Window /* dest_w */, + int /* src_x */, + int /* src_y */, + unsigned int /* src_width */, + unsigned int /* src_height */, + int /* dest_x */, + int /* dest_y */ +); + +extern int XWidthMMOfScreen( + Screen* /* screen */ +); + +extern int XWidthOfScreen( + Screen* /* screen */ +); + +extern int XWindowEvent( + Display* /* display */, + Window /* w */, + long /* event_mask */, + XEvent* /* event_return */ +); + +extern int XWriteBitmapFile( + Display* /* display */, + _Xconst char* /* filename */, + Pixmap /* bitmap */, + unsigned int /* width */, + unsigned int /* height */, + int /* x_hot */, + int /* y_hot */ +); + +extern Bool XSupportsLocale (void); + +extern char *XSetLocaleModifiers( + const char* /* modifier_list */ +); + +extern XOM XOpenOM( + Display* /* display */, + struct _XrmHashBucketRec* /* rdb */, + _Xconst char* /* res_name */, + _Xconst char* /* res_class */ +); + +extern Status XCloseOM( + XOM /* om */ +); + +extern char *XSetOMValues( + XOM /* om */, + ... +) _X_SENTINEL(0); + +extern char *XGetOMValues( + XOM /* om */, + ... +) _X_SENTINEL(0); + +extern Display *XDisplayOfOM( + XOM /* om */ +); + +extern char *XLocaleOfOM( + XOM /* om */ +); + +extern XOC XCreateOC( + XOM /* om */, + ... +) _X_SENTINEL(0); + +extern void XDestroyOC( + XOC /* oc */ +); + +extern XOM XOMOfOC( + XOC /* oc */ +); + +extern char *XSetOCValues( + XOC /* oc */, + ... +) _X_SENTINEL(0); + +extern char *XGetOCValues( + XOC /* oc */, + ... +) _X_SENTINEL(0); + +extern XFontSet XCreateFontSet( + Display* /* display */, + _Xconst char* /* base_font_name_list */, + char*** /* missing_charset_list */, + int* /* missing_charset_count */, + char** /* def_string */ +); + +extern void XFreeFontSet( + Display* /* display */, + XFontSet /* font_set */ +); + +extern int XFontsOfFontSet( + XFontSet /* font_set */, + XFontStruct*** /* font_struct_list */, + char*** /* font_name_list */ +); + +extern char *XBaseFontNameListOfFontSet( + XFontSet /* font_set */ +); + +extern char *XLocaleOfFontSet( + XFontSet /* font_set */ +); + +extern Bool XContextDependentDrawing( + XFontSet /* font_set */ +); + +extern Bool XDirectionalDependentDrawing( + XFontSet /* font_set */ +); + +extern Bool XContextualDrawing( + XFontSet /* font_set */ +); + +extern XFontSetExtents *XExtentsOfFontSet( + XFontSet /* font_set */ +); + +extern int XmbTextEscapement( + XFontSet /* font_set */, + _Xconst char* /* text */, + int /* bytes_text */ +); + +extern int XwcTextEscapement( + XFontSet /* font_set */, + _Xconst wchar_t* /* text */, + int /* num_wchars */ +); + +extern int Xutf8TextEscapement( + XFontSet /* font_set */, + _Xconst char* /* text */, + int /* bytes_text */ +); + +extern int XmbTextExtents( + XFontSet /* font_set */, + _Xconst char* /* text */, + int /* bytes_text */, + XRectangle* /* overall_ink_return */, + XRectangle* /* overall_logical_return */ +); + +extern int XwcTextExtents( + XFontSet /* font_set */, + _Xconst wchar_t* /* text */, + int /* num_wchars */, + XRectangle* /* overall_ink_return */, + XRectangle* /* overall_logical_return */ +); + +extern int Xutf8TextExtents( + XFontSet /* font_set */, + _Xconst char* /* text */, + int /* bytes_text */, + XRectangle* /* overall_ink_return */, + XRectangle* /* overall_logical_return */ +); + +extern Status XmbTextPerCharExtents( + XFontSet /* font_set */, + _Xconst char* /* text */, + int /* bytes_text */, + XRectangle* /* ink_extents_buffer */, + XRectangle* /* logical_extents_buffer */, + int /* buffer_size */, + int* /* num_chars */, + XRectangle* /* overall_ink_return */, + XRectangle* /* overall_logical_return */ +); + +extern Status XwcTextPerCharExtents( + XFontSet /* font_set */, + _Xconst wchar_t* /* text */, + int /* num_wchars */, + XRectangle* /* ink_extents_buffer */, + XRectangle* /* logical_extents_buffer */, + int /* buffer_size */, + int* /* num_chars */, + XRectangle* /* overall_ink_return */, + XRectangle* /* overall_logical_return */ +); + +extern Status Xutf8TextPerCharExtents( + XFontSet /* font_set */, + _Xconst char* /* text */, + int /* bytes_text */, + XRectangle* /* ink_extents_buffer */, + XRectangle* /* logical_extents_buffer */, + int /* buffer_size */, + int* /* num_chars */, + XRectangle* /* overall_ink_return */, + XRectangle* /* overall_logical_return */ +); + +extern void XmbDrawText( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + XmbTextItem* /* text_items */, + int /* nitems */ +); + +extern void XwcDrawText( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + XwcTextItem* /* text_items */, + int /* nitems */ +); + +extern void Xutf8DrawText( + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + XmbTextItem* /* text_items */, + int /* nitems */ +); + +extern void XmbDrawString( + Display* /* display */, + Drawable /* d */, + XFontSet /* font_set */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst char* /* text */, + int /* bytes_text */ +); + +extern void XwcDrawString( + Display* /* display */, + Drawable /* d */, + XFontSet /* font_set */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst wchar_t* /* text */, + int /* num_wchars */ +); + +extern void Xutf8DrawString( + Display* /* display */, + Drawable /* d */, + XFontSet /* font_set */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst char* /* text */, + int /* bytes_text */ +); + +extern void XmbDrawImageString( + Display* /* display */, + Drawable /* d */, + XFontSet /* font_set */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst char* /* text */, + int /* bytes_text */ +); + +extern void XwcDrawImageString( + Display* /* display */, + Drawable /* d */, + XFontSet /* font_set */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst wchar_t* /* text */, + int /* num_wchars */ +); + +extern void Xutf8DrawImageString( + Display* /* display */, + Drawable /* d */, + XFontSet /* font_set */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst char* /* text */, + int /* bytes_text */ +); + +extern XIM XOpenIM( + Display* /* dpy */, + struct _XrmHashBucketRec* /* rdb */, + char* /* res_name */, + char* /* res_class */ +); + +extern Status XCloseIM( + XIM /* im */ +); + +extern char *XGetIMValues( + XIM /* im */, ... +) _X_SENTINEL(0); + +extern char *XSetIMValues( + XIM /* im */, ... +) _X_SENTINEL(0); + +extern Display *XDisplayOfIM( + XIM /* im */ +); + +extern char *XLocaleOfIM( + XIM /* im*/ +); + +extern XIC XCreateIC( + XIM /* im */, ... +) _X_SENTINEL(0); + +extern void XDestroyIC( + XIC /* ic */ +); + +extern void XSetICFocus( + XIC /* ic */ +); + +extern void XUnsetICFocus( + XIC /* ic */ +); + +extern wchar_t *XwcResetIC( + XIC /* ic */ +); + +extern char *XmbResetIC( + XIC /* ic */ +); + +extern char *Xutf8ResetIC( + XIC /* ic */ +); + +extern char *XSetICValues( + XIC /* ic */, ... +) _X_SENTINEL(0); + +extern char *XGetICValues( + XIC /* ic */, ... +) _X_SENTINEL(0); + +extern XIM XIMOfIC( + XIC /* ic */ +); + +extern Bool XFilterEvent( + XEvent* /* event */, + Window /* window */ +); + +extern int XmbLookupString( + XIC /* ic */, + XKeyPressedEvent* /* event */, + char* /* buffer_return */, + int /* bytes_buffer */, + KeySym* /* keysym_return */, + Status* /* status_return */ +); + +extern int XwcLookupString( + XIC /* ic */, + XKeyPressedEvent* /* event */, + wchar_t* /* buffer_return */, + int /* wchars_buffer */, + KeySym* /* keysym_return */, + Status* /* status_return */ +); + +extern int Xutf8LookupString( + XIC /* ic */, + XKeyPressedEvent* /* event */, + char* /* buffer_return */, + int /* bytes_buffer */, + KeySym* /* keysym_return */, + Status* /* status_return */ +); + +extern XVaNestedList XVaCreateNestedList( + int /*unused*/, ... +) _X_SENTINEL(0); + +/* internal connections for IMs */ + +extern Bool XRegisterIMInstantiateCallback( + Display* /* dpy */, + struct _XrmHashBucketRec* /* rdb */, + char* /* res_name */, + char* /* res_class */, + XIDProc /* callback */, + XPointer /* client_data */ +); + +extern Bool XUnregisterIMInstantiateCallback( + Display* /* dpy */, + struct _XrmHashBucketRec* /* rdb */, + char* /* res_name */, + char* /* res_class */, + XIDProc /* callback */, + XPointer /* client_data */ +); + +typedef void (*XConnectionWatchProc)( + Display* /* dpy */, + XPointer /* client_data */, + int /* fd */, + Bool /* opening */, /* open or close flag */ + XPointer* /* watch_data */ /* open sets, close uses */ +); + + +extern Status XInternalConnectionNumbers( + Display* /* dpy */, + int** /* fd_return */, + int* /* count_return */ +); + +extern void XProcessInternalConnection( + Display* /* dpy */, + int /* fd */ +); + +extern Status XAddConnectionWatch( + Display* /* dpy */, + XConnectionWatchProc /* callback */, + XPointer /* client_data */ +); + +extern void XRemoveConnectionWatch( + Display* /* dpy */, + XConnectionWatchProc /* callback */, + XPointer /* client_data */ +); + +extern void XSetAuthorization( + char * /* name */, + int /* namelen */, + char * /* data */, + int /* datalen */ +); + +extern int _Xmbtowc( + wchar_t * /* wstr */, + char * /* str */, + int /* len */ +); + +extern int _Xwctomb( + char * /* str */, + wchar_t /* wc */ +); + +extern Bool XGetEventData( + Display* /* dpy */, + XGenericEventCookie* /* cookie*/ +); + +extern void XFreeEventData( + Display* /* dpy */, + XGenericEventCookie* /* cookie*/ +); + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + +_XFUNCPROTOEND + +#endif /* _X11_XLIB_H_ */ diff --git a/ThirdParty/X11/Include/X11/XlibConf.h b/ThirdParty/X11/Include/X11/XlibConf.h new file mode 100644 index 0000000..9f9b940 --- /dev/null +++ b/ThirdParty/X11/Include/X11/XlibConf.h @@ -0,0 +1,38 @@ +/* include/X11/XlibConf.h. Generated from XlibConf.h.in by configure. */ +/* + * Copyright © 2005 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _XLIBCONF_H_ +#define _XLIBCONF_H_ +/* + * This header file exports defines necessary to correctly + * use Xlibint.h both inside Xlib and by external libraries + * such as extensions. + */ + +/* Threading support? */ +#define XTHREADS 1 + +/* Use multi-threaded libc functions? */ +#define XUSE_MTSAFE_API 1 + +#endif /* _XLIBCONF_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xlibint.h b/ThirdParty/X11/Include/X11/Xlibint.h new file mode 100644 index 0000000..6b95bcf --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xlibint.h @@ -0,0 +1,1444 @@ + +/* + +Copyright 1984, 1985, 1987, 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. + +*/ + +#ifndef _X11_XLIBINT_H_ +#define _X11_XLIBINT_H_ 1 + +/* + * Xlibint.h - Header definition and support file for the internal + * support routines used by the C subroutine interface + * library (Xlib) to the X Window System. + * + * Warning, there be dragons here.... + */ + +#include <stdint.h> +#include <X11/Xlib.h> +#include <X11/Xproto.h> /* to declare xEvent */ +#include <X11/XlibConf.h> /* for configured options like XTHREADS */ + +/* The Xlib structs are full of implicit padding to properly align members. + We can't clean that up without breaking ABI, so tell clang not to bother + complaining about it. */ +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wpadded" +#endif + +#ifdef WIN32 +#define _XFlush _XFlushIt +#endif + +struct _XGC +{ + XExtData *ext_data; /* hook for extension to hang data */ + GContext gid; /* protocol ID for graphics context */ + Bool rects; /* boolean: TRUE if clipmask is list of rectangles */ + Bool dashes; /* boolean: TRUE if dash-list is really a list */ + unsigned long dirty;/* cache dirty bits */ + XGCValues values; /* shadow structure of values */ +}; + +struct _XDisplay +{ + XExtData *ext_data; /* hook for extension to hang data */ + struct _XFreeFuncs *free_funcs; /* internal free functions */ + int fd; /* Network socket. */ + int conn_checker; /* ugly thing used by _XEventsQueued */ + int proto_major_version;/* maj. version of server's X protocol */ + int proto_minor_version;/* minor version of server's X protocol */ + char *vendor; /* vendor of the server hardware */ + XID resource_base; /* resource ID base */ + XID resource_mask; /* resource ID mask bits */ + XID resource_id; /* allocator current ID */ + int resource_shift; /* allocator shift to correct bits */ + XID (*resource_alloc)( /* allocator function */ + struct _XDisplay* + ); + int byte_order; /* screen byte order, LSBFirst, MSBFirst */ + int bitmap_unit; /* padding and data requirements */ + int bitmap_pad; /* padding requirements on bitmaps */ + int bitmap_bit_order; /* LeastSignificant or MostSignificant */ + int nformats; /* number of pixmap formats in list */ + ScreenFormat *pixmap_format; /* pixmap format list */ + int vnumber; /* Xlib's X protocol version number. */ + int release; /* release of the server */ + struct _XSQEvent *head, *tail; /* Input event queue. */ + int qlen; /* Length of input event queue */ + unsigned long last_request_read; /* seq number of last event read */ + unsigned long request; /* sequence number of last request. */ + char *last_req; /* beginning of last request, or dummy */ + char *buffer; /* Output buffer starting address. */ + char *bufptr; /* Output buffer index pointer. */ + char *bufmax; /* Output buffer maximum+1 address. */ + unsigned max_request_size; /* maximum number 32 bit words in request*/ + struct _XrmHashBucketRec *db; + int (*synchandler)( /* Synchronization handler */ + struct _XDisplay* + ); + char *display_name; /* "host:display" string used on this connect*/ + int default_screen; /* default screen for operations */ + int nscreens; /* number of screens on this server*/ + Screen *screens; /* pointer to list of screens */ + unsigned long motion_buffer; /* size of motion buffer */ + volatile unsigned long flags; /* internal connection flags */ + int min_keycode; /* minimum defined keycode */ + int max_keycode; /* maximum defined keycode */ + KeySym *keysyms; /* This server's keysyms */ + XModifierKeymap *modifiermap; /* This server's modifier keymap */ + int keysyms_per_keycode;/* number of rows */ + char *xdefaults; /* contents of defaults from server */ + char *scratch_buffer; /* place to hang scratch buffer */ + unsigned long scratch_length; /* length of scratch buffer */ + int ext_number; /* extension number on this display */ + struct _XExten *ext_procs; /* extensions initialized on this display */ + /* + * the following can be fixed size, as the protocol defines how + * much address space is available. + * While this could be done using the extension vector, there + * may be MANY events processed, so a search through the extension + * list to find the right procedure for each event might be + * expensive if many extensions are being used. + */ + Bool (*event_vec[128])( /* vector for wire to event */ + Display * /* dpy */, + XEvent * /* re */, + xEvent * /* event */ + ); + Status (*wire_vec[128])( /* vector for event to wire */ + Display * /* dpy */, + XEvent * /* re */, + xEvent * /* event */ + ); + KeySym lock_meaning; /* for XLookupString */ + struct _XLockInfo *lock; /* multi-thread state, display lock */ + struct _XInternalAsync *async_handlers; /* for internal async */ + unsigned long bigreq_size; /* max size of big requests */ + struct _XLockPtrs *lock_fns; /* pointers to threads functions */ + void (*idlist_alloc)( /* XID list allocator function */ + Display * /* dpy */, + XID * /* ids */, + int /* count */ + ); + /* things above this line should not move, for binary compatibility */ + struct _XKeytrans *key_bindings; /* for XLookupString */ + Font cursor_font; /* for XCreateFontCursor */ + struct _XDisplayAtoms *atoms; /* for XInternAtom */ + unsigned int mode_switch; /* keyboard group modifiers */ + unsigned int num_lock; /* keyboard numlock modifiers */ + struct _XContextDB *context_db; /* context database */ + Bool (**error_vec)( /* vector for wire to error */ + Display * /* display */, + XErrorEvent * /* he */, + xError * /* we */ + ); + /* + * Xcms information + */ + struct { + XPointer defaultCCCs; /* pointer to an array of default XcmsCCC */ + XPointer clientCmaps; /* pointer to linked list of XcmsCmapRec */ + XPointer perVisualIntensityMaps; + /* linked list of XcmsIntensityMap */ + } cms; + struct _XIMFilter *im_filters; + struct _XSQEvent *qfree; /* unallocated event queue elements */ + unsigned long next_event_serial_num; /* inserted into next queue elt */ + struct _XExten *flushes; /* Flush hooks */ + struct _XConnectionInfo *im_fd_info; /* _XRegisterInternalConnection */ + int im_fd_length; /* number of im_fd_info */ + struct _XConnWatchInfo *conn_watchers; /* XAddConnectionWatch */ + int watcher_count; /* number of conn_watchers */ + XPointer filedes; /* struct pollfd cache for _XWaitForReadable */ + int (*savedsynchandler)( /* user synchandler when Xlib usurps */ + Display * /* dpy */ + ); + XID resource_max; /* allocator max ID */ + int xcmisc_opcode; /* major opcode for XC-MISC */ + struct _XkbInfoRec *xkb_info; /* XKB info */ + struct _XtransConnInfo *trans_conn; /* transport connection object */ + struct _X11XCBPrivate *xcb; /* XCB glue private data */ + + /* Generic event cookie handling */ + unsigned int next_cookie; /* next event cookie */ + /* vector for wire to generic event, index is (extension - 128) */ + Bool (*generic_event_vec[128])( + Display * /* dpy */, + XGenericEventCookie * /* Xlib event */, + xEvent * /* wire event */); + /* vector for event copy, index is (extension - 128) */ + Bool (*generic_event_copy_vec[128])( + Display * /* dpy */, + XGenericEventCookie * /* in */, + XGenericEventCookie * /* out*/); + void *cookiejar; /* cookie events returned but not claimed */ +#ifndef LONG64 + unsigned long last_request_read_upper32bit; + unsigned long request_upper32bit; +#endif +}; + +#define XAllocIDs(dpy,ids,n) (*(dpy)->idlist_alloc)(dpy,ids,n) + +/* + * access "last_request_read" and "request" with 64bit + * warning: the value argument of the SET-macros must not + * have any side-effects because it may get called twice. + */ +#ifndef LONG64 +/* accessors for 32-bit unsigned long */ + +#define X_DPY_GET_REQUEST(dpy) \ + ( \ + ((uint64_t)(((struct _XDisplay*)dpy)->request)) \ + + (((uint64_t)(((struct _XDisplay*)dpy)->request_upper32bit)) << 32) \ + ) + +#define X_DPY_SET_REQUEST(dpy, value) \ + ( \ + (((struct _XDisplay*)dpy)->request = \ + (value) & 0xFFFFFFFFUL), \ + (((struct _XDisplay*)dpy)->request_upper32bit = \ + ((uint64_t)(value)) >> 32), \ + (void)0 /* don't use the result */ \ + ) + +#define X_DPY_GET_LAST_REQUEST_READ(dpy) \ + ( \ + ((uint64_t)(((struct _XDisplay*)dpy)->last_request_read)) \ + + ( \ + ((uint64_t)( \ + ((struct _XDisplay*)dpy)->last_request_read_upper32bit \ + )) << 32 \ + ) \ + ) + +#define X_DPY_SET_LAST_REQUEST_READ(dpy, value) \ + ( \ + (((struct _XDisplay*)dpy)->last_request_read = \ + (value) & 0xFFFFFFFFUL), \ + (((struct _XDisplay*)dpy)->last_request_read_upper32bit = \ + ((uint64_t)(value)) >> 32), \ + (void)0 /* don't use the result */ \ + ) + +/* + * widen a 32-bit sequence number to a 64 sequence number. + * This macro makes the following assumptions: + * - ulseq refers to a sequence that has already been sent + * - ulseq means the most recent possible sequence number + * with these lower 32 bits. + * + * The following optimization is used: + * The comparison result is taken a 0 or 1 to avoid a branch. + */ +#define X_DPY_WIDEN_UNSIGNED_LONG_SEQ(dpy, ulseq) \ + ( \ + ((uint64_t)ulseq) \ + + \ + (( \ + ((uint64_t)(((struct _XDisplay*)dpy)->request_upper32bit)) \ + - (uint64_t)( \ + (ulseq) > (((struct _XDisplay*)dpy)->request) \ + ) \ + ) << 32) \ + ) + +#define X_DPY_REQUEST_INCREMENT(dpy) \ + ( \ + ((struct _XDisplay*)dpy)->request++, \ + ( \ + (((struct _XDisplay*)dpy)->request == 0) ? ( \ + ((struct _XDisplay*)dpy)->request_upper32bit++ \ + ) : 0 \ + ), \ + (void)0 /* don't use the result */ \ + ) + + +#define X_DPY_REQUEST_DECREMENT(dpy) \ + ( \ + ( \ + (((struct _XDisplay*)dpy)->request == 0) ? (\ + ((struct _XDisplay*)dpy)->request--, /* wrap */ \ + ((struct _XDisplay*)dpy)->request_upper32bit-- \ + ) : ( \ + ((struct _XDisplay*)dpy)->request-- \ + ) \ + ), \ + (void)0 /* don't use the result */ \ + ) + +#else +/* accessors for 64-bit unsigned long */ +#define X_DPY_GET_REQUEST(dpy) \ + (((struct _XDisplay*)dpy)->request) +#define X_DPY_SET_REQUEST(dpy, value) \ + ((struct _XDisplay*)dpy)->request = (value) + +#define X_DPY_GET_LAST_REQUEST_READ(dpy) \ + (((struct _XDisplay*)dpy)->last_request_read) +#define X_DPY_SET_LAST_REQUEST_READ(dpy, value) \ + ((struct _XDisplay*)dpy)->last_request_read = (value) + +#define X_DPY_WIDEN_UNSIGNED_LONG_SEQ(dpy, ulseq) ulseq + +#define X_DPY_REQUEST_INCREMENT(dpy) ((struct _XDisplay*)dpy)->request++ +#define X_DPY_REQUEST_DECREMENT(dpy) ((struct _XDisplay*)dpy)->request-- +#endif + + +#ifndef _XEVENT_ +/* + * _QEvent datatype for use in input queueing. + */ +typedef struct _XSQEvent +{ + struct _XSQEvent *next; + XEvent event; + unsigned long qserial_num; /* so multi-threaded code can find new ones */ +} _XQEvent; +#endif + +#include <X11/Xproto.h> +#ifdef __sgi +#define _SGI_MP_SOURCE /* turn this on to get MP safe errno */ +#endif +#include <errno.h> +#define _XBCOPYFUNC _Xbcopy +#include <X11/Xfuncs.h> +#include <X11/Xosdefs.h> + +/* Utek leaves kernel macros around in include files (bleah) */ +#ifdef dirty +#undef dirty +#endif + +#include <stdlib.h> +#include <string.h> + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +/* + * The following definitions can be used for locking requests in multi-threaded + * address spaces. + */ +#ifdef XTHREADS +/* Author: Stephen Gildea, MIT X Consortium + * + * declarations for C Threads locking + */ + +typedef struct _LockInfoRec *LockInfoPtr; + +/* interfaces for locking.c */ +struct _XLockPtrs { + /* used by all, including extensions; do not move */ + void (*lock_display)( + Display *dpy +#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE) + , char *file + , int line +#endif + ); + void (*unlock_display)( + Display *dpy +#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE) + , char *file + , int line +#endif + ); +}; + +#if defined(WIN32) && !defined(_XLIBINT_) +#define _XCreateMutex_fn (*_XCreateMutex_fn_p) +#define _XFreeMutex_fn (*_XFreeMutex_fn_p) +#define _XLockMutex_fn (*_XLockMutex_fn_p) +#define _XUnlockMutex_fn (*_XUnlockMutex_fn_p) +#define _Xglobal_lock (*_Xglobal_lock_p) +#endif + +/* in XlibInt.c */ +extern void (*_XCreateMutex_fn)( + LockInfoPtr /* lock */ +); +extern void (*_XFreeMutex_fn)( + LockInfoPtr /* lock */ +); +extern void (*_XLockMutex_fn)( + LockInfoPtr /* lock */ +#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE) + , char * /* file */ + , int /* line */ +#endif +); +extern void (*_XUnlockMutex_fn)( + LockInfoPtr /* lock */ +#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE) + , char * /* file */ + , int /* line */ +#endif +); + +extern LockInfoPtr _Xglobal_lock; + +#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE) +#define LockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->lock_display)((d),__FILE__,__LINE__) +#define UnlockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->unlock_display)((d),__FILE__,__LINE__) +#define _XLockMutex(lock) if (_XLockMutex_fn) (*_XLockMutex_fn)(lock,__FILE__,__LINE__) +#define _XUnlockMutex(lock) if (_XUnlockMutex_fn) (*_XUnlockMutex_fn)(lock,__FILE__,__LINE__) +#else +/* used everywhere, so must be fast if not using threads */ +#define LockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->lock_display)(d) +#define UnlockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->unlock_display)(d) +#define _XLockMutex(lock) if (_XLockMutex_fn) (*_XLockMutex_fn)(lock) +#define _XUnlockMutex(lock) if (_XUnlockMutex_fn) (*_XUnlockMutex_fn)(lock) +#endif +#define _XCreateMutex(lock) if (_XCreateMutex_fn) (*_XCreateMutex_fn)(lock); +#define _XFreeMutex(lock) if (_XFreeMutex_fn) (*_XFreeMutex_fn)(lock); + +#else /* XTHREADS */ +#define LockDisplay(dis) +#define _XLockMutex(lock) +#define _XUnlockMutex(lock) +#define UnlockDisplay(dis) +#define _XCreateMutex(lock) +#define _XFreeMutex(lock) +#endif + +#define Xfree(ptr) free((ptr)) + +/* + * Note that some machines do not return a valid pointer for malloc(0), in + * which case we provide an alternate under the control of the + * define MALLOC_0_RETURNS_NULL. This is necessary because some + * Xlib code expects malloc(0) to return a valid pointer to storage. + */ +#if defined(MALLOC_0_RETURNS_NULL) || defined(__clang_analyzer__) + +# define Xmalloc(size) malloc(((size) == 0 ? 1 : (size))) +# define Xrealloc(ptr, size) realloc((ptr), ((size) == 0 ? 1 : (size))) +# define Xcalloc(nelem, elsize) calloc(((nelem) == 0 ? 1 : (nelem)), (elsize)) + +#else + +# define Xmalloc(size) malloc((size)) +# define Xrealloc(ptr, size) realloc((ptr), (size)) +# define Xcalloc(nelem, elsize) calloc((nelem), (elsize)) + +#endif + +#include <stddef.h> + +#define LOCKED 1 +#define UNLOCKED 0 + +#ifndef BUFSIZE +#define BUFSIZE 2048 /* X output buffer size. */ +#endif +#ifndef PTSPERBATCH +#define PTSPERBATCH 1024 /* point batching */ +#endif +#ifndef WLNSPERBATCH +#define WLNSPERBATCH 50 /* wide line batching */ +#endif +#ifndef ZLNSPERBATCH +#define ZLNSPERBATCH 1024 /* thin line batching */ +#endif +#ifndef WRCTSPERBATCH +#define WRCTSPERBATCH 10 /* wide line rectangle batching */ +#endif +#ifndef ZRCTSPERBATCH +#define ZRCTSPERBATCH 256 /* thin line rectangle batching */ +#endif +#ifndef FRCTSPERBATCH +#define FRCTSPERBATCH 256 /* filled rectangle batching */ +#endif +#ifndef FARCSPERBATCH +#define FARCSPERBATCH 256 /* filled arc batching */ +#endif +#ifndef CURSORFONT +#define CURSORFONT "cursor" /* standard cursor fonts */ +#endif + +/* + * Display flags + */ +#define XlibDisplayIOError (1L << 0) +#define XlibDisplayClosing (1L << 1) +#define XlibDisplayNoXkb (1L << 2) +#define XlibDisplayPrivSync (1L << 3) +#define XlibDisplayProcConni (1L << 4) /* in _XProcessInternalConnection */ +#define XlibDisplayReadEvents (1L << 5) /* in _XReadEvents */ +#define XlibDisplayReply (1L << 5) /* in _XReply */ +#define XlibDisplayWriting (1L << 6) /* in _XFlushInt, _XSend */ +#define XlibDisplayDfltRMDB (1L << 7) /* mark if RM db from XGetDefault */ + +/* + * X Protocol packetizing macros. + */ + +/* Leftover from CRAY support - was defined empty on all non-Cray systems */ +#define WORD64ALIGN + +/** + * Return a len-sized request buffer for the request type. This function may + * flush the output queue. + * + * @param dpy The display connection + * @param type The request type + * @param len Length of the request in bytes + * + * @returns A pointer to the request buffer with a few default values + * initialized. + */ +extern void *_XGetRequest(Display *dpy, CARD8 type, size_t len); + +/* GetReqSized is the same as GetReq but allows the caller to specify the + * size in bytes. 'sz' must be a multiple of 4! */ + +#define GetReqSized(name, sz, req) \ + req = (x##name##Req *) _XGetRequest(dpy, X_##name, sz) + +/* + * GetReq - Get the next available X request packet in the buffer and + * return it. + * + * "name" is the name of the request, e.g. CreatePixmap, OpenFont, etc. + * "req" is the name of the request pointer. + * + */ + +#define GetReq(name, req) \ + GetReqSized(name, SIZEOF(x##name##Req), req) + +/* GetReqExtra is the same as GetReq, but allocates "n" additional + bytes after the request. "n" must be a multiple of 4! */ + +#define GetReqExtra(name, n, req) \ + GetReqSized(name, SIZEOF(x##name##Req) + n, req) + +/* + * GetResReq is for those requests that have a resource ID + * (Window, Pixmap, GContext, etc.) as their single argument. + * "rid" is the name of the resource. + */ + +#define GetResReq(name, rid, req) \ + req = (xResourceReq *) _XGetRequest(dpy, X_##name, SIZEOF(xResourceReq)); \ + req->id = (rid) + +/* + * GetEmptyReq is for those requests that have no arguments + * at all. + */ + +#define GetEmptyReq(name, req) \ + req = (xReq *) _XGetRequest(dpy, X_##name, SIZEOF(xReq)) + +/* + * MakeBigReq sets the CARD16 "req->length" to 0 and inserts a new CARD32 + * length, after req->length, before the data in the request. The new length + * includes the "n" extra 32-bit words. + * + * Do not use MakeBigReq if there is no data already in the request. + * req->length must already be >= 2. + */ +#ifdef LONG64 +#define MakeBigReq(req,n) \ + { \ + CARD64 _BRdat; \ + CARD32 _BRlen = req->length - 1; \ + req->length = 0; \ + _BRdat = ((CARD32 *)req)[_BRlen]; \ + memmove(((char *)req) + 8, ((char *)req) + 4, (_BRlen - 1) << 2); \ + ((CARD32 *)req)[1] = _BRlen + n + 2; \ + Data32(dpy, &_BRdat, 4); \ + } +#else +#define MakeBigReq(req,n) \ + { \ + CARD32 _BRdat; \ + CARD32 _BRlen = req->length - 1; \ + req->length = 0; \ + _BRdat = ((CARD32 *)req)[_BRlen]; \ + memmove(((char *)req) + 8, ((char *)req) + 4, (_BRlen - 1) << 2); \ + ((CARD32 *)req)[1] = _BRlen + n + 2; \ + Data32(dpy, &_BRdat, 4); \ + } +#endif + +/* + * SetReqLen increases the count of 32-bit words in the request by "n", + * or by "badlen" if "n" is too large. + * + * Do not use SetReqLen if "req" does not already have data after the + * xReq header. req->length must already be >= 2. + */ +#ifndef __clang_analyzer__ +#define SetReqLen(req,n,badlen) \ + if ((req->length + n) > (unsigned)65535) { \ + if (dpy->bigreq_size) { \ + MakeBigReq(req,n) \ + } else { \ + n = badlen; \ + req->length += n; \ + } \ + } else \ + req->length += n +#else +#define SetReqLen(req,n,badlen) \ + req->length += n +#endif + +#define SyncHandle() \ + if (dpy->synchandler) (*dpy->synchandler)(dpy) + +extern void _XFlushGCCache(Display *dpy, GC gc); +#define FlushGC(dpy, gc) \ + if ((gc)->dirty) _XFlushGCCache((dpy), (gc)) +/* + * Data - Place data in the buffer and pad the end to provide + * 32 bit word alignment. Transmit if the buffer fills. + * + * "dpy" is a pointer to a Display. + * "data" is a pointer to a data buffer. + * "len" is the length of the data buffer. + */ +#ifndef DataRoutineIsProcedure +#define Data(dpy, data, len) {\ + if (dpy->bufptr + (len) <= dpy->bufmax) {\ + memcpy(dpy->bufptr, data, (int)len);\ + dpy->bufptr += ((len) + 3) & ~3;\ + } else\ + _XSend(dpy, data, len);\ +} +#endif /* DataRoutineIsProcedure */ + + +/* Allocate bytes from the buffer. No padding is done, so if + * the length is not a multiple of 4, the caller must be + * careful to leave the buffer aligned after sending the + * current request. + * + * "type" is the type of the pointer being assigned to. + * "ptr" is the pointer being assigned to. + * "n" is the number of bytes to allocate. + * + * Example: + * xTextElt *elt; + * BufAlloc (xTextElt *, elt, nbytes) + */ + +#define BufAlloc(type, ptr, n) \ + if (dpy->bufptr + (n) > dpy->bufmax) \ + _XFlush (dpy); \ + ptr = (type) dpy->bufptr; \ + memset(ptr, '\0', n); \ + dpy->bufptr += (n); + +#define Data16(dpy, data, len) Data((dpy), (_Xconst char *)(data), (len)) +#define _XRead16Pad(dpy, data, len) _XReadPad((dpy), (char *)(data), (len)) +#define _XRead16(dpy, data, len) _XRead((dpy), (char *)(data), (len)) +#ifdef LONG64 +#define Data32(dpy, data, len) _XData32(dpy, (_Xconst long *)data, len) +extern int _XData32( + Display *dpy, + register _Xconst long *data, + unsigned len +); +extern void _XRead32( + Display *dpy, + register long *data, + long len +); +#else +#define Data32(dpy, data, len) Data((dpy), (_Xconst char *)(data), (len)) +#define _XRead32(dpy, data, len) _XRead((dpy), (char *)(data), (len)) +#endif + +#define PackData16(dpy,data,len) Data16 (dpy, data, len) +#define PackData32(dpy,data,len) Data32 (dpy, data, len) + +/* Xlib manual is bogus */ +#define PackData(dpy,data,len) PackData16 (dpy, data, len) + +#define min(a,b) (((a) < (b)) ? (a) : (b)) +#define max(a,b) (((a) > (b)) ? (a) : (b)) + +#define CI_NONEXISTCHAR(cs) (((cs)->width == 0) && \ + (((cs)->rbearing|(cs)->lbearing| \ + (cs)->ascent|(cs)->descent) == 0)) + +/* + * CI_GET_CHAR_INFO_1D - return the charinfo struct for the indicated 8bit + * character. If the character is in the column and exists, then return the + * appropriate metrics (note that fonts with common per-character metrics will + * return min_bounds). If none of these hold true, try again with the default + * char. + */ +#define CI_GET_CHAR_INFO_1D(fs,col,def,cs) \ +{ \ + cs = def; \ + if (col >= fs->min_char_or_byte2 && col <= fs->max_char_or_byte2) { \ + if (fs->per_char == NULL) { \ + cs = &fs->min_bounds; \ + } else { \ + cs = &fs->per_char[(col - fs->min_char_or_byte2)]; \ + if (CI_NONEXISTCHAR(cs)) cs = def; \ + } \ + } \ +} + +#define CI_GET_DEFAULT_INFO_1D(fs,cs) \ + CI_GET_CHAR_INFO_1D (fs, fs->default_char, NULL, cs) + + + +/* + * CI_GET_CHAR_INFO_2D - return the charinfo struct for the indicated row and + * column. This is used for fonts that have more than row zero. + */ +#define CI_GET_CHAR_INFO_2D(fs,row,col,def,cs) \ +{ \ + cs = def; \ + if (row >= fs->min_byte1 && row <= fs->max_byte1 && \ + col >= fs->min_char_or_byte2 && col <= fs->max_char_or_byte2) { \ + if (fs->per_char == NULL) { \ + cs = &fs->min_bounds; \ + } else { \ + cs = &fs->per_char[((row - fs->min_byte1) * \ + (fs->max_char_or_byte2 - \ + fs->min_char_or_byte2 + 1)) + \ + (col - fs->min_char_or_byte2)]; \ + if (CI_NONEXISTCHAR(cs)) cs = def; \ + } \ + } \ +} + +#define CI_GET_DEFAULT_INFO_2D(fs,cs) \ +{ \ + unsigned int r = (fs->default_char >> 8); \ + unsigned int c = (fs->default_char & 0xff); \ + CI_GET_CHAR_INFO_2D (fs, r, c, NULL, cs); \ +} + + +/* srcvar must be a variable for large architecture version */ +#define OneDataCard32(dpy,dstaddr,srcvar) \ + { *(CARD32 *)(dstaddr) = (srcvar); } + + +typedef struct _XInternalAsync { + struct _XInternalAsync *next; + /* + * handler arguments: + * rep is the generic reply that caused this handler + * to be invoked. It must also be passed to _XGetAsyncReply. + * buf and len are opaque values that must be passed to + * _XGetAsyncReply or _XGetAsyncData. + * data is the closure stored in this struct. + * The handler returns True iff it handled this reply. + */ + Bool (*handler)( + Display* /* dpy */, + xReply* /* rep */, + char* /* buf */, + int /* len */, + XPointer /* data */ + ); + XPointer data; +} _XAsyncHandler; + +/* + * This struct is part of the ABI and is defined by value + * in user-code. This means that we cannot make + * the sequence-numbers 64bit. + */ +typedef struct _XAsyncEState { + unsigned long min_sequence_number; + unsigned long max_sequence_number; + unsigned char error_code; + unsigned char major_opcode; + unsigned short minor_opcode; + unsigned char last_error_received; + int error_count; +} _XAsyncErrorState; + +extern void _XDeqAsyncHandler(Display *dpy, _XAsyncHandler *handler); +#define DeqAsyncHandler(dpy,handler) { \ + if (dpy->async_handlers == (handler)) \ + dpy->async_handlers = (handler)->next; \ + else \ + _XDeqAsyncHandler(dpy, handler); \ + } + +typedef void (*FreeFuncType) ( + Display* /* display */ +); + +typedef int (*FreeModmapType) ( + XModifierKeymap* /* modmap */ +); + +/* + * This structure is private to the library. + */ +typedef struct _XFreeFuncs { + FreeFuncType atoms; /* _XFreeAtomTable */ + FreeModmapType modifiermap; /* XFreeModifiermap */ + FreeFuncType key_bindings; /* _XFreeKeyBindings */ + FreeFuncType context_db; /* _XFreeContextDB */ + FreeFuncType defaultCCCs; /* _XcmsFreeDefaultCCCs */ + FreeFuncType clientCmaps; /* _XcmsFreeClientCmaps */ + FreeFuncType intensityMaps; /* _XcmsFreeIntensityMaps */ + FreeFuncType im_filters; /* _XFreeIMFilters */ + FreeFuncType xkb; /* _XkbFreeInfo */ +} _XFreeFuncRec; + +/* types for InitExt.c */ +typedef int (*CreateGCType) ( + Display* /* display */, + GC /* gc */, + XExtCodes* /* codes */ +); + +typedef int (*CopyGCType)( + Display* /* display */, + GC /* gc */, + XExtCodes* /* codes */ +); + +typedef int (*FlushGCType) ( + Display* /* display */, + GC /* gc */, + XExtCodes* /* codes */ +); + +typedef int (*FreeGCType) ( + Display* /* display */, + GC /* gc */, + XExtCodes* /* codes */ +); + +typedef int (*CreateFontType) ( + Display* /* display */, + XFontStruct* /* fs */, + XExtCodes* /* codes */ +); + +typedef int (*FreeFontType) ( + Display* /* display */, + XFontStruct* /* fs */, + XExtCodes* /* codes */ +); + +typedef int (*CloseDisplayType) ( + Display* /* display */, + XExtCodes* /* codes */ +); + +typedef int (*ErrorType) ( + Display* /* display */, + xError* /* err */, + XExtCodes* /* codes */, + int* /* ret_code */ +); + +typedef char* (*ErrorStringType) ( + Display* /* display */, + int /* code */, + XExtCodes* /* codes */, + char* /* buffer */, + int /* nbytes */ +); + +typedef void (*PrintErrorType)( + Display* /* display */, + XErrorEvent* /* ev */, + void* /* fp */ +); + +typedef void (*BeforeFlushType)( + Display* /* display */, + XExtCodes* /* codes */, + _Xconst char* /* data */, + long /* len */ +); + +/* + * This structure is private to the library. + */ +typedef struct _XExten { /* private to extension mechanism */ + struct _XExten *next; /* next in list */ + XExtCodes codes; /* public information, all extension told */ + CreateGCType create_GC; /* routine to call when GC created */ + CopyGCType copy_GC; /* routine to call when GC copied */ + FlushGCType flush_GC; /* routine to call when GC flushed */ + FreeGCType free_GC; /* routine to call when GC freed */ + CreateFontType create_Font; /* routine to call when Font created */ + FreeFontType free_Font; /* routine to call when Font freed */ + CloseDisplayType close_display; /* routine to call when connection closed */ + ErrorType error; /* who to call when an error occurs */ + ErrorStringType error_string; /* routine to supply error string */ + char *name; /* name of this extension */ + PrintErrorType error_values; /* routine to supply error values */ + BeforeFlushType before_flush; /* routine to call when sending data */ + struct _XExten *next_flush; /* next in list of those with flushes */ +} _XExtension; + +/* Temporary definition until we can depend on an xproto release with it */ +#ifdef _X_COLD +# define _XLIB_COLD _X_COLD +#elif defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 403) /* 4.3+ */ +# define _XLIB_COLD __attribute__((__cold__)) +#else +# define _XLIB_COLD /* nothing */ +#endif + +/* extension hooks */ + +#ifdef DataRoutineIsProcedure +extern void Data(Display *dpy, char *data, long len); +#endif +extern int _XError( + Display* /* dpy */, + xError* /* rep */ +); +extern int _XIOError( + Display* /* dpy */ +) _X_NORETURN; +extern int (*_XIOErrorFunction)( + Display* /* dpy */ +); +extern int (*_XErrorFunction)( + Display* /* dpy */, + XErrorEvent* /* error_event */ +); +extern void _XEatData( + Display* /* dpy */, + unsigned long /* n */ +) _XLIB_COLD; +extern void _XEatDataWords( + Display* /* dpy */, + unsigned long /* n */ +) _XLIB_COLD; +#if defined(__SUNPRO_C) /* Studio compiler alternative to "cold" attribute */ +# pragma rarely_called(_XEatData, _XEatDataWords) +#endif +extern char *_XAllocScratch( + Display* /* dpy */, + unsigned long /* nbytes */ +); +extern char *_XAllocTemp( + Display* /* dpy */, + unsigned long /* nbytes */ +); +extern void _XFreeTemp( + Display* /* dpy */, + char* /* buf */, + unsigned long /* nbytes */ +); +extern Visual *_XVIDtoVisual( + Display* /* dpy */, + VisualID /* id */ +); +extern unsigned long _XSetLastRequestRead( + Display* /* dpy */, + xGenericReply* /* rep */ +); +extern int _XGetHostname( + char* /* buf */, + int /* maxlen */ +); +extern Screen *_XScreenOfWindow( + Display* /* dpy */, + Window /* w */ +); +extern Bool _XAsyncErrorHandler( + Display* /* dpy */, + xReply* /* rep */, + char* /* buf */, + int /* len */, + XPointer /* data */ +); +extern char *_XGetAsyncReply( + Display* /* dpy */, + char* /* replbuf */, + xReply* /* rep */, + char* /* buf */, + int /* len */, + int /* extra */, + Bool /* discard */ +); +extern void _XGetAsyncData( + Display* /* dpy */, + char * /* data */, + char * /* buf */, + int /* len */, + int /* skip */, + int /* datalen */, + int /* discardtotal */ +); +extern void _XFlush( + Display* /* dpy */ +); +extern int _XEventsQueued( + Display* /* dpy */, + int /* mode */ +); +extern void _XReadEvents( + Display* /* dpy */ +); +extern int _XRead( + Display* /* dpy */, + char* /* data */, + long /* size */ +); +extern void _XReadPad( + Display* /* dpy */, + char* /* data */, + long /* size */ +); +extern void _XSend( + Display* /* dpy */, + _Xconst char* /* data */, + long /* size */ +); +extern Status _XReply( + Display* /* dpy */, + xReply* /* rep */, + int /* extra */, + Bool /* discard */ +); +extern void _XEnq( + Display* /* dpy */, + xEvent* /* event */ +); +extern void _XDeq( + Display* /* dpy */, + _XQEvent* /* prev */, + _XQEvent* /* qelt */ +); + +extern Bool _XUnknownWireEvent( + Display* /* dpy */, + XEvent* /* re */, + xEvent* /* event */ +); + +extern Bool _XUnknownWireEventCookie( + Display* /* dpy */, + XGenericEventCookie* /* re */, + xEvent* /* event */ +); + +extern Bool _XUnknownCopyEventCookie( + Display* /* dpy */, + XGenericEventCookie* /* in */, + XGenericEventCookie* /* out */ +); + +extern Status _XUnknownNativeEvent( + Display* /* dpy */, + XEvent* /* re */, + xEvent* /* event */ +); + +extern Bool _XWireToEvent(Display *dpy, XEvent *re, xEvent *event); +extern Bool _XDefaultWireError(Display *display, XErrorEvent *he, xError *we); +extern Bool _XPollfdCacheInit(Display *dpy); +extern void _XPollfdCacheAdd(Display *dpy, int fd); +extern void _XPollfdCacheDel(Display *dpy, int fd); +extern XID _XAllocID(Display *dpy); +extern void _XAllocIDs(Display *dpy, XID *ids, int count); + +extern int _XFreeExtData( + XExtData* /* extension */ +); + +extern int (*XESetCreateGC( + Display* /* display */, + int /* extension */, + int (*) ( + Display* /* display */, + GC /* gc */, + XExtCodes* /* codes */ + ) /* proc */ +))( + Display*, GC, XExtCodes* +); + +extern int (*XESetCopyGC( + Display* /* display */, + int /* extension */, + int (*) ( + Display* /* display */, + GC /* gc */, + XExtCodes* /* codes */ + ) /* proc */ +))( + Display*, GC, XExtCodes* +); + +extern int (*XESetFlushGC( + Display* /* display */, + int /* extension */, + int (*) ( + Display* /* display */, + GC /* gc */, + XExtCodes* /* codes */ + ) /* proc */ +))( + Display*, GC, XExtCodes* +); + +extern int (*XESetFreeGC( + Display* /* display */, + int /* extension */, + int (*) ( + Display* /* display */, + GC /* gc */, + XExtCodes* /* codes */ + ) /* proc */ +))( + Display*, GC, XExtCodes* +); + +extern int (*XESetCreateFont( + Display* /* display */, + int /* extension */, + int (*) ( + Display* /* display */, + XFontStruct* /* fs */, + XExtCodes* /* codes */ + ) /* proc */ +))( + Display*, XFontStruct*, XExtCodes* +); + +extern int (*XESetFreeFont( + Display* /* display */, + int /* extension */, + int (*) ( + Display* /* display */, + XFontStruct* /* fs */, + XExtCodes* /* codes */ + ) /* proc */ +))( + Display*, XFontStruct*, XExtCodes* +); + +extern int (*XESetCloseDisplay( + Display* /* display */, + int /* extension */, + int (*) ( + Display* /* display */, + XExtCodes* /* codes */ + ) /* proc */ +))( + Display*, XExtCodes* +); + +extern int (*XESetError( + Display* /* display */, + int /* extension */, + int (*) ( + Display* /* display */, + xError* /* err */, + XExtCodes* /* codes */, + int* /* ret_code */ + ) /* proc */ +))( + Display*, xError*, XExtCodes*, int* +); + +extern char* (*XESetErrorString( + Display* /* display */, + int /* extension */, + char* (*) ( + Display* /* display */, + int /* code */, + XExtCodes* /* codes */, + char* /* buffer */, + int /* nbytes */ + ) /* proc */ +))( + Display*, int, XExtCodes*, char*, int +); + +extern void (*XESetPrintErrorValues ( + Display* /* display */, + int /* extension */, + void (*)( + Display* /* display */, + XErrorEvent* /* ev */, + void* /* fp */ + ) /* proc */ +))( + Display*, XErrorEvent*, void* +); + +extern Bool (*XESetWireToEvent( + Display* /* display */, + int /* event_number */, + Bool (*) ( + Display* /* display */, + XEvent* /* re */, + xEvent* /* event */ + ) /* proc */ +))( + Display*, XEvent*, xEvent* +); + +extern Bool (*XESetWireToEventCookie( + Display* /* display */, + int /* extension */, + Bool (*) ( + Display* /* display */, + XGenericEventCookie* /* re */, + xEvent* /* event */ + ) /* proc */ +))( + Display*, XGenericEventCookie*, xEvent* +); + +extern Bool (*XESetCopyEventCookie( + Display* /* display */, + int /* extension */, + Bool (*) ( + Display* /* display */, + XGenericEventCookie* /* in */, + XGenericEventCookie* /* out */ + ) /* proc */ +))( + Display*, XGenericEventCookie*, XGenericEventCookie* +); + + +extern Status (*XESetEventToWire( + Display* /* display */, + int /* event_number */, + Status (*) ( + Display* /* display */, + XEvent* /* re */, + xEvent* /* event */ + ) /* proc */ +))( + Display*, XEvent*, xEvent* +); + +extern Bool (*XESetWireToError( + Display* /* display */, + int /* error_number */, + Bool (*) ( + Display* /* display */, + XErrorEvent* /* he */, + xError* /* we */ + ) /* proc */ +))( + Display*, XErrorEvent*, xError* +); + +extern void (*XESetBeforeFlush( + Display* /* display */, + int /* error_number */, + void (*) ( + Display* /* display */, + XExtCodes* /* codes */, + _Xconst char* /* data */, + long /* len */ + ) /* proc */ +))( + Display*, XExtCodes*, _Xconst char*, long +); + +/* internal connections for IMs */ + +typedef void (*_XInternalConnectionProc)( + Display* /* dpy */, + int /* fd */, + XPointer /* call_data */ +); + + +extern Status _XRegisterInternalConnection( + Display* /* dpy */, + int /* fd */, + _XInternalConnectionProc /* callback */, + XPointer /* call_data */ +); + +extern void _XUnregisterInternalConnection( + Display* /* dpy */, + int /* fd */ +); + +extern void _XProcessInternalConnection( + Display* /* dpy */, + struct _XConnectionInfo* /* conn_info */ +); + +/* Display structure has pointers to these */ + +struct _XConnectionInfo { /* info from _XRegisterInternalConnection */ + int fd; + _XInternalConnectionProc read_callback; + XPointer call_data; + XPointer *watch_data; /* set/used by XConnectionWatchProc */ + struct _XConnectionInfo *next; +}; + +struct _XConnWatchInfo { /* info from XAddConnectionWatch */ + XConnectionWatchProc fn; + XPointer client_data; + struct _XConnWatchInfo *next; +}; + +#ifdef __UNIXOS2__ +extern char* __XOS2RedirRoot( + char* +); +#endif + +extern int _XTextHeight( + XFontStruct* /* font_struct */, + _Xconst char* /* string */, + int /* count */ +); + +extern int _XTextHeight16( + XFontStruct* /* font_struct */, + _Xconst XChar2b* /* string */, + int /* count */ +); + +#if defined(WIN32) + +extern int _XOpenFile( + _Xconst char* /* path */, + int /* flags */ +); + +extern int _XOpenFileMode( + _Xconst char* /* path */, + int /* flags */, + mode_t /* mode */ +); + +extern void* _XFopenFile( + _Xconst char* /* path */, + _Xconst char* /* mode */ +); + +extern int _XAccessFile( + _Xconst char* /* path */ +); +#else +#define _XOpenFile(path,flags) open(path,flags) +#define _XOpenFileMode(path,flags,mode) open(path,flags,mode) +#define _XFopenFile(path,mode) fopen(path,mode) +#endif + +/* EvToWire.c */ +extern Status _XEventToWire(Display *dpy, XEvent *re, xEvent *event); + +extern int _XF86LoadQueryLocaleFont( + Display* /* dpy */, + _Xconst char* /* name*/, + XFontStruct** /* xfp*/, + Font* /* fidp */ +); + +extern void _XProcessWindowAttributes ( + register Display *dpy, + xChangeWindowAttributesReq *req, + register unsigned long valuemask, + register XSetWindowAttributes *attributes); + +extern int _XDefaultError( + Display *dpy, + XErrorEvent *event); + +extern int _XDefaultIOError( + Display *dpy); + +extern void _XSetClipRectangles ( + register Display *dpy, + GC gc, + int clip_x_origin, int clip_y_origin, + XRectangle *rectangles, + int n, + int ordering); + +Status _XGetWindowAttributes( + register Display *dpy, + Window w, + XWindowAttributes *attr); + +int _XPutBackEvent ( + register Display *dpy, + register XEvent *event); + +extern Bool _XIsEventCookie( + Display *dpy, + XEvent *ev); + +extern void _XFreeEventCookies( + Display *dpy); + +extern void _XStoreEventCookie( + Display *dpy, + XEvent *ev); + +extern Bool _XFetchEventCookie( + Display *dpy, + XGenericEventCookie *ev); + +extern Bool _XCopyEventCookie( + Display *dpy, + XGenericEventCookie *in, + XGenericEventCookie *out); + +/* lcFile.c */ + +extern void xlocaledir( + char *buf, + int buf_len +); + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + +_XFUNCPROTOEND + +#endif /* _X11_XLIBINT_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xlocale.h b/ThirdParty/X11/Include/X11/Xlocale.h new file mode 100644 index 0000000..db46e70 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xlocale.h @@ -0,0 +1,37 @@ +/* + +Copyright 1991, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. + +*/ + +#ifndef _X11_XLOCALE_H_ +#define _X11_XLOCALE_H_ + +#include <X11/Xfuncproto.h> +#include <X11/Xosdefs.h> + +#include <locale.h> + +#endif /* _X11_XLOCALE_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xmd.h b/ThirdParty/X11/Include/X11/Xmd.h new file mode 100644 index 0000000..492465e --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmd.h @@ -0,0 +1,142 @@ +/*********************************************************** + +Copyright 1987, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ +#ifndef XMD_H +# define XMD_H 1 +/* + * Xmd.h: MACHINE DEPENDENT DECLARATIONS. + */ + +/* + * Special per-machine configuration flags. + */ +# if defined(__sun) && defined(__SVR4) +# include <sys/isa_defs.h> /* Solaris: defines _LP64 if necessary */ +# endif + +# if defined (_LP64) || defined(__LP64__) || \ + defined(__alpha) || defined(__alpha__) || \ + defined(__ia64__) || defined(ia64) || \ + defined(__sparc64__) || \ + defined(__s390x__) || \ + defined(__amd64__) || defined(amd64) || \ + defined(__powerpc64__) +# if !defined(__ILP32__) /* amd64-x32 is 32bit */ +# define LONG64 /* 32/64-bit architecture */ +# endif /* !__ILP32__ */ +# endif + +/* + * Definition of macro used to set constants for size of network structures; + * machines with preprocessors that can't handle all of the sz_ symbols + * can define this macro to be sizeof(x) if and only if their compiler doesn't + * pad out structures (esp. the xTextElt structure which contains only two + * one-byte fields). Network structures should always define sz_symbols. + * + * The sz_ prefix is used instead of something more descriptive so that the + * symbols are no more than 32 characters long (which causes problems for some + * compilers and preprocessors). + * + * The extra indirection is to get macro arguments to expand correctly before + * the concatenation, rather than afterward. + */ +# define _SIZEOF(x) sz_##x +# define SIZEOF(x) _SIZEOF(x) + +/* + * Bitfield suffixes for the protocol structure elements, if you + * need them. Note that bitfields are not guaranteed to be signed + * (or even unsigned) according to ANSI C. + */ +# define B32 /* bitfield not needed on architectures with native 32-bit type */ +# define B16 /* bitfield not needed on architectures with native 16-bit type */ +# ifdef LONG64 +typedef long INT64; +typedef int INT32; +# else +typedef long INT32; +# endif +typedef short INT16; + +typedef signed char INT8; + +# ifdef LONG64 +typedef unsigned long CARD64; +typedef unsigned int CARD32; +# else +typedef unsigned long long CARD64; +typedef unsigned long CARD32; +# endif +typedef unsigned short CARD16; +typedef unsigned char CARD8; + +typedef CARD32 BITS32; +typedef CARD16 BITS16; + +typedef CARD8 BYTE; +typedef CARD8 BOOL; + +/* + * was definitions for sign-extending bitfields on architectures without + * native types smaller than 64-bit, now just backwards compatibility + */ +# define cvtINT8toInt(val) (val) +# define cvtINT16toInt(val) (val) +# define cvtINT32toInt(val) (val) +# define cvtINT8toShort(val) (val) +# define cvtINT16toShort(val) (val) +# define cvtINT32toShort(val) (val) +# define cvtINT8toLong(val) (val) +# define cvtINT16toLong(val) (val) +# define cvtINT32toLong(val) (val) + +/* + * this version should leave result of type (t *), but that should only be + * used when not in MUSTCOPY + */ +# define NEXTPTR(p,t) (((t *)(p)) + 1) + +#endif /* XMD_H */ diff --git a/ThirdParty/X11/Include/X11/Xmu/Atoms.h b/ThirdParty/X11/Include/X11/Xmu/Atoms.h new file mode 100644 index 0000000..fc59b31 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/Atoms.h @@ -0,0 +1,123 @@ +/* + +Copyright 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_ATOMS_H_ +#define _XMU_ATOMS_H_ + +#include <X11/Intrinsic.h> +#include <X11/Xfuncproto.h> + +typedef struct _AtomRec *AtomPtr; + +extern AtomPtr + _XA_ATOM_PAIR, + _XA_CHARACTER_POSITION, + _XA_CLASS, + _XA_CLIENT_WINDOW, + _XA_CLIPBOARD, + _XA_COMPOUND_TEXT, + _XA_DECNET_ADDRESS, + _XA_DELETE, + _XA_FILENAME, + _XA_HOSTNAME, + _XA_IP_ADDRESS, + _XA_LENGTH, + _XA_LIST_LENGTH, + _XA_NAME, + _XA_NET_ADDRESS, + _XA_NULL, + _XA_OWNER_OS, + _XA_SPAN, + _XA_TARGETS, + _XA_TEXT, + _XA_TIMESTAMP, + _XA_USER, + _XA_UTF8_STRING; + +#define XA_ATOM_PAIR(d) XmuInternAtom(d, _XA_ATOM_PAIR) +#define XA_CHARACTER_POSITION(d) XmuInternAtom(d, _XA_CHARACTER_POSITION) +#define XA_CLASS(d) XmuInternAtom(d, _XA_CLASS) +#define XA_CLIENT_WINDOW(d) XmuInternAtom(d, _XA_CLIENT_WINDOW) +#define XA_CLIPBOARD(d) XmuInternAtom(d, _XA_CLIPBOARD) +#define XA_COMPOUND_TEXT(d) XmuInternAtom(d, _XA_COMPOUND_TEXT) +#define XA_DECNET_ADDRESS(d) XmuInternAtom(d, _XA_DECNET_ADDRESS) +#define XA_DELETE(d) XmuInternAtom(d, _XA_DELETE) +#define XA_FILENAME(d) XmuInternAtom(d, _XA_FILENAME) +#define XA_HOSTNAME(d) XmuInternAtom(d, _XA_HOSTNAME) +#define XA_IP_ADDRESS(d) XmuInternAtom(d, _XA_IP_ADDRESS) +#define XA_LENGTH(d) XmuInternAtom(d, _XA_LENGTH) +#define XA_LIST_LENGTH(d) XmuInternAtom(d, _XA_LIST_LENGTH) +#define XA_NAME(d) XmuInternAtom(d, _XA_NAME) +#define XA_NET_ADDRESS(d) XmuInternAtom(d, _XA_NET_ADDRESS) +#define XA_NULL(d) XmuInternAtom(d, _XA_NULL) +#define XA_OWNER_OS(d) XmuInternAtom(d, _XA_OWNER_OS) +#define XA_SPAN(d) XmuInternAtom(d, _XA_SPAN) +#define XA_TARGETS(d) XmuInternAtom(d, _XA_TARGETS) +#define XA_TEXT(d) XmuInternAtom(d, _XA_TEXT) +#define XA_TIMESTAMP(d) XmuInternAtom(d, _XA_TIMESTAMP) +#define XA_USER(d) XmuInternAtom(d, _XA_USER) +#define XA_UTF8_STRING(d) XmuInternAtom(d, _XA_UTF8_STRING) + +_XFUNCPROTOBEGIN + +char *XmuGetAtomName +( + Display *dpy, + Atom atom + ); + +Atom XmuInternAtom +( + Display *dpy, + AtomPtr atom_ptr + ); + +void XmuInternStrings +( + Display *dpy, + String *names, + Cardinal count, + Atom *atoms_return +); + +AtomPtr XmuMakeAtom +( + _Xconst char *name + ); + +char *XmuNameOfAtom +( + AtomPtr atom_ptr + ); + +_XFUNCPROTOEND + +#endif /* _XMU_ATOMS_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xmu/CharSet.h b/ThirdParty/X11/Include/X11/Xmu/CharSet.h new file mode 100644 index 0000000..9d9e53a --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/CharSet.h @@ -0,0 +1,73 @@ +/* + +Copyright 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_CHARSET_H_ +#define _XMU_CHARSET_H_ + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +void XmuCopyISOLatin1Lowered +( + char *dst_return, + _Xconst char *src + ); + +void XmuCopyISOLatin1Uppered +( + char *dst_return, + _Xconst char *src + ); + +int XmuCompareISOLatin1 +( + _Xconst char *first, + _Xconst char *second + ); + +void XmuNCopyISOLatin1Lowered +( + char *dst_return, + _Xconst char *src, + int size + ); + +void XmuNCopyISOLatin1Uppered +( + char *dst_return, + _Xconst char *src, + int size + ); + +_XFUNCPROTOEND + +#endif /* _XMU_CHARSET_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xmu/CloseHook.h b/ThirdParty/X11/Include/X11/Xmu/CloseHook.h new file mode 100644 index 0000000..1b895a9 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/CloseHook.h @@ -0,0 +1,70 @@ +/* + +Copyright 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_CLOSEHOOK_H_ +#define _XMU_CLOSEHOOK_H_ + +#include <X11/Xlib.h> +#include <X11/Xfuncproto.h> +#include <X11/Xlibint.h> + +typedef XPointer CloseHook; + +typedef int (*XmuCloseHookProc)(Display *dpy, XPointer data); + +_XFUNCPROTOBEGIN + +CloseHook XmuAddCloseDisplayHook +( + Display *dpy, + XmuCloseHookProc proc, + XPointer arg + ); + +Bool XmuLookupCloseDisplayHook +( + Display *dpy, + CloseHook handle, + XmuCloseHookProc proc, + XPointer arg + ); + +Bool XmuRemoveCloseDisplayHook +( + Display *dpy, + CloseHook handle, + XmuCloseHookProc proc, + XPointer arg + ); + +_XFUNCPROTOEND + +#endif /* _XMU_CLOSEHOOK_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xmu/Converters.h b/ThirdParty/X11/Include/X11/Xmu/Converters.h new file mode 100644 index 0000000..19ece56 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/Converters.h @@ -0,0 +1,277 @@ +/* + +Copyright 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_STRCONVERT_H_ +#define _XMU_STRCONVERT_H_ + +#include <X11/Intrinsic.h> +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +void XmuCvtFunctionToCallback +( + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal + ); + +#define XtNbackingStore "backingStore" +#define XtCBackingStore "BackingStore" +#define XtRBackingStore "BackingStore" +#define XtEnotUseful "notUseful" +#define XtEwhenMapped "whenMapped" +#define XtEalways "always" +#define XtEdefault "default" +void XmuCvtStringToBackingStore +( + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal + ); + +Boolean XmuCvtBackingStoreToString +( + Display *dpy, + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal, + XtPointer *converter_data + ); + +void XmuCvtStringToCursor +( + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal + ); + +#define XtRColorCursor "ColorCursor" +#define XtNpointerColor "pointerColor" +#define XtNpointerColorBackground "pointerColorBackground" +Boolean XmuCvtStringToColorCursor +( + Display *dpy, + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal, + XtPointer *converter_data + ); + +typedef int XtGravity; + +#ifndef XtRGravity +#define XtRGravity "Gravity" +#endif +#define XtEForget "forget" +#define XtENorthWest "northwest" +#define XtENorth "north" +#define XtENorthEast "northeast" +#define XtEWest "west" +#define XtECenter "center" +#define XtEEast "east" +#define XtESouthWest "southwest" +#define XtESouth "south" +#define XtESouthEast "southeast" +#define XtEStatic "static" +#define XtEUnmap "unmap" +void XmuCvtStringToGravity +( + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal + ); + +Boolean XmuCvtGravityToString +( + Display *dpy, + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal, + XtPointer *converter_data + ); + +typedef enum { + XtJustifyLeft, /* justify text to left side of button */ + XtJustifyCenter, /* justify text in center of button */ + XtJustifyRight /* justify text to right side of button */ +} XtJustify; +#ifndef XtRJustify +#define XtRJustify "Justify" +#endif +#define XtEleft "left" +#define XtEcenter "center" +#define XtEright "right" +#define XtEtop "top" +#define XtEbottom "bottom" +void XmuCvtStringToJustify +( + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal + ); + +Boolean XmuCvtJustifyToString +( + Display *dpy, + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal, + XtPointer *converter_data + ); + +#define XtRLong "Long" +void XmuCvtStringToLong +( + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal + ); +Boolean XmuCvtLongToString +( + Display *dpy, + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal, + XtPointer *converter_data + ); + +typedef enum { + XtorientHorizontal, + XtorientVertical +} XtOrientation; +void XmuCvtStringToOrientation +( + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal + ); + +Boolean XmuCvtOrientationToString +( + Display *dpy, + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal, + XtPointer *converter_data + ); + +void XmuCvtStringToBitmap +( + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal + ); + +#define XtRShapeStyle "ShapeStyle" +#define XtERectangle "Rectangle" +#define XtEOval "Oval" +#define XtEEllipse "Ellipse" +#define XtERoundedRectangle "RoundedRectangle" + +#define XmuShapeRectangle 1 +#define XmuShapeOval 2 +#define XmuShapeEllipse 3 +#define XmuShapeRoundedRectangle 4 + +Boolean XmuCvtStringToShapeStyle +( + Display *dpy, + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal, + XtPointer *converter_data + ); + +Boolean XmuCvtShapeStyleToString +( + Display *dpy, + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal, + XtPointer *converter_data + ); + +Boolean XmuReshapeWidget +( + Widget w, + int shape_style, + int corner_width, + int corner_height + ); + +void XmuCvtStringToWidget +( + XrmValue *args, + Cardinal *num_args, + XrmValuePtr fromVal, + XrmValuePtr toVal + ); + +Boolean XmuNewCvtStringToWidget +( + Display *display, + XrmValue *args, + Cardinal *num_args, + XrmValue *fromVal, + XrmValue *toVal, + XtPointer *converter_data + ); + +Boolean XmuCvtWidgetToString +( + Display *dpy, + XrmValue *args, + Cardinal *num_args, + XrmValue *fromVal, + XrmValue *toVal, + XtPointer *converter_data + ); + +_XFUNCPROTOEND + +#endif /* _XMU_STRCONVERT_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xmu/CurUtil.h b/ThirdParty/X11/Include/X11/Xmu/CurUtil.h new file mode 100644 index 0000000..ab577a2 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/CurUtil.h @@ -0,0 +1,46 @@ +/* + +Copyright 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_CURUTIL_H_ +#define _XMU_CURUTIL_H_ + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +int XmuCursorNameToIndex +( + _Xconst char *name + ); + +_XFUNCPROTOEND + +#endif /* _XMU_CURUTIL_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xmu/CvtCache.h b/ThirdParty/X11/Include/X11/Xmu/CvtCache.h new file mode 100644 index 0000000..714a498 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/CvtCache.h @@ -0,0 +1,59 @@ +/* + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * Public Interfaces + * + * XmuCvtCache *XmuCvtCacheLookupDisplay (dpy) + * Display *dpy; + */ + +#ifndef _XMU_CVTCACHE_H_ +#define _XMU_CVTCACHE_H_ + +#include <X11/Xmu/DisplayQue.h> +#include <X11/Xfuncproto.h> + +typedef struct _XmuCvtCache { + struct { + char **bitmapFilePath; + } string_to_bitmap; + /* add other per-display data that needs to be cached */ +} XmuCvtCache; + +_XFUNCPROTOBEGIN + +XmuCvtCache *_XmuCCLookupDisplay +( + Display *dpy + ); + +extern void _XmuStringToBitmapInitCache(XmuCvtCache *c); +extern void _XmuStringToBitmapFreeCache(XmuCvtCache *c); + +_XFUNCPROTOEND + +#endif /* _XMU_CVTCACHE_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xmu/DisplayQue.h b/ThirdParty/X11/Include/X11/Xmu/DisplayQue.h new file mode 100644 index 0000000..ffc82a2 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/DisplayQue.h @@ -0,0 +1,152 @@ +/* + +Copyright 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _XMU_DISPLAYQUE_H_ +#define _XMU_DISPLAYQUE_H_ + +#include <X11/Xmu/CloseHook.h> +#include <X11/Xfuncproto.h> + +/* + * Public Entry Points + * + * + * XmuDisplayQueue *XmuDQCreate (closefunc, freefunc, data) + * XmuCloseDisplayQueueProc closefunc; + * XmuFreeDisplayQueueProc freefunc; + * XPointer data; + * + * Creates and returns a queue into which displays may be placed. When + * the display is closed, the closefunc (if non-NULL) is upcalled with + * as follows: + * + * (*closefunc) (queue, entry) + * + * The freeproc, if non-NULL, is called whenever the last display is + * closed, notifying the creator that display queue may be released + * using XmuDQDestroy. + * + * + * Bool XmuDQDestroy (q, docallbacks) + * XmuDisplayQueue *q; + * Bool docallbacks; + * + * Releases all memory for the indicated display queue. If docallbacks + * is true, then the closefunc (if non-NULL) is called for each + * display. + * + * + * XmuDisplayQueueEntry *XmuDQLookupDisplay (q, dpy) + * XmuDisplayQueue *q; + * Display *dpy; + * + * Returns the queue entry for the specified display or NULL if the + * display is not in the queue. + * + * + * XmuDisplayQueueEntry *XmuDQAddDisplay (q, dpy, data) + * XmuDisplayQueue *q; + * Display *dpy; + * XPointer data; + * + * Adds the indicated display to the end of the queue or NULL if it + * is unable to allocate memory. The data field may be used by the + * caller to attach arbitrary data to this display in this queue. The + * caller should use XmuDQLookupDisplay to make sure that the display + * hasn't already been added. + * + * + * Bool XmuDQRemoveDisplay (q, dpy) + * XmuDisplayQueue *q; + * Display *dpy; + * + * Removes the specified display from the given queue. If the + * indicated display is not found on this queue, False is returned, + * otherwise True is returned. + */ + +typedef struct _XmuDisplayQueue XmuDisplayQueue; +typedef struct _XmuDisplayQueueEntry XmuDisplayQueueEntry; + +typedef int (*XmuCloseDisplayQueueProc)(XmuDisplayQueue *queue, + XmuDisplayQueueEntry *entry); + +typedef int (*XmuFreeDisplayQueueProc)(XmuDisplayQueue *queue); + +struct _XmuDisplayQueueEntry { + struct _XmuDisplayQueueEntry *prev, *next; + Display *display; + CloseHook closehook; + XPointer data; +}; + +struct _XmuDisplayQueue { + int nentries; + XmuDisplayQueueEntry *head, *tail; + XmuCloseDisplayQueueProc closefunc; + XmuFreeDisplayQueueProc freefunc; + XPointer data; +}; + +_XFUNCPROTOBEGIN + +XmuDisplayQueue *XmuDQCreate +( + XmuCloseDisplayQueueProc closefunc, + XmuFreeDisplayQueueProc freefunc, + XPointer data + ); + +Bool XmuDQDestroy +( + XmuDisplayQueue *q, + Bool docallbacks + ); + +XmuDisplayQueueEntry *XmuDQLookupDisplay +( + XmuDisplayQueue *q, + Display *dpy + ); + +XmuDisplayQueueEntry *XmuDQAddDisplay +( + XmuDisplayQueue *q, + Display *dpy, + XPointer data + ); + +Bool XmuDQRemoveDisplay +( + XmuDisplayQueue *q, + Display *dpy + ); + +_XFUNCPROTOEND + +#define XmuDQNDisplays(q) ((q)->nentries) + +#endif /* _XMU_DISPLAYQUE_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xmu/Drawing.h b/ThirdParty/X11/Include/X11/Xmu/Drawing.h new file mode 100644 index 0000000..717292a --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/Drawing.h @@ -0,0 +1,158 @@ +/* + +Copyright 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_DRAWING_H_ +#define _XMU_DRAWING_H_ + +#include <X11/Xlib.h> +#include <X11/Xfuncproto.h> + +#include <stdio.h> +#if ! defined(_XtIntrinsic_h) && ! defined(PIXEL_ALREADY_TYPEDEFED) +typedef unsigned long Pixel; +#endif + +_XFUNCPROTOBEGIN + +void XmuDrawRoundedRectangle +( + Display *dpy, + Drawable draw, + GC gc, + int x, + int y, + int w, + int h, + int ew, + int eh + ); + +void XmuFillRoundedRectangle +( + Display *dpy, + Drawable draw, + GC gc, + int x, + int y, + int w, + int h, + int ew, + int eh + ); + +void XmuDrawLogo +( + Display *dpy, + Drawable drawable, + GC gcFore, + GC gcBack, + int x, + int y, + unsigned int width, + unsigned int height + ); + +Pixmap XmuCreatePixmapFromBitmap +( + Display *dpy, + Drawable d, + Pixmap bitmap, + unsigned int width, + unsigned int height, + unsigned int depth, + unsigned long fore, + unsigned long back +); + +Pixmap XmuCreateStippledPixmap +( + Screen *screen, + Pixel fore, + Pixel back, + unsigned int depth + ); + +void XmuReleaseStippledPixmap +( + Screen *screen, + Pixmap pixmap + ); + +Pixmap XmuLocateBitmapFile +( + Screen *screen, + _Xconst char *name, + char *srcname_return, + int srcnamelen, + int *width_return, + int *height_return, + int *xhot_return, + int *yhot_return + ); + +Pixmap XmuLocatePixmapFile +( + Screen *screen, + _Xconst char *name, + unsigned long fore, + unsigned long back, + unsigned int depth, + char *srcname_return, + int srcnamelen, + int *width_return, + int *height_return, + int *xhot_return, + int *yhot_return + ); + +int XmuReadBitmapData +( + FILE *fstream, + unsigned int *width_return, + unsigned int *height_return, + unsigned char **datap_return, + int *xhot_return, + int *yhot_return +); + +int XmuReadBitmapDataFromFile +( + _Xconst char *filename, + unsigned int *width_return, + unsigned int *height_return, + unsigned char **datap_return, + int *xhot_return, + int *yhot_return + ); + +_XFUNCPROTOEND + +#endif /* _XMU_DRAWING_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xmu/Editres.h b/ThirdParty/X11/Include/X11/Xmu/Editres.h new file mode 100644 index 0000000..0c1ffe0 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/Editres.h @@ -0,0 +1,39 @@ +/* + +Copyright 1991, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +void _XEditResCheckMessages +( + Widget w, + XtPointer data, + XEvent *event, + Boolean *cont +); + +_XFUNCPROTOEND diff --git a/ThirdParty/X11/Include/X11/Xmu/EditresP.h b/ThirdParty/X11/Include/X11/Xmu/EditresP.h new file mode 100644 index 0000000..ed9dd41 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/EditresP.h @@ -0,0 +1,406 @@ +/* + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * Author: Chris D. Peterson, MIT X Consortium + */ + +/************************************************************ + + The Editres Protocol + + + The Client message sent to the application is: + + ATOM = "ResEditor" --- RES_EDITOR_NAME + + FORMAT = 32 --- RES_EDIT_SEND_EVENT_FORMAT + + l[0] = timestamp + l[1] = command atom name + l[2] = ident of command + l[3] = protocol version number to use + + + + The binary protocol has the following format: + + Card8: 8-bit unsingned integer + Card16: 16-bit unsingned integer + Card32: 32-bit unsingned integer + Int16: 16-bit signed integer + Window: 32-bit value + Widget: 32-bit value + String8: ListOfCard8 + + [a][b][c] represent an exclusive list of choices. + + All widgets are passed as a list of widgets, containing the + full instance heirarch of this widget. The hierarchy is ordered + from parent to child. Thus the first element of each list is + the root of the widget tree (this makes verifying that the widget + still exists, MUCH faster). + + ListOfFoo comprises a list of things in the following format: + + number: Card16 + <number> things: ???? + + This is a synchronous protocol, every request MUST be followed by a + reply. + + Request: + + Serial Number: Card8 + Op Code: Card8 - { SendWidgetTree = 0, + SetValues = 1, + GetResources = 2, + GetGeometry = 3, + FindChild = 4, + GetValues = 5 } + Length: Card32 + Data: + + Reply: + + Serial Number: Card8 + Type: Card8 - { Formatted = 0, + Unformatted = 1, + ProtocolMismatch = 2 + } + Length: Card32 + + + Byte Order: + + All Fields are MSB -> LSB + + Data: + + Formatted: + + The data contains the reply information for the request as + specified below if the reply type is "Formatted". The return + values for the other reply types are shown below. + + Unformatted: + + Message: String8 + + ProtocolMismatch: + + RequestedVersion: Card8 + +------------------------------------------------------------ + + SendWidgetTree: + + ---> + + Number of Entries: Card16 + Entry: + widget: ListOfWidgets + name: String8 + class: String8 + window: Card32 + toolkit: String8 + + Send Widget Tree returns the toolkit type, and a fuly specified list + of widgets for each widget in the tree. This is enough information + to completely reconstruct the entire widget heirarchy. + + The window return value contains the Xid of the window currently + used by this widget. If the widget is unrealized then 0 is returned, + and if widget is a non-windowed object a value of 2 is returned. + + SetValues: + + name: String8 + type: String8 + value: String8 + Number of Entries: Card16 + Entry: + widget: ListOfWidgets + + ---> + + Number of Entries: Card16 + Entry: + widget: ListOfWidgets + message: String8 + + SetValues will allow the same resource to be set on a number of + widgets. This function will return an error message if the SetValues + request caused an Xt error. + + GetValues: + + names: ListOfString8 + widget: Widget + + ---> + novalues: ListOfCard16 + values: ListOfString8 + + GetValues will allow a number of resource values to be read + on a particular widget. The request specifies the names of + the resources wanted and the widget id these resources are + from. The reply returns a list of indices from the requests + name list of resources for which a value can not be returned. + It also returns a list of returned values, in the order of the + requests names list, skipping those indices present in novalues. + + GetResources: + + Number of Entries: Card16 + Entry + widget: ListOfWidgets: + + ----> + + Number of Entries: Card16 + Entry + Widget: ListOfWidgets: + Error: Bool + + [ Message: String 8 ] + [ Number of Resources: Card16 + Resource: + Kind: {normal, constraint} + Name: String8 + Class: String8 + Type: String8 ] + + GetResource retrieves the kind, name, class and type for every + widget passed to it. If an error occured with the resource fetch + Error will be set to True for the given widget and a message + is returned rather than the resource info. + + GetGeometry: + + Number of Entries: Card16 + Entry + Widget: ListOfWidgets: + + ----> + + Number of Entries: Card16 + Entry + Widget: ListOfWidgets: + Error: Bool + + [ message: String 8 ] + [ mapped: Boolean + X: Int16 + Y: Int16 + Width: Card16 + Height: Card16 + BorderWidth: Card16 ] + + GetGeometry retreives the mapping state, x, y, width, height + and border width for each widget specified. If an error occured + with the geometry fetch "Error" will be set to True for the given + widget and a message is returned rather than the geometry info. + X an Y corrospond to the root coordinates of the upper left corner + of the widget (outside the window border). + + FindChild: + + Widget: ListOfWidgets + X: Int16 + Y: Int16 + + ---> + + Widget: ListOfWidgets + + Find Child returns a descendent of the widget specified that + is at the root coordinates specified. + + NOTE: + + The returned widget is undefined if the point is contained in + two or more mapped widgets, or in two overlapping Rect objs. + + GetValues: + + names: ListOfString8 + widget: Widget + + ---> + + values: ListOfString8 + + GetValues will allow a number of resource values to be read + on a particular widget. Currently only InterViews 3.0.1 Styles + and their attributes are supported. In addition, the current + user interface only supports the return of 1 resource. The ability + to specify and return multiple resources is defined for future editres + interfaces where some or all of a widgets resource values are returned + and displayed at once. + + +************************************************************/ + +#include <X11/Intrinsic.h> +#include <X11/Xfuncproto.h> + +#define XER_NBBY 8 /* number of bits in a byte */ +#define BYTE_MASK 255 + +#define HEADER_SIZE 6 + +#define EDITRES_IS_OBJECT 2 +#define EDITRES_IS_UNREALIZED 0 + +/* + * Format for atoms + */ +#define EDITRES_FORMAT 8 +#define EDITRES_SEND_EVENT_FORMAT 32 + +/* + * Atoms + */ +#define EDITRES_NAME "Editres" +#define EDITRES_COMMAND_ATOM "EditresCommand" +#define EDITRES_COMM_ATOM "EditresComm" +#define EDITRES_CLIENT_VALUE "EditresClientVal" +#define EDITRES_PROTOCOL_ATOM "EditresProtocol" + +typedef enum { + SendWidgetTree = 0, + SetValues = 1, + GetResources = 2, + GetGeometry = 3, + FindChild = 4, + GetValues = 5 +} EditresCommand; + +typedef enum { + NormalResource = 0, + ConstraintResource = 1 +} ResourceType; + +/* + * The type of a resource identifier + */ +typedef unsigned char ResIdent; + +typedef enum { + PartialSuccess = 0, + Failure = 1, + ProtocolMismatch = 2 +} EditResError; + +typedef struct _WidgetInfo { + unsigned short num_widgets; + unsigned long *ids; + Widget real_widget; +} WidgetInfo; + +typedef struct _ProtocolStream { + unsigned long size, alloc; + unsigned char *real_top, *top, *current; +} ProtocolStream; + +/************************************************************ + * Function definitions for reading and writing protocol requests + ************************************************************/ +_XFUNCPROTOBEGIN + +void _XEditResPutString8 +( + ProtocolStream *stream, + _Xconst char *str + ); + +void _XEditResPut8 +( + ProtocolStream *stream, + unsigned int value + ); + +void _XEditResPut16 +( + ProtocolStream *stream, + unsigned int value + ); + +void _XEditResPut32 +( + ProtocolStream *stream, + unsigned long value + ); + +void _XEditResPutWidgetInfo +( + ProtocolStream *stream, + WidgetInfo *info + ); + +void _XEditResResetStream +( + ProtocolStream *stream + ); + +Bool _XEditResGet8 +( + ProtocolStream *stream, + unsigned char *value + ); + +Bool _XEditResGet16 +( + ProtocolStream *stream, + unsigned short *value + ); + +Bool _XEditResGetSigned16 +( + ProtocolStream *stream, + short *value + ); + +Bool _XEditResGet32 +( + ProtocolStream *stream, + unsigned long *value + ); + +Bool _XEditResGetString8 +( + ProtocolStream *stream, + char **str + ); + +Bool _XEditResGetWidgetInfo +( + ProtocolStream *stream, + WidgetInfo *info + ); + +_XFUNCPROTOEND diff --git a/ThirdParty/X11/Include/X11/Xmu/Error.h b/ThirdParty/X11/Include/X11/Xmu/Error.h new file mode 100644 index 0000000..e275fea --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/Error.h @@ -0,0 +1,56 @@ +/* + +Copyright 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_ERROR_H_ +#define _XMU_ERROR_H_ + +#include <stdio.h> +#include <X11/Xlib.h> +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +int XmuPrintDefaultErrorMessage +( + Display *dpy, + XErrorEvent *event, + FILE *fp + ); + +int XmuSimpleErrorHandler +( + Display *dpy, + XErrorEvent *errorp + ); + +_XFUNCPROTOEND + +#endif /* _XMU_ERROR_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xmu/ExtAgent.h b/ThirdParty/X11/Include/X11/Xmu/ExtAgent.h new file mode 100644 index 0000000..b300140 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/ExtAgent.h @@ -0,0 +1,41 @@ +/* + +Copyright 1994,1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#include <X11/Intrinsic.h> +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +extern void XmuRegisterExternalAgent +( + Widget w, + XtPointer data, + XEvent *event, + Boolean *cont + ); + +_XFUNCPROTOEND + diff --git a/ThirdParty/X11/Include/X11/Xmu/Initer.h b/ThirdParty/X11/Include/X11/Xmu/Initer.h new file mode 100644 index 0000000..415885d --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/Initer.h @@ -0,0 +1,55 @@ +/* + +Copyright 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_INITER_H_ +#define _XMU_INITER_H_ + +#include <X11/Intrinsic.h> +#include <X11/Xfuncproto.h> + +typedef void (*XmuInitializerProc)(XtAppContext app_context, XPointer data); + +_XFUNCPROTOBEGIN + +void XmuCallInitializers +( + XtAppContext app_context + ); + +void XmuAddInitializer +( + XmuInitializerProc func, + XPointer data + ); + +_XFUNCPROTOEND + +#endif /* _XMU_INITER_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xmu/Lookup.h b/ThirdParty/X11/Include/X11/Xmu/Lookup.h new file mode 100644 index 0000000..e99b8b1 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/Lookup.h @@ -0,0 +1,124 @@ +/************************************************************ + +Copyright 1999 by Thomas E. Dickey <dickey@clark.net> + + All Rights Reserved + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name(s) of the above copyright +holders shall not be used in advertising or otherwise to promote the +sale, use or other dealings in this Software without prior written +authorization. + +********************************************************/ + +#ifndef included_xmu_lookup_h +#define included_xmu_lookup_h 1 + +#include <X11/Xlib.h> +#include <X11/Xutil.h> + +extern int XmuLookupString( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status, + unsigned long keysymSet); + +extern int XmuLookupLatin1( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +extern int XmuLookupLatin2( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +extern int XmuLookupLatin3( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +extern int XmuLookupLatin4( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +extern int XmuLookupKana( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +extern int XmuLookupJISX0201( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +extern int XmuLookupArabic( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +extern int XmuLookupCyrillic( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +extern int XmuLookupGreek( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +extern int XmuLookupAPL( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +extern int XmuLookupHebrew( + XKeyEvent *event, + unsigned char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status); + +#endif /* included_xmu_lookup_h */ diff --git a/ThirdParty/X11/Include/X11/Xmu/Misc.h b/ThirdParty/X11/Include/X11/Xmu/Misc.h new file mode 100644 index 0000000..6ae6227 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/Misc.h @@ -0,0 +1,63 @@ +/* + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/*********************************************************** + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +/* Various useful constant and macro definitions */ + +#ifndef _Xmu_Misc_h +#define _Xmu_Misc_h + +#define MAXDIMENSION ((1 << 31)-1) + +#define Max(x, y) (((x) > (y)) ? (x) : (y)) +#define Min(x, y) (((x) < (y)) ? (x) : (y)) +#define AssignMax(x, y) {if ((y) > (x)) x = (y);} +#define AssignMin(x, y) {if ((y) < (x)) x = (y);} + +#endif /*_Xmu_Misc_h*/ diff --git a/ThirdParty/X11/Include/X11/Xmu/StdCmap.h b/ThirdParty/X11/Include/X11/Xmu/StdCmap.h new file mode 100644 index 0000000..3261673 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/StdCmap.h @@ -0,0 +1,116 @@ +/* + +Copyright 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_STDCMAP_H_ +#define _XMU_STDCMAP_H_ + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +Status XmuAllStandardColormaps +( + Display *dpy + ); + +Status XmuCreateColormap +( + Display *dpy, + XStandardColormap *colormap + ); + +void XmuDeleteStandardColormap +( + Display *dpy, + int screen, + Atom property + ); + +Status XmuGetColormapAllocation +( + XVisualInfo *vinfo, + Atom property, + unsigned long *red_max_return, + unsigned long *green_max_return, + unsigned long *blue_max_return + ); + +Status XmuLookupStandardColormap +( + Display *dpy, + int screen, + VisualID visualid, + unsigned int depth, + Atom property, + Bool replace, + Bool retain + ); + +XStandardColormap *XmuStandardColormap +( + Display *dpy, + int screen, + VisualID visualid, + unsigned int depth, + Atom property, + Colormap cmap, + unsigned long red_max, + unsigned long green_max, + unsigned long blue_max + ); + +Status XmuVisualStandardColormaps +( + Display *dpy, + int screen, + VisualID visualid, + unsigned int depth, + Bool replace, + Bool retain + ); + +Bool XmuDistinguishableColors +( + XColor *colors, + int count + ); + +Bool XmuDistinguishablePixels +( + Display *dpy, + Colormap cmap, + unsigned long *pixels, + int count + ); + +_XFUNCPROTOEND + +#endif /* _XMU_STDCMAP_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xmu/StdSel.h b/ThirdParty/X11/Include/X11/Xmu/StdSel.h new file mode 100644 index 0000000..b780875 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/StdSel.h @@ -0,0 +1,54 @@ +/* + +Copyright 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_SELECTION_H_ +#define _XMU_SELECTION_H_ + +#include <X11/Intrinsic.h> +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +Boolean XmuConvertStandardSelection +( + Widget w, + Time timev, + Atom *selection, + Atom *target, + Atom *type_return, + XPointer *value_return, + unsigned long *length_return, + int *format_return + ); + +_XFUNCPROTOEND + +#endif /* _XMU_SELECTION_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xmu/SysUtil.h b/ThirdParty/X11/Include/X11/Xmu/SysUtil.h new file mode 100644 index 0000000..da5b189 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/SysUtil.h @@ -0,0 +1,53 @@ +/* + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _SYSUTIL_H_ +#define _SYSUTIL_H_ + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +int XmuGetHostname +( + char *buf_return, + int maxlen +); + +#ifndef _XMU_H_ +int XmuSnprintf +( + char *str, + int size, + _Xconst char *fmt, + ... + ) +_X_ATTRIBUTE_PRINTF(3,4); +#endif + +_XFUNCPROTOEND + +#endif /* _SYSUTIL_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xmu/WhitePoint.h b/ThirdParty/X11/Include/X11/Xmu/WhitePoint.h new file mode 100644 index 0000000..9f41c42 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/WhitePoint.h @@ -0,0 +1,63 @@ +/* + +Copyright 1991, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + + +/* + * + * DESCRIPTION + * This file contains a series of standard white point values. + */ +#define CIE_A_u 0.2560 +#define CIE_A_v 0.5243 +#define CIE_A_Y 1.0000 + +#define CIE_B_u 0.2137 +#define CIE_B_v 0.4852 +#define CIE_B_Y 1.0000 + +#define CIE_C_u 0.2009 +#define CIE_C_v 0.4609 +#define CIE_C_Y 1.0000 + +#define CIE_D55_u 0.2044 +#define CIE_D55_v 0.4808 +#define CIE_D55_Y 1.0000 + +#define CIE_D65_u 0.1978 +#define CIE_D65_v 0.4684 +#define CIE_D65_Y 1.0000 + +#define CIE_D75_u 0.1935 +#define CIE_D75_v 0.4586 +#define CIE_D75_Y 1.0000 + +#define ASTM_D50_u 0.2092 +#define ASTM_D50_v 0.4881 +#define ASTM_D50_Y 1.0000 + +#define WP_9300K_u 0.1884 +#define WP_9300K_v 0.4463 +#define WP_9300K_Y 1.0000 diff --git a/ThirdParty/X11/Include/X11/Xmu/WidgetNode.h b/ThirdParty/X11/Include/X11/Xmu/WidgetNode.h new file mode 100644 index 0000000..f9d2cb5 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/WidgetNode.h @@ -0,0 +1,95 @@ +/* + +Copyright 1990, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * Author: Jim Fulton, MIT X Consortium + */ + +#ifndef _XmuWidgetNode_h +#define _XmuWidgetNode_h + +#include <X11/Intrinsic.h> +#include <X11/Xfuncproto.h> + +/* + * This is usually initialized by setting the first two fields and letting + * rest be implicitly nulled (by genlist.sh, for example) + */ +typedef struct _XmuWidgetNode { + char *label; /* mixed case name */ + WidgetClass *widget_class_ptr; /* addr of widget class */ + struct _XmuWidgetNode *superclass; /* superclass of widget_class */ + struct _XmuWidgetNode *children, *siblings; /* subclass links */ + char *lowered_label; /* lowercase version of label */ + char *lowered_classname; /* lowercase version of class_name */ + Bool have_resources; /* resources have been fetched */ + XtResourceList resources; /* extracted resource database */ + struct _XmuWidgetNode **resourcewn; /* where resources come from */ + Cardinal nresources; /* number of resources */ + XtResourceList constraints; /* extracted constraint resources */ + struct _XmuWidgetNode **constraintwn; /* where constraints come from */ + Cardinal nconstraints; /* number of constraint resources */ + XtPointer data; /* extra data */ +} XmuWidgetNode; + +#define XmuWnClass(wn) ((wn)->widget_class_ptr[0]) +#define XmuWnClassname(wn) (XmuWnClass(wn)->core_class.class_name) +#define XmuWnSuperclass(wn) ((XmuWnClass(wn))->core_class.superclass) + + /* external interfaces */ +_XFUNCPROTOBEGIN + +void XmuWnInitializeNodes +( + XmuWidgetNode *nodearray, + int nnodes + ); + +void XmuWnFetchResources +( + XmuWidgetNode *node, + Widget toplevel, + XmuWidgetNode *topnode + ); + +int XmuWnCountOwnedResources +( + XmuWidgetNode *node, + XmuWidgetNode *ownernode, + Bool constraints + ); + +XmuWidgetNode *XmuWnNameToNode +( + XmuWidgetNode *nodelist, + int nnodes, + _Xconst char *name + ); + +_XFUNCPROTOEND + +#endif /* _XmuWidgetNode_h */ + diff --git a/ThirdParty/X11/Include/X11/Xmu/WinUtil.h b/ThirdParty/X11/Include/X11/Xmu/WinUtil.h new file mode 100644 index 0000000..3d187b9 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/WinUtil.h @@ -0,0 +1,61 @@ +/* + +Copyright 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_WINDOWUTIL_H_ +#define _XMU_WINDOWUTIL_H_ + +#include <X11/Xutil.h> +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +Window XmuClientWindow +( + Display *dpy, + Window win + ); + +Bool XmuUpdateMapHints +( + Display *dpy, + Window win, + XSizeHints *hints + ); + +Screen *XmuScreenOfWindow +( + Display *dpy, + Window w +); + +_XFUNCPROTOEND + +#endif /* _XMU_WINDOWUTIL_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xmu/Xct.h b/ThirdParty/X11/Include/X11/Xmu/Xct.h new file mode 100644 index 0000000..514ad7f --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/Xct.h @@ -0,0 +1,165 @@ +/* + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _Xct_h +#define _Xct_h + +#include <X11/Xfuncproto.h> + +#define XctVersion 1 + +typedef unsigned char *XctString; + +typedef enum { + XctUnspecified, + XctLeftToRight, + XctRightToLeft +} XctHDirection; + +typedef unsigned long XctFlags; + +/* These are bits in XctFlags. */ + +#define XctSingleSetSegments 0x0001 + /* This means that returned segments should contain characters from only + * one set (C0, C1, GL, GR). When this is requested, XctSegment is never + * returned, instead XctC0Segment, XctC1Segment, XctGlSegment, and + * XctGRSegment are returned. C0 and C1 segments are always returned as + * singleton characters. + */ + +#define XctProvideExtensions 0x0002 + /* This means that if the Compound Text string is from a higher version + * than this code is implemented to, then syntactically correct but unknown + * control sequences should be returned as XctExtension items. If this + * flag is not set, and the Compound Text string version indicates that + * extensions cannot be ignored, then each unknown control sequence will be + * reported as an XctError. + */ + +#define XctAcceptC0Extensions 0x0004 + /* This means that if the Compound Text string is from a higher version + * than this code is implemented to, then unknown C0 characters should be + * treated as if they were legal, and returned as C0 characters (regardless + * of how XctProvideExtensions is set). If this flag is not set, then all + * unknown C0 characters are treated according to XctProvideExtensions. + */ + +#define XctAcceptC1Extensions 0x0008 + /* This means that if the Compound Text string is from a higher version + * than this code is implemented to, then unknown C0 characters should be + * treated as if they were legal, and returned as C0 characters (regardless + * of how XctProvideExtensions is set). If this flag is not set, then all + * unknown C0 characters are treated according to XctProvideExtensions. + */ + +#define XctHideDirection 0x0010 + /* This means that horizontal direction changes should be reported as + * XctHorizontal items. If this flag is not set, then direction changes are + * not returned as items, but the current direction is still maintained and + * reported for other items. + */ + +#define XctFreeString 0x0020 + /* This means that XctFree should free the Compound Text string (that was + * passed to XctCreate. If this flag is not set, the string is not freed. + */ + +#define XctShiftMultiGRToGL 0x0040 + /* Translate GR segments on-the-fly into GL segments for the GR sets: + * GB2312.1980-1, JISX0208.1983-1, and KSC5601.1987-1. + */ + +/* This is the return type for XctNextItem. */ +typedef enum { + XctSegment, /* used when XctSingleSetSegments is not requested */ + XctC0Segment, /* used when XctSingleSetSegments is requested */ + XctGLSegment, /* used when XctSingleSetSegments is requested */ + XctC1Segment, /* used when XctSingleSetSegments is requested */ + XctGRSegment, /* used when XctSingleSetSegments is requested */ + XctExtendedSegment, /* an extended segment */ + XctExtension, /* used when XctProvideExtensions is requested */ + XctHorizontal, /* horizontal direction or depth change */ + XctEndOfText, /* end of text string */ + XctError /* syntactic or semantic error */ +} XctResult; + +typedef struct _XctRec { + XctString total_string; /* as given to XctCreate */ + int total_length; /* as given to XctCreate */ + XctFlags flags; /* as given to XctCreate */ + int version; /* indicates the version of the CT spec + * the string was produced from */ + int can_ignore_exts;/* non-zero if ignoring extensions is + * acceptable, else zero */ + XctString item; /* item returned from XctNextItem */ + unsigned item_length; /* length of item in bytes */ + int char_size; /* number of bytes per character in + * item, with zero meaning variable */ + char *encoding; /* Encoding name for item */ + XctHDirection horizontal; /* direction of item */ + unsigned horz_depth; /* current direction nesting depth */ + char *GL; /* "{I} F" string for current GL */ + char *GL_encoding; /* Encoding name for current GL */ + int GL_set_size; /* 94 or 96 */ + int GL_char_size; /* number of bytes per GL character */ + char *GR; /* "{I} F" string for current GR */ + char *GR_encoding; /* Encoding name for current GR */ + int GR_set_size; /* 94 or 96 */ + int GR_char_size; /* number of bytes per GR character */ + char *GLGR_encoding; /* Encoding name for current GL+GR, + * if known */ + struct _XctPriv *priv; /* private to parser, don't peek */ +} *XctData; + +/* these are the external routines */ +_XFUNCPROTOBEGIN + +XctData XctCreate +( + _Xconst unsigned char *string, + int length, + XctFlags flags +); + +XctResult XctNextItem +( + XctData data +); + +void XctFree +( + XctData data + ); + +void XctReset +( + XctData data + ); + +_XFUNCPROTOEND + +#endif /* _Xct_h */ diff --git a/ThirdParty/X11/Include/X11/Xmu/Xmu.h b/ThirdParty/X11/Include/X11/Xmu/Xmu.h new file mode 100644 index 0000000..e49ad6f --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xmu/Xmu.h @@ -0,0 +1,122 @@ +/* + +Copyright 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * The interfaces described by this header file are for miscellaneous utilities + * and are not part of the Xlib standard. + */ + +#ifndef _XMU_H_ +#define _XMU_H_ + +#include <X11/Xfuncproto.h> +#include <X11/Intrinsic.h> +#include <X11/Xmu/Atoms.h> /* _XA_... */ +#include <X11/Xmu/CharSet.h> /* CopyISOLatin1Lowered */ +#include <X11/Xmu/Converters.h> /* CvtStringTo... */ +#include <X11/Xmu/Drawing.h> /* DrawRoundedRect, DrawLogo */ +#include <X11/Xmu/Error.h> /* PrintDefaultError */ +#include <X11/Xmu/StdSel.h> /* ConvertStandardSelection */ + +/* + * clip lists + */ +typedef struct _XmuSegment { + int x1, x2; + struct _XmuSegment *next; +} XmuSegment; + +typedef struct _XmuScanline { + int y; + XmuSegment *segment; + struct _XmuScanline *next; +} XmuScanline; + +typedef struct _XmuArea { + XmuScanline *scanline; +} XmuArea; + +#define XmuCreateArea() XmuNewArea(0, 0, 0, 0) +#define XmuAreaOr(dst, src) XmuAreaOrXor((dst), (src), True) +#define XmuAreaXor(dst, src) XmuAreaOrXor((dst), (src), False) + +#define XmuDestroyArea(a) \ + do { \ + XmuDestroyScanlineList((a)->scanline); \ + XtFree((char *)(a)); \ + } while (0) + +#define FreeArea(a) \ + do { \ + XmuDestroyScanlineList((a)->scanline); \ + a->scanline = (Scanline *)0; \ + } while (0) + +#define XmuValidSegment(s) ((s)->x1 < (s)->x2) +#define XmuSegmentEqu(s1, s2) ((s1)->x1 == (s2)->x1 && (s1)->x2 == (s2)->x2) +#define XmuDestroySegment(s) XtFree((char *)(s)) + +#define XmuDestroyScanline(s) \ + do { \ + XmuDestroySegmentList((s)->segment); \ + XtFree((char*)(s)); \ + } while (0) + +XmuArea *XmuNewArea(int, int, int, int); +XmuArea *XmuAreaDup(XmuArea*); +XmuArea *XmuAreaCopy(XmuArea*, XmuArea*); +XmuArea *XmuAreaNot(XmuArea*, int, int, int, int); +XmuArea *XmuAreaOrXor(XmuArea*, XmuArea*, Bool); +XmuArea *XmuAreaAnd(XmuArea*, XmuArea*); +Bool XmuValidArea(XmuArea*); +Bool XmuValidScanline(XmuScanline*); +Bool XmuScanlineEqu(XmuScanline*, XmuScanline*); +XmuSegment *XmuNewSegment(int, int); +void XmuDestroySegmentList(XmuSegment*); +XmuScanline *XmuScanlineCopy(XmuScanline*, XmuScanline*); +Bool XmuAppendSegment(XmuSegment*, XmuSegment*); +XmuScanline *XmuOptimizeScanline(XmuScanline*); +XmuScanline *XmuScanlineNot(XmuScanline *scanline, int, int); +XmuScanline *XmuScanlineOr(XmuScanline*, XmuScanline*); +XmuScanline *XmuScanlineAnd(XmuScanline*, XmuScanline*); +XmuScanline *XmuScanlineXor(XmuScanline*, XmuScanline*); +XmuScanline *XmuNewScanline(int, int, int); +void XmuDestroyScanlineList(XmuScanline*); +XmuArea *XmuOptimizeArea(XmuArea *area); + +#ifndef notdef +XmuScanline *XmuScanlineOrSegment(XmuScanline*, XmuSegment*); +XmuScanline *XmuScanlineAndSegment(XmuScanline*, XmuSegment*); +XmuScanline *XmuScanlineXorSegment(XmuScanline*, XmuSegment*); +#endif /* notdef */ + +#ifndef _SYSUTIL_H_ +int XmuSnprintf(char *str, int size, _Xconst char *fmt, ...) + _X_ATTRIBUTE_PRINTF(3,4); +#endif + +#endif /* _XMU_H_ */ + diff --git a/ThirdParty/X11/Include/X11/Xos.h b/ThirdParty/X11/Include/X11/Xos.h new file mode 100644 index 0000000..28dfc67 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xos.h @@ -0,0 +1,148 @@ +/* + * +Copyright 1987, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + * + * The X Window System is a Trademark of The Open Group. + * + */ + +/* This is a collection of things to try and minimize system dependencies + * in a "significant" number of source files. + */ + +#ifndef _XOS_H_ +# define _XOS_H_ + +# include <X11/Xosdefs.h> + +/* + * Get major data types (esp. caddr_t) + */ + +# include <sys/types.h> + +# if defined(__SCO__) || defined(__UNIXWARE__) +# include <stdint.h> +# endif + + +/* + * Just about everyone needs the strings routines. We provide both forms here, + * index/rindex and strchr/strrchr, so any systems that don't provide them all + * need to have #defines here. + * + * These macros are defined this way, rather than, e.g.: + * #defined index(s,c) strchr(s,c) + * because someone might be using them as function pointers, and such + * a change would break compatibility for anyone who's relying on them + * being the way they currently are. So we're stuck with them this way, + * which can be really inconvenient. :-( + */ + +# include <string.h> +# if defined(__SCO__) || defined(__UNIXWARE__) || defined(__sun) || defined(__CYGWIN__) || defined(_AIX) || defined(__APPLE__) +# include <strings.h> +# else +# ifndef index +# define index(s,c) (strchr((s),(c))) +# endif +# ifndef rindex +# define rindex(s,c) (strrchr((s),(c))) +# endif +# endif + +/* + * Get open(2) constants + */ +# if defined(X_NOT_POSIX) +# include <fcntl.h> +# if defined(USL) || defined(__i386__) && (defined(SYSV) || defined(SVR4)) +# include <unistd.h> +# endif +# ifdef WIN32 +# include <X11/Xw32defs.h> +# else +# include <sys/file.h> +# endif +# else /* X_NOT_POSIX */ +# include <fcntl.h> +# include <unistd.h> +# endif /* X_NOT_POSIX else */ + +/* + * Get struct timeval and struct tm + */ + +# if defined(_POSIX_SOURCE) && defined(SVR4) +/* need to omit _POSIX_SOURCE in order to get what we want in SVR4 */ +# undef _POSIX_SOURCE +# include <sys/time.h> +# define _POSIX_SOURCE +# elif defined(WIN32) +# include <time.h> +# if !defined(_WINSOCKAPI_) && !defined(_WILLWINSOCK_) && !defined(_TIMEVAL_DEFINED) && !defined(_STRUCT_TIMEVAL) +struct timeval { + long tv_sec; /* seconds */ + long tv_usec; /* and microseconds */ +}; +# define _TIMEVAL_DEFINED +# endif +# include <sys/timeb.h> +# define gettimeofday(t) \ +{ \ + struct _timeb _gtodtmp; \ + _ftime (&_gtodtmp); \ + (t)->tv_sec = _gtodtmp.time; \ + (t)->tv_usec = _gtodtmp.millitm * 1000; \ +} +# else +# include <sys/time.h> +# include <time.h> +# endif /* defined(_POSIX_SOURCE) && defined(SVR4) */ + +/* define X_GETTIMEOFDAY macro, a portable gettimeofday() */ +# if defined(_XOPEN_XPG4) || defined(_XOPEN_UNIX) /* _XOPEN_UNIX is XPG4.2 */ +# define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0) +# else +# if defined(SVR4) || defined(__SVR4) || defined(WIN32) +# define X_GETTIMEOFDAY(t) gettimeofday(t) +# else +# define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0) +# endif +# endif /* XPG4 else */ + + +# ifdef __GNU__ +# define PATH_MAX 4096 +# define MAXPATHLEN 4096 +# define OPEN_MAX 256 /* We define a reasonable limit. */ +# endif + +/* use POSIX name for signal */ +# if defined(X_NOT_POSIX) && defined(SYSV) && !defined(SIGCHLD) +# define SIGCHLD SIGCLD +# endif + +# include <X11/Xarch.h> + +#endif /* _XOS_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xos_r.h b/ThirdParty/X11/Include/X11/Xos_r.h new file mode 100644 index 0000000..f963b64 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xos_r.h @@ -0,0 +1,1095 @@ +/* +Copyright 1996, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. +*/ + +/* + * Various and sundry Thread-Safe functions used by X11, Motif, and CDE. + * + * Use this file in MT-safe code where you would have included + * <dirent.h> for readdir() + * <grp.h> for getgrgid() or getgrnam() + * <netdb.h> for gethostbyname(), gethostbyaddr(), or getservbyname() + * <pwd.h> for getpwnam() or getpwuid() + * <string.h> for strtok() + * <time.h> for asctime(), ctime(), localtime(), or gmtime() + * <unistd.h> for getlogin() or ttyname() + * or their thread-safe analogs. + * + * If you are on a platform that defines XTHREADS but does not have + * MT-safe system API (e.g. UnixWare) you must define _Xos_processLock + * and _Xos_processUnlock macros before including this header. + * + * For convenience XOS_USE_XLIB_LOCKING or XOS_USE_XT_LOCKING may be defined + * to obtain either Xlib-only or Xt-based versions of these macros. These + * macros won't result in truly thread-safe calls, but they are better than + * nothing. If you do not want locking in this situation define + * XOS_USE_NO_LOCKING. + * + * NOTE: On systems lacking appropriate _r functions Gethostbyname(), + * Gethostbyaddr(), and Getservbyname() do NOT copy the host or + * protocol lists! + * + * NOTE: On systems lacking appropriate _r functions Getgrgid() and + * Getgrnam() do NOT copy the list of group members! + * + * This header is nominally intended to simplify porting X11, Motif, and + * CDE; it may be useful to other people too. The structure below is + * complicated, mostly because P1003.1c (the IEEE POSIX Threads spec) + * went through lots of drafts, and some vendors shipped systems based + * on draft API that were changed later. Unfortunately POSIX did not + * provide a feature-test macro for distinguishing each of the drafts. + */ + +/* + * This header has several parts. Search for "Effective prototypes" + * to locate the beginning of a section. + */ + +/* This header can be included multiple times with different defines! */ +#ifndef _XOS_R_H_ +# define _XOS_R_H_ + +# include <X11/Xos.h> +# include <X11/Xfuncs.h> + +# ifndef X_NOT_POSIX +# ifdef _POSIX_SOURCE +# include <limits.h> +# else +# define _POSIX_SOURCE +# include <limits.h> +# undef _POSIX_SOURCE +# endif +# ifndef LINE_MAX +# define X_LINE_MAX 2048 +# else +# define X_LINE_MAX LINE_MAX +# endif +# endif +#endif /* _XOS_R_H */ + +#ifndef WIN32 + +#ifdef __cplusplus +extern "C" { +#endif + +# if defined(XOS_USE_XLIB_LOCKING) +# ifndef XAllocIDs /* Xlibint.h does not have multiple include protection */ +typedef struct _LockInfoRec *LockInfoPtr; +extern LockInfoPtr _Xglobal_lock; +# endif +# ifndef _Xos_isThreadInitialized +# define _Xos_isThreadInitialized (_Xglobal_lock) +# endif +# if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE) +# ifndef XAllocIDs /* Xlibint.h does not have multiple include protection */ +# include <X11/Xfuncproto.h> /* for NeedFunctionPrototypes */ +extern void (*_XLockMutex_fn)( +# if NeedFunctionPrototypes + LockInfoPtr /* lock */, char * /* file */, int /* line */ +# endif +); +extern void (*_XUnlockMutex_fn)( +# if NeedFunctionPrototypes + LockInfoPtr /* lock */, char * /* file */, int /* line */ +# endif +); +# endif +# ifndef _Xos_processLock +# define _Xos_processLock \ + (_XLockMutex_fn ? (*_XLockMutex_fn)(_Xglobal_lock,__FILE__,__LINE__) : 0) +# endif +# ifndef _Xos_processUnlock +# define _Xos_processUnlock \ + (_XUnlockMutex_fn ? (*_XUnlockMutex_fn)(_Xglobal_lock,__FILE__,__LINE__) : 0) +# endif +# else +# ifndef XAllocIDs /* Xlibint.h does not have multiple include protection */ +# include <X11/Xfuncproto.h> /* for NeedFunctionPrototypes */ +extern void (*_XLockMutex_fn)( +# if NeedFunctionPrototypes + LockInfoPtr /* lock */ +# endif +); +extern void (*_XUnlockMutex_fn)( +# if NeedFunctionPrototypes + LockInfoPtr /* lock */ +# endif +); +# endif +# ifndef _Xos_processLock +# define _Xos_processLock \ + (_XLockMutex_fn ? ((*_XLockMutex_fn)(_Xglobal_lock), 0) : 0) +# endif +# ifndef _Xos_processUnlock +# define _Xos_processUnlock \ + (_XUnlockMutex_fn ? ((*_XUnlockMutex_fn)(_Xglobal_lock), 0) : 0) +# endif +# endif +# elif defined(XOS_USE_XT_LOCKING) +# ifndef _XtThreadsI_h +extern void (*_XtProcessLock)(void); +# endif +# ifndef _XtintrinsicP_h +# include <X11/Xfuncproto.h> /* for NeedFunctionPrototypes */ +extern void XtProcessLock( +# if NeedFunctionPrototypes + void +# endif +); +extern void XtProcessUnlock( +# if NeedFunctionPrototypes + void +# endif +); +# endif +# ifndef _Xos_isThreadInitialized +# define _Xos_isThreadInitialized _XtProcessLock +# endif +# ifndef _Xos_processLock +# define _Xos_processLock XtProcessLock() +# endif +# ifndef _Xos_processUnlock +# define _Xos_processUnlock XtProcessUnlock() +# endif +# elif defined(XOS_USE_NO_LOCKING) +# ifndef _Xos_isThreadInitialized +# define _Xos_isThreadInitialized 0 +# endif +# ifndef _Xos_processLock +# define _Xos_processLock 0 +# endif +# ifndef _Xos_processUnlock +# define _Xos_processUnlock 0 +# endif +# endif + +#endif /* !defined WIN32 */ + +/* + * Solaris defines the POSIX thread-safe feature test macro, but + * uses the older SVR4 thread-safe functions unless the POSIX ones + * are specifically requested. Fix the feature test macro. + */ +#if defined(__sun) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && \ + (_POSIX_C_SOURCE - 0 < 199506L) && !defined(_POSIX_PTHREAD_SEMANTICS) +# undef _POSIX_THREAD_SAFE_FUNCTIONS +#endif + +/***** <pwd.h> wrappers *****/ + +/* + * Effective prototypes for <pwd.h> wrappers: + * + * #define X_INCLUDE_PWD_H + * #define XOS_USE_..._LOCKING + * #include <X11/Xos_r.h> + * + * typedef ... _Xgetpwparams; + * + * struct passwd* _XGetpwnam(const char *name, _Xgetpwparams); + * struct passwd* _XGetpwuid(uid_t uid, _Xgetpwparams); + */ + +#if defined(X_INCLUDE_PWD_H) && !defined(_XOS_INCLUDED_PWD_H) +# include <pwd.h> +# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_PWDAPI) +# define XOS_USE_MTSAFE_PWDAPI 1 +# endif +#endif + +#undef X_NEEDS_PWPARAMS +#if !defined(X_INCLUDE_PWD_H) || defined(_XOS_INCLUDED_PWD_H) +/* Do nothing */ + +#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API) +/* Use regular, unsafe API. */ +# if defined(X_NOT_POSIX) && !defined(__i386__) && !defined(SYSV) +extern struct passwd *getpwuid(), *getpwnam(); +# endif +typedef int _Xgetpwparams; /* dummy */ +# define _XGetpwuid(u,p) getpwuid((u)) +# define _XGetpwnam(u,p) getpwnam((u)) + +#elif !defined(XOS_USE_MTSAFE_PWDAPI) || defined(XNO_MTSAFE_PWDAPI) +/* UnixWare 2.0, or other systems with thread support but no _r API. */ +# define X_NEEDS_PWPARAMS +typedef struct { + struct passwd pws; + char pwbuf[1024]; + struct passwd* pwp; + size_t len; +} _Xgetpwparams; + +/* + * NetBSD and FreeBSD, at least, are missing several of the unixware passwd + * fields. + */ + +#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || \ + defined(__APPLE__) || defined(__DragonFly__) +static __inline__ void _Xpw_copyPasswd(_Xgetpwparams p) +{ + memcpy(&(p).pws, (p).pwp, sizeof(struct passwd)); + + (p).pws.pw_name = (p).pwbuf; + (p).len = strlen((p).pwp->pw_name); + strcpy((p).pws.pw_name, (p).pwp->pw_name); + + (p).pws.pw_passwd = (p).pws.pw_name + (p).len + 1; + (p).len = strlen((p).pwp->pw_passwd); + strcpy((p).pws.pw_passwd,(p).pwp->pw_passwd); + + (p).pws.pw_class = (p).pws.pw_passwd + (p).len + 1; + (p).len = strlen((p).pwp->pw_class); + strcpy((p).pws.pw_class, (p).pwp->pw_class); + + (p).pws.pw_gecos = (p).pws.pw_class + (p).len + 1; + (p).len = strlen((p).pwp->pw_gecos); + strcpy((p).pws.pw_gecos, (p).pwp->pw_gecos); + + (p).pws.pw_dir = (p).pws.pw_gecos + (p).len + 1; + (p).len = strlen((p).pwp->pw_dir); + strcpy((p).pws.pw_dir, (p).pwp->pw_dir); + + (p).pws.pw_shell = (p).pws.pw_dir + (p).len + 1; + (p).len = strlen((p).pwp->pw_shell); + strcpy((p).pws.pw_shell, (p).pwp->pw_shell); + + (p).pwp = &(p).pws; +} + +#else +# define _Xpw_copyPasswd(p) \ + (memcpy(&(p).pws, (p).pwp, sizeof(struct passwd)), \ + ((p).pws.pw_name = (p).pwbuf), \ + ((p).len = strlen((p).pwp->pw_name)), \ + strcpy((p).pws.pw_name, (p).pwp->pw_name), \ + ((p).pws.pw_passwd = (p).pws.pw_name + (p).len + 1), \ + ((p).len = strlen((p).pwp->pw_passwd)), \ + strcpy((p).pws.pw_passwd,(p).pwp->pw_passwd), \ + ((p).pws.pw_age = (p).pws.pw_passwd + (p).len + 1), \ + ((p).len = strlen((p).pwp->pw_age)), \ + strcpy((p).pws.pw_age, (p).pwp->pw_age), \ + ((p).pws.pw_comment = (p).pws.pw_age + (p).len + 1), \ + ((p).len = strlen((p).pwp->pw_comment)), \ + strcpy((p).pws.pw_comment, (p).pwp->pw_comment), \ + ((p).pws.pw_gecos = (p).pws.pw_comment + (p).len + 1), \ + ((p).len = strlen((p).pwp->pw_gecos)), \ + strcpy((p).pws.pw_gecos, (p).pwp->pw_gecos), \ + ((p).pws.pw_dir = (p).pws.pw_comment + (p).len + 1), \ + ((p).len = strlen((p).pwp->pw_dir)), \ + strcpy((p).pws.pw_dir, (p).pwp->pw_dir), \ + ((p).pws.pw_shell = (p).pws.pw_dir + (p).len + 1), \ + ((p).len = strlen((p).pwp->pw_shell)), \ + strcpy((p).pws.pw_shell, (p).pwp->pw_shell), \ + ((p).pwp = &(p).pws), \ + 0 ) +#endif +# define _XGetpwuid(u,p) \ +( (_Xos_processLock), \ + (((p).pwp = getpwuid((u))) ? _Xpw_copyPasswd(p), 0 : 0), \ + (_Xos_processUnlock), \ + (p).pwp ) +# define _XGetpwnam(u,p) \ +( (_Xos_processLock), \ + (((p).pwp = getpwnam((u))) ? _Xpw_copyPasswd(p), 0 : 0), \ + (_Xos_processUnlock), \ + (p).pwp ) + +#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(__APPLE__) +# define X_NEEDS_PWPARAMS +typedef struct { + struct passwd pws; + char pwbuf[X_LINE_MAX]; +} _Xgetpwparams; +# if defined(_POSIX_REENTRANT_FUNCTIONS) || !defined(SVR4) +# define _XGetpwuid(u,p) \ +((getpwuid_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == -1) ? NULL : &(p).pws) +# define _XGetpwnam(u,p) \ +((getpwnam_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == -1) ? NULL : &(p).pws) +# else /* SVR4 */ +# define _XGetpwuid(u,p) \ +((getpwuid_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == NULL) ? NULL : &(p).pws) +# define _XGetpwnam(u,p) \ +((getpwnam_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == NULL) ? NULL : &(p).pws) +# endif /* SVR4 */ + +#else /* _POSIX_THREAD_SAFE_FUNCTIONS */ +# define X_NEEDS_PWPARAMS +typedef struct { + struct passwd pws; + char pwbuf[X_LINE_MAX]; + struct passwd* pwp; +} _Xgetpwparams; +typedef int _Xgetpwret; +# define _XGetpwuid(u,p) \ +((getpwuid_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf),&(p).pwp) == 0) ? \ + (p).pwp : NULL) +# define _XGetpwnam(u,p) \ +((getpwnam_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf),&(p).pwp) == 0) ? \ + (p).pwp : NULL) +#endif /* X_INCLUDE_PWD_H */ + +#if defined(X_INCLUDE_PWD_H) && !defined(_XOS_INCLUDED_PWD_H) +# define _XOS_INCLUDED_PWD_H +#endif + + +/***** <netdb.h> wrappers *****/ + +/* + * Effective prototypes for <netdb.h> wrappers: + * + * NOTE: On systems lacking the appropriate _r functions Gethostbyname(), + * Gethostbyaddr(), and Getservbyname() do NOT copy the host or + * protocol lists! + * + * #define X_INCLUDE_NETDB_H + * #define XOS_USE_..._LOCKING + * #include <X11/Xos_r.h> + * + * typedef ... _Xgethostbynameparams; + * typedef ... _Xgetservbynameparams; + * + * struct hostent* _XGethostbyname(const char* name,_Xgethostbynameparams); + * struct hostent* _XGethostbyaddr(const char* addr, int len, int type, + * _Xgethostbynameparams); + * struct servent* _XGetservbyname(const char* name, const char* proto, + * _Xgetservbynameparams); + */ + +#undef XTHREADS_NEEDS_BYNAMEPARAMS +#if defined(X_INCLUDE_NETDB_H) && !defined(_XOS_INCLUDED_NETDB_H) \ + && !defined(WIN32) +# include <netdb.h> +# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_NETDBAPI) +# define XOS_USE_MTSAFE_NETDBAPI 1 +# endif +#endif + +#if !defined(X_INCLUDE_NETDB_H) || defined(_XOS_INCLUDED_NETDB_H) +/* Do nothing. */ + +#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API) +/* Use regular, unsafe API. */ +typedef int _Xgethostbynameparams; /* dummy */ +typedef int _Xgetservbynameparams; /* dummy */ +# define _XGethostbyname(h,hp) gethostbyname((h)) +# define _XGethostbyaddr(a,al,t,hp) gethostbyaddr((a),(al),(t)) +# define _XGetservbyname(s,p,sp) getservbyname((s),(p)) + +#elif !defined(XOS_USE_MTSAFE_NETDBAPI) || defined(XNO_MTSAFE_NETDBAPI) +/* WARNING: The h_addr_list and s_aliases values are *not* copied! */ + +#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) +#include <sys/param.h> +#endif + +typedef struct { + struct hostent hent; + char h_name[MAXHOSTNAMELEN]; + struct hostent *hptr; +} _Xgethostbynameparams; +typedef struct { + struct servent sent; + char s_name[255]; + char s_proto[255]; + struct servent *sptr; +} _Xgetservbynameparams; + +# define XTHREADS_NEEDS_BYNAMEPARAMS + +# define _Xg_copyHostent(hp) \ + (memcpy(&(hp).hent, (hp).hptr, sizeof(struct hostent)), \ + strcpy((hp).h_name, (hp).hptr->h_name), \ + ((hp).hent.h_name = (hp).h_name), \ + ((hp).hptr = &(hp).hent), \ + 0 ) +# define _Xg_copyServent(sp) \ + (memcpy(&(sp).sent, (sp).sptr, sizeof(struct servent)), \ + strcpy((sp).s_name, (sp).sptr->s_name), \ + ((sp).sent.s_name = (sp).s_name), \ + strcpy((sp).s_proto, (sp).sptr->s_proto), \ + ((sp).sent.s_proto = (sp).s_proto), \ + ((sp).sptr = &(sp).sent), \ + 0 ) +# define _XGethostbyname(h,hp) \ + ((_Xos_processLock), \ + (((hp).hptr = gethostbyname((h))) ? _Xg_copyHostent(hp) : 0), \ + (_Xos_processUnlock), \ + (hp).hptr ) +# define _XGethostbyaddr(a,al,t,hp) \ + ((_Xos_processLock), \ + (((hp).hptr = gethostbyaddr((a),(al),(t))) ? _Xg_copyHostent(hp) : 0), \ + (_Xos_processUnlock), \ + (hp).hptr ) +# define _XGetservbyname(s,p,sp) \ + ((_Xos_processLock), \ + (((sp).sptr = getservbyname((s),(p))) ? _Xg_copyServent(sp) : 0), \ + (_Xos_processUnlock), \ + (sp).sptr ) + +#elif defined(XUSE_NETDB_R_API) +/* + * POSIX does not specify _r equivalents for <netdb.h> API, but some + * vendors provide them anyway. Use them only when explicitly asked. + */ +# ifdef _POSIX_REENTRANT_FUNCTIONS +# ifndef _POSIX_THREAD_SAFE_FUNCTIONS +# endif +# endif +# ifdef _POSIX_THREAD_SAFE_FUNCTIONS +# define X_POSIX_THREAD_SAFE_FUNCTIONS 1 +# endif + +# define XTHREADS_NEEDS_BYNAMEPARAMS + +# ifndef X_POSIX_THREAD_SAFE_FUNCTIONS +typedef struct { + struct hostent hent; + char hbuf[X_LINE_MAX]; + int herr; +} _Xgethostbynameparams; +typedef struct { + struct servent sent; + char sbuf[X_LINE_MAX]; +} _Xgetservbynameparams; +# define _XGethostbyname(h,hp) \ + gethostbyname_r((h),&(hp).hent,(hp).hbuf,sizeof((hp).hbuf),&(hp).herr) +# define _XGethostbyaddr(a,al,t,hp) \ + gethostbyaddr_r((a),(al),(t),&(hp).hent,(hp).hbuf,sizeof((hp).hbuf),&(hp).herr) +# define _XGetservbyname(s,p,sp) \ + getservbyname_r((s),(p),&(sp).sent,(sp).sbuf,sizeof((sp).sbuf)) +# else +typedef struct { + struct hostent hent; + struct hostent_data hdata; +} _Xgethostbynameparams; +typedef struct { + struct servent sent; + struct servent_data sdata; +} _Xgetservbynameparams; +# define _XGethostbyname(h,hp) \ + (bzero((char*)&(hp).hdata,sizeof((hp).hdata)), \ + ((gethostbyname_r((h),&(hp).hent,&(hp).hdata) == -1) ? NULL : &(hp).hent)) +# define _XGethostbyaddr(a,al,t,hp) \ + (bzero((char*)&(hp).hdata,sizeof((hp).hdata)), \ + ((gethostbyaddr_r((a),(al),(t),&(hp).hent,&(hp).hdata) == -1) ? NULL : &(hp).hent)) +# define _XGetservbyname(s,p,sp) \ + (bzero((char*)&(sp).sdata,sizeof((sp).sdata)), \ + ((getservbyname_r((s),(p),&(sp).sent,&(sp).sdata) == -1) ? NULL : &(sp).sent) ) +# endif +# ifdef X_POSIX_THREAD_SAFE_FUNCTIONS +# undef X_POSIX_THREAD_SAFE_FUNCTIONS +# endif + +#else +/* The regular API is assumed to be MT-safe under POSIX. */ +typedef int _Xgethostbynameparams; /* dummy */ +typedef int _Xgetservbynameparams; /* dummy */ +# define _XGethostbyname(h,hp) gethostbyname((h)) +# define _XGethostbyaddr(a,al,t,hp) gethostbyaddr((a),(al),(t)) +# define _XGetservbyname(s,p,sp) getservbyname((s),(p)) +#endif /* X_INCLUDE_NETDB_H */ + +#if defined(X_INCLUDE_NETDB_H) && !defined(_XOS_INCLUDED_NETDB_H) +# define _XOS_INCLUDED_NETDB_H +#endif + + +/***** <dirent.h> wrappers *****/ + +/* + * Effective prototypes for <dirent.h> wrappers: + * + * #define X_INCLUDE_DIRENT_H + * #define XOS_USE_..._LOCKING + * #include <X11/Xos_r.h> + * + * typedef ... _Xreaddirparams; + * + * struct dirent *_XReaddir(DIR *dir_pointer, _Xreaddirparams); + */ + +#if defined(X_INCLUDE_DIRENT_H) && !defined(_XOS_INCLUDED_DIRENT_H) +# include <sys/types.h> +# if !defined(X_NOT_POSIX) || defined(SYSV) +# include <dirent.h> +# else +# include <sys/dir.h> +# ifndef dirent +# define dirent direct +# endif +# endif +# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_DIRENTAPI) +# define XOS_USE_MTSAFE_DIRENTAPI 1 +# endif +#endif + +#if !defined(X_INCLUDE_DIRENT_H) || defined(_XOS_INCLUDED_DIRENT_H) +/* Do nothing. */ + +#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API) +/* Use regular, unsafe API. */ +typedef int _Xreaddirparams; /* dummy */ +# define _XReaddir(d,p) readdir(d) + +#elif !defined(XOS_USE_MTSAFE_DIRENTAPI) || defined(XNO_MTSAFE_DIRENTAPI) +/* Systems with thread support but no _r API. */ +typedef struct { + struct dirent *result; + struct dirent dir_entry; +# ifdef _POSIX_PATH_MAX + char buf[_POSIX_PATH_MAX]; +# elif defined(NAME_MAX) + char buf[NAME_MAX]; +# else + char buf[255]; +# endif +} _Xreaddirparams; + +# define _XReaddir(d,p) \ + ( (_Xos_processLock), \ + (((p).result = readdir((d))) ? \ + (memcpy(&((p).dir_entry), (p).result, (p).result->d_reclen), \ + ((p).result = &(p).dir_entry), 0) : \ + 0), \ + (_Xos_processUnlock), \ + (p).result ) + +#else +typedef struct { + struct dirent *result; + struct dirent dir_entry; +# ifdef _POSIX_PATH_MAX + char buf[_POSIX_PATH_MAX]; +# elif defined(NAME_MAX) + char buf[NAME_MAX]; +# else + char buf[255]; +# endif +} _Xreaddirparams; + +# if defined(_POSIX_THREAD_SAFE_FUNCTIONS) || defined(__APPLE__) +/* POSIX final API, returns (int)0 on success. */ +# define _XReaddir(d,p) \ + (readdir_r((d), &((p).dir_entry), &((p).result)) ? NULL : (p).result) +# elif defined(_POSIX_REENTRANT_FUNCTIONS) +/* POSIX draft API, returns (int)0 on success. */ +# define _XReaddir(d,p) \ + (readdir_r((d),&((p).dir_entry)) ? NULL : &((p).dir_entry)) +# elif defined(SVR4) +/* Pre-POSIX API, returns non-NULL on success. */ +# define _XReaddir(d,p) (readdir_r((d), &(p).dir_entry)) +# else +/* We have no idea what is going on. Fake it all using process locks. */ +# define _XReaddir(d,p) \ + ( (_Xos_processLock), \ + (((p).result = readdir((d))) ? \ + (memcpy(&((p).dir_entry), (p).result, (p).result->d_reclen), \ + ((p).result = &(p).dir_entry), 0) : \ + 0), \ + (_Xos_processUnlock), \ + (p).result ) +# endif +#endif /* X_INCLUDE_DIRENT_H */ + +#if defined(X_INCLUDE_DIRENT_H) && !defined(_XOS_INCLUDED_DIRENT_H) +# define _XOS_INCLUDED_DIRENT_H +#endif + + +/***** <unistd.h> wrappers *****/ + +/* + * Effective prototypes for <unistd.h> wrappers: + * + * #define X_INCLUDE_UNISTD_H + * #define XOS_USE_..._LOCKING + * #include <X11/Xos_r.h> + * + * typedef ... _Xgetloginparams; + * typedef ... _Xttynameparams; + * + * char *_XGetlogin(_Xgetloginparams); + * char *_XTtyname(int, _Xttynameparams); + */ + +#if defined(X_INCLUDE_UNISTD_H) && !defined(_XOS_INCLUDED_UNISTD_H) +/* <unistd.h> already included by <X11/Xos.h> */ +# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_UNISTDAPI) +# define XOS_USE_MTSAFE_UNISTDAPI 1 +# endif +#endif + +#if !defined(X_INCLUDE_UNISTD_H) || defined(_XOS_INCLUDED_UNISTD_H) +/* Do nothing. */ + +#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API) +/* Use regular, unsafe API. */ +typedef int _Xgetloginparams; /* dummy */ +typedef int _Xttynameparams; /* dummy */ +# define _XGetlogin(p) getlogin() +# define _XTtyname(f) ttyname((f)) + +#elif !defined(XOS_USE_MTSAFE_UNISTDAPI) || defined(XNO_MTSAFE_UNISTDAPI) +/* Systems with thread support but no _r API. */ +typedef struct { + char *result; +# if defined(MAXLOGNAME) + char buf[MAXLOGNAME]; +# elif defined(LOGIN_NAME_MAX) + char buf[LOGIN_NAME_MAX]; +# else + char buf[64]; +# endif +} _Xgetloginparams; +typedef struct { + char *result; +# ifdef TTY_NAME_MAX + char buf[TTY_NAME_MAX]; +# elif defined(_POSIX_TTY_NAME_MAX) + char buf[_POSIX_TTY_NAME_MAX]; +# elif defined(_POSIX_PATH_MAX) + char buf[_POSIX_PATH_MAX]; +# else + char buf[256]; +# endif +} _Xttynameparams; + +# define _XGetlogin(p) \ + ( (_Xos_processLock), \ + (((p).result = getlogin()) ? \ + (strncpy((p).buf, (p).result, sizeof((p).buf)), \ + ((p).buf[sizeof((p).buf)-1] = '\0'), \ + ((p).result = (p).buf), 0) : 0), \ + (_Xos_processUnlock), \ + (p).result ) +#define _XTtyname(f,p) \ + ( (_Xos_processLock), \ + (((p).result = ttyname(f)) ? \ + (strncpy((p).buf, (p).result, sizeof((p).buf)), \ + ((p).buf[sizeof((p).buf)-1] = '\0'), \ + ((p).result = (p).buf), 0) : 0), \ + (_Xos_processUnlock), \ + (p).result ) + +#elif defined(_POSIX_THREAD_SAFE_FUNCTIONS) || defined(_POSIX_REENTRANT_FUNCTIONS) +/* POSIX API. + * + * extern int getlogin_r(char *, size_t); + * extern int ttyname_r(int, char *, size_t); + */ +typedef struct { +# if defined(MAXLOGNAME) + char buf[MAXLOGNAME]; +# elif defined(LOGIN_NAME_MAX) + char buf[LOGIN_NAME_MAX]; +# else + char buf[64]; +# endif +} _Xgetloginparams; +typedef struct { +# ifdef TTY_NAME_MAX + char buf[TTY_NAME_MAX]; +# elif defined(_POSIX_TTY_NAME_MAX) + char buf[_POSIX_TTY_NAME_MAX]; +# elif defined(_POSIX_PATH_MAX) + char buf[_POSIX_PATH_MAX]; +# else + char buf[256]; +# endif +} _Xttynameparams; + +# define _XGetlogin(p) (getlogin_r((p).buf, sizeof((p).buf)) ? NULL : (p).buf) +# define _XTtyname(f,p) \ + (ttyname_r((f), (p).buf, sizeof((p).buf)) ? NULL : (p).buf) + +#else +/* Pre-POSIX API. + * + * extern char *getlogin_r(char *, size_t); + * extern char *ttyname_r(int, char *, size_t); + */ +typedef struct { +# if defined(MAXLOGNAME) + char buf[MAXLOGNAME]; +# elif defined(LOGIN_NAME_MAX) + char buf[LOGIN_NAME_MAX]; +# else + char buf[64]; +# endif +} _Xgetloginparams; +typedef struct { +# ifdef TTY_NAME_MAX + char buf[TTY_NAME_MAX]; +# elif defined(_POSIX_TTY_NAME_MAX) + char buf[_POSIX_TTY_NAME_MAX]; +# elif defined(_POSIX_PATH_MAX) + char buf[_POSIX_PATH_MAX]; +# else + char buf[256]; +# endif +} _Xttynameparams; + +# define _XGetlogin(p) getlogin_r((p).buf, sizeof((p).buf)) +# define _XTtyname(f,p) ttyname_r((f), (p).buf, sizeof((p).buf)) +#endif /* X_INCLUDE_UNISTD_H */ + +#if defined(X_INCLUDE_UNISTD_H) && !defined(_XOS_INCLUDED_UNISTD_H) +# define _XOS_INCLUDED_UNISTD_H +#endif + + +/***** <string.h> wrappers *****/ + +/* + * Effective prototypes for <string.h> wrappers: + * + * #define X_INCLUDE_STRING_H + * #define XOS_USE_..._LOCKING + * #include <X11/Xos_r.h> + * + * typedef ... _Xstrtokparams; + * + * char *_XStrtok(char *, const char*, _Xstrtokparams); + */ + +#if defined(X_INCLUDE_STRING_H) && !defined(_XOS_INCLUDED_STRING_H) +/* <string.h> has already been included by <X11/Xos.h> */ +# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_STRINGAPI) +# define XOS_USE_MTSAFE_STRINGAPI 1 +# endif +#endif + +#if !defined(X_INCLUDE_STRING_H) || defined(_XOS_INCLUDED_STRING_H) +/* Do nothing. */ + +#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API) +/* Use regular, unsafe API. */ +typedef int _Xstrtokparams; /* dummy */ +# define _XStrtok(s1,s2,p) \ + ( p = 0, (void)p, strtok((s1),(s2)) ) + +#elif !defined(XOS_USE_MTSAFE_STRINGAPI) || defined(XNO_MTSAFE_STRINGAPI) +/* Systems with thread support but no _r API. */ +typedef char *_Xstrtokparams; +# define _XStrtok(s1,s2,p) \ + ( (_Xos_processLock), \ + ((p) = strtok((s1),(s2))), \ + (_Xos_processUnlock), \ + (p) ) + +#else +/* POSIX or pre-POSIX API. */ +typedef char * _Xstrtokparams; +# define _XStrtok(s1,s2,p) strtok_r((s1),(s2),&(p)) +#endif /* X_INCLUDE_STRING_H */ + + +/***** <time.h> wrappers *****/ + +/* + * Effective prototypes for <time.h> wrappers: + * + * #define X_INCLUDE_TIME_H + * #define XOS_USE_..._LOCKING + * #include <X11/Xos_r.h> + * + * typedef ... _Xatimeparams; + * typedef ... _Xctimeparams; + * typedef ... _Xgtimeparams; + * typedef ... _Xltimeparams; + * + * char *_XAsctime(const struct tm *, _Xatimeparams); + * char *_XCtime(const time_t *, _Xctimeparams); + * struct tm *_XGmtime(const time_t *, _Xgtimeparams); + * struct tm *_XLocaltime(const time_t *, _Xltimeparams); + */ + +#if defined(X_INCLUDE_TIME_H) && !defined(_XOS_INCLUDED_TIME_H) +# include <time.h> +# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_TIMEAPI) +# define XOS_USE_MTSAFE_TIMEAPI 1 +# endif +#endif + +#if !defined(X_INCLUDE_TIME_H) || defined(_XOS_INCLUDED_TIME_H) +/* Do nothing. */ + +#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API) +/* Use regular, unsafe API. */ +typedef int _Xatimeparams; /* dummy */ +# define _XAsctime(t,p) asctime((t)) +typedef int _Xctimeparams; /* dummy */ +# define _XCtime(t,p) ctime((t)) +typedef int _Xgtimeparams; /* dummy */ +# define _XGmtime(t,p) gmtime((t)) +typedef int _Xltimeparams; /* dummy */ +# define _XLocaltime(t,p) localtime((t)) + +#elif !defined(XOS_USE_MTSAFE_TIMEAPI) || defined(XNO_MTSAFE_TIMEAPI) +/* Systems with thread support but no _r API. */ +typedef struct { +# ifdef TIMELEN + char buf[TIMELEN]; +# else + char buf[26]; +# endif + char *result; +} _Xctimeparams, _Xatimeparams; +typedef struct { + struct tm buf; + struct tm *result; +} _Xgtimeparams, _Xltimeparams; +# define _XAsctime(t,p) \ + ( (_Xos_processLock), \ + (((p).result = asctime((t))) ? \ + (strncpy((p).buf, (p).result, sizeof((p).buf)), (p).result = &(p).buf) : \ + 0), \ + (_Xos_processUnlock), \ + (p).result ) +# define _XCtime(t,p) \ + ( (_Xos_processLock), \ + (((p).result = ctime((t))) ? \ + (strncpy((p).buf, (p).result, sizeof((p).buf)), (p).result = &(p).buf) : \ + 0), \ + (_Xos_processUnlock), \ + (p).result ) +# define _XGmtime(t,p) \ + ( (_Xos_processLock), \ + (((p).result = gmtime(t)) ? \ + (memcpy(&(p).buf, (p).result, sizeof((p).buf)), (p).result = &(p).buf) : \ + 0), \ + (_Xos_processUnlock), \ + (p).result ) +# define _XLocaltime(t,p) \ + ( (_Xos_processLock), \ + (((p).result = localtime(t)) ? \ + (memcpy(&(p).buf, (p).result, sizeof((p).buf)), (p).result = &(p).buf) : \ + 0), \ + (_Xos_processUnlock), \ + (p).result ) + +#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && defined(hpV4) +/* Returns (int)0 on success. + * + * extern int asctime_r(const struct tm *timeptr, char *buffer, int buflen); + * extern int ctime_r(const time_t *timer, char *buffer, int buflen); + * extern int gmtime_r(const time_t *timer, struct tm *result); + * extern int localtime_r(const time_t *timer, struct tm *result); + */ +# ifdef TIMELEN +typedef char _Xatimeparams[TIMELEN]; +typedef char _Xctimeparams[TIMELEN]; +# else +typedef char _Xatimeparams[26]; +typedef char _Xctimeparams[26]; +# endif +typedef struct tm _Xgtimeparams; +typedef struct tm _Xltimeparams; +# define _XAsctime(t,p) (asctime_r((t),(p),sizeof((p))) ? NULL : (p)) +# define _XCtime(t,p) (ctime_r((t),(p),sizeof((p))) ? NULL : (p)) +# define _XGmtime(t,p) (gmtime_r((t),&(p)) ? NULL : &(p)) +# define _XLocaltime(t,p) (localtime_r((t),&(p)) ? NULL : &(p)) + +#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && defined(__sun) +/* Returns NULL on failure. Solaris 2.5 + * + * extern char *asctime_r(const struct tm *tm,char *buf, int buflen); + * extern char *ctime_r(const time_t *clock, char *buf, int buflen); + * extern struct tm *gmtime_r(const time_t *clock, struct tm *res); + * extern struct tm *localtime_r(const time_t *clock, struct tm *res); + */ +# ifdef TIMELEN +typedef char _Xatimeparams[TIMELEN]; +typedef char _Xctimeparams[TIMELEN]; +# else +typedef char _Xatimeparams[26]; +typedef char _Xctimeparams[26]; +# endif +typedef struct tm _Xgtimeparams; +typedef struct tm _Xltimeparams; +# define _XAsctime(t,p) asctime_r((t),(p),sizeof((p))) +# define _XCtime(t,p) ctime_r((t),(p),sizeof((p))) +# define _XGmtime(t,p) gmtime_r((t),&(p)) +# define _XLocaltime(t,p) localtime_r((t),&(p)) + +#else /* defined(_POSIX_THREAD_SAFE_FUNCTIONS) */ +/* POSIX final API. + * extern char *asctime_r(const struct tm *timeptr, char *buffer); + * extern char *ctime_r(const time_t *timer, char *buffer); + * extern struct tm *gmtime_r(const time_t *timer, struct tm *result); + * extern struct tm *localtime_r(const time_t *timer, struct tm *result); + */ +# ifdef TIMELEN +typedef char _Xatimeparams[TIMELEN]; +typedef char _Xctimeparams[TIMELEN]; +# else +typedef char _Xatimeparams[26]; +typedef char _Xctimeparams[26]; +# endif +typedef struct tm _Xgtimeparams; +typedef struct tm _Xltimeparams; +# define _XAsctime(t,p) asctime_r((t),(p)) +# define _XCtime(t,p) ctime_r((t),(p)) +# define _XGmtime(t,p) gmtime_r((t),&(p)) +# define _XLocaltime(t,p) localtime_r((t),&(p)) +#endif /* X_INCLUDE_TIME_H */ + +#if defined(X_INCLUDE_TIME_H) && !defined(_XOS_INCLUDED_TIME_H) +# define _XOS_INCLUDED_TIME_H +#endif + + +/***** <grp.h> wrappers *****/ + +/* + * Effective prototypes for <grp.h> wrappers: + * + * NOTE: On systems lacking appropriate _r functions Getgrgid() and + * Getgrnam() do NOT copy the list of group members! + * + * Remember that fgetgrent(), setgrent(), getgrent(), and endgrent() + * are not included in POSIX. + * + * #define X_INCLUDE_GRP_H + * #define XOS_USE_..._LOCKING + * #include <X11/Xos_r.h> + * + * typedef ... _Xgetgrparams; + * + * struct group *_XGetgrgid(gid_t, _Xgetgrparams); + * struct group *_XGetgrnam(const char *, _Xgetgrparams); + */ + +#if defined(X_INCLUDE_GRP_H) && !defined(_XOS_INCLUDED_GRP_H) +# include <grp.h> +# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_GRPAPI) +# define XOS_USE_MTSAFE_GRPAPI 1 +# endif +#endif + +#if !defined(X_INCLUDE_GRP_H) || defined(_XOS_INCLUDED_GRP_H) +/* Do nothing. */ + +#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API) +/* Use regular, unsafe API. */ +typedef int _Xgetgrparams; /* dummy */ +#define _XGetgrgid(g,p) getgrgid((g)) +#define _XGetgrnam(n,p) getgrnam((n)) + +#elif !defined(XOS_USE_MTSAFE_GRPAPI) || defined(XNO_MTSAFE_GRPAPI) +/* Systems with thread support but no _r API. UnixWare 2.0. */ +typedef struct { + struct group grp; + char buf[X_LINE_MAX]; /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */ + struct group *pgrp; + size_t len; +} _Xgetgrparams; +#ifdef SVR4 +/* Copy the gr_passwd field too. */ +# define _Xgrp_copyGroup(p) \ + ( memcpy(&(p).grp, (p).pgrp, sizeof(struct group)), \ + ((p).grp.gr_name = (p).buf), \ + ((p).len = strlen((p).pgrp->gr_name)), \ + strcpy((p).grp.gr_name, (p).pgrp->gr_name), \ + ((p).grp.gr_passwd = (p).grp.gr_name + (p).len + 1), \ + ((p).pgrp = &(p).grp), \ + 0 ) +#else +# define _Xgrp_copyGroup(p) \ + ( memcpy(&(p).grp, (p).pgrp, sizeof(struct group)), \ + ((p).grp.gr_name = (p).buf), \ + strcpy((p).grp.gr_name, (p).pgrp->gr_name), \ + ((p).pgrp = &(p).grp), \ + 0 ) +#endif +#define _XGetgrgid(g,p) \ + ( (_Xos_processLock), \ + (((p).pgrp = getgrgid((g))) ? _Xgrp_copyGroup(p) : 0), \ + (_Xos_processUnlock), \ + (p).pgrp ) +#define _XGetgrnam(n,p) \ + ( (_Xos_processLock), \ + (((p).pgrp = getgrnam((n))) ? _Xgrp_copyGroup(p) : 0), \ + (_Xos_processUnlock), \ + (p).pgrp ) + +#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && defined(__sun) +/* Non-POSIX API. Solaris. + * + * extern struct group *getgrgid_r(gid_t, struct group *, char *, int); + * extern struct group *getgrnam_r(const char *, struct group *, char *, int); + */ +typedef struct { + struct group grp; + char buf[X_LINE_MAX]; /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */ +} _Xgetgrparams; +#define _XGetgrgid(g,p) getgrgid_r((g), &(p).grp, (p).buf, sizeof((p).buf)) +#define _XGetgrnam(n,p) getgrnam_r((n), &(p).grp, (p).buf, sizeof((p).buf)) + +#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) +/* Non-POSIX API. + * extern int getgrgid_r(gid_t, struct group *, char *, int); + * extern int getgrnam_r(const char *, struct group *, char *, int); + */ +typedef struct { + struct group grp; + char buf[X_LINE_MAX]; /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */ +} _Xgetgrparams; +#define _XGetgrgid(g,p) \ + ((getgrgid_r((g), &(p).grp, (p).buf, sizeof((p).buf)) ? NULL : &(p).grp)) +#define _XGetgrnam(n,p) \ + ((getgrnam_r((n), &(p).grp, (p).buf, sizeof((p).buf)) ? NULL : &(p).grp)) + +#else +/* POSIX final API. + * + * int getgrgid_r(gid_t, struct group *, char *, size_t, struct group **); + * int getgrnam_r(const char *, struct group *, char *, size_t, struct group **); + */ +typedef struct { + struct group grp; + char buf[X_LINE_MAX]; /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */ + struct group *result; +} _Xgetgrparams; + +#define _XGetgrgid(g,p) \ + ((getgrgid_r((g), &(p).grp, (p).buf, sizeof((p).buf), &(p).result) ? \ + NULL : (p).result)) +#define _XGetgrnam(n,p) \ + ((getgrnam_r((n), &(p).grp, (p).buf, sizeof((p).buf), &(p).result) ? \ + NULL : (p).result)) +#endif + +#if defined(X_INCLUDE_GRP_H) && !defined(_XOS_INCLUDED_GRP_H) +# define _XOS_INCLUDED_GRP_H +#endif + + +#ifdef __cplusplus +} /* Close scope of 'extern "C"' declaration which encloses file. */ +#endif diff --git a/ThirdParty/X11/Include/X11/Xosdefs.h b/ThirdParty/X11/Include/X11/Xosdefs.h new file mode 100644 index 0000000..33eaee4 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xosdefs.h @@ -0,0 +1,116 @@ +/* + * O/S-dependent (mis)feature macro definitions + * +Copyright 1991, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + */ + +#ifndef _XOSDEFS_H_ +# define _XOSDEFS_H_ + +/* + * X_NOT_POSIX means does not have POSIX header files. Lack of this + * symbol does NOT mean that the POSIX environment is the default. + * You may still have to define _POSIX_SOURCE to get it. + */ + + +# ifdef _SCO_DS +# ifndef __SCO__ +# define __SCO__ +# endif +# endif + +# ifdef __i386__ +# ifdef SYSV +# if !defined(__SCO__) && \ + !defined(__UNIXWARE__) && !defined(__sun) +# if !defined(_POSIX_SOURCE) +# define X_NOT_POSIX +# endif +# endif +# endif +# endif + +# ifdef __sun +/* Imake configs define SVR4 on Solaris, but cc & gcc only define __SVR4 + * This check allows non-Imake configured programs to build correctly. + */ +# if defined(__SVR4) && !defined(SVR4) +# define SVR4 1 +# endif +# ifdef SVR4 +/* define this to whatever it needs to be */ +# define X_POSIX_C_SOURCE 199300L +# endif +# endif + +# ifdef WIN32 +# ifndef _POSIX_ +# define X_NOT_POSIX +# endif +# endif + + +# ifdef __APPLE__ +# define NULL_NOT_ZERO + +/* Defining any of these will sanitize the namespace to JUST want is defined by + * that particular standard. If that happens, we don't get some expected + * prototypes, typedefs, etc (like fd_mask). We can define _DARWIN_C_SOURCE to + * loosen our belts a tad. + */ +# if defined(_XOPEN_SOURCE) || defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) +# ifndef _DARWIN_C_SOURCE +# define _DARWIN_C_SOURCE +# endif +# endif + +# endif + +# ifdef __GNU__ +# ifndef PATH_MAX +# define PATH_MAX 4096 +# endif +# ifndef MAXPATHLEN +# define MAXPATHLEN 4096 +# endif +# endif + +# if defined(__SCO__) || defined(__UNIXWARE__) +# ifndef PATH_MAX +# define PATH_MAX 1024 +# endif +# ifndef MAXPATHLEN +# define MAXPATHLEN 1024 +# endif +# endif + +# if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) \ + || defined(__APPLE__) || defined(__DragonFly__) +# ifndef CSRG_BASED +# define CSRG_BASED +# endif +# endif + +#endif /* _XOSDEFS_H_ */ + diff --git a/ThirdParty/X11/Include/X11/Xpoll.h b/ThirdParty/X11/Include/X11/Xpoll.h new file mode 100644 index 0000000..0940865 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xpoll.h @@ -0,0 +1,230 @@ +/* + +Copyright 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. + +*/ + +/* + * Copyright © 2005 Daniel Stone + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Daniel Stone not be used in advertising + * or publicity pertaining to distribution of the software without specific, + * written prior permission. Daniel Stone makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * DANIEL STONE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING + * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL + * DANIEL STONE BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR + * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ + +#ifndef _XPOLL_H_ +#define _XPOLL_H_ + +#if !defined(WIN32) || defined(__CYGWIN__) + +#ifndef USE_POLL + +#include <X11/Xos.h> + +#include <sys/select.h> /* Get the FD_* macros. */ + +#include <X11/Xmd.h> + +#ifdef CSRG_BASED +#include <sys/param.h> +# if BSD < 199103 +typedef long fd_mask; +# endif +#endif + +#if defined(FD_SETSIZE) && FD_SETSIZE < 512 +# define XFD_SETSIZE FD_SETSIZE +#else +# define XFD_SETSIZE 512 +# ifndef FD_SETSIZE +# define FD_SETSIZE XFD_SETSIZE +# endif +#endif + +#ifndef NBBY +#define NBBY 8 /* number of bits in a byte */ +#endif + +#ifndef NFDBITS +#define NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mask */ +#endif + +#ifndef howmany +#define howmany(x,y) (((x)+((y)-1))/(y)) +#endif + +#if defined(BSD) && BSD < 198911 +typedef struct fd_set { + fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)]; +} fd_set; +#endif + +# define Select(n,r,w,e,t) select(n,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t) + +#define __X_FDS_BITS __fds_bits + +#ifndef __FDS_BITS +# define __FDS_BITS(p) ((p)->__X_FDS_BITS) +#endif + +#define __XFDS_BITS(p, n) (__FDS_BITS(p))[n] + +#ifndef FD_SET +#define FD_SET(n, p) (__XFDS_BITS(p, ((n)/NFDBITS)) |= ((fd_mask)1 << ((n) % NFDBITS))) +#endif +#ifndef FD_CLR +#define FD_CLR(n, p) (__XFDS_BITS((p), ((n)/NFDBITS)) &= ~((fd_mask)1 << ((n) % NFDBITS))) +#endif +#ifndef FD_ISSET +#define FD_ISSET(n, p) ((__XFDS_BITS((p), ((n)/NFDBITS))) & ((fd_mask)1 << ((n) % NFDBITS))) +#endif +#ifndef FD_ZERO +#define FD_ZERO(p) bzero((char *)(p), sizeof(*(p))) +#endif + +/* + * The howmany(FD_SETSIZE, NFDBITS) computes the number of elements in the + * array. before accessing an element in the array we check it exists. + * If it does not exist then the compiler discards the code to access it. + */ +#define XFD_ANYSET(p) \ + ((howmany(FD_SETSIZE, NFDBITS) > 0 && (__XFDS_BITS(p, 0))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 1 && (__XFDS_BITS(p, 1))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 2 && (__XFDS_BITS(p, 2))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 3 && (__XFDS_BITS(p, 3))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 4 && (__XFDS_BITS(p, 4))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 5 && (__XFDS_BITS(p, 5))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 6 && (__XFDS_BITS(p, 6))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 7 && (__XFDS_BITS(p, 7))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 8 && (__XFDS_BITS(p, 8))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 9 && (__XFDS_BITS(p, 9))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 10 && (__XFDS_BITS(p, 10))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 11 && (__XFDS_BITS(p, 11))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 12 && (__XFDS_BITS(p, 12))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 13 && (__XFDS_BITS(p, 13))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 14 && (__XFDS_BITS(p, 14))) || \ + (howmany(FD_SETSIZE, NFDBITS) > 15 && (__XFDS_BITS(p, 15)))) + + +#define XFD_COPYSET(src,dst) { \ + int __i__; \ + for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \ + __XFDS_BITS((dst), __i__) = __XFDS_BITS((src), __i__); \ + } +#define XFD_ANDSET(dst,b1,b2) { \ + int __i__; \ + for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \ + __XFDS_BITS((dst), __i__) = ((__XFDS_BITS((b1), __i__)) & (__XFDS_BITS((b2), __i__))); \ + } +#define XFD_ORSET(dst,b1,b2) { \ + int __i__; \ + for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \ + __XFDS_BITS((dst), __i__) = ((__XFDS_BITS((b1), __i__)) | (__XFDS_BITS((b2), __i__))); \ + } +#define XFD_UNSET(dst,b1) { \ + int __i__; \ + for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \ + __XFDS_BITS((dst), __i__) &= ~(__XFDS_BITS((b1), __i__)); \ + } + +#else /* USE_POLL */ +#include <sys/poll.h> +#endif /* USE_POLL */ + +#else /* WIN32 */ + +#define XFD_SETSIZE 512 +#ifndef FD_SETSIZE +#define FD_SETSIZE XFD_SETSIZE +#endif +#include <X11/Xwinsock.h> + +#define Select(n,r,w,e,t) select(0,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t) + +#define XFD_SETCOUNT(p) (((fd_set FAR *)(p))->fd_count) +#define XFD_FD(p,i) (((fd_set FAR *)(p))->fd_array[i]) +#define XFD_ANYSET(p) XFD_SETCOUNT(p) + +#define XFD_COPYSET(src,dst) { \ + u_int __i; \ + FD_ZERO(dst); \ + for (__i = 0; __i < XFD_SETCOUNT(src) ; __i++) { \ + XFD_FD(dst,__i) = XFD_FD(src,__i); \ + } \ + XFD_SETCOUNT(dst) = XFD_SETCOUNT(src); \ +} + +#define XFD_ANDSET(dst,b1,b2) { \ + u_int __i; \ + FD_ZERO(dst); \ + for (__i = 0; __i < XFD_SETCOUNT(b1) ; __i++) { \ + if (FD_ISSET(XFD_FD(b1,__i), b2)) \ + FD_SET(XFD_FD(b1,__i), dst); \ + } \ +} + +#define XFD_ORSET(dst,b1,b2) { \ + u_int __i; \ + if (dst != b1) XFD_COPYSET(b1,dst); \ + for (__i = 0; __i < XFD_SETCOUNT(b2) ; __i++) { \ + if (!FD_ISSET(XFD_FD(b2,__i), dst)) \ + FD_SET(XFD_FD(b2,__i), dst); \ + } \ +} + +/* this one is really sub-optimal */ +#define XFD_UNSET(dst,b1) { \ + u_int __i; \ + for (__i = 0; __i < XFD_SETCOUNT(b1) ; __i++) { \ + FD_CLR(XFD_FD(b1,__i), dst); \ + } \ +} + +/* we have to pay the price of having an array here, unlike with bitmasks + calling twice FD_SET with the same fd is not transparent, so be careful */ +#undef FD_SET +#define FD_SET(fd,set) do { \ + if (XFD_SETCOUNT(set) < FD_SETSIZE && !FD_ISSET(fd,set)) \ + XFD_FD(set,XFD_SETCOUNT(set)++)=(fd); \ +} while(0) + +#define getdtablesize() FD_SETSIZE + +#endif /* WIN32 */ + +#endif /* _XPOLL_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xproto.h b/ThirdParty/X11/Include/X11/Xproto.h new file mode 100644 index 0000000..6cdea89 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xproto.h @@ -0,0 +1,2157 @@ +/* Definitions for the X window system used by server and c bindings */ + +/* + * This packet-construction scheme makes the following assumptions: + * + * 1. The compiler is able + * to generate code which addresses one- and two-byte quantities. + * In the worst case, this would be done with bit-fields. If bit-fields + * are used it may be necessary to reorder the request fields in this file, + * depending on the order in which the machine assigns bit fields to + * machine words. There may also be a problem with sign extension, + * as K+R specify that bitfields are always unsigned. + * + * 2. 2- and 4-byte fields in packet structures must be ordered by hand + * such that they are naturally-aligned, so that no compiler will ever + * insert padding bytes. + * + * 3. All packets are hand-padded to a multiple of 4 bytes, for + * the same reason. + */ + +#ifndef XPROTO_H +#define XPROTO_H + +/*********************************************************** + +Copyright 1987, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#include <X11/Xmd.h> +#include <X11/Xprotostr.h> + +/* + * Define constants for the sizes of the network packets. The sz_ prefix is + * used instead of something more descriptive so that the symbols are no more + * than 32 characters in length (which causes problems for some compilers). + */ +#define sz_xSegment 8 +#define sz_xPoint 4 +#define sz_xRectangle 8 +#define sz_xArc 12 +#define sz_xConnClientPrefix 12 +#define sz_xConnSetupPrefix 8 +#define sz_xConnSetup 32 +#define sz_xPixmapFormat 8 +#define sz_xDepth 8 +#define sz_xVisualType 24 +#define sz_xWindowRoot 40 +#define sz_xTimecoord 8 +#define sz_xHostEntry 4 +#define sz_xCharInfo 12 +#define sz_xFontProp 8 +#define sz_xTextElt 2 +#define sz_xColorItem 12 +#define sz_xrgb 8 +#define sz_xGenericReply 32 +#define sz_xGetWindowAttributesReply 44 +#define sz_xGetGeometryReply 32 +#define sz_xQueryTreeReply 32 +#define sz_xInternAtomReply 32 +#define sz_xGetAtomNameReply 32 +#define sz_xGetPropertyReply 32 +#define sz_xListPropertiesReply 32 +#define sz_xGetSelectionOwnerReply 32 +#define sz_xGrabPointerReply 32 +#define sz_xQueryPointerReply 32 +#define sz_xGetMotionEventsReply 32 +#define sz_xTranslateCoordsReply 32 +#define sz_xGetInputFocusReply 32 +#define sz_xQueryKeymapReply 40 +#define sz_xQueryFontReply 60 +#define sz_xQueryTextExtentsReply 32 +#define sz_xListFontsReply 32 +#define sz_xGetFontPathReply 32 +#define sz_xGetImageReply 32 +#define sz_xListInstalledColormapsReply 32 +#define sz_xAllocColorReply 32 +#define sz_xAllocNamedColorReply 32 +#define sz_xAllocColorCellsReply 32 +#define sz_xAllocColorPlanesReply 32 +#define sz_xQueryColorsReply 32 +#define sz_xLookupColorReply 32 +#define sz_xQueryBestSizeReply 32 +#define sz_xQueryExtensionReply 32 +#define sz_xListExtensionsReply 32 +#define sz_xSetMappingReply 32 +#define sz_xGetKeyboardControlReply 52 +#define sz_xGetPointerControlReply 32 +#define sz_xGetScreenSaverReply 32 +#define sz_xListHostsReply 32 +#define sz_xSetModifierMappingReply 32 +#define sz_xError 32 +#define sz_xEvent 32 +#define sz_xKeymapEvent 32 +#define sz_xReq 4 +#define sz_xResourceReq 8 +#define sz_xCreateWindowReq 32 +#define sz_xChangeWindowAttributesReq 12 +#define sz_xChangeSaveSetReq 8 +#define sz_xReparentWindowReq 16 +#define sz_xConfigureWindowReq 12 +#define sz_xCirculateWindowReq 8 +#define sz_xInternAtomReq 8 +#define sz_xChangePropertyReq 24 +#define sz_xDeletePropertyReq 12 +#define sz_xGetPropertyReq 24 +#define sz_xSetSelectionOwnerReq 16 +#define sz_xConvertSelectionReq 24 +#define sz_xSendEventReq 44 +#define sz_xGrabPointerReq 24 +#define sz_xGrabButtonReq 24 +#define sz_xUngrabButtonReq 12 +#define sz_xChangeActivePointerGrabReq 16 +#define sz_xGrabKeyboardReq 16 +#define sz_xGrabKeyReq 16 +#define sz_xUngrabKeyReq 12 +#define sz_xAllowEventsReq 8 +#define sz_xGetMotionEventsReq 16 +#define sz_xTranslateCoordsReq 16 +#define sz_xWarpPointerReq 24 +#define sz_xSetInputFocusReq 12 +#define sz_xOpenFontReq 12 +#define sz_xQueryTextExtentsReq 8 +#define sz_xListFontsReq 8 +#define sz_xSetFontPathReq 8 +#define sz_xCreatePixmapReq 16 +#define sz_xCreateGCReq 16 +#define sz_xChangeGCReq 12 +#define sz_xCopyGCReq 16 +#define sz_xSetDashesReq 12 +#define sz_xSetClipRectanglesReq 12 +#define sz_xCopyAreaReq 28 +#define sz_xCopyPlaneReq 32 +#define sz_xPolyPointReq 12 +#define sz_xPolySegmentReq 12 +#define sz_xFillPolyReq 16 +#define sz_xPutImageReq 24 +#define sz_xGetImageReq 20 +#define sz_xPolyTextReq 16 +#define sz_xImageTextReq 16 +#define sz_xCreateColormapReq 16 +#define sz_xCopyColormapAndFreeReq 12 +#define sz_xAllocColorReq 16 +#define sz_xAllocNamedColorReq 12 +#define sz_xAllocColorCellsReq 12 +#define sz_xAllocColorPlanesReq 16 +#define sz_xFreeColorsReq 12 +#define sz_xStoreColorsReq 8 +#define sz_xStoreNamedColorReq 16 +#define sz_xQueryColorsReq 8 +#define sz_xLookupColorReq 12 +#define sz_xCreateCursorReq 32 +#define sz_xCreateGlyphCursorReq 32 +#define sz_xRecolorCursorReq 20 +#define sz_xQueryBestSizeReq 12 +#define sz_xQueryExtensionReq 8 +#define sz_xChangeKeyboardControlReq 8 +#define sz_xBellReq 4 +#define sz_xChangePointerControlReq 12 +#define sz_xSetScreenSaverReq 12 +#define sz_xChangeHostsReq 8 +#define sz_xListHostsReq 4 +#define sz_xChangeModeReq 4 +#define sz_xRotatePropertiesReq 12 +#define sz_xReply 32 +#define sz_xGrabKeyboardReply 32 +#define sz_xListFontsWithInfoReply 60 +#define sz_xSetPointerMappingReply 32 +#define sz_xGetKeyboardMappingReply 32 +#define sz_xGetPointerMappingReply 32 +#define sz_xGetModifierMappingReply 32 +#define sz_xListFontsWithInfoReq 8 +#define sz_xPolyLineReq 12 +#define sz_xPolyArcReq 12 +#define sz_xPolyRectangleReq 12 +#define sz_xPolyFillRectangleReq 12 +#define sz_xPolyFillArcReq 12 +#define sz_xPolyText8Req 16 +#define sz_xPolyText16Req 16 +#define sz_xImageText8Req 16 +#define sz_xImageText16Req 16 +#define sz_xSetPointerMappingReq 4 +#define sz_xForceScreenSaverReq 4 +#define sz_xSetCloseDownModeReq 4 +#define sz_xClearAreaReq 16 +#define sz_xSetAccessControlReq 4 +#define sz_xGetKeyboardMappingReq 8 +#define sz_xSetModifierMappingReq 4 +#define sz_xPropIconSize 24 +#define sz_xChangeKeyboardMappingReq 8 + + +/* For the purpose of the structure definitions in this file, +we must redefine the following types in terms of Xmd.h's types, which may +include bit fields. All of these are #undef'd at the end of this file, +restoring the definitions in X.h. */ + +#define Window CARD32 +#define Drawable CARD32 +#define Font CARD32 +#define Pixmap CARD32 +#define Cursor CARD32 +#define Colormap CARD32 +#define GContext CARD32 +#define Atom CARD32 +#define VisualID CARD32 +#define Time CARD32 +#define KeyCode CARD8 +#define KeySym CARD32 + +#define X_TCP_PORT 6000 /* add display number */ + +#define xTrue 1 +#define xFalse 0 + + +typedef CARD16 KeyButMask; + +/***************** + Connection setup structures. See Chapter 8: Connection Setup + of the X Window System Protocol specification for details. +*****************/ + +/* Client initiates handshake with this data, followed by the strings + * for the auth protocol & data. + */ +typedef struct { + CARD8 byteOrder; + BYTE pad; + CARD16 majorVersion B16, minorVersion B16; + CARD16 nbytesAuthProto B16; /* Authorization protocol */ + CARD16 nbytesAuthString B16; /* Authorization string */ + CARD16 pad2 B16; +} xConnClientPrefix; + +/* Server response to xConnClientPrefix. + * + * If success == Success, this is followed by xConnSetup and + * numRoots xWindowRoot structs. + * + * If success == Failure, this is followed by a reason string. + * + * The protocol also defines a case of success == Authenticate, but + * that doesn't seem to have ever been implemented by the X Consortium. + */ +typedef struct { + CARD8 success; + BYTE lengthReason; /*num bytes in string following if failure */ + CARD16 majorVersion B16, + minorVersion B16; + CARD16 length B16; /* 1/4 additional bytes in setup info */ +} xConnSetupPrefix; + + +typedef struct { + CARD32 release B32; + CARD32 ridBase B32, + ridMask B32; + CARD32 motionBufferSize B32; + CARD16 nbytesVendor B16; /* number of bytes in vendor string */ + CARD16 maxRequestSize B16; + CARD8 numRoots; /* number of roots structs to follow */ + CARD8 numFormats; /* number of pixmap formats */ + CARD8 imageByteOrder; /* LSBFirst, MSBFirst */ + CARD8 bitmapBitOrder; /* LeastSignificant, MostSign...*/ + CARD8 bitmapScanlineUnit, /* 8, 16, 32 */ + bitmapScanlinePad; /* 8, 16, 32 */ + KeyCode minKeyCode, maxKeyCode; + CARD32 pad2 B32; +} xConnSetup; + +typedef struct { + CARD8 depth; + CARD8 bitsPerPixel; + CARD8 scanLinePad; + CARD8 pad1; + CARD32 pad2 B32; +} xPixmapFormat; + +/* window root */ + +typedef struct { + CARD8 depth; + CARD8 pad1; + CARD16 nVisuals B16; /* number of xVisualType structures following */ + CARD32 pad2 B32; + } xDepth; + +typedef struct { + VisualID visualID B32; +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; +#else + CARD8 class; +#endif + CARD8 bitsPerRGB; + CARD16 colormapEntries B16; + CARD32 redMask B32, greenMask B32, blueMask B32; + CARD32 pad B32; + } xVisualType; + +typedef struct { + Window windowId B32; + Colormap defaultColormap B32; + CARD32 whitePixel B32, blackPixel B32; + CARD32 currentInputMask B32; + CARD16 pixWidth B16, pixHeight B16; + CARD16 mmWidth B16, mmHeight B16; + CARD16 minInstalledMaps B16, maxInstalledMaps B16; + VisualID rootVisualID B32; + CARD8 backingStore; + BOOL saveUnders; + CARD8 rootDepth; + CARD8 nDepths; /* number of xDepth structures following */ +} xWindowRoot; + + +/***************************************************************** + * Structure Defns + * Structures needed for replies + *****************************************************************/ + +/* Used in GetMotionEvents */ + +typedef struct { + CARD32 time B32; + INT16 x B16, y B16; +} xTimecoord; + +typedef struct { + CARD8 family; + BYTE pad; + CARD16 length B16; +} xHostEntry; + +typedef struct { + INT16 leftSideBearing B16, + rightSideBearing B16, + characterWidth B16, + ascent B16, + descent B16; + CARD16 attributes B16; +} xCharInfo; + +typedef struct { + Atom name B32; + CARD32 value B32; +} xFontProp; + +/* + * non-aligned big-endian font ID follows this struct + */ +typedef struct { /* followed by string */ + CARD8 len; /* number of *characters* in string, or FontChange (255) + for font change, or 0 if just delta given */ + INT8 delta; +} xTextElt; + + +typedef struct { + CARD32 pixel B32; + CARD16 red B16, green B16, blue B16; + CARD8 flags; /* DoRed, DoGreen, DoBlue booleans */ + CARD8 pad; +} xColorItem; + + +typedef struct { + CARD16 red B16, green B16, blue B16, pad B16; +} xrgb; + +typedef CARD8 KEYCODE; + + +/***************** + * XRep: + * meant to be 32 byte quantity + *****************/ + +/* GenericReply is the common format of all replies. The "data" items + are specific to each individual reply type. */ + +typedef struct { + BYTE type; /* X_Reply */ + BYTE data1; /* depends on reply type */ + CARD16 sequenceNumber B16; /* of last request received by server */ + CARD32 length B32; /* 4 byte quantities beyond size of GenericReply */ + CARD32 data00 B32; + CARD32 data01 B32; + CARD32 data02 B32; + CARD32 data03 B32; + CARD32 data04 B32; + CARD32 data05 B32; + } xGenericReply; + +/* Individual reply formats. */ + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 backingStore; + CARD16 sequenceNumber B16; + CARD32 length B32; /* NOT 0; this is an extra-large reply */ + VisualID visualID B32; +#if defined(__cplusplus) || defined(c_plusplus) + CARD16 c_class B16; +#else + CARD16 class B16; +#endif + CARD8 bitGravity; + CARD8 winGravity; + CARD32 backingBitPlanes B32; + CARD32 backingPixel B32; + BOOL saveUnder; + BOOL mapInstalled; + CARD8 mapState; + BOOL override; + Colormap colormap B32; + CARD32 allEventMasks B32; + CARD32 yourEventMask B32; + CARD16 doNotPropagateMask B16; + CARD16 pad B16; + } xGetWindowAttributesReply; + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 depth; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + Window root B32; + INT16 x B16, y B16; + CARD16 width B16, height B16; + CARD16 borderWidth B16; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + } xGetGeometryReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + Window root B32, parent B32; + CARD16 nChildren B16; + CARD16 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + } xQueryTreeReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + Atom atom B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + } xInternAtomReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; /* of additional bytes */ + CARD16 nameLength B16; /* # of characters in name */ + CARD16 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; + } xGetAtomNameReply; + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 format; + CARD16 sequenceNumber B16; + CARD32 length B32; /* of additional bytes */ + Atom propertyType B32; + CARD32 bytesAfter B32; + CARD32 nItems B32; /* # of 8, 16, or 32-bit entities in reply */ + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + } xGetPropertyReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 nProperties B16; + CARD16 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; + } xListPropertiesReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + Window owner B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + } xGetSelectionOwnerReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE status; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + } xGrabPointerReply; + +typedef xGrabPointerReply xGrabKeyboardReply; + +typedef struct { + BYTE type; /* X_Reply */ + BOOL sameScreen; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + Window root B32, child B32; + INT16 rootX B16, rootY B16, winX B16, winY B16; + CARD16 mask B16; + CARD16 pad1 B16; + CARD32 pad B32; + } xQueryPointerReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 nEvents B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + } xGetMotionEventsReply; + +typedef struct { + BYTE type; /* X_Reply */ + BOOL sameScreen; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + Window child B32; + INT16 dstX B16, dstY B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + } xTranslateCoordsReply; + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 revertTo; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + Window focus B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + } xGetInputFocusReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 2, NOT 0; this is an extra-large reply */ + BYTE map[32]; + } xQueryKeymapReply; + +/* Warning: this MUST match (up to component renaming) xListFontsWithInfoReply */ +typedef struct _xQueryFontReply { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; /* definitely > 0, even if "nCharInfos" is 0 */ + xCharInfo minBounds; + CARD32 walign1 B32; + xCharInfo maxBounds; + CARD32 walign2 B32; + CARD16 minCharOrByte2 B16, maxCharOrByte2 B16; + CARD16 defaultChar B16; + CARD16 nFontProps B16; /* followed by this many xFontProp structures */ + CARD8 drawDirection; + CARD8 minByte1, maxByte1; + BOOL allCharsExist; + INT16 fontAscent B16, fontDescent B16; + CARD32 nCharInfos B32; /* followed by this many xCharInfo structures */ +} xQueryFontReply; + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 drawDirection; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + INT16 fontAscent B16, fontDescent B16; + INT16 overallAscent B16, overallDescent B16; + INT32 overallWidth B32, overallLeft B32, overallRight B32; + CARD32 pad B32; + } xQueryTextExtentsReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 nFonts B16; + CARD16 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; + } xListFontsReply; + +/* Warning: this MUST match (up to component renaming) xQueryFontReply */ +typedef struct { + BYTE type; /* X_Reply */ + CARD8 nameLength; /* 0 indicates end-of-reply-sequence */ + CARD16 sequenceNumber B16; + CARD32 length B32; /* definitely > 0, even if "nameLength" is 0 */ + xCharInfo minBounds; + CARD32 walign1 B32; + xCharInfo maxBounds; + CARD32 walign2 B32; + CARD16 minCharOrByte2 B16, maxCharOrByte2 B16; + CARD16 defaultChar B16; + CARD16 nFontProps B16; /* followed by this many xFontProp structures */ + CARD8 drawDirection; + CARD8 minByte1, maxByte1; + BOOL allCharsExist; + INT16 fontAscent B16, fontDescent B16; + CARD32 nReplies B32; /* hint as to how many more replies might be coming */ +} xListFontsWithInfoReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 nPaths B16; + CARD16 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; + } xGetFontPathReply; + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 depth; + CARD16 sequenceNumber B16; + CARD32 length B32; + VisualID visual B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; + } xGetImageReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 nColormaps B16; + CARD16 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; + } xListInstalledColormapsReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + CARD16 red B16, green B16, blue B16; + CARD16 pad2 B16; + CARD32 pixel B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + } xAllocColorReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + CARD32 pixel B32; + CARD16 exactRed B16, exactGreen B16, exactBlue B16; + CARD16 screenRed B16, screenGreen B16, screenBlue B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + } xAllocNamedColorReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 nPixels B16, nMasks B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; + } xAllocColorCellsReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 nPixels B16; + CARD16 pad2 B16; + CARD32 redMask B32, greenMask B32, blueMask B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + } xAllocColorPlanesReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 nColors B16; + CARD16 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; + } xQueryColorsReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + CARD16 exactRed B16, exactGreen B16, exactBlue B16; + CARD16 screenRed B16, screenGreen B16, screenBlue B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + } xLookupColorReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + CARD16 width B16, height B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; + } xQueryBestSizeReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + BOOL present; + CARD8 major_opcode; + CARD8 first_event; + CARD8 first_error; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; + } xQueryExtensionReply; + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 nExtensions; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; + } xListExtensionsReply; + + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 success; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; + } xSetMappingReply; +typedef xSetMappingReply xSetPointerMappingReply; +typedef xSetMappingReply xSetModifierMappingReply; + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 nElts; /* how many elements does the map have */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; + } xGetPointerMappingReply; + +typedef struct { + BYTE type; + CARD8 keySymsPerKeyCode; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; +} xGetKeyboardMappingReply; + +typedef struct { + BYTE type; + CARD8 numKeyPerModifier; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xGetModifierMappingReply; + +typedef struct { + BYTE type; /* X_Reply */ + BOOL globalAutoRepeat; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 5 */ + CARD32 ledMask B32; + CARD8 keyClickPercent, bellPercent; + CARD16 bellPitch B16, bellDuration B16; + CARD16 pad B16; + BYTE map[32]; /* bit masks start here */ + } xGetKeyboardControlReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + CARD16 accelNumerator B16, accelDenominator B16; + CARD16 threshold B16; + CARD16 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + } xGetPointerControlReply; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + CARD16 timeout B16, interval B16; + BOOL preferBlanking; + BOOL allowExposures; + CARD16 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + } xGetScreenSaverReply; + +typedef struct { + BYTE type; /* X_Reply */ + BOOL enabled; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 nHosts B16; + CARD16 pad1 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; + } xListHostsReply; + + + + +/***************************************************************** + * Xerror + * All errors are 32 bytes + *****************************************************************/ + +typedef struct { + BYTE type; /* X_Error */ + BYTE errorCode; + CARD16 sequenceNumber B16; /* the nth request from this client */ + CARD32 resourceID B32; + CARD16 minorCode B16; + CARD8 majorCode; + BYTE pad1; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; +} xError; + +/***************************************************************** + * xEvent + * All events are 32 bytes + *****************************************************************/ + +typedef struct _xEvent { + union { + struct { + BYTE type; + BYTE detail; + CARD16 sequenceNumber B16; + } u; + struct { + CARD32 pad00 B32; + Time time B32; + Window root B32, event B32, child B32; + INT16 rootX B16, rootY B16, eventX B16, eventY B16; + KeyButMask state B16; + BOOL sameScreen; + BYTE pad1; + } keyButtonPointer; + struct { + CARD32 pad00 B32; + Time time B32; + Window root B32, event B32, child B32; + INT16 rootX B16, rootY B16, eventX B16, eventY B16; + KeyButMask state B16; + BYTE mode; /* really XMode */ + BYTE flags; /* sameScreen and focus booleans, packed together */ +#define ELFlagFocus (1<<0) +#define ELFlagSameScreen (1<<1) + } enterLeave; + struct { + CARD32 pad00 B32; + Window window B32; + BYTE mode; /* really XMode */ + BYTE pad1, pad2, pad3; + } focus; + struct { + CARD32 pad00 B32; + Window window B32; + CARD16 x B16, y B16, width B16, height B16; + CARD16 count B16; + CARD16 pad2 B16; + } expose; + struct { + CARD32 pad00 B32; + Drawable drawable B32; + CARD16 x B16, y B16, width B16, height B16; + CARD16 minorEvent B16; + CARD16 count B16; + BYTE majorEvent; + BYTE pad1, pad2, pad3; + } graphicsExposure; + struct { + CARD32 pad00 B32; + Drawable drawable B32; + CARD16 minorEvent B16; + BYTE majorEvent; + BYTE bpad; + } noExposure; + struct { + CARD32 pad00 B32; + Window window B32; + CARD8 state; + BYTE pad1, pad2, pad3; + } visibility; + struct { + CARD32 pad00 B32; + Window parent B32, window B32; + INT16 x B16, y B16; + CARD16 width B16, height B16, borderWidth B16; + BOOL override; + BYTE bpad; + } createNotify; +/* + * The event fields in the structures for DestroyNotify, UnmapNotify, + * MapNotify, ReparentNotify, ConfigureNotify, CirculateNotify, GravityNotify, + * must be at the same offset because server internal code is depending upon + * this to patch up the events before they are delivered. + * Also note that MapRequest, ConfigureRequest and CirculateRequest have + * the same offset for the event window. + */ + struct { + CARD32 pad00 B32; + Window event B32, window B32; + } destroyNotify; + struct { + CARD32 pad00 B32; + Window event B32, window B32; + BOOL fromConfigure; + BYTE pad1, pad2, pad3; + } unmapNotify; + struct { + CARD32 pad00 B32; + Window event B32, window B32; + BOOL override; + BYTE pad1, pad2, pad3; + } mapNotify; + struct { + CARD32 pad00 B32; + Window parent B32, window B32; + } mapRequest; + struct { + CARD32 pad00 B32; + Window event B32, window B32, parent B32; + INT16 x B16, y B16; + BOOL override; + BYTE pad1, pad2, pad3; + } reparent; + struct { + CARD32 pad00 B32; + Window event B32, window B32, aboveSibling B32; + INT16 x B16, y B16; + CARD16 width B16, height B16, borderWidth B16; + BOOL override; + BYTE bpad; + } configureNotify; + struct { + CARD32 pad00 B32; + Window parent B32, window B32, sibling B32; + INT16 x B16, y B16; + CARD16 width B16, height B16, borderWidth B16; + CARD16 valueMask B16; + CARD32 pad1 B32; + } configureRequest; + struct { + CARD32 pad00 B32; + Window event B32, window B32; + INT16 x B16, y B16; + CARD32 pad1 B32, pad2 B32, pad3 B32, pad4 B32; + } gravity; + struct { + CARD32 pad00 B32; + Window window B32; + CARD16 width B16, height B16; + } resizeRequest; + struct { +/* The event field in the circulate record is really the parent when this + is used as a CirculateRequest instead of a CirculateNotify */ + CARD32 pad00 B32; + Window event B32, window B32, parent B32; + BYTE place; /* Top or Bottom */ + BYTE pad1, pad2, pad3; + } circulate; + struct { + CARD32 pad00 B32; + Window window B32; + Atom atom B32; + Time time B32; + BYTE state; /* NewValue or Deleted */ + BYTE pad1; + CARD16 pad2 B16; + } property; + struct { + CARD32 pad00 B32; + Time time B32; + Window window B32; + Atom atom B32; + } selectionClear; + struct { + CARD32 pad00 B32; + Time time B32; + Window owner B32, requestor B32; + Atom selection B32, target B32, property B32; + } selectionRequest; + struct { + CARD32 pad00 B32; + Time time B32; + Window requestor B32; + Atom selection B32, target B32, property B32; + } selectionNotify; + struct { + CARD32 pad00 B32; + Window window B32; + Colormap colormap B32; +#if defined(__cplusplus) || defined(c_plusplus) + BOOL c_new; +#else + BOOL new; +#endif + BYTE state; /* Installed or UnInstalled */ + BYTE pad1, pad2; + } colormap; + struct { + CARD32 pad00 B32; + CARD8 request; + KeyCode firstKeyCode; + CARD8 count; + BYTE pad1; + } mappingNotify; + struct { + CARD32 pad00 B32; + Window window B32; + union { + struct { + Atom type B32; + INT32 longs0 B32; + INT32 longs1 B32; + INT32 longs2 B32; + INT32 longs3 B32; + INT32 longs4 B32; + } l; + struct { + Atom type B32; + INT16 shorts0 B16; + INT16 shorts1 B16; + INT16 shorts2 B16; + INT16 shorts3 B16; + INT16 shorts4 B16; + INT16 shorts5 B16; + INT16 shorts6 B16; + INT16 shorts7 B16; + INT16 shorts8 B16; + INT16 shorts9 B16; + } s; + struct { + Atom type B32; + INT8 bytes[20]; + } b; + } u; + } clientMessage; + } u; +} xEvent; + +/********************************************************* + * + * Generic event + * + * Those events are not part of the core protocol spec and can be used by + * various extensions. + * type is always GenericEvent + * extension is the minor opcode of the extension the event belongs to. + * evtype is the actual event type, unique __per extension__. + * + * GenericEvents can be longer than 32 bytes, with the length field + * specifying the number of 4 byte blocks after the first 32 bytes. + * + * + */ +typedef struct +{ + BYTE type; + CARD8 extension; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 evtype B16; + CARD16 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; +} xGenericEvent; + + + +/* KeymapNotify events are not included in the above union because they + are different from all other events: they do not have a "detail" + or "sequenceNumber", so there is room for a 248-bit key mask. */ + +typedef struct { + BYTE type; + BYTE map[31]; + } xKeymapEvent; + +#define XEventSize (sizeof(xEvent)) + +/* XReply is the union of all the replies above whose "fixed part" +fits in 32 bytes. It does NOT include GetWindowAttributesReply, +QueryFontReply, QueryKeymapReply, or GetKeyboardControlReply +ListFontsWithInfoReply */ + +typedef union { + xGenericReply generic; + xGetGeometryReply geom; + xQueryTreeReply tree; + xInternAtomReply atom; + xGetAtomNameReply atomName; + xGetPropertyReply property; + xListPropertiesReply listProperties; + xGetSelectionOwnerReply selection; + xGrabPointerReply grabPointer; + xGrabKeyboardReply grabKeyboard; + xQueryPointerReply pointer; + xGetMotionEventsReply motionEvents; + xTranslateCoordsReply coords; + xGetInputFocusReply inputFocus; + xQueryTextExtentsReply textExtents; + xListFontsReply fonts; + xGetFontPathReply fontPath; + xGetImageReply image; + xListInstalledColormapsReply colormaps; + xAllocColorReply allocColor; + xAllocNamedColorReply allocNamedColor; + xAllocColorCellsReply colorCells; + xAllocColorPlanesReply colorPlanes; + xQueryColorsReply colors; + xLookupColorReply lookupColor; + xQueryBestSizeReply bestSize; + xQueryExtensionReply extension; + xListExtensionsReply extensions; + xSetModifierMappingReply setModifierMapping; + xGetModifierMappingReply getModifierMapping; + xSetPointerMappingReply setPointerMapping; + xGetKeyboardMappingReply getKeyboardMapping; + xGetPointerMappingReply getPointerMapping; + xGetPointerControlReply pointerControl; + xGetScreenSaverReply screenSaver; + xListHostsReply hosts; + xError error; + xEvent event; +} xReply; + + + +/***************************************************************** + * REQUESTS + *****************************************************************/ + + +/* Request structure */ + +typedef struct _xReq { + CARD8 reqType; + CARD8 data; /* meaning depends on request type */ + CARD16 length B16; /* length in 4 bytes quantities + of whole request, including this header */ +} xReq; + +/***************************************************************** + * structures that follow request. + *****************************************************************/ + +/* ResourceReq is used for any request which has a resource ID + (or Atom or Time) as its one and only argument. */ + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + CARD32 id B32; /* a Window, Drawable, Font, GContext, Pixmap, etc. */ + } xResourceReq; + +typedef struct { + CARD8 reqType; + CARD8 depth; + CARD16 length B16; + Window wid B32, parent B32; + INT16 x B16, y B16; + CARD16 width B16, height B16, borderWidth B16; +#if defined(__cplusplus) || defined(c_plusplus) + CARD16 c_class B16; +#else + CARD16 class B16; +#endif + VisualID visual B32; + CARD32 mask B32; +} xCreateWindowReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Window window B32; + CARD32 valueMask B32; +} xChangeWindowAttributesReq; + +typedef struct { + CARD8 reqType; + BYTE mode; + CARD16 length B16; + Window window B32; +} xChangeSaveSetReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Window window B32, parent B32; + INT16 x B16, y B16; +} xReparentWindowReq; + +typedef struct { + CARD8 reqType; + CARD8 pad; + CARD16 length B16; + Window window B32; + CARD16 mask B16; + CARD16 pad2 B16; +} xConfigureWindowReq; + +typedef struct { + CARD8 reqType; + CARD8 direction; + CARD16 length B16; + Window window B32; +} xCirculateWindowReq; + +typedef struct { /* followed by padded string */ + CARD8 reqType; + BOOL onlyIfExists; + CARD16 length B16; + CARD16 nbytes B16; /* number of bytes in string */ + CARD16 pad B16; +} xInternAtomReq; + +typedef struct { + CARD8 reqType; + CARD8 mode; + CARD16 length B16; + Window window B32; + Atom property B32, type B32; + CARD8 format; + BYTE pad[3]; + CARD32 nUnits B32; /* length of stuff following, depends on format */ +} xChangePropertyReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Window window B32; + Atom property B32; +} xDeletePropertyReq; + +typedef struct { + CARD8 reqType; +#if defined(__cplusplus) || defined(c_plusplus) + BOOL c_delete; +#else + BOOL delete; +#endif + CARD16 length B16; + Window window B32; + Atom property B32, type B32; + CARD32 longOffset B32; + CARD32 longLength B32; +} xGetPropertyReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Window window B32; + Atom selection B32; + Time time B32; +} xSetSelectionOwnerReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Window requestor B32; + Atom selection B32, target B32, property B32; + Time time B32; + } xConvertSelectionReq; + +typedef struct { + CARD8 reqType; + BOOL propagate; + CARD16 length B16; + Window destination B32; + CARD32 eventMask B32; + xEvent event; +} xSendEventReq; + +typedef struct { + CARD8 reqType; + BOOL ownerEvents; + CARD16 length B16; + Window grabWindow B32; + CARD16 eventMask B16; + BYTE pointerMode, keyboardMode; + Window confineTo B32; + Cursor cursor B32; + Time time B32; +} xGrabPointerReq; + +typedef struct { + CARD8 reqType; + BOOL ownerEvents; + CARD16 length B16; + Window grabWindow B32; + CARD16 eventMask B16; + BYTE pointerMode, keyboardMode; + Window confineTo B32; + Cursor cursor B32; + CARD8 button; + BYTE pad; + CARD16 modifiers B16; +} xGrabButtonReq; + +typedef struct { + CARD8 reqType; + CARD8 button; + CARD16 length B16; + Window grabWindow B32; + CARD16 modifiers B16; + CARD16 pad B16; +} xUngrabButtonReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Cursor cursor B32; + Time time B32; + CARD16 eventMask B16; + CARD16 pad2 B16; +} xChangeActivePointerGrabReq; + +typedef struct { + CARD8 reqType; + BOOL ownerEvents; + CARD16 length B16; + Window grabWindow B32; + Time time B32; + BYTE pointerMode, keyboardMode; + CARD16 pad B16; +} xGrabKeyboardReq; + +typedef struct { + CARD8 reqType; + BOOL ownerEvents; + CARD16 length B16; + Window grabWindow B32; + CARD16 modifiers B16; + CARD8 key; + BYTE pointerMode, keyboardMode; + BYTE pad1, pad2, pad3; +} xGrabKeyReq; + +typedef struct { + CARD8 reqType; + CARD8 key; + CARD16 length B16; + Window grabWindow B32; + CARD16 modifiers B16; + CARD16 pad B16; +} xUngrabKeyReq; + +typedef struct { + CARD8 reqType; + CARD8 mode; + CARD16 length B16; + Time time B32; +} xAllowEventsReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Window window B32; + Time start B32, stop B32; +} xGetMotionEventsReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Window srcWid B32, dstWid B32; + INT16 srcX B16, srcY B16; +} xTranslateCoordsReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Window srcWid B32, dstWid B32; + INT16 srcX B16, srcY B16; + CARD16 srcWidth B16, srcHeight B16; + INT16 dstX B16, dstY B16; +} xWarpPointerReq; + +typedef struct { + CARD8 reqType; + CARD8 revertTo; + CARD16 length B16; + Window focus B32; + Time time B32; +} xSetInputFocusReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Font fid B32; + CARD16 nbytes B16; + BYTE pad1, pad2; /* string follows on word boundary */ +} xOpenFontReq; + +typedef struct { + CARD8 reqType; + BOOL oddLength; + CARD16 length B16; + Font fid B32; + } xQueryTextExtentsReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + CARD16 maxNames B16; + CARD16 nbytes B16; /* followed immediately by string bytes */ +} xListFontsReq; + +typedef xListFontsReq xListFontsWithInfoReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + CARD16 nFonts B16; + BYTE pad1, pad2; /* LISTofSTRING8 follows on word boundary */ +} xSetFontPathReq; + +typedef struct { + CARD8 reqType; + CARD8 depth; + CARD16 length B16; + Pixmap pid B32; + Drawable drawable B32; + CARD16 width B16, height B16; +} xCreatePixmapReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + GContext gc B32; + Drawable drawable B32; + CARD32 mask B32; +} xCreateGCReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + GContext gc B32; + CARD32 mask B32; +} xChangeGCReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + GContext srcGC B32, dstGC B32; + CARD32 mask B32; +} xCopyGCReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + GContext gc B32; + CARD16 dashOffset B16; + CARD16 nDashes B16; /* length LISTofCARD8 of values following */ +} xSetDashesReq; + +typedef struct { + CARD8 reqType; + BYTE ordering; + CARD16 length B16; + GContext gc B32; + INT16 xOrigin B16, yOrigin B16; +} xSetClipRectanglesReq; + +typedef struct { + CARD8 reqType; + BOOL exposures; + CARD16 length B16; + Window window B32; + INT16 x B16, y B16; + CARD16 width B16, height B16; +} xClearAreaReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Drawable srcDrawable B32, dstDrawable B32; + GContext gc B32; + INT16 srcX B16, srcY B16, dstX B16, dstY B16; + CARD16 width B16, height B16; +} xCopyAreaReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Drawable srcDrawable B32, dstDrawable B32; + GContext gc B32; + INT16 srcX B16, srcY B16, dstX B16, dstY B16; + CARD16 width B16, height B16; + CARD32 bitPlane B32; +} xCopyPlaneReq; + +typedef struct { + CARD8 reqType; + BYTE coordMode; + CARD16 length B16; + Drawable drawable B32; + GContext gc B32; +} xPolyPointReq; + +typedef xPolyPointReq xPolyLineReq; /* same request structure */ + +/* The following used for PolySegment, PolyRectangle, PolyArc, PolyFillRectangle, PolyFillArc */ + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Drawable drawable B32; + GContext gc B32; +} xPolySegmentReq; + +typedef xPolySegmentReq xPolyArcReq; +typedef xPolySegmentReq xPolyRectangleReq; +typedef xPolySegmentReq xPolyFillRectangleReq; +typedef xPolySegmentReq xPolyFillArcReq; + +typedef struct _FillPolyReq { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Drawable drawable B32; + GContext gc B32; + BYTE shape; + BYTE coordMode; + CARD16 pad1 B16; +} xFillPolyReq; + + +typedef struct _PutImageReq { + CARD8 reqType; + CARD8 format; + CARD16 length B16; + Drawable drawable B32; + GContext gc B32; + CARD16 width B16, height B16; + INT16 dstX B16, dstY B16; + CARD8 leftPad; + CARD8 depth; + CARD16 pad B16; +} xPutImageReq; + +typedef struct { + CARD8 reqType; + CARD8 format; + CARD16 length B16; + Drawable drawable B32; + INT16 x B16, y B16; + CARD16 width B16, height B16; + CARD32 planeMask B32; +} xGetImageReq; + +/* the following used by PolyText8 and PolyText16 */ + +typedef struct { + CARD8 reqType; + CARD8 pad; + CARD16 length B16; + Drawable drawable B32; + GContext gc B32; + INT16 x B16, y B16; /* items (xTextElt) start after struct */ +} xPolyTextReq; + +typedef xPolyTextReq xPolyText8Req; +typedef xPolyTextReq xPolyText16Req; + +typedef struct { + CARD8 reqType; + BYTE nChars; + CARD16 length B16; + Drawable drawable B32; + GContext gc B32; + INT16 x B16, y B16; +} xImageTextReq; + +typedef xImageTextReq xImageText8Req; +typedef xImageTextReq xImageText16Req; + +typedef struct { + CARD8 reqType; + BYTE alloc; + CARD16 length B16; + Colormap mid B32; + Window window B32; + VisualID visual B32; +} xCreateColormapReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Colormap mid B32; + Colormap srcCmap B32; +} xCopyColormapAndFreeReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Colormap cmap B32; + CARD16 red B16, green B16, blue B16; + CARD16 pad2 B16; +} xAllocColorReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Colormap cmap B32; + CARD16 nbytes B16; /* followed by structure */ + BYTE pad1, pad2; +} xAllocNamedColorReq; + +typedef struct { + CARD8 reqType; + BOOL contiguous; + CARD16 length B16; + Colormap cmap B32; + CARD16 colors B16, planes B16; +} xAllocColorCellsReq; + +typedef struct { + CARD8 reqType; + BOOL contiguous; + CARD16 length B16; + Colormap cmap B32; + CARD16 colors B16, red B16, green B16, blue B16; +} xAllocColorPlanesReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Colormap cmap B32; + CARD32 planeMask B32; +} xFreeColorsReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Colormap cmap B32; +} xStoreColorsReq; + +typedef struct { + CARD8 reqType; + CARD8 flags; /* DoRed, DoGreen, DoBlue, as in xColorItem */ + CARD16 length B16; + Colormap cmap B32; + CARD32 pixel B32; + CARD16 nbytes B16; /* number of name string bytes following structure */ + BYTE pad1, pad2; + } xStoreNamedColorReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Colormap cmap B32; +} xQueryColorsReq; + +typedef struct { /* followed by string of length len */ + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Colormap cmap B32; + CARD16 nbytes B16; /* number of string bytes following structure*/ + BYTE pad1, pad2; +} xLookupColorReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Cursor cid B32; + Pixmap source B32, mask B32; + CARD16 foreRed B16, foreGreen B16, foreBlue B16; + CARD16 backRed B16, backGreen B16, backBlue B16; + CARD16 x B16, y B16; +} xCreateCursorReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Cursor cid B32; + Font source B32, mask B32; + CARD16 sourceChar B16, maskChar B16; + CARD16 foreRed B16, foreGreen B16, foreBlue B16; + CARD16 backRed B16, backGreen B16, backBlue B16; +} xCreateGlyphCursorReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Cursor cursor B32; + CARD16 foreRed B16, foreGreen B16, foreBlue B16; + CARD16 backRed B16, backGreen B16, backBlue B16; +} xRecolorCursorReq; + +typedef struct { + CARD8 reqType; +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; +#else + CARD8 class; +#endif + CARD16 length B16; + Drawable drawable B32; + CARD16 width B16, height B16; +} xQueryBestSizeReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + CARD16 nbytes B16; /* number of string bytes following structure */ + BYTE pad1, pad2; +} xQueryExtensionReq; + +typedef struct { + CARD8 reqType; + CARD8 numKeyPerModifier; + CARD16 length B16; +} xSetModifierMappingReq; + +typedef struct { + CARD8 reqType; + CARD8 nElts; /* how many elements in the map */ + CARD16 length B16; +} xSetPointerMappingReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + KeyCode firstKeyCode; + CARD8 count; + CARD16 pad1 B16; +} xGetKeyboardMappingReq; + +typedef struct { + CARD8 reqType; + CARD8 keyCodes; + CARD16 length B16; + KeyCode firstKeyCode; + CARD8 keySymsPerKeyCode; + CARD16 pad1 B16; +} xChangeKeyboardMappingReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + CARD32 mask B32; +} xChangeKeyboardControlReq; + +typedef struct { + CARD8 reqType; + INT8 percent; /* -100 to 100 */ + CARD16 length B16; +} xBellReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + INT16 accelNum B16, accelDenum B16; + INT16 threshold B16; + BOOL doAccel, doThresh; +} xChangePointerControlReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + INT16 timeout B16, interval B16; + BYTE preferBlank, allowExpose; + CARD16 pad2 B16; +} xSetScreenSaverReq; + +typedef struct { + CARD8 reqType; + BYTE mode; + CARD16 length B16; + CARD8 hostFamily; + BYTE pad; + CARD16 hostLength B16; +} xChangeHostsReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + } xListHostsReq; + +typedef struct { + CARD8 reqType; + BYTE mode; + CARD16 length B16; + } xChangeModeReq; + +typedef xChangeModeReq xSetAccessControlReq; +typedef xChangeModeReq xSetCloseDownModeReq; +typedef xChangeModeReq xForceScreenSaverReq; + +typedef struct { /* followed by LIST of ATOM */ + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Window window B32; + CARD16 nAtoms B16; + INT16 nPositions B16; + } xRotatePropertiesReq; + + + +/* Reply codes */ + +#define X_Reply 1 /* Normal reply */ +#define X_Error 0 /* Error */ + +/* Request codes */ + +#define X_CreateWindow 1 +#define X_ChangeWindowAttributes 2 +#define X_GetWindowAttributes 3 +#define X_DestroyWindow 4 +#define X_DestroySubwindows 5 +#define X_ChangeSaveSet 6 +#define X_ReparentWindow 7 +#define X_MapWindow 8 +#define X_MapSubwindows 9 +#define X_UnmapWindow 10 +#define X_UnmapSubwindows 11 +#define X_ConfigureWindow 12 +#define X_CirculateWindow 13 +#define X_GetGeometry 14 +#define X_QueryTree 15 +#define X_InternAtom 16 +#define X_GetAtomName 17 +#define X_ChangeProperty 18 +#define X_DeleteProperty 19 +#define X_GetProperty 20 +#define X_ListProperties 21 +#define X_SetSelectionOwner 22 +#define X_GetSelectionOwner 23 +#define X_ConvertSelection 24 +#define X_SendEvent 25 +#define X_GrabPointer 26 +#define X_UngrabPointer 27 +#define X_GrabButton 28 +#define X_UngrabButton 29 +#define X_ChangeActivePointerGrab 30 +#define X_GrabKeyboard 31 +#define X_UngrabKeyboard 32 +#define X_GrabKey 33 +#define X_UngrabKey 34 +#define X_AllowEvents 35 +#define X_GrabServer 36 +#define X_UngrabServer 37 +#define X_QueryPointer 38 +#define X_GetMotionEvents 39 +#define X_TranslateCoords 40 +#define X_WarpPointer 41 +#define X_SetInputFocus 42 +#define X_GetInputFocus 43 +#define X_QueryKeymap 44 +#define X_OpenFont 45 +#define X_CloseFont 46 +#define X_QueryFont 47 +#define X_QueryTextExtents 48 +#define X_ListFonts 49 +#define X_ListFontsWithInfo 50 +#define X_SetFontPath 51 +#define X_GetFontPath 52 +#define X_CreatePixmap 53 +#define X_FreePixmap 54 +#define X_CreateGC 55 +#define X_ChangeGC 56 +#define X_CopyGC 57 +#define X_SetDashes 58 +#define X_SetClipRectangles 59 +#define X_FreeGC 60 +#define X_ClearArea 61 +#define X_CopyArea 62 +#define X_CopyPlane 63 +#define X_PolyPoint 64 +#define X_PolyLine 65 +#define X_PolySegment 66 +#define X_PolyRectangle 67 +#define X_PolyArc 68 +#define X_FillPoly 69 +#define X_PolyFillRectangle 70 +#define X_PolyFillArc 71 +#define X_PutImage 72 +#define X_GetImage 73 +#define X_PolyText8 74 +#define X_PolyText16 75 +#define X_ImageText8 76 +#define X_ImageText16 77 +#define X_CreateColormap 78 +#define X_FreeColormap 79 +#define X_CopyColormapAndFree 80 +#define X_InstallColormap 81 +#define X_UninstallColormap 82 +#define X_ListInstalledColormaps 83 +#define X_AllocColor 84 +#define X_AllocNamedColor 85 +#define X_AllocColorCells 86 +#define X_AllocColorPlanes 87 +#define X_FreeColors 88 +#define X_StoreColors 89 +#define X_StoreNamedColor 90 +#define X_QueryColors 91 +#define X_LookupColor 92 +#define X_CreateCursor 93 +#define X_CreateGlyphCursor 94 +#define X_FreeCursor 95 +#define X_RecolorCursor 96 +#define X_QueryBestSize 97 +#define X_QueryExtension 98 +#define X_ListExtensions 99 +#define X_ChangeKeyboardMapping 100 +#define X_GetKeyboardMapping 101 +#define X_ChangeKeyboardControl 102 +#define X_GetKeyboardControl 103 +#define X_Bell 104 +#define X_ChangePointerControl 105 +#define X_GetPointerControl 106 +#define X_SetScreenSaver 107 +#define X_GetScreenSaver 108 +#define X_ChangeHosts 109 +#define X_ListHosts 110 +#define X_SetAccessControl 111 +#define X_SetCloseDownMode 112 +#define X_KillClient 113 +#define X_RotateProperties 114 +#define X_ForceScreenSaver 115 +#define X_SetPointerMapping 116 +#define X_GetPointerMapping 117 +#define X_SetModifierMapping 118 +#define X_GetModifierMapping 119 +#define X_NoOperation 127 + +/* restore these definitions back to the typedefs in X.h */ +#undef Window +#undef Drawable +#undef Font +#undef Pixmap +#undef Cursor +#undef Colormap +#undef GContext +#undef Atom +#undef VisualID +#undef Time +#undef KeyCode +#undef KeySym + +#endif /* XPROTO_H */ diff --git a/ThirdParty/X11/Include/X11/Xprotostr.h b/ThirdParty/X11/Include/X11/Xprotostr.h new file mode 100644 index 0000000..a9e854d --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xprotostr.h @@ -0,0 +1,77 @@ +#ifndef XPROTOSTRUCTS_H +#define XPROTOSTRUCTS_H + +/*********************************************************** + +Copyright 1987, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ +#include <X11/Xmd.h> + +/* Used by PolySegment */ + +typedef struct _xSegment { + INT16 x1 B16, y1 B16, x2 B16, y2 B16; +} xSegment; + +/* POINT */ + +typedef struct _xPoint { + INT16 x B16, y B16; +} xPoint; + +typedef struct _xRectangle { + INT16 x B16, y B16; + CARD16 width B16, height B16; +} xRectangle; + +/* ARC */ + +typedef struct _xArc { + INT16 x B16, y B16; + CARD16 width B16, height B16; + INT16 angle1 B16, angle2 B16; +} xArc; + +#endif /* XPROTOSTRUCTS_H */ diff --git a/ThirdParty/X11/Include/X11/Xregion.h b/ThirdParty/X11/Include/X11/Xregion.h new file mode 100644 index 0000000..cf10f86 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xregion.h @@ -0,0 +1,190 @@ +/************************************************************************ + +Copyright 1987, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +************************************************************************/ + +#ifndef _X11_XREGION_H_ +#define _X11_XREGION_H_ + +typedef struct { + short x1, x2, y1, y2; +} Box, BOX, BoxRec, *BoxPtr; + +typedef struct { + short x, y, width, height; +}RECTANGLE, RectangleRec, *RectanglePtr; + +#define TRUE 1 +#define FALSE 0 +#define MAXSHORT 32767 +#define MINSHORT -MAXSHORT +#ifndef MAX +#define MAX(a,b) (((a) > (b)) ? (a) : (b)) +#endif +#ifndef MIN +#define MIN(a,b) (((a) < (b)) ? (a) : (b)) +#endif + + +/* + * clip region + */ + +typedef struct _XRegion { + long size; + long numRects; + BOX *rects; + BOX extents; +} REGION; + +/* Xutil.h contains the declaration: + * typedef struct _XRegion *Region; + */ + +/* 1 if two BOXs overlap. + * 0 if two BOXs do not overlap. + * Remember, x2 and y2 are not in the region + */ +#define EXTENTCHECK(r1, r2) \ + ((r1)->x2 > (r2)->x1 && \ + (r1)->x1 < (r2)->x2 && \ + (r1)->y2 > (r2)->y1 && \ + (r1)->y1 < (r2)->y2) + +/* + * update region extents + */ +#define EXTENTS(r,idRect){\ + if((r)->x1 < (idRect)->extents.x1)\ + (idRect)->extents.x1 = (r)->x1;\ + if((r)->y1 < (idRect)->extents.y1)\ + (idRect)->extents.y1 = (r)->y1;\ + if((r)->x2 > (idRect)->extents.x2)\ + (idRect)->extents.x2 = (r)->x2;\ + if((r)->y2 > (idRect)->extents.y2)\ + (idRect)->extents.y2 = (r)->y2;\ + } + +/* + * Check to see if there is enough memory in the present region. + */ +#define MEMCHECK(reg, rect, firstrect){\ + if ((reg)->numRects >= ((reg)->size - 1)){\ + BoxPtr tmpRect = Xrealloc ((firstrect), \ + (2 * (sizeof(BOX)) * ((reg)->size))); \ + if (tmpRect == NULL) \ + return(0);\ + (firstrect) = tmpRect; \ + (reg)->size *= 2;\ + (rect) = &(firstrect)[(reg)->numRects];\ + }\ + } + +/* this routine checks to see if the previous rectangle is the same + * or subsumes the new rectangle to add. + */ + +#define CHECK_PREVIOUS(Reg, R, Rx1, Ry1, Rx2, Ry2)\ + (!(((Reg)->numRects > 0)&&\ + ((R-1)->y1 == (Ry1)) &&\ + ((R-1)->y2 == (Ry2)) &&\ + ((R-1)->x1 <= (Rx1)) &&\ + ((R-1)->x2 >= (Rx2)))) + +/* add a rectangle to the given Region */ +#define ADDRECT(reg, r, rx1, ry1, rx2, ry2){\ + if (((rx1) < (rx2)) && ((ry1) < (ry2)) &&\ + CHECK_PREVIOUS((reg), (r), (rx1), (ry1), (rx2), (ry2))){\ + (r)->x1 = (rx1);\ + (r)->y1 = (ry1);\ + (r)->x2 = (rx2);\ + (r)->y2 = (ry2);\ + EXTENTS((r), (reg));\ + (reg)->numRects++;\ + (r)++;\ + }\ + } + + + +/* add a rectangle to the given Region */ +#define ADDRECTNOX(reg, r, rx1, ry1, rx2, ry2){\ + if ((rx1 < rx2) && (ry1 < ry2) &&\ + CHECK_PREVIOUS((reg), (r), (rx1), (ry1), (rx2), (ry2))){\ + (r)->x1 = (rx1);\ + (r)->y1 = (ry1);\ + (r)->x2 = (rx2);\ + (r)->y2 = (ry2);\ + (reg)->numRects++;\ + (r)++;\ + }\ + } + +#define EMPTY_REGION(pReg) pReg->numRects = 0 + +#define REGION_NOT_EMPTY(pReg) pReg->numRects + +#define INBOX(r, x, y) \ + ( ( ((r).x2 > x)) && \ + ( ((r).x1 <= x)) && \ + ( ((r).y2 > y)) && \ + ( ((r).y1 <= y)) ) + +/* + * number of points to buffer before sending them off + * to scanlines() : Must be an even number + */ +#define NUMPTSTOBUFFER 200 + +/* + * used to allocate buffers for points and link + * the buffers together + */ +typedef struct _POINTBLOCK { + XPoint pts[NUMPTSTOBUFFER]; + struct _POINTBLOCK *next; +} POINTBLOCK; + +#endif /* _X11_XREGION_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xresource.h b/ThirdParty/X11/Include/X11/Xresource.h new file mode 100644 index 0000000..6dbb3ce --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xresource.h @@ -0,0 +1,358 @@ + +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _X11_XRESOURCE_H_ +#define _X11_XRESOURCE_H_ + +#ifndef _XP_PRINT_SERVER_ +#include <X11/Xlib.h> +#endif + +/**************************************************************** + **************************************************************** + *** *** + *** *** + *** X Resource Manager Intrinsics *** + *** *** + *** *** + **************************************************************** + ****************************************************************/ + +_XFUNCPROTOBEGIN + +/**************************************************************** + * + * Memory Management + * + ****************************************************************/ + +extern char *Xpermalloc( + unsigned int /* size */ +); + +/**************************************************************** + * + * Quark Management + * + ****************************************************************/ + +typedef int XrmQuark, *XrmQuarkList; +#define NULLQUARK ((XrmQuark) 0) + +typedef char *XrmString; +#define NULLSTRING ((XrmString) 0) + +/* find quark for string, create new quark if none already exists */ +extern XrmQuark XrmStringToQuark( + _Xconst char* /* string */ +); + +extern XrmQuark XrmPermStringToQuark( + _Xconst char* /* string */ +); + +/* find string for quark */ +extern XrmString XrmQuarkToString( + XrmQuark /* quark */ +); + +extern XrmQuark XrmUniqueQuark( + void +); + +#define XrmStringsEqual(a1, a2) (strcmp(a1, a2) == 0) + + +/**************************************************************** + * + * Conversion of Strings to Lists + * + ****************************************************************/ + +typedef enum {XrmBindTightly, XrmBindLoosely} XrmBinding, *XrmBindingList; + +extern void XrmStringToQuarkList( + _Xconst char* /* string */, + XrmQuarkList /* quarks_return */ +); + +extern void XrmStringToBindingQuarkList( + _Xconst char* /* string */, + XrmBindingList /* bindings_return */, + XrmQuarkList /* quarks_return */ +); + +/**************************************************************** + * + * Name and Class lists. + * + ****************************************************************/ + +typedef XrmQuark XrmName; +typedef XrmQuarkList XrmNameList; +#define XrmNameToString(name) XrmQuarkToString(name) +#define XrmStringToName(string) XrmStringToQuark(string) +#define XrmStringToNameList(str, name) XrmStringToQuarkList(str, name) + +typedef XrmQuark XrmClass; +typedef XrmQuarkList XrmClassList; +#define XrmClassToString(c_class) XrmQuarkToString(c_class) +#define XrmStringToClass(c_class) XrmStringToQuark(c_class) +#define XrmStringToClassList(str,c_class) XrmStringToQuarkList(str, c_class) + + + +/**************************************************************** + * + * Resource Representation Types and Values + * + ****************************************************************/ + +typedef XrmQuark XrmRepresentation; +#define XrmStringToRepresentation(string) XrmStringToQuark(string) +#define XrmRepresentationToString(type) XrmQuarkToString(type) + +typedef struct { + unsigned int size; + XPointer addr; +} XrmValue, *XrmValuePtr; + + +/**************************************************************** + * + * Resource Manager Functions + * + ****************************************************************/ + +typedef struct _XrmHashBucketRec *XrmHashBucket; +typedef XrmHashBucket *XrmHashTable; +typedef XrmHashTable XrmSearchList[]; +typedef struct _XrmHashBucketRec *XrmDatabase; + + +extern void XrmDestroyDatabase( + XrmDatabase /* database */ +); + +extern void XrmQPutResource( + XrmDatabase* /* database */, + XrmBindingList /* bindings */, + XrmQuarkList /* quarks */, + XrmRepresentation /* type */, + XrmValue* /* value */ +); + +extern void XrmPutResource( + XrmDatabase* /* database */, + _Xconst char* /* specifier */, + _Xconst char* /* type */, + XrmValue* /* value */ +); + +extern void XrmQPutStringResource( + XrmDatabase* /* database */, + XrmBindingList /* bindings */, + XrmQuarkList /* quarks */, + _Xconst char* /* value */ +); + +extern void XrmPutStringResource( + XrmDatabase* /* database */, + _Xconst char* /* specifier */, + _Xconst char* /* value */ +); + +extern void XrmPutLineResource( + XrmDatabase* /* database */, + _Xconst char* /* line */ +); + +extern Bool XrmQGetResource( + XrmDatabase /* database */, + XrmNameList /* quark_name */, + XrmClassList /* quark_class */, + XrmRepresentation* /* quark_type_return */, + XrmValue* /* value_return */ +); + +extern Bool XrmGetResource( + XrmDatabase /* database */, + _Xconst char* /* str_name */, + _Xconst char* /* str_class */, + char** /* str_type_return */, + XrmValue* /* value_return */ +); + +extern Bool XrmQGetSearchList( + XrmDatabase /* database */, + XrmNameList /* names */, + XrmClassList /* classes */, + XrmSearchList /* list_return */, + int /* list_length */ +); + +extern Bool XrmQGetSearchResource( + XrmSearchList /* list */, + XrmName /* name */, + XrmClass /* class */, + XrmRepresentation* /* type_return */, + XrmValue* /* value_return */ +); + +/**************************************************************** + * + * Resource Database Management + * + ****************************************************************/ + +#ifndef _XP_PRINT_SERVER_ + +extern void XrmSetDatabase( + Display* /* display */, + XrmDatabase /* database */ +); + +extern XrmDatabase XrmGetDatabase( + Display* /* display */ +); + +#endif /* !_XP_PRINT_SERVER_ */ + +extern XrmDatabase XrmGetFileDatabase( + _Xconst char* /* filename */ +); + +extern Status XrmCombineFileDatabase( + _Xconst char* /* filename */, + XrmDatabase* /* target */, + Bool /* override */ +); + +extern XrmDatabase XrmGetStringDatabase( + _Xconst char* /* data */ /* null terminated string */ +); + +extern void XrmPutFileDatabase( + XrmDatabase /* database */, + _Xconst char* /* filename */ +); + +extern void XrmMergeDatabases( + XrmDatabase /* source_db */, + XrmDatabase* /* target_db */ +); + +extern void XrmCombineDatabase( + XrmDatabase /* source_db */, + XrmDatabase* /* target_db */, + Bool /* override */ +); + +#define XrmEnumAllLevels 0 +#define XrmEnumOneLevel 1 + +extern Bool XrmEnumerateDatabase( + XrmDatabase /* db */, + XrmNameList /* name_prefix */, + XrmClassList /* class_prefix */, + int /* mode */, + Bool (*)( + XrmDatabase* /* db */, + XrmBindingList /* bindings */, + XrmQuarkList /* quarks */, + XrmRepresentation* /* type */, + XrmValue* /* value */, + XPointer /* closure */ + ) /* proc */, + XPointer /* closure */ +); + +extern const char *XrmLocaleOfDatabase( + XrmDatabase /* database */ +); + + +/**************************************************************** + * + * Command line option mapping to resource entries + * + ****************************************************************/ + +typedef enum { + XrmoptionNoArg, /* Value is specified in OptionDescRec.value */ + XrmoptionIsArg, /* Value is the option string itself */ + XrmoptionStickyArg, /* Value is characters immediately following option */ + XrmoptionSepArg, /* Value is next argument in argv */ + XrmoptionResArg, /* Resource and value in next argument in argv */ + XrmoptionSkipArg, /* Ignore this option and the next argument in argv */ + XrmoptionSkipLine, /* Ignore this option and the rest of argv */ + XrmoptionSkipNArgs /* Ignore this option and the next + OptionDescRes.value arguments in argv */ +} XrmOptionKind; + +typedef struct { + char *option; /* Option abbreviation in argv */ + char *specifier; /* Resource specifier */ + XrmOptionKind argKind; /* Which style of option it is */ + XPointer value; /* Value to provide if XrmoptionNoArg */ +} XrmOptionDescRec, *XrmOptionDescList; + + +extern void XrmParseCommand( + XrmDatabase* /* database */, + XrmOptionDescList /* table */, + int /* table_count */, + _Xconst char* /* name */, + int* /* argc_in_out */, + char** /* argv_in_out */ +); + +_XFUNCPROTOEND + +#endif /* _X11_XRESOURCE_H_ */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/ThirdParty/X11/Include/X11/Xthreads.h b/ThirdParty/X11/Include/X11/Xthreads.h new file mode 100644 index 0000000..2027127 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xthreads.h @@ -0,0 +1,314 @@ +/* + * +Copyright 1993, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + * * + */ + +#ifndef _XTHREADS_H_ +# define _XTHREADS_H_ + +/* Redefine these to XtMalloc/XtFree or whatever you want before including + * this header file. + */ +# ifndef xmalloc +# define xmalloc malloc +# endif +# ifndef xfree +# define xfree free +# endif + +# ifdef CTHREADS +# include <cthreads.h> +typedef cthread_t xthread_t; +typedef struct condition xcondition_rec; +typedef struct mutex xmutex_rec; +# define xthread_init() cthread_init() +# define xthread_self cthread_self +# define xthread_fork(func,closure) cthread_fork(func,closure) +# define xthread_yield() cthread_yield() +# define xthread_exit(v) cthread_exit(v) +# define xthread_set_name(t,str) cthread_set_name(t,str) +# define xmutex_init(m) mutex_init(m) +# define xmutex_clear(m) mutex_clear(m) +# define xmutex_lock(m) mutex_lock(m) +# define xmutex_unlock(m) mutex_unlock(m) +# define xmutex_set_name(m,str) mutex_set_name(m,str) +# define xcondition_init(cv) condition_init(cv) +# define xcondition_clear(cv) condition_clear(cv) +# define xcondition_wait(cv,m) condition_wait(cv,m) +# define xcondition_signal(cv) condition_signal(cv) +# define xcondition_broadcast(cv) condition_broadcast(cv) +# define xcondition_set_name(cv,str) condition_set_name(cv,str) +# else /* !CTHREADS */ +# if defined(SVR4) +# include <thread.h> +# include <synch.h> +typedef thread_t xthread_t; +typedef thread_key_t xthread_key_t; +typedef cond_t xcondition_rec; +typedef mutex_t xmutex_rec; +# if defined(__UNIXWARE__) +extern xthread_t (*_x11_thr_self)(); +# define xthread_self (_x11_thr_self) +# else +# define xthread_self thr_self +# endif +# define xthread_fork(func,closure) thr_create(NULL,0,func,closure,THR_NEW_LWP|THR_DETACHED,NULL) +# define xthread_yield() thr_yield() +# define xthread_exit(v) thr_exit(v) +# define xthread_key_create(kp,d) thr_keycreate(kp,d) +# ifdef __sun +# define xthread_key_delete(k) 0 +# else +# define xthread_key_delete(k) thr_keydelete(k) +# endif +# define xthread_set_specific(k,v) thr_setspecific(k,v) +# define xthread_get_specific(k,vp) thr_getspecific(k,vp) +# define xmutex_init(m) mutex_init(m,USYNC_THREAD,0) +# define xmutex_clear(m) mutex_destroy(m) +# define xmutex_lock(m) mutex_lock(m) +# define xmutex_unlock(m) mutex_unlock(m) +# define xcondition_init(cv) cond_init(cv,USYNC_THREAD,0) +# define xcondition_clear(cv) cond_destroy(cv) +# define xcondition_wait(cv,m) cond_wait(cv,m) +# define xcondition_signal(cv) cond_signal(cv) +# define xcondition_broadcast(cv) cond_broadcast(cv) +# else /* !SVR4 */ +# ifdef WIN32 +# include <X11/Xwindows.h> +typedef DWORD xthread_t; +typedef DWORD xthread_key_t; +struct _xthread_waiter { + HANDLE sem; + struct _xthread_waiter *next; +}; +typedef struct { + CRITICAL_SECTION cs; + struct _xthread_waiter *waiters; +} xcondition_rec; +typedef CRITICAL_SECTION xmutex_rec; +extern void _Xthread_init(void); +# define xthread_init() _Xthread_init() +# define xthread_self GetCurrentThreadId +# define xthread_fork(func,closure) { \ + DWORD _tmptid; \ + CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)func, (LPVOID)closure, 0, \ + &_tmptid); \ +} +# define xthread_yield() Sleep(0) +# define xthread_exit(v) ExitThread((DWORD)(v)) +# define xthread_key_create(kp,d) *(kp) = TlsAlloc() +# define xthread_key_delete(k) TlsFree(k) +# define xthread_set_specific(k,v) TlsSetValue(k,v) +# define xthread_get_specific(k,vp) TlsGetValue(k) +# define xmutex_init(m) InitializeCriticalSection(m) +# define xmutex_clear(m) DeleteCriticalSection(m) +# define _XMUTEX_NESTS +# define xmutex_lock(m) EnterCriticalSection(m) +# define xmutex_unlock(m) LeaveCriticalSection(m) +# define xcondition_init(cv) { \ + InitializeCriticalSection(&(cv)->cs); \ + (cv)->waiters = NULL; \ +} +# define xcondition_clear(cv) DeleteCriticalSection(&(cv)->cs) +extern struct _xthread_waiter *_Xthread_waiter(); +# define xcondition_wait(cv,m) { \ + struct _xthread_waiter *_tmpthr = _Xthread_waiter(); \ + EnterCriticalSection(&(cv)->cs); \ + _tmpthr->next = (cv)->waiters; \ + (cv)->waiters = _tmpthr; \ + LeaveCriticalSection(&(cv)->cs); \ + LeaveCriticalSection(m); \ + WaitForSingleObject(_tmpthr->sem, INFINITE); \ + EnterCriticalSection(m); \ +} +# define xcondition_signal(cv) { \ + EnterCriticalSection(&(cv)->cs); \ + if ((cv)->waiters) { \ + ReleaseSemaphore((cv)->waiters->sem, 1, NULL); \ + (cv)->waiters = (cv)->waiters->next; \ + } \ + LeaveCriticalSection(&(cv)->cs); \ +} +# define xcondition_broadcast(cv) { \ + struct _xthread_waiter *_tmpthr; \ + EnterCriticalSection(&(cv)->cs); \ + for (_tmpthr = (cv)->waiters; _tmpthr; _tmpthr = _tmpthr->next) \ + ReleaseSemaphore(_tmpthr->sem, 1, NULL); \ + (cv)->waiters = NULL; \ + LeaveCriticalSection(&(cv)->cs); \ +} +# else /* !WIN32 */ +# ifdef USE_TIS_SUPPORT +/* + * TIS support is intended for thread safe libraries. + * This should not be used for general client programming. + */ +# include <tis.h> +typedef pthread_t xthread_t; +typedef pthread_key_t xthread_key_t; +typedef pthread_cond_t xcondition_rec; +typedef pthread_mutex_t xmutex_rec; +# define xthread_self tis_self +# define xthread_fork(func,closure) { pthread_t _tmpxthr; \ + pthread_create(&_tmpxthr,NULL,func,closure); } +# define xthread_yield() pthread_yield_np() +# define xthread_exit(v) pthread_exit(v) +# define xthread_key_create(kp,d) tis_key_create(kp,d) +# define xthread_key_delete(k) tis_key_delete(k) +# define xthread_set_specific(k,v) tis_setspecific(k,v) +# define xthread_get_specific(k,vp) *(vp) = tis_getspecific(k) +# define XMUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER +# define xmutex_init(m) tis_mutex_init(m) +# define xmutex_clear(m) tis_mutex_destroy(m) +# define xmutex_lock(m) tis_mutex_lock(m) +# define xmutex_unlock(m) tis_mutex_unlock(m) +# define xcondition_init(c) tis_cond_init(c) +# define xcondition_clear(c) tis_cond_destroy(c) +# define xcondition_wait(c,m) tis_cond_wait(c,m) +# define xcondition_signal(c) tis_cond_signal(c) +# define xcondition_broadcast(c) tis_cond_broadcast(c) +# else +# ifdef USE_NBSD_THREADLIB +/* + * NetBSD threadlib support is intended for thread safe libraries. + * This should not be used for general client programming. + */ +# include <threadlib.h> +typedef thr_t xthread_t; +typedef thread_key_t xthread_key_t; +typedef cond_t xcondition_rec; +typedef mutex_t xmutex_rec; +# define xthread_self thr_self +# define xthread_fork(func,closure) { thr_t _tmpxthr; \ + /* XXX Create it detached? --thorpej */ \ + thr_create(&_tmpxthr,NULL,func,closure); } +# define xthread_yield() thr_yield() +# define xthread_exit(v) thr_exit(v) +# define xthread_key_create(kp,d) thr_keycreate(kp,d) +# define xthread_key_delete(k) thr_keydelete(k) +# define xthread_set_specific(k,v) thr_setspecific(k,v) +# define xthread_get_specific(k,vp) *(vp) = thr_getspecific(k) +# define XMUTEX_INITIALIZER MUTEX_INITIALIZER +# define xmutex_init(m) mutex_init(m, 0) +# define xmutex_clear(m) mutex_destroy(m) +# define xmutex_lock(m) mutex_lock(m) +# define xmutex_unlock(m) mutex_unlock(m) +# define xcondition_init(c) cond_init(c, 0, 0) +# define xcondition_clear(c) cond_destroy(c) +# define xcondition_wait(c,m) cond_wait(c,m) +# define xcondition_signal(c) cond_signal(c) +# define xcondition_broadcast(c) cond_broadcast(c) +# else +# include <pthread.h> +typedef pthread_t xthread_t; +typedef pthread_key_t xthread_key_t; +typedef pthread_cond_t xcondition_rec; +typedef pthread_mutex_t xmutex_rec; +# define xthread_self pthread_self +# define xthread_yield() pthread_yield() +# define xthread_exit(v) pthread_exit(v) +# define xthread_set_specific(k,v) pthread_setspecific(k,v) +# define xmutex_clear(m) pthread_mutex_destroy(m) +# define xmutex_lock(m) pthread_mutex_lock(m) +# define xmutex_unlock(m) pthread_mutex_unlock(m) +# ifndef XPRE_STANDARD_API +# define xthread_key_create(kp,d) pthread_key_create(kp,d) +# define xthread_key_delete(k) pthread_key_delete(k) +# define xthread_get_specific(k,vp) *(vp) = pthread_getspecific(k) +# define xthread_fork(func,closure) { pthread_t _tmpxthr; \ + pthread_create(&_tmpxthr,NULL,func,closure); } +# define XMUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER +# define xmutex_init(m) pthread_mutex_init(m, NULL) +# define xcondition_init(c) pthread_cond_init(c, NULL) +# else /* XPRE_STANDARD_API */ +# define xthread_key_create(kp,d) pthread_keycreate(kp,d) +# define xthread_key_delete(k) 0 +# define xthread_get_specific(k,vp) pthread_getspecific(k,vp) +# define xthread_fork(func,closure) { pthread_t _tmpxthr; \ + pthread_create(&_tmpxthr,pthread_attr_default,func,closure); } +# define xmutex_init(m) pthread_mutex_init(m, pthread_mutexattr_default) +# define xcondition_init(c) pthread_cond_init(c, pthread_condattr_default) +# endif /* XPRE_STANDARD_API */ +# define xcondition_clear(c) pthread_cond_destroy(c) +# define xcondition_wait(c,m) pthread_cond_wait(c,m) +# define xcondition_signal(c) pthread_cond_signal(c) +# define xcondition_broadcast(c) pthread_cond_broadcast(c) +# if defined(_DECTHREADS_) +static xthread_t _X_no_thread_id; +# define xthread_have_id(id) !pthread_equal(id, _X_no_thread_id) +# define xthread_clear_id(id) id = _X_no_thread_id +# define xthread_equal(id1,id2) pthread_equal(id1, id2) +# endif /* _DECTHREADS_ */ +# if defined(__linux__) +# define xthread_have_id(id) !pthread_equal(id, 0) +# define xthread_clear_id(id) id = 0 +# define xthread_equal(id1,id2) pthread_equal(id1, id2) +# endif /* linux */ +# if defined(_CMA_VENDOR_) && defined(_CMA__IBM) && (_CMA_VENDOR_ == _CMA__IBM) +# ifdef DEBUG /* too much of a hack to enable normally */ +/* see also cma__obj_set_name() */ +# define xmutex_set_name(m,str) ((char**)(m)->field1)[5] = (str) +# define xcondition_set_name(cv,str) ((char**)(cv)->field1)[5] = (str) +# endif /* DEBUG */ +# endif /* _CMA_VENDOR_ == _CMA__IBM */ +# endif /* USE_NBSD_THREADLIB */ +# endif /* USE_TIS_SUPPORT */ +# endif /* WIN32 */ +# endif /* SVR4 */ +# endif /* CTHREADS */ +typedef xcondition_rec *xcondition_t; +typedef xmutex_rec *xmutex_t; +# ifndef xcondition_malloc +# define xcondition_malloc() (xcondition_t)xmalloc(sizeof(xcondition_rec)) +# endif +# ifndef xcondition_free +# define xcondition_free(c) xfree((char *)c) +# endif +# ifndef xmutex_malloc +# define xmutex_malloc() (xmutex_t)xmalloc(sizeof(xmutex_rec)) +# endif +# ifndef xmutex_free +# define xmutex_free(m) xfree((char *)m) +# endif +# ifndef xthread_have_id +# define xthread_have_id(id) id +# endif +# ifndef xthread_clear_id +# define xthread_clear_id(id) id = 0 +# endif +# ifndef xthread_equal +# define xthread_equal(id1,id2) ((id1) == (id2)) +# endif +/* aids understood by some debuggers */ +# ifndef xthread_set_name +# define xthread_set_name(t,str) +# endif +# ifndef xmutex_set_name +# define xmutex_set_name(m,str) +# endif +# ifndef xcondition_set_name +# define xcondition_set_name(cv,str) +# endif + +#endif /* _XTHREADS_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xtos.h b/ThirdParty/X11/Include/X11/Xtos.h new file mode 100644 index 0000000..64b2da8 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xtos.h @@ -0,0 +1,69 @@ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _Xtos_h +#define _Xtos_h + +#define ALLOCATE_LOCAL_FALLBACK(_size) XtMalloc((unsigned long)(_size)) +#define DEALLOCATE_LOCAL_FALLBACK(_ptr) XtFree((XtPointer)(_ptr)) +#include <X11/Xalloca.h> + + +#if defined (_LP64) || \ + defined(__alpha) || defined(__alpha__) || \ + defined(__ia64__) || defined(ia64) || \ + defined(__sparc64__) || \ + defined(__s390x__) || \ + (defined(__hppa__) && defined(__LP64__)) || \ + defined(__amd64__) || defined(amd64) || \ + defined(__powerpc64__) || \ + (defined(sgi) && (_MIPS_SZLONG == 64)) +#define LONG64 +#endif + +#endif /* _Xtos_h */ +/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/ThirdParty/X11/Include/X11/Xutil.h b/ThirdParty/X11/Include/X11/Xutil.h new file mode 100644 index 0000000..62cdf55 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xutil.h @@ -0,0 +1,838 @@ + +/*********************************************************** + +Copyright 1987, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _X11_XUTIL_H_ +#define _X11_XUTIL_H_ + +/* You must include <X11/Xlib.h> before including this file */ +#include <X11/Xlib.h> +#include <X11/keysym.h> + +/* The Xlib structs are full of implicit padding to properly align members. + We can't clean that up without breaking ABI, so tell clang not to bother + complaining about it. */ +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wpadded" +#endif + +/* + * Bitmask returned by XParseGeometry(). Each bit tells if the corresponding + * value (x, y, width, height) was found in the parsed string. + */ +#define NoValue 0x0000 +#define XValue 0x0001 +#define YValue 0x0002 +#define WidthValue 0x0004 +#define HeightValue 0x0008 +#define AllValues 0x000F +#define XNegative 0x0010 +#define YNegative 0x0020 + +/* + * new version containing base_width, base_height, and win_gravity fields; + * used with WM_NORMAL_HINTS. + */ +typedef struct { + long flags; /* marks which fields in this structure are defined */ + int x, y; /* obsolete for new window mgrs, but clients */ + int width, height; /* should set so old wm's don't mess up */ + int min_width, min_height; + int max_width, max_height; + int width_inc, height_inc; + struct { + int x; /* numerator */ + int y; /* denominator */ + } min_aspect, max_aspect; + int base_width, base_height; /* added by ICCCM version 1 */ + int win_gravity; /* added by ICCCM version 1 */ +} XSizeHints; + +/* + * The next block of definitions are for window manager properties that + * clients and applications use for communication. + */ + +/* flags argument in size hints */ +#define USPosition (1L << 0) /* user specified x, y */ +#define USSize (1L << 1) /* user specified width, height */ + +#define PPosition (1L << 2) /* program specified position */ +#define PSize (1L << 3) /* program specified size */ +#define PMinSize (1L << 4) /* program specified minimum size */ +#define PMaxSize (1L << 5) /* program specified maximum size */ +#define PResizeInc (1L << 6) /* program specified resize increments */ +#define PAspect (1L << 7) /* program specified min and max aspect ratios */ +#define PBaseSize (1L << 8) /* program specified base for incrementing */ +#define PWinGravity (1L << 9) /* program specified window gravity */ + +/* obsolete */ +#define PAllHints (PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect) + + + +typedef struct { + long flags; /* marks which fields in this structure are defined */ + Bool input; /* does this application rely on the window manager to + get keyboard input? */ + int initial_state; /* see below */ + Pixmap icon_pixmap; /* pixmap to be used as icon */ + Window icon_window; /* window to be used as icon */ + int icon_x, icon_y; /* initial position of icon */ + Pixmap icon_mask; /* icon mask bitmap */ + XID window_group; /* id of related window group */ + /* this structure may be extended in the future */ +} XWMHints; + +/* definition for flags of XWMHints */ + +#define InputHint (1L << 0) +#define StateHint (1L << 1) +#define IconPixmapHint (1L << 2) +#define IconWindowHint (1L << 3) +#define IconPositionHint (1L << 4) +#define IconMaskHint (1L << 5) +#define WindowGroupHint (1L << 6) +#define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint| \ +IconPositionHint|IconMaskHint|WindowGroupHint) +#define XUrgencyHint (1L << 8) + +/* definitions for initial window state */ +#define WithdrawnState 0 /* for windows that are not mapped */ +#define NormalState 1 /* most applications want to start this way */ +#define IconicState 3 /* application wants to start as an icon */ + +/* + * Obsolete states no longer defined by ICCCM + */ +#define DontCareState 0 /* don't know or care */ +#define ZoomState 2 /* application wants to start zoomed */ +#define InactiveState 4 /* application believes it is seldom used; */ + /* some wm's may put it on inactive menu */ + + +/* + * new structure for manipulating TEXT properties; used with WM_NAME, + * WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND. + */ +typedef struct { + unsigned char *value; /* same as Property routines */ + Atom encoding; /* prop type */ + int format; /* prop data format: 8, 16, or 32 */ + unsigned long nitems; /* number of data items in value */ +} XTextProperty; + +#define XNoMemory -1 +#define XLocaleNotSupported -2 +#define XConverterNotFound -3 + +typedef enum { + XStringStyle, /* STRING */ + XCompoundTextStyle, /* COMPOUND_TEXT */ + XTextStyle, /* text in owner's encoding (current locale)*/ + XStdICCTextStyle, /* STRING, else COMPOUND_TEXT */ + /* The following is an XFree86 extension, introduced in November 2000 */ + XUTF8StringStyle /* UTF8_STRING */ +} XICCEncodingStyle; + +typedef struct { + int min_width, min_height; + int max_width, max_height; + int width_inc, height_inc; +} XIconSize; + +typedef struct { + char *res_name; + char *res_class; +} XClassHint; + +#ifdef XUTIL_DEFINE_FUNCTIONS +extern int XDestroyImage( + XImage *ximage); +extern unsigned long XGetPixel( + XImage *ximage, + int x, int y); +extern int XPutPixel( + XImage *ximage, + int x, int y, + unsigned long pixel); +extern XImage *XSubImage( + XImage *ximage, + int x, int y, + unsigned int width, unsigned int height); +extern int XAddPixel( + XImage *ximage, + long value); +#else +/* + * These macros are used to give some sugar to the image routines so that + * naive people are more comfortable with them. + */ +#define XDestroyImage(ximage) \ + ((*((ximage)->f.destroy_image))((ximage))) +#define XGetPixel(ximage, x, y) \ + ((*((ximage)->f.get_pixel))((ximage), (x), (y))) +#define XPutPixel(ximage, x, y, pixel) \ + ((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel))) +#define XSubImage(ximage, x, y, width, height) \ + ((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height))) +#define XAddPixel(ximage, value) \ + ((*((ximage)->f.add_pixel))((ximage), (value))) +#endif + +/* + * Compose sequence status structure, used in calling XLookupString. + */ +typedef struct _XComposeStatus { + XPointer compose_ptr; /* state table pointer */ + int chars_matched; /* match state */ +} XComposeStatus; + +/* + * Keysym macros, used on Keysyms to test for classes of symbols + */ +#define IsKeypadKey(keysym) \ + (((KeySym)(keysym) >= XK_KP_Space) && ((KeySym)(keysym) <= XK_KP_Equal)) + +#define IsPrivateKeypadKey(keysym) \ + (((KeySym)(keysym) >= 0x11000000) && ((KeySym)(keysym) <= 0x1100FFFF)) + +#define IsCursorKey(keysym) \ + (((KeySym)(keysym) >= XK_Home) && ((KeySym)(keysym) < XK_Select)) + +#define IsPFKey(keysym) \ + (((KeySym)(keysym) >= XK_KP_F1) && ((KeySym)(keysym) <= XK_KP_F4)) + +#define IsFunctionKey(keysym) \ + (((KeySym)(keysym) >= XK_F1) && ((KeySym)(keysym) <= XK_F35)) + +#define IsMiscFunctionKey(keysym) \ + (((KeySym)(keysym) >= XK_Select) && ((KeySym)(keysym) <= XK_Break)) + +#ifdef XK_XKB_KEYS +#define IsModifierKey(keysym) \ + ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \ + || (((KeySym)(keysym) >= XK_ISO_Lock) && \ + ((KeySym)(keysym) <= XK_ISO_Level5_Lock)) \ + || ((KeySym)(keysym) == XK_Mode_switch) \ + || ((KeySym)(keysym) == XK_Num_Lock)) +#else +#define IsModifierKey(keysym) \ + ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \ + || ((KeySym)(keysym) == XK_Mode_switch) \ + || ((KeySym)(keysym) == XK_Num_Lock)) +#endif +/* + * opaque reference to Region data type + */ +typedef struct _XRegion *Region; + +/* Return values from XRectInRegion() */ + +#define RectangleOut 0 +#define RectangleIn 1 +#define RectanglePart 2 + + +/* + * Information used by the visual utility routines to find desired visual + * type from the many visuals a display may support. + */ + +typedef struct { + Visual *visual; + VisualID visualid; + int screen; + int depth; +#if defined(__cplusplus) || defined(c_plusplus) + int c_class; /* C++ */ +#else + int class; +#endif + unsigned long red_mask; + unsigned long green_mask; + unsigned long blue_mask; + int colormap_size; + int bits_per_rgb; +} XVisualInfo; + +#define VisualNoMask 0x0 +#define VisualIDMask 0x1 +#define VisualScreenMask 0x2 +#define VisualDepthMask 0x4 +#define VisualClassMask 0x8 +#define VisualRedMaskMask 0x10 +#define VisualGreenMaskMask 0x20 +#define VisualBlueMaskMask 0x40 +#define VisualColormapSizeMask 0x80 +#define VisualBitsPerRGBMask 0x100 +#define VisualAllMask 0x1FF + +/* + * This defines a window manager property that clients may use to + * share standard color maps of type RGB_COLOR_MAP: + */ +typedef struct { + Colormap colormap; + unsigned long red_max; + unsigned long red_mult; + unsigned long green_max; + unsigned long green_mult; + unsigned long blue_max; + unsigned long blue_mult; + unsigned long base_pixel; + VisualID visualid; /* added by ICCCM version 1 */ + XID killid; /* added by ICCCM version 1 */ +} XStandardColormap; + +#define ReleaseByFreeingColormap ((XID) 1L) /* for killid field above */ + + +/* + * return codes for XReadBitmapFile and XWriteBitmapFile + */ +#define BitmapSuccess 0 +#define BitmapOpenFailed 1 +#define BitmapFileInvalid 2 +#define BitmapNoMemory 3 + +/**************************************************************** + * + * Context Management + * + ****************************************************************/ + + +/* Associative lookup table return codes */ + +#define XCSUCCESS 0 /* No error. */ +#define XCNOMEM 1 /* Out of memory */ +#define XCNOENT 2 /* No entry in table */ + +typedef int XContext; + +#define XUniqueContext() ((XContext) XrmUniqueQuark()) +#define XStringToContext(string) ((XContext) XrmStringToQuark(string)) + +_XFUNCPROTOBEGIN + +/* The following declarations are alphabetized. */ + +extern XClassHint *XAllocClassHint ( + void +); + +extern XIconSize *XAllocIconSize ( + void +); + +extern XSizeHints *XAllocSizeHints ( + void +); + +extern XStandardColormap *XAllocStandardColormap ( + void +); + +extern XWMHints *XAllocWMHints ( + void +); + +extern int XClipBox( + Region /* r */, + XRectangle* /* rect_return */ +); + +extern Region XCreateRegion( + void +); + +extern const char *XDefaultString (void); + +extern int XDeleteContext( + Display* /* display */, + XID /* rid */, + XContext /* context */ +); + +extern int XDestroyRegion( + Region /* r */ +); + +extern int XEmptyRegion( + Region /* r */ +); + +extern int XEqualRegion( + Region /* r1 */, + Region /* r2 */ +); + +extern int XFindContext( + Display* /* display */, + XID /* rid */, + XContext /* context */, + XPointer* /* data_return */ +); + +extern Status XGetClassHint( + Display* /* display */, + Window /* w */, + XClassHint* /* class_hints_return */ +); + +extern Status XGetIconSizes( + Display* /* display */, + Window /* w */, + XIconSize** /* size_list_return */, + int* /* count_return */ +); + +extern Status XGetNormalHints( + Display* /* display */, + Window /* w */, + XSizeHints* /* hints_return */ +); + +extern Status XGetRGBColormaps( + Display* /* display */, + Window /* w */, + XStandardColormap** /* stdcmap_return */, + int* /* count_return */, + Atom /* property */ +); + +extern Status XGetSizeHints( + Display* /* display */, + Window /* w */, + XSizeHints* /* hints_return */, + Atom /* property */ +); + +extern Status XGetStandardColormap( + Display* /* display */, + Window /* w */, + XStandardColormap* /* colormap_return */, + Atom /* property */ +); + +extern Status XGetTextProperty( + Display* /* display */, + Window /* window */, + XTextProperty* /* text_prop_return */, + Atom /* property */ +); + +extern XVisualInfo *XGetVisualInfo( + Display* /* display */, + long /* vinfo_mask */, + XVisualInfo* /* vinfo_template */, + int* /* nitems_return */ +); + +extern Status XGetWMClientMachine( + Display* /* display */, + Window /* w */, + XTextProperty* /* text_prop_return */ +); + +extern XWMHints *XGetWMHints( + Display* /* display */, + Window /* w */ +); + +extern Status XGetWMIconName( + Display* /* display */, + Window /* w */, + XTextProperty* /* text_prop_return */ +); + +extern Status XGetWMName( + Display* /* display */, + Window /* w */, + XTextProperty* /* text_prop_return */ +); + +extern Status XGetWMNormalHints( + Display* /* display */, + Window /* w */, + XSizeHints* /* hints_return */, + long* /* supplied_return */ +); + +extern Status XGetWMSizeHints( + Display* /* display */, + Window /* w */, + XSizeHints* /* hints_return */, + long* /* supplied_return */, + Atom /* property */ +); + +extern Status XGetZoomHints( + Display* /* display */, + Window /* w */, + XSizeHints* /* zhints_return */ +); + +extern int XIntersectRegion( + Region /* sra */, + Region /* srb */, + Region /* dr_return */ +); + +extern void XConvertCase( + KeySym /* sym */, + KeySym* /* lower */, + KeySym* /* upper */ +); + +extern int XLookupString( + XKeyEvent* /* event_struct */, + char* /* buffer_return */, + int /* bytes_buffer */, + KeySym* /* keysym_return */, + XComposeStatus* /* status_in_out */ +); + +extern Status XMatchVisualInfo( + Display* /* display */, + int /* screen */, + int /* depth */, + int /* class */, + XVisualInfo* /* vinfo_return */ +); + +extern int XOffsetRegion( + Region /* r */, + int /* dx */, + int /* dy */ +); + +extern Bool XPointInRegion( + Region /* r */, + int /* x */, + int /* y */ +); + +extern Region XPolygonRegion( + XPoint* /* points */, + int /* n */, + int /* fill_rule */ +); + +extern int XRectInRegion( + Region /* r */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */ +); + +extern int XSaveContext( + Display* /* display */, + XID /* rid */, + XContext /* context */, + _Xconst char* /* data */ +); + +extern int XSetClassHint( + Display* /* display */, + Window /* w */, + XClassHint* /* class_hints */ +); + +extern int XSetIconSizes( + Display* /* display */, + Window /* w */, + XIconSize* /* size_list */, + int /* count */ +); + +extern int XSetNormalHints( + Display* /* display */, + Window /* w */, + XSizeHints* /* hints */ +); + +extern void XSetRGBColormaps( + Display* /* display */, + Window /* w */, + XStandardColormap* /* stdcmaps */, + int /* count */, + Atom /* property */ +); + +extern int XSetSizeHints( + Display* /* display */, + Window /* w */, + XSizeHints* /* hints */, + Atom /* property */ +); + +extern int XSetStandardProperties( + Display* /* display */, + Window /* w */, + _Xconst char* /* window_name */, + _Xconst char* /* icon_name */, + Pixmap /* icon_pixmap */, + char** /* argv */, + int /* argc */, + XSizeHints* /* hints */ +); + +extern void XSetTextProperty( + Display* /* display */, + Window /* w */, + XTextProperty* /* text_prop */, + Atom /* property */ +); + +extern void XSetWMClientMachine( + Display* /* display */, + Window /* w */, + XTextProperty* /* text_prop */ +); + +extern int XSetWMHints( + Display* /* display */, + Window /* w */, + XWMHints* /* wm_hints */ +); + +extern void XSetWMIconName( + Display* /* display */, + Window /* w */, + XTextProperty* /* text_prop */ +); + +extern void XSetWMName( + Display* /* display */, + Window /* w */, + XTextProperty* /* text_prop */ +); + +extern void XSetWMNormalHints( + Display* /* display */, + Window /* w */, + XSizeHints* /* hints */ +); + +extern void XSetWMProperties( + Display* /* display */, + Window /* w */, + XTextProperty* /* window_name */, + XTextProperty* /* icon_name */, + char** /* argv */, + int /* argc */, + XSizeHints* /* normal_hints */, + XWMHints* /* wm_hints */, + XClassHint* /* class_hints */ +); + +extern void XmbSetWMProperties( + Display* /* display */, + Window /* w */, + _Xconst char* /* window_name */, + _Xconst char* /* icon_name */, + char** /* argv */, + int /* argc */, + XSizeHints* /* normal_hints */, + XWMHints* /* wm_hints */, + XClassHint* /* class_hints */ +); + +extern void Xutf8SetWMProperties( + Display* /* display */, + Window /* w */, + _Xconst char* /* window_name */, + _Xconst char* /* icon_name */, + char** /* argv */, + int /* argc */, + XSizeHints* /* normal_hints */, + XWMHints* /* wm_hints */, + XClassHint* /* class_hints */ +); + +extern void XSetWMSizeHints( + Display* /* display */, + Window /* w */, + XSizeHints* /* hints */, + Atom /* property */ +); + +extern int XSetRegion( + Display* /* display */, + GC /* gc */, + Region /* r */ +); + +extern void XSetStandardColormap( + Display* /* display */, + Window /* w */, + XStandardColormap* /* colormap */, + Atom /* property */ +); + +extern int XSetZoomHints( + Display* /* display */, + Window /* w */, + XSizeHints* /* zhints */ +); + +extern int XShrinkRegion( + Region /* r */, + int /* dx */, + int /* dy */ +); + +extern Status XStringListToTextProperty( + char** /* list */, + int /* count */, + XTextProperty* /* text_prop_return */ +); + +extern int XSubtractRegion( + Region /* sra */, + Region /* srb */, + Region /* dr_return */ +); + +extern int XmbTextListToTextProperty( + Display* display, + char** list, + int count, + XICCEncodingStyle style, + XTextProperty* text_prop_return +); + +extern int XwcTextListToTextProperty( + Display* display, + wchar_t** list, + int count, + XICCEncodingStyle style, + XTextProperty* text_prop_return +); + +extern int Xutf8TextListToTextProperty( + Display* display, + char** list, + int count, + XICCEncodingStyle style, + XTextProperty* text_prop_return +); + +extern void XwcFreeStringList( + wchar_t** list +); + +extern Status XTextPropertyToStringList( + XTextProperty* /* text_prop */, + char*** /* list_return */, + int* /* count_return */ +); + +extern int XmbTextPropertyToTextList( + Display* display, + const XTextProperty* text_prop, + char*** list_return, + int* count_return +); + +extern int XwcTextPropertyToTextList( + Display* display, + const XTextProperty* text_prop, + wchar_t*** list_return, + int* count_return +); + +extern int Xutf8TextPropertyToTextList( + Display* display, + const XTextProperty* text_prop, + char*** list_return, + int* count_return +); + +extern int XUnionRectWithRegion( + XRectangle* /* rectangle */, + Region /* src_region */, + Region /* dest_region_return */ +); + +extern int XUnionRegion( + Region /* sra */, + Region /* srb */, + Region /* dr_return */ +); + +extern int XWMGeometry( + Display* /* display */, + int /* screen_number */, + _Xconst char* /* user_geometry */, + _Xconst char* /* default_geometry */, + unsigned int /* border_width */, + XSizeHints* /* hints */, + int* /* x_return */, + int* /* y_return */, + int* /* width_return */, + int* /* height_return */, + int* /* gravity_return */ +); + +extern int XXorRegion( + Region /* sra */, + Region /* srb */, + Region /* dr_return */ +); + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + +_XFUNCPROTOEND + +#endif /* _X11_XUTIL_H_ */ diff --git a/ThirdParty/X11/Include/X11/Xw32defs.h b/ThirdParty/X11/Include/X11/Xw32defs.h new file mode 100644 index 0000000..b2e4b33 --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xw32defs.h @@ -0,0 +1,79 @@ +#ifndef _XW32DEFS_H +# define _XW32DEFS_H + +# ifdef __GNUC__ /* mingw is more close to unix than msvc */ +# if !defined(__daddr_t_defined) +typedef char *caddr_t; +# endif +# define lstat stat + +# else +typedef char *caddr_t; + +# define access _access +# define alloca _alloca +# define chdir _chdir +# define chmod _chmod +# define close _close +# define creat _creat +# define dup _dup +# define dup2 _dup2 +# define environ _environ +# define execl _execl +# define execle _execle +# define execlp _execlp +# define execlpe _execlpe +# define execv _execv +# define execve _execve +# define execvp _execvp +# define execvpe _execvpe +# define fdopen _fdopen +# define fileno _fileno +# define fstat _fstat +# define getcwd _getcwd +# define getpid _getpid +# define hypot _hypot +# define isascii __isascii +# define isatty _isatty +# define lseek _lseek +# define mkdir _mkdir +# define mktemp _mktemp +# define open _open +# define putenv _putenv +# define read _read +# define rmdir _rmdir +# define sleep(x) Sleep((x) * 1000) +# define stat _stat +# define sys_errlist _sys_errlist +# define sys_nerr _sys_nerr +# define umask _umask +# define unlink _unlink +# define write _write +# define random rand +# define srandom srand + +# define O_RDONLY _O_RDONLY +# define O_WRONLY _O_WRONLY +# define O_RDWR _O_RDWR +# define O_APPEND _O_APPEND +# define O_CREAT _O_CREAT +# define O_TRUNC _O_TRUNC +# define O_EXCL _O_EXCL +# define O_TEXT _O_TEXT +# define O_BINARY _O_BINARY +# define O_RAW _O_BINARY + +# define S_IFMT _S_IFMT +# define S_IFDIR _S_IFDIR +# define S_IFCHR _S_IFCHR +# define S_IFREG _S_IFREG +# define S_IREAD _S_IREAD +# define S_IWRITE _S_IWRITE +# define S_IEXEC _S_IEXEC + +# define F_OK 0 +# define X_OK 1 +# define W_OK 2 +# define R_OK 4 +# endif /* __GNUC__ */ +#endif diff --git a/ThirdParty/X11/Include/X11/Xwindows.h b/ThirdParty/X11/Include/X11/Xwindows.h new file mode 100644 index 0000000..70e1deb --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xwindows.h @@ -0,0 +1,114 @@ +/* + +Copyright 1996, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- +ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABIL- +ITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization from +The Open Group. + +*/ + +/* + * This header file has the sole purpose of allowing the inclusion of + * windows.h without getting any name conflicts with X headers code, by + * renaming or disabling the conflicting definitions from windows.h + */ + +/* + * Mingw.org versions of the Windows API headers actually avoid + * making the conflicting definitions if XFree86Server is defined, so we + * need to remember if that was defined and undefine it during including + * windows.h (so the conflicting definitions get wrapped correctly), and + * then redefine it afterwards. (This was never the correct thing to + * do as it's no help at all to X11 clients which also need to use the + * Win32 API) + */ +#undef _XFree86Server +#ifdef XFree86Server +# define _XFree86Server +# undef XFree86Server +#endif + +/* + * There doesn't seem to be a good way to wrap the min/max macros from + * windows.h, so we simply avoid defining them completely, allowing any + * pre-existing definition to stand. + * + */ +#define NOMINMAX + +/* + * mingw-w64 headers define BOOL as a typedef, protecting against macros + * mingw.org headers define BOOL in terms of WINBOOL + * ... so try to come up with something which works with both :-) + */ +#define _NO_BOOL_TYPEDEF +#define BOOL WINBOOL +#define INT32 wINT32 +#ifdef __x86_64__ +#define INT64 wINT64 +#define LONG64 wLONG64 +#endif +#undef Status +#define Status wStatus +#define ATOM wATOM +#define BYTE wBYTE +#define FreeResource wFreeResource +#include <windows.h> +#undef NOMINMAX +#undef Status +#define Status int +#undef BYTE +#undef BOOL +#undef INT32 +#undef INT64 +#undef LONG64 +#undef ATOM +#undef FreeResource +#undef CreateWindowA + +/* + * Older version of this header used to name the windows API bool type wBOOL, + * rather than more standard name WINBOOL + */ +#define wBOOL WINBOOL + +#ifdef RESOURCE_H +# undef RT_FONT +# undef RT_CURSOR +# define RT_FONT ((RESTYPE)4) +# define RT_CURSOR ((RESTYPE)5) +#endif + +#ifndef __CYGWIN__ +#define sleep(x) Sleep((x) * 1000) +#endif + +#if defined(WIN32) && (!defined(PATH_MAX) || PATH_MAX < 1024) +# undef PATH_MAX +# define PATH_MAX 1024 +#endif + +#ifdef _XFree86Server +# define XFree86Server +# undef _XFree86Server +#endif + diff --git a/ThirdParty/X11/Include/X11/Xwinsock.h b/ThirdParty/X11/Include/X11/Xwinsock.h new file mode 100644 index 0000000..a81dd7a --- /dev/null +++ b/ThirdParty/X11/Include/X11/Xwinsock.h @@ -0,0 +1,77 @@ +/* + +Copyright 1996, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- +ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABIL- +ITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization from +The Open Group. + +*/ + +/* + * This header file has for sole purpose to allow to include winsock.h + * without getting any name conflicts with our code. + * Conflicts come from the fact that including winsock.h actually pulls + * in the whole Windows API... + */ + +#undef _XFree86Server +#ifdef XFree86Server +# define _XFree86Server +# undef XFree86Server +#endif + +/* + * mingw-w64 headers define BOOL as a typedef, protecting against macros + * mingw.org headers define BOOL in terms of WINBOOL + * ... so try to come up with something which works with both :-) + */ +#define _NO_BOOL_TYPEDEF +#define BOOL WINBOOL +#define INT32 wINT32 +#undef Status +#define Status wStatus +#define ATOM wATOM +#define BYTE wBYTE +#define FreeResource wFreeResource +#include <winsock2.h> +#undef Status +#define Status int +#undef BYTE +#undef BOOL +#undef INT32 +#undef ATOM +#undef FreeResource +#undef CreateWindowA +#undef RT_FONT +#undef RT_CURSOR + +/* + * Older version of this header used to name the windows API bool type wBOOL, + * rather than more standard name WINBOOL + */ +#define wBOOL WINBOOL + +#ifdef _XFree86Server +# define XFree86Server +# undef _XFree86Server +#endif + diff --git a/ThirdParty/X11/Include/X11/ap_keysym.h b/ThirdParty/X11/Include/X11/ap_keysym.h new file mode 100644 index 0000000..9a11971 --- /dev/null +++ b/ThirdParty/X11/Include/X11/ap_keysym.h @@ -0,0 +1,51 @@ +/****************************************************************** +Copyright 1987 by Apollo Computer Inc., Chelmsford, Massachusetts. +Copyright 1989 by Hewlett-Packard Company. + + All Rights Reserved + +Permission to use, duplicate, change, and distribute this software and +its documentation for any purpose and without fee is granted, provided +that the above copyright notice appear in such copy and that this +copyright notice appear in all supporting documentation, and that the +names of Apollo Computer Inc., the Hewlett-Packard Company, or the X +Consortium not be used in advertising or publicity pertaining to +distribution of the software without written prior permission. + +HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD +TO THIS SOFWARE, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. Hewlett-Packard shall not be liable for errors +contained herein or direct, indirect, special, incidental or +consequential damages in connection with the furnishing, +performance, or use of this material. + +This software is not subject to any license of the American +Telephone and Telegraph Company or of the Regents of the +University of California. +******************************************************************/ + +#define apXK_LineDel 0x1000FF00 +#define apXK_CharDel 0x1000FF01 +#define apXK_Copy 0x1000FF02 +#define apXK_Cut 0x1000FF03 +#define apXK_Paste 0x1000FF04 +#define apXK_Move 0x1000FF05 +#define apXK_Grow 0x1000FF06 +#define apXK_Cmd 0x1000FF07 +#define apXK_Shell 0x1000FF08 +#define apXK_LeftBar 0x1000FF09 +#define apXK_RightBar 0x1000FF0A +#define apXK_LeftBox 0x1000FF0B +#define apXK_RightBox 0x1000FF0C +#define apXK_UpBox 0x1000FF0D +#define apXK_DownBox 0x1000FF0E +#define apXK_Pop 0x1000FF0F +#define apXK_Read 0x1000FF10 +#define apXK_Edit 0x1000FF11 +#define apXK_Save 0x1000FF12 +#define apXK_Exit 0x1000FF13 +#define apXK_Repeat 0x1000FF14 + +#define apXK_KP_parenleft 0x1000FFA8 +#define apXK_KP_parenright 0x1000FFA9 diff --git a/ThirdParty/X11/Include/X11/cursorfont.h b/ThirdParty/X11/Include/X11/cursorfont.h new file mode 100644 index 0000000..c69d508 --- /dev/null +++ b/ThirdParty/X11/Include/X11/cursorfont.h @@ -0,0 +1,111 @@ +/* + +Copyright 1987, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. + +*/ + +#ifndef _X11_CURSORFONT_H_ +#define _X11_CURSORFONT_H_ + +#define XC_num_glyphs 154 +#define XC_X_cursor 0 +#define XC_arrow 2 +#define XC_based_arrow_down 4 +#define XC_based_arrow_up 6 +#define XC_boat 8 +#define XC_bogosity 10 +#define XC_bottom_left_corner 12 +#define XC_bottom_right_corner 14 +#define XC_bottom_side 16 +#define XC_bottom_tee 18 +#define XC_box_spiral 20 +#define XC_center_ptr 22 +#define XC_circle 24 +#define XC_clock 26 +#define XC_coffee_mug 28 +#define XC_cross 30 +#define XC_cross_reverse 32 +#define XC_crosshair 34 +#define XC_diamond_cross 36 +#define XC_dot 38 +#define XC_dotbox 40 +#define XC_double_arrow 42 +#define XC_draft_large 44 +#define XC_draft_small 46 +#define XC_draped_box 48 +#define XC_exchange 50 +#define XC_fleur 52 +#define XC_gobbler 54 +#define XC_gumby 56 +#define XC_hand1 58 +#define XC_hand2 60 +#define XC_heart 62 +#define XC_icon 64 +#define XC_iron_cross 66 +#define XC_left_ptr 68 +#define XC_left_side 70 +#define XC_left_tee 72 +#define XC_leftbutton 74 +#define XC_ll_angle 76 +#define XC_lr_angle 78 +#define XC_man 80 +#define XC_middlebutton 82 +#define XC_mouse 84 +#define XC_pencil 86 +#define XC_pirate 88 +#define XC_plus 90 +#define XC_question_arrow 92 +#define XC_right_ptr 94 +#define XC_right_side 96 +#define XC_right_tee 98 +#define XC_rightbutton 100 +#define XC_rtl_logo 102 +#define XC_sailboat 104 +#define XC_sb_down_arrow 106 +#define XC_sb_h_double_arrow 108 +#define XC_sb_left_arrow 110 +#define XC_sb_right_arrow 112 +#define XC_sb_up_arrow 114 +#define XC_sb_v_double_arrow 116 +#define XC_shuttle 118 +#define XC_sizing 120 +#define XC_spider 122 +#define XC_spraycan 124 +#define XC_star 126 +#define XC_target 128 +#define XC_tcross 130 +#define XC_top_left_arrow 132 +#define XC_top_left_corner 134 +#define XC_top_right_corner 136 +#define XC_top_side 138 +#define XC_top_tee 140 +#define XC_trek 142 +#define XC_ul_angle 144 +#define XC_umbrella 146 +#define XC_ur_angle 148 +#define XC_watch 150 +#define XC_xterm 152 + +#endif /* _X11_CURSORFONT_H_ */ diff --git a/ThirdParty/X11/Include/X11/dri/xf86dri.h b/ThirdParty/X11/Include/X11/dri/xf86dri.h new file mode 100644 index 0000000..00fb8ba --- /dev/null +++ b/ThirdParty/X11/Include/X11/dri/xf86dri.h @@ -0,0 +1,65 @@ +/************************************************************************** + +Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. +Copyright 2000 VA Linux Systems, Inc. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sub license, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. +IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +**************************************************************************/ + +/** + * \file xf86dri.h + * Protocol numbers and function prototypes for DRI X protocol. + * + * \author Kevin E. Martin <martin@valinux.com> + * \author Jens Owen <jens@tungstengraphics.com> + * \author Rickard E. (Rik) Faith <faith@valinux.com> + */ + +#ifndef _XF86DRI_H_ +#define _XF86DRI_H_ + +#include <xf86drm.h> + +#define X_XF86DRIQueryVersion 0 +#define X_XF86DRIQueryDirectRenderingCapable 1 +#define X_XF86DRIOpenConnection 2 +#define X_XF86DRICloseConnection 3 +#define X_XF86DRIGetClientDriverName 4 +#define X_XF86DRICreateContext 5 +#define X_XF86DRIDestroyContext 6 +#define X_XF86DRICreateDrawable 7 +#define X_XF86DRIDestroyDrawable 8 +#define X_XF86DRIGetDrawableInfo 9 +#define X_XF86DRIGetDeviceInfo 10 +#define X_XF86DRIAuthConnection 11 +#define X_XF86DRIOpenFullScreen 12 /* Deprecated */ +#define X_XF86DRICloseFullScreen 13 /* Deprecated */ + +#define XF86DRINumberEvents 0 + +#define XF86DRIClientNotLocal 0 +#define XF86DRIOperationNotSupported 1 +#define XF86DRINumberErrors (XF86DRIOperationNotSupported + 1) + +#endif /* _XF86DRI_H_ */ + diff --git a/ThirdParty/X11/Include/X11/dri/xf86driproto.h b/ThirdParty/X11/Include/X11/dri/xf86driproto.h new file mode 100644 index 0000000..b834bd1 --- /dev/null +++ b/ThirdParty/X11/Include/X11/dri/xf86driproto.h @@ -0,0 +1,342 @@ +/************************************************************************** + +Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. +Copyright 2000 VA Linux Systems, Inc. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sub license, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. +IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +**************************************************************************/ + +/* + * Authors: + * Kevin E. Martin <martin@valinux.com> + * Jens Owen <jens@tungstengraphics.com> + * Rickard E. (Rik) Fiath <faith@valinux.com> + * + */ + +#ifndef _XF86DRISTR_H_ +#define _XF86DRISTR_H_ + +#include "xf86dri.h" + +#define XF86DRINAME "XFree86-DRI" + +/* The DRI version number. This was originally set to be the same of the + * XFree86 version number. However, this version is really indepedent of + * the XFree86 version. + * + * Version History: + * 4.0.0: Original + * 4.0.1: Patch to bump clipstamp when windows are destroyed, 28 May 02 + * 4.1.0: Add transition from single to multi in DRMInfo rec, 24 Jun 02 + */ +#define XF86DRI_MAJOR_VERSION 4 +#define XF86DRI_MINOR_VERSION 1 +#define XF86DRI_PATCH_VERSION 0 + +typedef struct _XF86DRIQueryVersion { + CARD8 reqType; /* always DRIReqCode */ + CARD8 driReqType; /* always X_DRIQueryVersion */ + CARD16 length B16; +} xXF86DRIQueryVersionReq; +#define sz_xXF86DRIQueryVersionReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 majorVersion B16; /* major version of DRI protocol */ + CARD16 minorVersion B16; /* minor version of DRI protocol */ + CARD32 patchVersion B32; /* patch version of DRI protocol */ + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXF86DRIQueryVersionReply; +#define sz_xXF86DRIQueryVersionReply 32 + +typedef struct _XF86DRIQueryDirectRenderingCapable { + CARD8 reqType; /* always DRIReqCode */ + CARD8 driReqType; /* X_DRIQueryDirectRenderingCapable */ + CARD16 length B16; + CARD32 screen B32; +} xXF86DRIQueryDirectRenderingCapableReq; +#define sz_xXF86DRIQueryDirectRenderingCapableReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + BOOL isCapable; + BOOL pad2; + BOOL pad3; + BOOL pad4; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; + CARD32 pad8 B32; + CARD32 pad9 B32; +} xXF86DRIQueryDirectRenderingCapableReply; +#define sz_xXF86DRIQueryDirectRenderingCapableReply 32 + +typedef struct _XF86DRIOpenConnection { + CARD8 reqType; /* always DRIReqCode */ + CARD8 driReqType; /* always X_DRIOpenConnection */ + CARD16 length B16; + CARD32 screen B32; +} xXF86DRIOpenConnectionReq; +#define sz_xXF86DRIOpenConnectionReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 hSAREALow B32; + CARD32 hSAREAHigh B32; + CARD32 busIdStringLength B32; + CARD32 pad6 B32; + CARD32 pad7 B32; + CARD32 pad8 B32; +} xXF86DRIOpenConnectionReply; +#define sz_xXF86DRIOpenConnectionReply 32 + +typedef struct _XF86DRIAuthConnection { + CARD8 reqType; /* always DRIReqCode */ + CARD8 driReqType; /* always X_DRICloseConnection */ + CARD16 length B16; + CARD32 screen B32; + CARD32 magic B32; +} xXF86DRIAuthConnectionReq; +#define sz_xXF86DRIAuthConnectionReq 12 + +typedef struct { + BYTE type; + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 authenticated B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXF86DRIAuthConnectionReply; +#define zx_xXF86DRIAuthConnectionReply 32 + +typedef struct _XF86DRICloseConnection { + CARD8 reqType; /* always DRIReqCode */ + CARD8 driReqType; /* always X_DRICloseConnection */ + CARD16 length B16; + CARD32 screen B32; +} xXF86DRICloseConnectionReq; +#define sz_xXF86DRICloseConnectionReq 8 + +typedef struct _XF86DRIGetClientDriverName { + CARD8 reqType; /* always DRIReqCode */ + CARD8 driReqType; /* always X_DRIGetClientDriverName */ + CARD16 length B16; + CARD32 screen B32; +} xXF86DRIGetClientDriverNameReq; +#define sz_xXF86DRIGetClientDriverNameReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 ddxDriverMajorVersion B32; + CARD32 ddxDriverMinorVersion B32; + CARD32 ddxDriverPatchVersion B32; + CARD32 clientDriverNameLength B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXF86DRIGetClientDriverNameReply; +#define sz_xXF86DRIGetClientDriverNameReply 32 + +typedef struct _XF86DRICreateContext { + CARD8 reqType; /* always DRIReqCode */ + CARD8 driReqType; /* always X_DRICreateContext */ + CARD16 length B16; + CARD32 screen B32; + CARD32 visual B32; + CARD32 context B32; +} xXF86DRICreateContextReq; +#define sz_xXF86DRICreateContextReq 16 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 hHWContext B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXF86DRICreateContextReply; +#define sz_xXF86DRICreateContextReply 32 + +typedef struct _XF86DRIDestroyContext { + CARD8 reqType; /* always DRIReqCode */ + CARD8 driReqType; /* always X_DRIDestroyContext */ + CARD16 length B16; + CARD32 screen B32; + CARD32 context B32; +} xXF86DRIDestroyContextReq; +#define sz_xXF86DRIDestroyContextReq 12 + +typedef struct _XF86DRICreateDrawable { + CARD8 reqType; /* always DRIReqCode */ + CARD8 driReqType; /* always X_DRICreateDrawable */ + CARD16 length B16; + CARD32 screen B32; + CARD32 drawable B32; +} xXF86DRICreateDrawableReq; +#define sz_xXF86DRICreateDrawableReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 hHWDrawable B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXF86DRICreateDrawableReply; +#define sz_xXF86DRICreateDrawableReply 32 + +typedef struct _XF86DRIDestroyDrawable { + CARD8 reqType; /* always DRIReqCode */ + CARD8 driReqType; /* always X_DRIDestroyDrawable */ + CARD16 length B16; + CARD32 screen B32; + CARD32 drawable B32; +} xXF86DRIDestroyDrawableReq; +#define sz_xXF86DRIDestroyDrawableReq 12 + +typedef struct _XF86DRIGetDrawableInfo { + CARD8 reqType; /* always DRIReqCode */ + CARD8 driReqType; /* always X_DRIGetDrawableInfo */ + CARD16 length B16; + CARD32 screen B32; + CARD32 drawable B32; +} xXF86DRIGetDrawableInfoReq; +#define sz_xXF86DRIGetDrawableInfoReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 drawableTableIndex B32; + CARD32 drawableTableStamp B32; + INT16 drawableX B16; + INT16 drawableY B16; + INT16 drawableWidth B16; + INT16 drawableHeight B16; + CARD32 numClipRects B32; + INT16 backX B16; + INT16 backY B16; + CARD32 numBackClipRects B32; +} xXF86DRIGetDrawableInfoReply; + +#define sz_xXF86DRIGetDrawableInfoReply 36 + + +typedef struct _XF86DRIGetDeviceInfo { + CARD8 reqType; /* always DRIReqCode */ + CARD8 driReqType; /* always X_DRIGetDeviceInfo */ + CARD16 length B16; + CARD32 screen B32; +} xXF86DRIGetDeviceInfoReq; +#define sz_xXF86DRIGetDeviceInfoReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 hFrameBufferLow B32; + CARD32 hFrameBufferHigh B32; + CARD32 framebufferOrigin B32; + CARD32 framebufferSize B32; + CARD32 framebufferStride B32; + CARD32 devPrivateSize B32; +} xXF86DRIGetDeviceInfoReply; +#define sz_xXF86DRIGetDeviceInfoReply 32 + +typedef struct _XF86DRIOpenFullScreen { + CARD8 reqType; /* always DRIReqCode */ + CARD8 driReqType; /* always X_DRIOpenFullScreen */ + CARD16 length B16; + CARD32 screen B32; + CARD32 drawable B32; +} xXF86DRIOpenFullScreenReq; +#define sz_xXF86DRIOpenFullScreenReq 12 + +typedef struct { + BYTE type; + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 isFullScreen B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXF86DRIOpenFullScreenReply; +#define sz_xXF86DRIOpenFullScreenReply 32 + +typedef struct _XF86DRICloseFullScreen { + CARD8 reqType; /* always DRIReqCode */ + CARD8 driReqType; /* always X_DRICloseFullScreen */ + CARD16 length B16; + CARD32 screen B32; + CARD32 drawable B32; +} xXF86DRICloseFullScreenReq; +#define sz_xXF86DRICloseFullScreenReq 12 + +typedef struct { + BYTE type; + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; +} xXF86DRICloseFullScreenReply; +#define sz_xXF86DRICloseFullScreenReply 32 + + +#endif /* _XF86DRISTR_H_ */ diff --git a/ThirdParty/X11/Include/X11/dri/xf86dristr.h b/ThirdParty/X11/Include/X11/dri/xf86dristr.h new file mode 100644 index 0000000..048491e --- /dev/null +++ b/ThirdParty/X11/Include/X11/dri/xf86dristr.h @@ -0,0 +1,3 @@ +#warning "xf86dristr.h is obsolete and may be removed in the future." +#warning "include <X11/dri/xf86driproto.h> for the protocol defines." +#include <X11/dri/xf86driproto.h> diff --git a/ThirdParty/X11/Include/X11/extensions/EVI.h b/ThirdParty/X11/Include/X11/extensions/EVI.h new file mode 100644 index 0000000..7f3f733 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/EVI.h @@ -0,0 +1,36 @@ +/************************************************************ +Copyright (c) 1997 by Silicon Graphics Computer Systems, Inc. +Permission to use, copy, modify, and distribute this +software and its documentation for any purpose and without +fee is hereby granted, provided that the above copyright +notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting +documentation, and that the name of Silicon Graphics not be +used in advertising or publicity pertaining to distribution +of the software without specific prior written permission. +Silicon Graphics makes no representation about the suitability +of this software for any purpose. It is provided "as is" +without any express or implied warranty. +SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON +GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH +THE USE OR PERFORMANCE OF THIS SOFTWARE. +********************************************************/ + +#ifndef _EVI_H_ +#define _EVI_H_ + +#define XEVI_TRANSPARENCY_NONE 0 +#define XEVI_TRANSPARENCY_PIXEL 1 +#define XEVI_TRANSPARENCY_MASK 2 + +#define EVINAME "Extended-Visual-Information" + +#define XEVI_MAJOR_VERSION 1 /* current version numbers */ +#define XEVI_MINOR_VERSION 0 + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/EVIproto.h b/ThirdParty/X11/Include/X11/extensions/EVIproto.h new file mode 100644 index 0000000..afa282a --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/EVIproto.h @@ -0,0 +1,96 @@ +/************************************************************ +Copyright (c) 1997 by Silicon Graphics Computer Systems, Inc. +Permission to use, copy, modify, and distribute this +software and its documentation for any purpose and without +fee is hereby granted, provided that the above copyright +notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting +documentation, and that the name of Silicon Graphics not be +used in advertising or publicity pertaining to distribution +of the software without specific prior written permission. +Silicon Graphics makes no representation about the suitability +of this software for any purpose. It is provided "as is" +without any express or implied warranty. +SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON +GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH +THE USE OR PERFORMANCE OF THIS SOFTWARE. +********************************************************/ + +#ifndef _EVIPROTO_H_ +#define _EVIPROTO_H_ + +#include <X11/extensions/EVI.h> + +#define X_EVIQueryVersion 0 +#define X_EVIGetVisualInfo 1 + +#define VisualID CARD32 + +typedef CARD32 VisualID32; +#define sz_VisualID32 4 + +typedef struct _xExtendedVisualInfo { + VisualID core_visual_id B32; + INT8 screen; + INT8 level; + CARD8 transparency_type; + CARD8 pad0; + CARD32 transparency_value B32; + CARD8 min_hw_colormaps; + CARD8 max_hw_colormaps; + CARD16 num_colormap_conflicts B16; +} xExtendedVisualInfo; +#define sz_xExtendedVisualInfo 16 + +typedef struct _XEVIQueryVersion { + CARD8 reqType; /* always XEVIReqCode */ + CARD8 xeviReqType; /* always X_EVIQueryVersion */ + CARD16 length B16; +} xEVIQueryVersionReq; +#define sz_xEVIQueryVersionReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 majorVersion B16; /* major version of EVI protocol */ + CARD16 minorVersion B16; /* minor version of EVI protocol */ + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xEVIQueryVersionReply; +#define sz_xEVIQueryVersionReply 32 + +typedef struct _XEVIGetVisualInfoReq { + CARD8 reqType; /* always XEVIReqCode */ + CARD8 xeviReqType; /* always X_EVIGetVisualInfo */ + CARD16 length B16; + CARD32 n_visual B32; +} xEVIGetVisualInfoReq; +#define sz_xEVIGetVisualInfoReq 8 + +typedef struct _XEVIGetVisualInfoReply { + BYTE type; /* X_Reply */ + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 n_info B32; + CARD32 n_conflicts B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xEVIGetVisualInfoReply; +#define sz_xEVIGetVisualInfoReply 32 + +#undef VisualID + +#endif /* _EVIPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/MITMisc.h b/ThirdParty/X11/Include/X11/extensions/MITMisc.h new file mode 100644 index 0000000..4cfb334 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/MITMisc.h @@ -0,0 +1,54 @@ +/************************************************************ + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +********************************************************/ + +/* RANDOM CRUFT! THIS HAS NO OFFICIAL X CONSORTIUM OR X PROJECT TEAM BLESSING */ + +#ifndef _XMITMISC_H_ +#define _XMITMISC_H_ + +#include <X11/Xfuncproto.h> +#include <X11/extensions/mitmiscconst.h> + +_XFUNCPROTOBEGIN + +Bool XMITMiscQueryExtension( + Display* /* dpy */, + int* /* event_basep */, + int* /* error_basep */ +); + +Status XMITMiscSetBugMode( + Display* /* dpy */, + Bool /* onOff */ +); + +Bool XMITMiscGetBugMode( + Display* /* dpy */ +); + +_XFUNCPROTOEND + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/Print.h b/ThirdParty/X11/Include/X11/extensions/Print.h new file mode 100644 index 0000000..4c1b387 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/Print.h @@ -0,0 +1,552 @@ +/* $Xorg: Print.h,v 1.3 2000/08/18 04:05:44 coskrey Exp $ */ +/****************************************************************************** + ****************************************************************************** + ** + ** File: Print.h + ** + ** Description: Definitions needed by the server, library, and + ** clients. Subportion restricted to library and + ** clients. + ** + ** Server, Library, Client portion has: + ** o All sz_* defines + ** o Revision and Name defines + ** o Common defines and constants (e.g. Keywords, Masks) + ** o Extension version structure + ** + ** Library and client subportion has: + ** o Convience Marcos + ** o Client side data structures + ** o Client side event structures (non wire) + ** o Library function prototypes + ** o some private stuff denoted with _whatever + ** + ** Printstr.h for server and library, but NOT clients. + ** + ****************************************************************************** + ** + ** (c) Copyright 1996 Hewlett-Packard Company + ** (c) Copyright 1996 International Business Machines Corp. + ** (c) Copyright 1996 Sun Microsystems, Inc. + ** (c) Copyright 1996 Novell, Inc. + ** (c) Copyright 1996 Digital Equipment Corp. + ** (c) Copyright 1996 Fujitsu Limited + ** (c) Copyright 1996 Hitachi, Ltd. + ** + ** Permission is hereby granted, free of charge, to any person obtaining a copy + ** of this software and associated documentation files (the "Software"), to deal + ** in the Software without restriction, including without limitation the rights + ** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + ** copies of the Software, and to permit persons to whom the Software is + ** furnished to do so, subject to the following conditions: + ** + ** The above copyright notice and this permission notice shall be included in + ** all copies or substantial portions of the Software. + ** + ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + ** COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + ** IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + ** CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + ** + ** Except as contained in this notice, the names of the copyright holders shall + ** not be used in advertising or otherwise to promote the sale, use or other + ** dealings in this Software without prior written authorization from said + ** copyright holders. + ** + ****************************************************************************** + *****************************************************************************/ +/* $XFree86: xc/include/extensions/Print.h,v 1.4 2000/01/25 18:37:31 dawes Exp $ */ + +#ifndef _XpPrint_H_ +#define _XpPrint_H_ + +#ifndef _XP_PRINT_SERVER_ +#include <X11/Xlib.h> +#include <X11/Xresource.h> +#include <X11/Xauth.h> +#endif /* _XP_PRINT_SERVER_ */ + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +/****************************************************************************** + * + * Definitions used by the server, library and client. + */ + +/******************************************************************** + * + * Naming and versioning information. + */ +#define XP_PRINTNAME "XpExtension" + +/* + * Add a define below for each major extension release. + */ +#define XP_DONT_CHECK 0 +#define XP_INITIAL_RELEASE 1 + +/* + * For each single entry above, create one major/minor pair. + */ +#define XP_PROTO_MAJOR 1 +#define XP_PROTO_MINOR 0 + +/* + * Identify current version. + */ +#define XP_MAJOR_VERSION XP_PROTO_MAJOR +#define XP_MINOR_VERSION XP_PROTO_MINOR + +/* + * Misc version defines. + */ +#define XP_ABSENT 0 /* Prior to XP Print support */ +#define XP_PRESENT 1 /* With XP Print support */ + +/******************************************************************** + * + * Xp Print Error codes. + */ +#define XP_ERRORS 3 /* number of error types */ + +#define XPBadContext 0 /* Print Context invalid or missing */ +#define XPBadSequence 1 /* Illegal sequence of XP operations */ +#define XPBadResourceID 2 /* X-resource not valid */ + +/******************************************************************** + * + * Xp Print Event masks and codes. + * + */ +#define XP_EVENTS 2 /* number of event types */ + +#define XPNoEventMask 0 /* not an event - just a null mask */ +#define XPPrintMask (1L<<0) +#define XPAttributeMask (1L<<1) + +#define XPPrintNotify 0 /* contains "detail" - see below */ +#define XPAttributeNotify 1 /* contains "detail" - see below */ + +#define XPStartJobNotify 0 /* value for "detail" in XPPrintNotify*/ +#define XPEndJobNotify 1 +#define XPStartDocNotify 2 +#define XPEndDocNotify 3 +#define XPStartPageNotify 4 +#define XPEndPageNotify 5 + +/******************************************************************** + * + * Xp Print Attribute Object codes (subset of ISO DPA 10175). The + * Xp Server can get and set any of the values, while the Xp Library + * may only be able to set a subset of the attribute objects. + * + * note: the codes are also used as "detail" for XPAttributeNotify + * + * note: XPPageAttr is not defined in ISO DPA 10175. It is unique + * to Xp, and its attributes are a proper subset of XPDocAttr. + */ +typedef unsigned char XPAttributes; /* type of Xp*Attr codes */ + +#define XP_ATTRIBUTES 5 /* those attrs currently supported */ + +#define XPJobAttr 1 /* get/set */ +#define XPDocAttr 2 /* get/set */ +#define XPPageAttr 3 /* get/set - subset of XPDocAttr */ +#define XPPrinterAttr 4 /* get only (library) */ +#define XPServerAttr 5 /* get only (library), no + context needed */ + +/* + * note: ISO DPA 10175 defines a number of "attribute objects", of + * which POSIX 1387.4 and the SI Xp will only support a + * subset. + */ +#define XPMediumAttr 6 /* DPA-Object Medium */ +#define XPFontAttr 7 /* DPA-Object Font */ +#define XPResAttr 8 /* DPA-Object Resource */ +#define XPTransAttr 9 /* DPA-Object Transfer method */ +#define XPDelAttr 10 /* DPA-Object Delivery method */ +#define XPAuxSPkg 11 /* DPA-Object Auxiliary sheet package */ +#define XPAuxS 12 /* DPA-Object Auxiliary sheet */ +#define XPFinishAttr 13 /* DPA-Object Finishing */ +#define XPOutputAttr 14 /* DPA-Object Output method */ +#define XPImpAttr 15 /* DPA-Object Imposition */ +#define XPSchedAttr 16 /* DPA-Object Scheduler */ +#define XPIntJobAttr 17 /* DPA-Object Initial value job */ +#define XPIntDocAttr 18 /* DPA-Object Initial value document */ +#define XPResConAttr 19 /* DPA-Object Resource context */ + + +/* + * Replacement rules for XpSetAttributes + */ +typedef unsigned char XPAttrReplacement; +#define XPAttrReplace 1 +#define XPAttrMerge 2 + + +/* + * Return codes for XpGetDocumentData + */ +typedef unsigned char XPGetDocStatus; +#define XPGetDocFinished 0 /* normal termination */ +#define XPGetDocSecondConsumer 1 /* setup error */ +#define XPGetDocError 2 /* runtime error, see generated error */ + + +/* + * Save data types for XpStartJob. + */ +typedef unsigned char XPSaveData; +#define XPSpool 1 /* Job data sent to spooler */ +#define XPGetData 2 /* Job data via XpGetDocumentData */ + + +/* + * Document types for XpStartDoc. + */ +typedef unsigned char XPDocumentType; +#define XPDocNormal 1 /* Doc data handled by Xserver */ +#define XPDocRaw 2 /* Doc data passed through Xserver */ + + +/******************************************************************** + * + * Xp Print Property Names + */ + + +#ifndef _XP_PRINT_SERVER_ + +/****************************************************************************** + * + * Definitions used by the library and clients only. + */ + +/******************************************************************* + * + * General API defines and such. + */ + +/* + * Print Context for XpInitContext and related calls. + */ +typedef XID XPContext; + +/* + * Struct for XpGetPrinterList. + */ +typedef struct { + char *name; /* name */ + char *desc; /* localized description */ +} XPPrinterRec, *XPPrinterList; + +/* + * Typedefs for XpGetDocumentData + */ +typedef void (*XPSaveProc)( Display *display, + XPContext context, + unsigned char *data, + unsigned int data_len, + XPointer client_data); + +typedef void (*XPFinishProc)( Display *display, + XPContext context, + XPGetDocStatus status, + XPointer client_data); + +/* + * Typedefs for XpSetLocaleHinter and XpGetLocaleHinter + */ +typedef char * (*XPHinterProc)(void); + +#if 0 +/******************************************************************* + * + * Extension version structures. + * + **** this structure is now defined localy in the one file that uses it + **** in order to avoid clashes with its definition in XI.h + */ +typedef struct { + int present; + short major_version; + short minor_version; +} XExtensionVersion; +#endif + +/******************************************************************** + * + * Event structs for clients. + * + * note: these events are relative to a print context, and + * not to a window as in core X. + */ +typedef struct { + int type; /* base + XPPrintNotify */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if from a SendEvent request */ + Display *display; /* Display the event was read from */ + XPContext context; /* print context where operation was requested */ + Bool cancel; /* was detailed event canceled */ + int detail; /* XPStartJobNotify, XPEndJobNotify, + XPStartDocNotify, XPEndDocNotify, + XPStartPageNotify, XPEndPageNotify */ +} XPPrintEvent; + +typedef struct { + int type; /* base + XPAttributeNotify */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if from a SendEvent request */ + Display *display; /* Display the event was read from */ + XPContext context; /* print context where operation was requested */ + int detail; /* XPJobAttr, XPDocAttr, XPPageAttr, + XPPrinterAttr, XPSpoolerAttr, + XPMediumAttr, XPServerAttr */ +} XPAttributeEvent; + +typedef struct { + int type; /* base + XPDataReadyNotify */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if from a SendEvent request */ + Display *display; /* Display the event was read from */ + XPContext context; /* print context where operation was requested */ + unsigned long available; /* bytes available for retrieval */ +} XPDataReadyEvent; + + +/********************************************************** + * + * Function prototypes for library side. + */ + +extern XPContext XpCreateContext ( + Display *display, + char *printer_name +); + +extern void XpSetContext ( + Display *display, + XPContext print_context +); + +extern XPContext XpGetContext ( + Display *display +); + +extern void XpDestroyContext ( + Display *display, + XPContext print_context +); + +extern Screen *XpGetScreenOfContext ( + Display *display, + XPContext print_context +); + +extern Status XpGetPageDimensions ( + Display *display, + XPContext print_context, + unsigned short *width, /* return value */ + unsigned short *height, /* return value */ + XRectangle *reproducible_area /* return value */ +); + +extern void XpStartJob ( + Display *display, + XPSaveData save_data +); + +extern void XpEndJob ( + Display *display +); + +extern void XpCancelJob ( + Display *display, + Bool discard +); + +extern void XpStartDoc ( + Display *display, + XPDocumentType type +); + +extern void XpEndDoc ( + Display *display +); + +extern void XpCancelDoc ( + Display *display, + Bool discard +); + +extern void XpPutDocumentData ( + Display *display, + Drawable drawable, + unsigned char *data, + int data_len, + char *doc_fmt, + char *options +); + +extern Status XpGetDocumentData ( + Display *display, + XPContext context, + XPSaveProc save_proc, + XPFinishProc finish_proc, + XPointer client_data +); + +extern void XpStartPage ( + Display *display, + Window window +); + +extern void XpEndPage ( + Display *display +); + +extern void XpCancelPage ( + Display *display, + Bool discard +); + +extern void XpSelectInput ( + Display *display, + XPContext print_context, + unsigned long event_mask +); + +extern unsigned long XpInputSelected ( + Display *display, + XPContext print_context, + unsigned long *all_events_mask +); + +extern Bool XpSetImageResolution ( + Display *display, + XPContext print_context, + int image_res, + int *prev_res +); + +extern int XpGetImageResolution ( + Display *display, + XPContext print_context +); + +extern char *XpGetAttributes ( + Display *display, + XPContext print_context, + XPAttributes type +); + +extern void XpSetAttributes ( + Display *display, + XPContext print_context, + XPAttributes type, + char *pool, + XPAttrReplacement replacement_rule +); + +extern char *XpGetOneAttribute ( + Display *display, + XPContext print_context, + XPAttributes type, + char *attribute_name +); + +extern XPPrinterList XpGetPrinterList ( + Display *display, + char *printer_name, + int *list_count /* return value */ +); + +extern void XpFreePrinterList ( + XPPrinterList printer_list +); + +extern void XpRehashPrinterList ( + Display *display +); + +extern Status XpQueryVersion ( + Display *display, + short *major_version, /* return value */ + short *minor_version /* return value */ +); + +extern Bool XpQueryExtension ( + Display *display, + int *event_base_return, /* return value */ + int *error_base_return /* return value */ +); + +extern Screen **XpQueryScreens ( + Display *display, + int *list_count /* return value */ +); + +extern Status XpGetPdmStartParams ( + Display *print_display, + Window print_window, + XPContext print_context, + Display *video_display, + Window video_window, + Display **selection_display, /* return value */ + Atom *selection, /* return value */ + Atom *type, /* return value */ + int *format, /* return value */ + unsigned char **data, /* return value */ + int *nelements /* return value */ +); + +extern Status XpGetAuthParams ( + Display *print_display, + Display *video_display, + Display **selection_display, /* return value */ + Atom *selection, /* return value */ + Atom *target /* return value */ +); + +extern Status XpSendAuth ( + Display *display, + Window window +); + +extern Status XpSendOneTicket ( + Display *display, + Window window, + Xauth *ticket, + Bool more +); + +extern void XpSetLocaleHinter ( + XPHinterProc hinter_proc, + char *hinter_desc +); + +extern char *XpGetLocaleHinter ( + XPHinterProc *hinter_proc +); + +extern char *XpGetLocaleNetString(void); + +extern char *XpNotifyPdm ( + Display *print_display, + Window print_window, + XPContext print_context, + Display *video_display, + Window video_window, + Bool auth_flag +); + +#endif /* _XP_PRINT_SERVER_ */ + +_XFUNCPROTOEND + +#endif /* _XpPrint_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/Printstr.h b/ThirdParty/X11/Include/X11/extensions/Printstr.h new file mode 100644 index 0000000..8fc9958 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/Printstr.h @@ -0,0 +1,783 @@ +/* $Xorg: Printstr.h,v 1.3 2000/08/18 04:05:44 coskrey Exp $ */ +/****************************************************************************** + ****************************************************************************** + ** + ** File: Printstr.h + ** + ** Description: Definitions needed by the server and library, but + ** not clients. + ** + ** Print.h for server, library and clients. + ** + ****************************************************************************** + ** + ** (c) Copyright 1996 Hewlett-Packard Company + ** (c) Copyright 1996 International Business Machines Corp. + ** (c) Copyright 1996 Sun Microsystems, Inc. + ** (c) Copyright 1996 Novell, Inc. + ** (c) Copyright 1996 Digital Equipment Corp. + ** (c) Copyright 1996 Fujitsu Limited + ** (c) Copyright 1996 Hitachi, Ltd. + ** + ** Permission is hereby granted, free of charge, to any person obtaining a copy + ** of this software and associated documentation files (the "Software"), to deal + ** in the Software without restriction, including without limitation the rights + ** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + ** copies of the Software, and to permit persons to whom the Software is + ** furnished to do so, subject to the following conditions: + ** + ** The above copyright notice and this permission notice shall be included in + ** all copies or substantial portions of the Software. + ** + ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + ** COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + ** IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + ** CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + ** + ** Except as contained in this notice, the names of the copyright holders shall + ** not be used in advertising or otherwise to promote the sale, use or other + ** dealings in this Software without prior written authorization from said + ** copyright holders. + ** + ****************************************************************************** + *****************************************************************************/ +/* $XFree86: xc/include/extensions/Printstr.h,v 1.5 2001/08/01 00:44:35 tsi Exp $ */ + + +#ifndef _XpPrintstr_H_ +#define _XpPrintstr_H_ + +/* + * NEED_EVENTS and NEED_REPLIES are hacks to limit the linker symbol-table + * size. When function prototypes are needed from Print.h, this sets up + * a cascading dependency on Printstr.h and eventually Xproto.h to provide + * the event and reply struct definitions. + */ +#ifndef NEED_EVENTS +#define NEED_EVENTS +#endif /* NEED_EVENTS */ + +#define NEED_REPLIES + +#include <X11/Xproto.h> +#ifndef _XP_PRINT_SERVER_ +#include <X11/Xlib.h> +#endif /* _XP_PRINT_SERVER_ */ + +/* + * Pull in other definitions. Print.h will hide some things if we're + * doing server side work. + */ +#include <X11/extensions/Print.h> + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +/****************************************************************************** + * + * Protocol requests constants and alignment values + * + * Note: Xlib macro's expect X_ABC where ABC is the name of the + * protocol request. + */ +#define X_PrintQueryVersion 0 +#define X_PrintGetPrinterList 1 +#define X_PrintCreateContext 2 +#define X_PrintSetContext 3 +#define X_PrintGetContext 4 +#define X_PrintDestroyContext 5 +#define X_PrintGetContextScreen 6 +#define X_PrintStartJob 7 +#define X_PrintEndJob 8 +#define X_PrintStartDoc 9 +#define X_PrintEndDoc 10 +#define X_PrintPutDocumentData 11 +#define X_PrintGetDocumentData 12 +#define X_PrintStartPage 13 +#define X_PrintEndPage 14 +#define X_PrintSelectInput 15 +#define X_PrintInputSelected 16 +#define X_PrintGetAttributes 17 +#define X_PrintSetAttributes 18 +#define X_PrintGetOneAttribute 19 +#define X_PrintRehashPrinterList 20 +#define X_PrintGetPageDimensions 21 +#define X_PrintQueryScreens 22 +#define X_PrintSetImageResolution 23 +#define X_PrintGetImageResolution 24 + +/******************************************************************** + * + * Protocol data types + */ +#define PCONTEXT CARD32 +#define WINDOW CARD32 +#define DRAWABLE CARD32 +#define BITMASK CARD32 + +/****************************************************************************** + * + * Event wire struct definitions + * + * Note: Xlib macro's expect xABC struct names and sz_xABC size + * constants where ABC is the name of the protocol request. + */ + + +/********************************************************************* + * + * Events. + * + * See Print.h for the protocol "type" values. + */ +typedef struct _xPrintPrintEvent { + BYTE type; /* XPPrintNotify + extEntry->eventBase */ + BYTE detail; /* XPStartJobNotify, XPEndJobNotify, + XPStartDocNotify, XPEndDocNotify, + XPStartPageNotify, XPEndPageNotify */ + CARD16 sequenceNumber B16; + PCONTEXT printContext B32; /* print context */ + BOOL cancel; /* canceled flag */ + CARD8 pad1; /* rest is unused */ + CARD16 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; +} xPrintPrintEvent; +#define sz_xPrintPrintEvent 32; + +typedef struct _xPrintAttributeEvent { + BYTE type; /* XPAttributeNotify + extEntry->eventBase */ + BYTE detail; /* XPJobAttr, XPDocAttr, XPPageAttr, + XPPrinterAttr, XPSpoolerAttr, + XPMediumAttr, XPServerAttr */ + CARD16 sequenceNumber B16; + PCONTEXT printContext B32; /* print context */ + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xPrintAttributeEvent; +#define sz_xPrintAttributeEvent 32; + + +/********************************************************************* + * + * Requests + */ +typedef struct _PrintQueryVersion { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintQueryVersion */ + CARD16 length B16; +} xPrintQueryVersionReq; +#define sz_xPrintQueryVersionReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; /* not used */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 majorVersion B16; /* major version of Xp protocol */ + CARD16 minorVersion B16; /* minor version of Xp protocol */ + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xPrintQueryVersionReply; +#define sz_xPrintQueryVersionReply 32 + + +typedef struct _PrintGetPrinterList { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintGetPrinterList */ + CARD16 length B16; + CARD32 printerNameLen B32; /* length of printer name */ + CARD32 localeLen B32; /* length of locale string */ + + /* variable portion ***************************************** + STRING8 printerName; * printer name * + BYTE pad(printerNameLen) * unused * + STRING8 locale; * locale * + BYTE pad(localeLen) * unused * + ************************************************************/ +} xPrintGetPrinterListReq; +#define sz_xPrintGetPrinterListReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; /* not used */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 listCount B32; /* of PRINTER recs below */ + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + + /* variable portion ***************************************** + CARD32 nameLen B32; * length of name in bytes * + STRING8 name; * name * + BYTE pad(nameLen) * unused * + + CARD32 descLen B32; * length of desc in bytes * + STRING8 desc; * localized description * + BYTE pad(descLen) * unused * + ************************************************************/ +} xPrintGetPrinterListReply; +#define sz_xPrintGetPrinterListReply 32 + + +typedef struct _PrintRehashPrinterList { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintRehashPrinterList */ + CARD16 length B16; +} xPrintRehashPrinterListReq; +#define sz_xPrintRehashPrinterListReq 4 + + +typedef struct _PrintCreateContext { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintInitSetContext */ + CARD16 length B16; + CARD32 contextID B32; /* ID for context */ + CARD32 printerNameLen B32; /* length of printerName in bytes */ + CARD32 localeLen B32; /* length of locale in bytes */ + + /* variable portion ***************************************** + STRING8 printerName * printer name * + BYTE pad(printerNameLen) * unused * + STRING8 locale * locale * + BYTE pad(locale) * unused * + ************************************************************/ +} xPrintCreateContextReq; +#define sz_xPrintCreateContextReq 16 + + +typedef struct _PrintSetContext { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintSetContext */ + CARD16 length B16; + PCONTEXT printContext B32; /* print context */ +} xPrintSetContextReq; +#define sz_xPrintSetContextReq 8 + + +typedef struct _PrintGetContext { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintGetContext */ + CARD16 length B16; +} xPrintGetContextReq; +#define sz_xPrintGetContextReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; /* not used */ + CARD16 sequenceNumber B16; + CARD32 length B32; + PCONTEXT printContext B32; /* print context */ + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xPrintGetContextReply; +#define sz_xPrintGetContextReply 32 + + +typedef struct _PrintDestroyContext { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintDestroyContext */ + CARD16 length B16; + PCONTEXT printContext B32; /* print context */ +} xPrintDestroyContextReq; +#define sz_xPrintDestroyContextReq 8 + + +typedef struct _PrintGetContextScreen { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintGetContextScreen */ + CARD16 length B16; + PCONTEXT printContext B32; /* print context */ +} xPrintGetContextScreenReq; +#define sz_xPrintGetContextScreenReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; /* not used */ + CARD16 sequenceNumber B16; + CARD32 length B32; + WINDOW rootWindow; /* screenPtr represented as rootWin */ + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xPrintGetContextScreenReply; +#define sz_xPrintGetContextScreenReply 32 + + +typedef struct _PrintStartJob { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintStartJob */ + CARD16 length B16; + CARD8 saveData; /* save data boolean */ + CARD8 pad1; + CARD16 pad2 B16; +} xPrintStartJobReq; +#define sz_xPrintStartJobReq 8 + +typedef struct _PrintEndJob { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintEndJob */ + CARD16 length B16; + BOOL cancel; /* cancel boolean */ + CARD8 pad1; + CARD16 pad2 B16; +} xPrintEndJobReq; +#define sz_xPrintEndJobReq 8 + + +typedef struct _PrintStartDoc { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintStartDoc */ + CARD16 length B16; + CARD8 type; /* type for document */ + CARD8 pad1; + CARD16 pad2 B16; +} xPrintStartDocReq; +#define sz_xPrintStartDocReq 8 + +typedef struct _PrintEndDoc { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintEndDoc */ + CARD16 length B16; + BOOL cancel; /* cancel boolean */ + CARD8 pad1; + CARD16 pad2 B16; +} xPrintEndDocReq; +#define sz_xPrintEndDocReq 8 + + +typedef struct _PrintPutDocumentData { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintPutDocumentData */ + CARD16 length B16; + DRAWABLE drawable B32; /* target drawable */ + CARD32 len_data B32; /* big len in bytes */ + CARD16 len_fmt; /* len in bytes */ + CARD16 len_options; /* len in bytes */ + + /* variable portion ***************************************** + LISTofBYTE data; * data * + BYTE pad(len_data) * unused * + STRING8 doc_fmt; * ISO compliant desc of data type * + BYTE pad(len_fmt) * unused * + STRING8 options; * additional device-dependent desc * + BYTE pad(len_options) * unused * + ************************************************************/ +} xPrintPutDocumentDataReq; +#define sz_xPrintPutDocumentDataReq 16 + + +typedef struct _PrintGetDocumentData { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintGetDocumentData */ + CARD16 length B16; + PCONTEXT printContext B32; /* print context */ + CARD32 maxBufferSize B32; /* maximum buffer size requested */ +} xPrintGetDocumentDataReq; +#define sz_xPrintGetDocumentDataReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; /* not used */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 statusCode B32; /* status code for reply */ + CARD32 finishedFlag B32; /* is this the last reply */ + CARD32 dataLen B32; /* data length */ + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + + /* variable portion ***************************************** + LISTofBYTE data; * data * + BYTE pad(count) * unused * + ************************************************************/ +} xPrintGetDocumentDataReply; +#define sz_xPrintGetDocumentDataReply 32 + + +typedef struct _PrintStartPage { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintStartPage */ + CARD16 length B16; + WINDOW window B32; /* window */ +} xPrintStartPageReq; +#define sz_xPrintStartPageReq 8 + +typedef struct _PrintEndPage { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintEndPage */ + CARD16 length B16; + BOOL cancel; /* cancel boolean */ + CARD8 pad1; + CARD16 pad2 B16; +} xPrintEndPageReq; +#define sz_xPrintEndPageReq 8 + + +typedef struct _PrintSelectInput { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintSelectInput */ + CARD16 length B16; + PCONTEXT printContext B32; /* print context */ + BITMASK eventMask B32; +} xPrintSelectInputReq; +#define sz_xPrintSelectInputReq 12 + + +typedef struct _PrintInputSelected { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintInputSelected */ + CARD16 length B16; + PCONTEXT printContext B32; /* print context */ +} xPrintInputSelectedReq; +#define sz_xPrintInputSelectedReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; /* not used */ + CARD16 sequenceNumber B16; + CARD32 length B32; + BITMASK eventMask B32; /* your event mask */ + BITMASK allEventsMask B32; /* all event mask */ + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xPrintInputSelectedReply; +#define sz_xPrintInputSelectedReply 32 + +typedef struct _PrintGetAttributes { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintGetAttributes */ + CARD16 length B16; + PCONTEXT printContext B32; /* print context */ + CARD8 type; /* type */ + CARD8 pad1; /* unused */ + CARD16 pad2 B16; /* unused */ +} xPrintGetAttributesReq; +#define sz_xPrintGetAttributesReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; /* not used */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 stringLen B32; /* length of xrm db string */ + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + + /* variable portion ***************************************** + STRING8 string; * xrm db as a string * + BYTE pad(stringLen) * unused * + ************************************************************/ +} xPrintGetAttributesReply; +#define sz_xPrintGetAttributesReply 32 + + +typedef struct _PrintSetAttributes { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintSetAttributes */ + CARD16 length B16; + PCONTEXT printContext B32; /* print context */ + CARD32 stringLen B32; /* length of xrm db string */ + CARD8 type; /* type */ + CARD8 rule; /* replacement rule */ + CARD16 pad1 B16; /* unused */ + + /* variable portion ***************************************** + STRING8 string; * xrm db as a string * + BYTE pad(stringLen) * unused * + ************************************************************/ +} xPrintSetAttributesReq; +#define sz_xPrintSetAttributesReq 16 + + +typedef struct _PrintGetOneAttribute { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintGetOneAttribute */ + CARD16 length B16; + PCONTEXT printContext B32; /* print context */ + CARD32 nameLen; /* length of name string */ + CARD8 type; /* type */ + CARD8 pad1; /* unused */ + CARD16 pad2 B16; /* unused */ + + /* variable portion ***************************************** + STRING8 name; * name as a string * + BYTE pad(name) * unused * + ************************************************************/ +} xPrintGetOneAttributeReq; +#define sz_xPrintGetOneAttributeReq 16 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; /* not used */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 valueLen B32; /* length of value string */ + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + + /* variable portion ***************************************** + STRING8 value; * value as a string * + BYTE pad(value) * unused * + ************************************************************/ +} xPrintGetOneAttributeReply; +#define sz_xPrintGetOneAttributeReply 32 + + +typedef struct _PrintGetPageDimensions { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintGetPageDimensions */ + CARD16 length B16; + PCONTEXT printContext B32; /* print context */ +} xPrintGetPageDimensionsReq; +#define sz_xPrintGetPageDimensionsReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; /* not used */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 width; /* total pixel width */ + CARD16 height; /* total pixel height */ + CARD16 rx; /* reproducable x pixel offset */ + CARD16 ry; /* reproducable y pixel offset */ + CARD16 rwidth; /* reproducable x pixel width */ + CARD16 rheight; /* reproducable y pixel width */ + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xPrintGetPageDimensionsReply; +#define sz_xPrintGetPageDimensionsReply 32 + + +typedef struct _PrintQueryScreens { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintQueryScreens */ + CARD16 length B16; +} xPrintQueryScreensReq; +#define sz_xPrintQueryScreensReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; /* not used */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 listCount; /* number of screens following */ + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + + /* variable portion ***************************************** + WINDOW rootWindow; * root window of screen * + ************************************************************/ +} xPrintQueryScreensReply; +#define sz_xPrintQueryScreensReply 32 + +typedef struct _PrintSetImageResolution { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintSetImageResolution */ + CARD16 length B16; + PCONTEXT printContext B32; /* print context */ + CARD16 imageRes B16; /* image resolution */ + CARD16 pad1 B16; +} xPrintSetImageResolutionReq; +#define sz_xPrintSetImageResolutionReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL status; /* accepted or not */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 prevRes B16; /* previous resolution */ + CARD16 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xPrintSetImageResolutionReply; +#define sz_xPrintSetImageResolutionReply 32 + +typedef struct _PrintGetImageResolution { + CARD8 reqType; /* always PrintReqCode */ + CARD8 printReqType; /* always X_PrintGetImageResolution */ + CARD16 length B16; + PCONTEXT printContext B32; /* print context */ +} xPrintGetImageResolutionReq; +#define sz_xPrintGetImageResolutionReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 imageRes B16; /* image resolution */ + CARD16 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xPrintGetImageResolutionReply; +#define sz_xPrintGetImageResolutionReply 32 + +#ifndef _XP_PRINT_SERVER_ +/*********************************************************************** + * + * Library-only definitions. + */ +extern XPHinterProc _xp_hinter_proc; +extern char *_xp_hinter_desc; +extern int _xp_hinter_init; + +#else /* _XP_PRINT_SERVER_ */ + +/*********************************************************************** + * + * Server-only definitions shared between the extension and DDX layers. + * + */ + +/* + * Internal return code used to indicate that the requesting + * client has been suspended. + */ +#define Suspended 84 + +struct _XpContext; + +extern void XpRegisterPrinterScreen( + ScreenPtr pScreen, + int (*CreateContext)(struct _XpContext *)); + +typedef struct _xpprintFuncs { + int (*StartJob)( + struct _XpContext * /* pContext */, + Bool /* sendClientData */, + ClientPtr /* client */); + int (*EndJob)(struct _XpContext *, int); + int (*StartDoc)( + struct _XpContext * /* pContext */, + XPDocumentType /* type */); + int (*EndDoc)(struct _XpContext *, int); + int (*StartPage)( + struct _XpContext * /* pContext */, + WindowPtr /* pWin */); + int (*EndPage)( + struct _XpContext * /* pContext */, + WindowPtr /* pWin */); + int (*PutDocumentData)( + struct _XpContext * /* pContext */, + DrawablePtr /* pDraw */, + char * /* pData */, + int /* len_data */, + char * /* pDoc_fmt */, + int /* len_fmt */, + char * /* pOptions */, + int /* len_options */, + ClientPtr /* client */); + int (*GetDocumentData)( + struct _XpContext * /* pContext */, + ClientPtr /* client */, + int /* maxBufferSize */); + int (*DestroyContext)( + struct _XpContext *); /* pContext */ + char *(*GetAttributes)( + struct _XpContext *, + XPAttributes /* pool */); + char *(*GetOneAttribute)( + struct _XpContext * /* pContext */, + XPAttributes /* pool */, + char * /* attrs */); + int (*SetAttributes)( + struct _XpContext * /* pContext */, + XPAttributes /* pool */, + char * /* attrs */); + int (*AugmentAttributes)( + struct _XpContext * /* pContext */, + XPAttributes /* pool */, + char * /* attrs */); + int (*GetMediumDimensions)( + struct _XpContext * /* pPrintContext */, + CARD16 * /* pWidth */, + CARD16 * /* pHeight */); + int (*GetReproducibleArea)( + struct _XpContext * /* pPrintContext */, + xRectangle * /* pRect */); + int (*SetImageResolution)( + struct _XpContext * /* pPrintContext */, + int /* imageRes */, + Bool * /* pStatus */); +} XpDriverFuncs, *XpDriverFuncsPtr; + +/* + * Each print context is represented by one of the following structs + * associated with a resource ID of type RTcontext . A pointer to + * the context is placed in the Xp extension's devPrivates + * element in each client * which establishes a context via + * either initContext or setContext. + * The context pointer is also placed in the struct indicated by the + * RTpage resource associated with each StartPage'd window. + */ +typedef struct _XpContext { + XID contextID; + char *printerName; + int screenNum; /* screen containing the printer */ + struct _XpClient *clientHead; /* list of clients */ + CARD32 state; + VisualID pageWin; + DevUnion *devPrivates; + XpDriverFuncs funcs; + ClientPtr clientSlept; + int imageRes; +} XpContextRec, *XpContextPtr; + +#include <X11/fonts/fontstruct.h> /* FontResolutionPtr */ + +extern Bool XpAllocateContextPrivate(int, unsigned); +extern FontResolutionPtr XpGetClientResolutions(ClientPtr, int *); +extern XpContextPtr XpContextOfClient(ClientPtr); +extern XpContextPtr XpGetPrintContext(ClientPtr); +extern int XpAllocateContextPrivateIndex(void); +extern int XpRehashPrinterList(void); +extern void XpSetFontResFunc(ClientPtr); +extern void XpUnsetFontResFunc(ClientPtr); +extern void XpRegisterInitFunc(ScreenPtr, char *, int (*)(struct _XpContext *)); + +#endif /* _XP_PRINT_SERVER_ */ + +_XFUNCPROTOEND + +#endif /* _XpPrintstr_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/XEVI.h b/ThirdParty/X11/Include/X11/extensions/XEVI.h new file mode 100644 index 0000000..9ca4412 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XEVI.h @@ -0,0 +1,61 @@ +/************************************************************ +Copyright (c) 1997 by Silicon Graphics Computer Systems, Inc. +Permission to use, copy, modify, and distribute this +software and its documentation for any purpose and without +fee is hereby granted, provided that the above copyright +notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting +documentation, and that the name of Silicon Graphics not be +used in advertising or publicity pertaining to distribution +of the software without specific prior written permission. +Silicon Graphics makes no representation about the suitability +of this software for any purpose. It is provided "as is" +without any express or implied warranty. +SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON +GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH +THE USE OR PERFORMANCE OF THIS SOFTWARE. +********************************************************/ + +#ifndef _XEVI_H_ +#define _XEVI_H_ +#include <X11/Xfuncproto.h> +#include <X11/extensions/EVI.h> + +typedef struct { + VisualID core_visual_id; + int screen; + int level; + unsigned int transparency_type; + unsigned int transparency_value; + unsigned int min_hw_colormaps; + unsigned int max_hw_colormaps; + unsigned int num_colormap_conflicts; + VisualID* colormap_conflicts; +} ExtendedVisualInfo; + +_XFUNCPROTOBEGIN + +Bool XeviQueryExtension( + Display* /* dpy */ +); +Status XeviQueryVersion( + Display* /* dpy */, + int* /* majorVersion */, + int* /* minorVersion */ +); +Status XeviGetVisualInfo( + Display* /* dpy */, + VisualID* /* visual_query */, + int /* nVisual_query */, + ExtendedVisualInfo** /* extendedVisualInfo_return */, + int* /* nInfo_return */ +); + +_XFUNCPROTOEND + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/XI.h b/ThirdParty/X11/Include/X11/extensions/XI.h new file mode 100644 index 0000000..7b44399 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XI.h @@ -0,0 +1,308 @@ +/************************************************************ + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +Copyright 1989 by Hewlett-Packard Company, Palo Alto, California. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Hewlett-Packard not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +HEWLETT-PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +HEWLETT-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +********************************************************/ + +/* Definitions used by the server, library and client */ + +#ifndef _XI_H_ +#define _XI_H_ + +#define sz_xGetExtensionVersionReq 8 +#define sz_xGetExtensionVersionReply 32 +#define sz_xListInputDevicesReq 4 +#define sz_xListInputDevicesReply 32 +#define sz_xOpenDeviceReq 8 +#define sz_xOpenDeviceReply 32 +#define sz_xCloseDeviceReq 8 +#define sz_xSetDeviceModeReq 8 +#define sz_xSetDeviceModeReply 32 +#define sz_xSelectExtensionEventReq 12 +#define sz_xGetSelectedExtensionEventsReq 8 +#define sz_xGetSelectedExtensionEventsReply 32 +#define sz_xChangeDeviceDontPropagateListReq 12 +#define sz_xGetDeviceDontPropagateListReq 8 +#define sz_xGetDeviceDontPropagateListReply 32 +#define sz_xGetDeviceMotionEventsReq 16 +#define sz_xGetDeviceMotionEventsReply 32 +#define sz_xChangeKeyboardDeviceReq 8 +#define sz_xChangeKeyboardDeviceReply 32 +#define sz_xChangePointerDeviceReq 8 +#define sz_xChangePointerDeviceReply 32 +#define sz_xGrabDeviceReq 20 +#define sz_xGrabDeviceReply 32 +#define sz_xUngrabDeviceReq 12 +#define sz_xGrabDeviceKeyReq 20 +#define sz_xGrabDeviceKeyReply 32 +#define sz_xUngrabDeviceKeyReq 16 +#define sz_xGrabDeviceButtonReq 20 +#define sz_xGrabDeviceButtonReply 32 +#define sz_xUngrabDeviceButtonReq 16 +#define sz_xAllowDeviceEventsReq 12 +#define sz_xGetDeviceFocusReq 8 +#define sz_xGetDeviceFocusReply 32 +#define sz_xSetDeviceFocusReq 16 +#define sz_xGetFeedbackControlReq 8 +#define sz_xGetFeedbackControlReply 32 +#define sz_xChangeFeedbackControlReq 12 +#define sz_xGetDeviceKeyMappingReq 8 +#define sz_xGetDeviceKeyMappingReply 32 +#define sz_xChangeDeviceKeyMappingReq 8 +#define sz_xGetDeviceModifierMappingReq 8 +#define sz_xSetDeviceModifierMappingReq 8 +#define sz_xSetDeviceModifierMappingReply 32 +#define sz_xGetDeviceButtonMappingReq 8 +#define sz_xGetDeviceButtonMappingReply 32 +#define sz_xSetDeviceButtonMappingReq 8 +#define sz_xSetDeviceButtonMappingReply 32 +#define sz_xQueryDeviceStateReq 8 +#define sz_xQueryDeviceStateReply 32 +#define sz_xSendExtensionEventReq 16 +#define sz_xDeviceBellReq 8 +#define sz_xSetDeviceValuatorsReq 8 +#define sz_xSetDeviceValuatorsReply 32 +#define sz_xGetDeviceControlReq 8 +#define sz_xGetDeviceControlReply 32 +#define sz_xChangeDeviceControlReq 8 +#define sz_xChangeDeviceControlReply 32 +#define sz_xListDevicePropertiesReq 8 +#define sz_xListDevicePropertiesReply 32 +#define sz_xChangeDevicePropertyReq 20 +#define sz_xDeleteDevicePropertyReq 12 +#define sz_xGetDevicePropertyReq 24 +#define sz_xGetDevicePropertyReply 32 + +#define INAME "XInputExtension" + +#define XI_KEYBOARD "KEYBOARD" +#define XI_MOUSE "MOUSE" +#define XI_TABLET "TABLET" +#define XI_TOUCHSCREEN "TOUCHSCREEN" +#define XI_TOUCHPAD "TOUCHPAD" +#define XI_BARCODE "BARCODE" +#define XI_BUTTONBOX "BUTTONBOX" +#define XI_KNOB_BOX "KNOB_BOX" +#define XI_ONE_KNOB "ONE_KNOB" +#define XI_NINE_KNOB "NINE_KNOB" +#define XI_TRACKBALL "TRACKBALL" +#define XI_QUADRATURE "QUADRATURE" +#define XI_ID_MODULE "ID_MODULE" +#define XI_SPACEBALL "SPACEBALL" +#define XI_DATAGLOVE "DATAGLOVE" +#define XI_EYETRACKER "EYETRACKER" +#define XI_CURSORKEYS "CURSORKEYS" +#define XI_FOOTMOUSE "FOOTMOUSE" +#define XI_JOYSTICK "JOYSTICK" + +/* Indices into the versions[] array (XExtInt.c). Used as a index to + * retrieve the minimum version of XI from _XiCheckExtInit */ +#define Dont_Check 0 +#define XInput_Initial_Release 1 +#define XInput_Add_XDeviceBell 2 +#define XInput_Add_XSetDeviceValuators 3 +#define XInput_Add_XChangeDeviceControl 4 +#define XInput_Add_DevicePresenceNotify 5 +#define XInput_Add_DeviceProperties 6 +/* DO NOT ADD TO HERE -> XI2 */ + +#define XI_Absent 0 +#define XI_Present 1 + +#define XI_Initial_Release_Major 1 +#define XI_Initial_Release_Minor 0 + +#define XI_Add_XDeviceBell_Major 1 +#define XI_Add_XDeviceBell_Minor 1 + +#define XI_Add_XSetDeviceValuators_Major 1 +#define XI_Add_XSetDeviceValuators_Minor 2 + +#define XI_Add_XChangeDeviceControl_Major 1 +#define XI_Add_XChangeDeviceControl_Minor 3 + +#define XI_Add_DevicePresenceNotify_Major 1 +#define XI_Add_DevicePresenceNotify_Minor 4 + +#define XI_Add_DeviceProperties_Major 1 +#define XI_Add_DeviceProperties_Minor 5 + +#define DEVICE_RESOLUTION 1 +#define DEVICE_ABS_CALIB 2 +#define DEVICE_CORE 3 +#define DEVICE_ENABLE 4 +#define DEVICE_ABS_AREA 5 + +#define NoSuchExtension 1 + +#define COUNT 0 +#define CREATE 1 + +#define NewPointer 0 +#define NewKeyboard 1 + +#define XPOINTER 0 +#define XKEYBOARD 1 + +#define UseXKeyboard 0xFF + +#define IsXPointer 0 +#define IsXKeyboard 1 +#define IsXExtensionDevice 2 +#define IsXExtensionKeyboard 3 +#define IsXExtensionPointer 4 + +#define AsyncThisDevice 0 +#define SyncThisDevice 1 +#define ReplayThisDevice 2 +#define AsyncOtherDevices 3 +#define AsyncAll 4 +#define SyncAll 5 + +#define FollowKeyboard 3 +#ifndef RevertToFollowKeyboard +#define RevertToFollowKeyboard 3 +#endif + +#define DvAccelNum (1L << 0) +#define DvAccelDenom (1L << 1) +#define DvThreshold (1L << 2) + +#define DvKeyClickPercent (1L<<0) +#define DvPercent (1L<<1) +#define DvPitch (1L<<2) +#define DvDuration (1L<<3) +#define DvLed (1L<<4) +#define DvLedMode (1L<<5) +#define DvKey (1L<<6) +#define DvAutoRepeatMode (1L<<7) + +#define DvString (1L << 0) + +#define DvInteger (1L << 0) + +#define DeviceMode (1L << 0) +#define Relative 0 +#define Absolute 1 + +#define ProximityState (1L << 1) +#define InProximity (0L << 1) +#define OutOfProximity (1L << 1) + +#define AddToList 0 +#define DeleteFromList 1 + +#define KeyClass 0 +#define ButtonClass 1 +#define ValuatorClass 2 +#define FeedbackClass 3 +#define ProximityClass 4 +#define FocusClass 5 +#define OtherClass 6 +#define AttachClass 7 + +#define KbdFeedbackClass 0 +#define PtrFeedbackClass 1 +#define StringFeedbackClass 2 +#define IntegerFeedbackClass 3 +#define LedFeedbackClass 4 +#define BellFeedbackClass 5 + +#define _devicePointerMotionHint 0 +#define _deviceButton1Motion 1 +#define _deviceButton2Motion 2 +#define _deviceButton3Motion 3 +#define _deviceButton4Motion 4 +#define _deviceButton5Motion 5 +#define _deviceButtonMotion 6 +#define _deviceButtonGrab 7 +#define _deviceOwnerGrabButton 8 +#define _noExtensionEvent 9 + +#define _devicePresence 0 + +#define _deviceEnter 0 +#define _deviceLeave 1 + +/* Device presence notify states */ +#define DeviceAdded 0 +#define DeviceRemoved 1 +#define DeviceEnabled 2 +#define DeviceDisabled 3 +#define DeviceUnrecoverable 4 +#define DeviceControlChanged 5 + +/* XI Errors */ +#define XI_BadDevice 0 +#define XI_BadEvent 1 +#define XI_BadMode 2 +#define XI_DeviceBusy 3 +#define XI_BadClass 4 + +/* + * Make XEventClass be a CARD32 for 64 bit servers. Don't affect client + * definition of XEventClass since that would be a library interface change. + * See the top of X.h for more _XSERVER64 magic. + * + * But, don't actually use the CARD32 type. We can't get it defined here + * without polluting the namespace. + */ +#ifdef _XSERVER64 +typedef unsigned int XEventClass; +#else +typedef unsigned long XEventClass; +#endif + +/******************************************************************* + * + * Extension version structure. + * + */ + +typedef struct { + int present; + short major_version; + short minor_version; +} XExtensionVersion; + +#endif /* _XI_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/XI2.h b/ThirdParty/X11/Include/X11/extensions/XI2.h new file mode 100644 index 0000000..5a1c66a --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XI2.h @@ -0,0 +1,245 @@ +/* + * Copyright © 2009 Red Hat, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef _XI2_H_ +#define _XI2_H_ + +#define XInput_2_0 7 +/* DO NOT ADD TO THIS LIST. These are libXi-specific defines. + See commit libXi-1.4.2-21-ge8531dd */ + +#define XI_2_Major 2 +#define XI_2_Minor 3 + +/* Property event flags */ +#define XIPropertyDeleted 0 +#define XIPropertyCreated 1 +#define XIPropertyModified 2 + +/* Property modes */ +#define XIPropModeReplace 0 +#define XIPropModePrepend 1 +#define XIPropModeAppend 2 + +/* Special property type used for XIGetProperty */ +#define XIAnyPropertyType 0L + +/* Enter/Leave and Focus In/Out modes */ +#define XINotifyNormal 0 +#define XINotifyGrab 1 +#define XINotifyUngrab 2 +#define XINotifyWhileGrabbed 3 +#define XINotifyPassiveGrab 4 +#define XINotifyPassiveUngrab 5 + +/* Enter/Leave and focus In/out detail */ +#define XINotifyAncestor 0 +#define XINotifyVirtual 1 +#define XINotifyInferior 2 +#define XINotifyNonlinear 3 +#define XINotifyNonlinearVirtual 4 +#define XINotifyPointer 5 +#define XINotifyPointerRoot 6 +#define XINotifyDetailNone 7 + +/* Grab modes */ +#define XIGrabModeSync 0 +#define XIGrabModeAsync 1 +#define XIGrabModeTouch 2 + +/* Grab reply status codes */ +#define XIGrabSuccess 0 +#define XIAlreadyGrabbed 1 +#define XIGrabInvalidTime 2 +#define XIGrabNotViewable 3 +#define XIGrabFrozen 4 + +/* Grab owner events values */ +#define XIOwnerEvents True +#define XINoOwnerEvents False + +/* Passive grab types */ +#define XIGrabtypeButton 0 +#define XIGrabtypeKeycode 1 +#define XIGrabtypeEnter 2 +#define XIGrabtypeFocusIn 3 +#define XIGrabtypeTouchBegin 4 + +/* Passive grab modifier */ +#define XIAnyModifier (1U << 31) +#define XIAnyButton 0 +#define XIAnyKeycode 0 + +/* XIAllowEvents event-modes */ +#define XIAsyncDevice 0 +#define XISyncDevice 1 +#define XIReplayDevice 2 +#define XIAsyncPairedDevice 3 +#define XIAsyncPair 4 +#define XISyncPair 5 +#define XIAcceptTouch 6 +#define XIRejectTouch 7 + +/* DeviceChangedEvent change reasons */ +#define XISlaveSwitch 1 +#define XIDeviceChange 2 + +/* Hierarchy flags */ +#define XIMasterAdded (1 << 0) +#define XIMasterRemoved (1 << 1) +#define XISlaveAdded (1 << 2) +#define XISlaveRemoved (1 << 3) +#define XISlaveAttached (1 << 4) +#define XISlaveDetached (1 << 5) +#define XIDeviceEnabled (1 << 6) +#define XIDeviceDisabled (1 << 7) + +/* ChangeHierarchy constants */ +#define XIAddMaster 1 +#define XIRemoveMaster 2 +#define XIAttachSlave 3 +#define XIDetachSlave 4 + +#define XIAttachToMaster 1 +#define XIFloating 2 + +/* Valuator modes */ +#define XIModeRelative 0 +#define XIModeAbsolute 1 + +/* Device types */ +#define XIMasterPointer 1 +#define XIMasterKeyboard 2 +#define XISlavePointer 3 +#define XISlaveKeyboard 4 +#define XIFloatingSlave 5 + +/* Device classes: classes that are not identical to Xi 1.x classes must be + * numbered starting from 8. */ +#define XIKeyClass 0 +#define XIButtonClass 1 +#define XIValuatorClass 2 +#define XIScrollClass 3 +#define XITouchClass 8 + +/* Scroll class types */ +#define XIScrollTypeVertical 1 +#define XIScrollTypeHorizontal 2 + +/* Scroll class flags */ +#define XIScrollFlagNoEmulation (1 << 0) +#define XIScrollFlagPreferred (1 << 1) + +/* Device event flags (common) */ +/* Device event flags (key events only) */ +#define XIKeyRepeat (1 << 16) +/* Device event flags (pointer events only) */ +#define XIPointerEmulated (1 << 16) +/* Device event flags (touch events only) */ +#define XITouchPendingEnd (1 << 16) +#define XITouchEmulatingPointer (1 << 17) + +/* Barrier event flags */ +#define XIBarrierPointerReleased (1 << 0) +#define XIBarrierDeviceIsGrabbed (1 << 1) + + +/* Touch modes */ +#define XIDirectTouch 1 +#define XIDependentTouch 2 + +/* XI2 event mask macros */ +#define XISetMask(ptr, event) (((unsigned char*)(ptr))[(event)>>3] |= (1 << ((event) & 7))) +#define XIClearMask(ptr, event) (((unsigned char*)(ptr))[(event)>>3] &= ~(1 << ((event) & 7))) +#define XIMaskIsSet(ptr, event) (((unsigned char*)(ptr))[(event)>>3] & (1 << ((event) & 7))) +#define XIMaskLen(event) (((event) >> 3) + 1) + +/* Fake device ID's for event selection */ +#define XIAllDevices 0 +#define XIAllMasterDevices 1 + +/* Event types */ +#define XI_DeviceChanged 1 +#define XI_KeyPress 2 +#define XI_KeyRelease 3 +#define XI_ButtonPress 4 +#define XI_ButtonRelease 5 +#define XI_Motion 6 +#define XI_Enter 7 +#define XI_Leave 8 +#define XI_FocusIn 9 +#define XI_FocusOut 10 +#define XI_HierarchyChanged 11 +#define XI_PropertyEvent 12 +#define XI_RawKeyPress 13 +#define XI_RawKeyRelease 14 +#define XI_RawButtonPress 15 +#define XI_RawButtonRelease 16 +#define XI_RawMotion 17 +#define XI_TouchBegin 18 /* XI 2.2 */ +#define XI_TouchUpdate 19 +#define XI_TouchEnd 20 +#define XI_TouchOwnership 21 +#define XI_RawTouchBegin 22 +#define XI_RawTouchUpdate 23 +#define XI_RawTouchEnd 24 +#define XI_BarrierHit 25 /* XI 2.3 */ +#define XI_BarrierLeave 26 +#define XI_LASTEVENT XI_BarrierLeave +/* NOTE: XI2LASTEVENT in xserver/include/inputstr.h must be the same value + * as XI_LASTEVENT if the server is supposed to handle masks etc. for this + * type of event. */ + +/* Event masks. + * Note: the protocol spec defines a mask to be of (1 << type). Clients are + * free to create masks by bitshifting instead of using these defines. + */ +#define XI_DeviceChangedMask (1 << XI_DeviceChanged) +#define XI_KeyPressMask (1 << XI_KeyPress) +#define XI_KeyReleaseMask (1 << XI_KeyRelease) +#define XI_ButtonPressMask (1 << XI_ButtonPress) +#define XI_ButtonReleaseMask (1 << XI_ButtonRelease) +#define XI_MotionMask (1 << XI_Motion) +#define XI_EnterMask (1 << XI_Enter) +#define XI_LeaveMask (1 << XI_Leave) +#define XI_FocusInMask (1 << XI_FocusIn) +#define XI_FocusOutMask (1 << XI_FocusOut) +#define XI_HierarchyChangedMask (1 << XI_HierarchyChanged) +#define XI_PropertyEventMask (1 << XI_PropertyEvent) +#define XI_RawKeyPressMask (1 << XI_RawKeyPress) +#define XI_RawKeyReleaseMask (1 << XI_RawKeyRelease) +#define XI_RawButtonPressMask (1 << XI_RawButtonPress) +#define XI_RawButtonReleaseMask (1 << XI_RawButtonRelease) +#define XI_RawMotionMask (1 << XI_RawMotion) +#define XI_TouchBeginMask (1 << XI_TouchBegin) +#define XI_TouchEndMask (1 << XI_TouchEnd) +#define XI_TouchOwnershipChangedMask (1 << XI_TouchOwnership) +#define XI_TouchUpdateMask (1 << XI_TouchUpdate) +#define XI_RawTouchBeginMask (1 << XI_RawTouchBegin) +#define XI_RawTouchEndMask (1 << XI_RawTouchEnd) +#define XI_RawTouchUpdateMask (1 << XI_RawTouchUpdate) +#define XI_BarrierHitMask (1 << XI_BarrierHit) +#define XI_BarrierLeaveMask (1 << XI_BarrierLeave) + +#endif /* _XI2_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/XI2proto.h b/ThirdParty/X11/Include/X11/extensions/XI2proto.h new file mode 100644 index 0000000..4cdaa0d --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XI2proto.h @@ -0,0 +1,1091 @@ +/* + * Copyright © 2009 Red Hat, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +/* Conventions for this file: + * Names: + * structs: always typedef'd, prefixed with xXI, CamelCase + * struct members: lower_case_with_underscores + * Exceptions: reqType, ReqType, repType, RepType, sequenceNumber are + * named as such for historical reasons. + * request opcodes: X_XIRequestName as CamelCase + * defines: defines used in client applications must go in XI2.h + * defines used only in protocol handling: XISOMENAME + * + * Data types: unless there is a historical name for a datatype (e.g. + * Window), use stdint types specifying the size of the datatype. + * historical data type names must be defined and undefined at the top and + * end of the file. + * + * General: + * spaces, not tabs. + * structs specific to a request or reply added before the request + * definition. structs used in more than one request, reply or event + * appended to the common structs section before the definition of the + * first request. + * members of structs vertically aligned on column 16 if datatypes permit. + * otherwise alingned on next available 8n column. + */ + +/** + * Protocol definitions for the XI2 protocol. + * This file should not be included by clients that merely use XI2, but do not + * need the wire protocol. Such clients should include XI2.h, or the matching + * header from the library. + * + */ +#ifndef _XI2PROTO_H_ +#define _XI2PROTO_H_ + +#include <X11/Xproto.h> +#include <X11/X.h> +#include <X11/extensions/XI2.h> +#include <stdint.h> + +/* make sure types have right sizes for protocol structures. */ +#define Window uint32_t +#define Time uint32_t +#define Atom uint32_t +#define Cursor uint32_t +#define Barrier uint32_t + +/** + * XI2 Request opcodes + */ +#define X_XIQueryPointer 40 +#define X_XIWarpPointer 41 +#define X_XIChangeCursor 42 +#define X_XIChangeHierarchy 43 +#define X_XISetClientPointer 44 +#define X_XIGetClientPointer 45 +#define X_XISelectEvents 46 +#define X_XIQueryVersion 47 +#define X_XIQueryDevice 48 +#define X_XISetFocus 49 +#define X_XIGetFocus 50 +#define X_XIGrabDevice 51 +#define X_XIUngrabDevice 52 +#define X_XIAllowEvents 53 +#define X_XIPassiveGrabDevice 54 +#define X_XIPassiveUngrabDevice 55 +#define X_XIListProperties 56 +#define X_XIChangeProperty 57 +#define X_XIDeleteProperty 58 +#define X_XIGetProperty 59 +#define X_XIGetSelectedEvents 60 +#define X_XIBarrierReleasePointer 61 + +/** Number of XI requests */ +#define XI2REQUESTS (X_XIBarrierReleasePointer - X_XIQueryPointer + 1) +/** Number of XI2 events */ +#define XI2EVENTS (XI_LASTEVENT + 1) + +/************************************************************************************* + * * + * COMMON STRUCTS * + * * + *************************************************************************************/ +/** Fixed point 16.16 */ +typedef int32_t FP1616; + +/** Fixed point 32.32 */ +typedef struct { + int32_t integral; + uint32_t frac; +} FP3232; + +/** + * Struct to describe a device. + * + * For a MasterPointer or a MasterKeyboard, 'attachment' specifies the + * paired master device. + * For a SlaveKeyboard or SlavePointer, 'attachment' specifies the master + * device this device is attached to. + * For a FloatingSlave, 'attachment' is undefined. + */ +typedef struct { + uint16_t deviceid; + uint16_t use; /**< ::XIMasterPointer, ::XIMasterKeyboard, + ::XISlavePointer, ::XISlaveKeyboard, + ::XIFloatingSlave */ + uint16_t attachment; /**< Current attachment or pairing.*/ + uint16_t num_classes; /**< Number of classes following this struct. */ + uint16_t name_len; /**< Length of name in bytes. */ + uint8_t enabled; /**< TRUE if device is enabled. */ + uint8_t pad; +} xXIDeviceInfo; + +/** + * Default template for a device class. + * A device class is equivalent to a device's capabilities. Multiple classes + * are supported per device. + */ +typedef struct { + uint16_t type; /**< One of *class */ + uint16_t length; /**< Length in 4 byte units */ + uint16_t sourceid; /**< source device for this class */ + uint16_t pad; +} xXIAnyInfo; + +/** + * Denotes button capability on a device. + * Struct is followed by num_buttons * Atom that names the buttons in the + * device-native setup (i.e. ignoring button mappings). + */ +typedef struct { + uint16_t type; /**< Always ButtonClass */ + uint16_t length; /**< Length in 4 byte units */ + uint16_t sourceid; /**< source device for this class */ + uint16_t num_buttons; /**< Number of buttons provided */ +} xXIButtonInfo; + +/** + * Denotes key capability on a device. + * Struct is followed by num_keys * CARD32 that lists the keycodes available + * on the device. + */ +typedef struct { + uint16_t type; /**< Always KeyClass */ + uint16_t length; /**< Length in 4 byte units */ + uint16_t sourceid; /**< source device for this class */ + uint16_t num_keycodes; /**< Number of keys provided */ +} xXIKeyInfo; + +/** + * Denotes an valuator capability on a device. + * One XIValuatorInfo describes exactly one valuator (axis) on the device. + */ +typedef struct { + uint16_t type; /**< Always ValuatorClass */ + uint16_t length; /**< Length in 4 byte units */ + uint16_t sourceid; /**< source device for this class */ + uint16_t number; /**< Valuator number */ + Atom label; /**< Axis label */ + FP3232 min; /**< Min value */ + FP3232 max; /**< Max value */ + FP3232 value; /**< Last published value */ + uint32_t resolution; /**< Resolutions in units/m */ + uint8_t mode; /**< ModeRelative or ModeAbsolute */ + uint8_t pad1; + uint16_t pad2; +} xXIValuatorInfo; + +/*** + * Denotes a scroll valuator on a device. + * One XIScrollInfo describes exactly one scroll valuator that must have a + * XIValuatorInfo struct. + */ +typedef struct { + uint16_t type; /**< Always ValuatorClass */ + uint16_t length; /**< Length in 4 byte units */ + uint16_t sourceid; /**< source device for this class */ + uint16_t number; /**< Valuator number */ + uint16_t scroll_type; /**< ::XIScrollTypeVertical, ::XIScrollTypeHorizontal */ + uint16_t pad0; + uint32_t flags; /**< ::XIScrollFlagEmulate, ::XIScrollFlagPreferred */ + FP3232 increment; /**< Increment for one unit of scrolling */ +} xXIScrollInfo; + +/** + * Denotes multitouch capability on a device. + */ +typedef struct { + uint16_t type; /**< Always TouchClass */ + uint16_t length; /**< Length in 4 byte units */ + uint16_t sourceid; /**< source device for this class */ + uint8_t mode; /**< DirectTouch or DependentTouch */ + uint8_t num_touches; /**< Maximum number of touches (0==unlimited) */ +} xXITouchInfo; + +/** + * Used to select for events on a given window. + * Struct is followed by (mask_len * CARD8), with each bit set representing + * the event mask for the given type. A mask bit represents an event type if + * (mask == (1 << type)). + */ +typedef struct { + uint16_t deviceid; /**< Device id to select for */ + uint16_t mask_len; /**< Length of mask in 4 byte units */ +} xXIEventMask; + +/** + * XKB modifier information. + * The effective modifier is a binary mask of base, latched, and locked + * modifiers. + */ +typedef struct +{ + uint32_t base_mods; /**< Logically pressed modifiers */ + uint32_t latched_mods; /**< Logically latched modifiers */ + uint32_t locked_mods; /**< Logically locked modifiers */ + uint32_t effective_mods; /**< Effective modifiers */ +} xXIModifierInfo; + +/** + * XKB group information. + * The effective group is the mathematical sum of base, latched, and locked + * group after group wrapping is taken into account. + */ +typedef struct +{ + uint8_t base_group; /**< Logically "pressed" group */ + uint8_t latched_group; /**< Logically latched group */ + uint8_t locked_group; /**< Logically locked group */ + uint8_t effective_group; /**< Effective group */ +} xXIGroupInfo; + + +/************************************************************************************* + * * + * REQUESTS * + * * + *************************************************************************************/ + +/** + * Query the server for the supported X Input extension version. + */ + +typedef struct { + uint8_t reqType; /**< Input extension major code */ + uint8_t ReqType; /**< Always ::X_XIQueryVersion */ + uint16_t length; /**< Length in 4 byte units */ + uint16_t major_version; + uint16_t minor_version; +} xXIQueryVersionReq; +#define sz_xXIQueryVersionReq 8 + +typedef struct { + uint8_t repType; /**< ::X_Reply */ + uint8_t RepType; /**< Always ::X_XIQueryVersion */ + uint16_t sequenceNumber; + uint32_t length; + uint16_t major_version; + uint16_t minor_version; + uint32_t pad1; + uint32_t pad2; + uint32_t pad3; + uint32_t pad4; + uint32_t pad5; +} xXIQueryVersionReply; +#define sz_xXIQueryVersionReply 32 + +/** + * Query the server for information about a specific device or all input + * devices. + */ +typedef struct { + uint8_t reqType; /**< Input extension major code */ + uint8_t ReqType; /**< Always ::X_XIQueryDevice */ + uint16_t length; /**< Length in 4 byte units */ + uint16_t deviceid; + uint16_t pad; +} xXIQueryDeviceReq; +#define sz_xXIQueryDeviceReq 8 + +typedef struct { + uint8_t repType; /**< ::X_Reply */ + uint8_t RepType; /**< Always ::X_XIQueryDevice */ + uint16_t sequenceNumber; + uint32_t length; + uint16_t num_devices; + uint16_t pad0; + uint32_t pad1; + uint32_t pad2; + uint32_t pad3; + uint32_t pad4; + uint32_t pad5; +} xXIQueryDeviceReply; +#define sz_xXIQueryDeviceReply 32 + +/** + * Select for events on a given window. + */ +typedef struct { + uint8_t reqType; /**< Input extension major code */ + uint8_t ReqType; /**< Always ::X_XISelectEvents */ + uint16_t length; /**< Length in 4 byte units */ + Window win; + uint16_t num_masks; + uint16_t pad; +} xXISelectEventsReq; +#define sz_xXISelectEventsReq 12 + +/** + * Query for selected events on a given window. + */ +typedef struct { + uint8_t reqType; /**< Input extension major code */ + uint8_t ReqType; /**< Always ::X_XIGetSelectedEvents */ + uint16_t length; /**< Length in 4 byte units */ + Window win; +} xXIGetSelectedEventsReq; +#define sz_xXIGetSelectedEventsReq 8 + +typedef struct { + uint8_t repType; /**< Input extension major opcode */ + uint8_t RepType; /**< Always ::X_XIGetSelectedEvents */ + uint16_t sequenceNumber; + uint32_t length; + uint16_t num_masks; /**< Number of xXIEventMask structs + trailing the reply */ + uint16_t pad0; + uint32_t pad1; + uint32_t pad2; + uint32_t pad3; + uint32_t pad4; + uint32_t pad5; +} xXIGetSelectedEventsReply; +#define sz_xXIGetSelectedEventsReply 32 + +/** + * Query the given device's screen/window coordinates. + */ + +typedef struct { + uint8_t reqType; /**< Input extension major code */ + uint8_t ReqType; /**< Always ::X_XIQueryPointer */ + uint16_t length; /**< Length in 4 byte units */ + Window win; + uint16_t deviceid; + uint16_t pad1; +} xXIQueryPointerReq; +#define sz_xXIQueryPointerReq 12 + + +typedef struct { + uint8_t repType; /**< Input extension major opcode */ + uint8_t RepType; /**< Always ::X_XIQueryPointer */ + uint16_t sequenceNumber; + uint32_t length; + Window root; + Window child; + FP1616 root_x; + FP1616 root_y; + FP1616 win_x; + FP1616 win_y; + uint8_t same_screen; + uint8_t pad0; + uint16_t buttons_len; + xXIModifierInfo mods; + xXIGroupInfo group; +} xXIQueryPointerReply; +#define sz_xXIQueryPointerReply 56 + +/** + * Warp the given device's pointer to the specified position. + */ + +typedef struct { + uint8_t reqType; /**< Input extension major code */ + uint8_t ReqType; /**< Always ::X_XIWarpPointer */ + uint16_t length; /**< Length in 4 byte units */ + Window src_win; + Window dst_win; + FP1616 src_x; + FP1616 src_y; + uint16_t src_width; + uint16_t src_height; + FP1616 dst_x; + FP1616 dst_y; + uint16_t deviceid; + uint16_t pad1; +} xXIWarpPointerReq; +#define sz_xXIWarpPointerReq 36 + +/** + * Change the given device's sprite to the given cursor. + */ + +typedef struct { + uint8_t reqType; /**< Input extension major code */ + uint8_t ReqType; /**< Always ::X_XIChangeCursor */ + uint16_t length; /**< Length in 4 byte units */ + Window win; + Cursor cursor; + uint16_t deviceid; + uint16_t pad1; +} xXIChangeCursorReq; +#define sz_xXIChangeCursorReq 16 + +/** + * Modify the device hierarchy. + */ + +typedef struct { + uint8_t reqType; /**< Input extension major code */ + uint8_t ReqType; /**< Always ::X_XIChangeHierarchy */ + uint16_t length; /**< Length in 4 byte units */ + uint8_t num_changes; + uint8_t pad0; + uint16_t pad1; +} xXIChangeHierarchyReq; +#define sz_xXIChangeHierarchyReq 8 + +/** + * Generic header for any hierarchy change. + */ +typedef struct { + uint16_t type; + uint16_t length; /**< Length in 4 byte units */ +} xXIAnyHierarchyChangeInfo; + +/** + * Create a new master device. + * Name of new master follows struct (4-byte padded) + */ +typedef struct { + uint16_t type; /**< Always ::XIAddMaster */ + uint16_t length; /**< 2 + (namelen + padding)/4 */ + uint16_t name_len; + uint8_t send_core; + uint8_t enable; +} xXIAddMasterInfo; + +/** + * Delete a master device. Will automatically delete the master device paired + * with the given master device. + */ +typedef struct { + uint16_t type; /**< Always ::XIRemoveMaster */ + uint16_t length; /**< 3 */ + uint16_t deviceid; + uint8_t return_mode; /**< ::XIAttachToMaster, ::XIFloating */ + uint8_t pad; + uint16_t return_pointer; /**< Pointer to attach slave ptr devices to */ + uint16_t return_keyboard; /**< keyboard to attach slave keybd devices to*/ +} xXIRemoveMasterInfo; + +/** + * Attach an SD to a new device. + * NewMaster has to be of same type (pointer->pointer, keyboard->keyboard); + */ +typedef struct { + uint16_t type; /**< Always ::XIAttachSlave */ + uint16_t length; /**< 2 */ + uint16_t deviceid; + uint16_t new_master; /**< id of new master device */ +} xXIAttachSlaveInfo; + +/** + * Detach an SD from its current master device. + */ +typedef struct { + uint16_t type; /**< Always ::XIDetachSlave */ + uint16_t length; /**< 2 */ + uint16_t deviceid; + uint16_t pad; +} xXIDetachSlaveInfo; + + +/** + * Set the window/client's ClientPointer. + */ +typedef struct { + uint8_t reqType; + uint8_t ReqType; /**< Always ::X_XISetClientPointer */ + uint16_t length; /**< Length in 4 byte units */ + Window win; + uint16_t deviceid; + uint16_t pad1; +} xXISetClientPointerReq; +#define sz_xXISetClientPointerReq 12 + +/** + * Query the given window/client's ClientPointer setting. + */ +typedef struct { + uint8_t reqType; + uint8_t ReqType; /**< Always ::X_GetClientPointer */ + uint16_t length; /**< Length in 4 byte units */ + Window win; +} xXIGetClientPointerReq; +#define sz_xXIGetClientPointerReq 8 + +typedef struct { + uint8_t repType; /**< Input extension major opcode */ + uint8_t RepType; /**< Always ::X_GetClientPointer */ + uint16_t sequenceNumber; + uint32_t length; + BOOL set; /**< client pointer is set? */ + uint8_t pad0; + uint16_t deviceid; + uint32_t pad1; + uint32_t pad2; + uint32_t pad3; + uint32_t pad4; + uint32_t pad5; +} xXIGetClientPointerReply; +#define sz_xXIGetClientPointerReply 32 + +/** + * Set the input focus to the specified window. + */ +typedef struct { + uint8_t reqType; + uint8_t ReqType; /**< Always ::X_XISetFocus */ + uint16_t length; /**< Length in 4 byte units */ + Window focus; + Time time; + uint16_t deviceid; + uint16_t pad0; +} xXISetFocusReq; +#define sz_xXISetFocusReq 16 + +/** + * Query the current input focus. + */ +typedef struct { + uint8_t reqType; + uint8_t ReqType; /**< Always ::X_XIGetDeviceFocus */ + uint16_t length; /**< Length in 4 byte units */ + uint16_t deviceid; + uint16_t pad0; +} xXIGetFocusReq; +#define sz_xXIGetFocusReq 8 + +typedef struct { + uint8_t repType; /**< Input extension major opcode */ + uint8_t RepType; /**< Always ::X_XIGetFocus */ + uint16_t sequenceNumber; + uint32_t length; + Window focus; + uint32_t pad1; + uint32_t pad2; + uint32_t pad3; + uint32_t pad4; + uint32_t pad5; +} xXIGetFocusReply; +#define sz_xXIGetFocusReply 32 + + +/** + * Grab the given device. + */ +typedef struct { + uint8_t reqType; + uint8_t ReqType; /**< Always ::X_XIGrabDevice */ + uint16_t length; /**< Length in 4 byte units */ + Window grab_window; + Time time; + Cursor cursor; + uint16_t deviceid; + uint8_t grab_mode; + uint8_t paired_device_mode; + uint8_t owner_events; + uint8_t pad; + uint16_t mask_len; +} xXIGrabDeviceReq; +#define sz_xXIGrabDeviceReq 24 + +/** + * Return codes from a XIPassiveGrabDevice request. + */ +typedef struct { + uint32_t modifiers; /**< Modifier state */ + uint8_t status; /**< Grab status code */ + uint8_t pad0; + uint16_t pad1; +} xXIGrabModifierInfo; + +typedef struct { + uint8_t repType; /**< Input extension major opcode */ + uint8_t RepType; /**< Always ::X_XIGrabDevice */ + uint16_t sequenceNumber; + uint32_t length; + uint8_t status; + uint8_t pad0; + uint16_t pad1; + uint32_t pad2; + uint32_t pad3; + uint32_t pad4; + uint32_t pad5; + uint32_t pad6; +} xXIGrabDeviceReply; +#define sz_xXIGrabDeviceReply 32 + +/** + * Ungrab the specified device. + * + */ +typedef struct { + uint8_t reqType; + uint8_t ReqType; /**< Always ::X_XIUngrabDevice */ + uint16_t length; /**< Length in 4 byte units */ + Time time; + uint16_t deviceid; + uint16_t pad; +} xXIUngrabDeviceReq; +#define sz_xXIUngrabDeviceReq 12 + + +/** + * Allow or replay events on the specified grabbed device. + */ +typedef struct { + uint8_t reqType; + uint8_t ReqType; /**< Always ::X_XIAllowEvents */ + uint16_t length; /**< Length in 4 byte units */ + Time time; + uint16_t deviceid; + uint8_t mode; + uint8_t pad; +} xXIAllowEventsReq; +#define sz_xXIAllowEventsReq 12 + +/** + * Allow or replay events on the specified grabbed device. + * Since XI 2.2 + */ +typedef struct { + uint8_t reqType; + uint8_t ReqType; /**< Always ::X_XIAllowEvents */ + uint16_t length; /**< Length in 4 byte units */ + Time time; + uint16_t deviceid; + uint8_t mode; + uint8_t pad; + uint32_t touchid; /**< Since XI 2.2 */ + Window grab_window; /**< Since XI 2.2 */ +} xXI2_2AllowEventsReq; +#define sz_xXI2_2AllowEventsReq 20 + + +/** + * Passively grab the device. + */ +typedef struct { + uint8_t reqType; + uint8_t ReqType; /**< Always ::X_XIPassiveGrabDevice */ + uint16_t length; /**< Length in 4 byte units */ + Time time; + Window grab_window; + Cursor cursor; + uint32_t detail; + uint16_t deviceid; + uint16_t num_modifiers; + uint16_t mask_len; + uint8_t grab_type; + uint8_t grab_mode; + uint8_t paired_device_mode; + uint8_t owner_events; + uint16_t pad1; +} xXIPassiveGrabDeviceReq; +#define sz_xXIPassiveGrabDeviceReq 32 + +typedef struct { + uint8_t repType; /**< Input extension major opcode */ + uint8_t RepType; /**< Always ::X_XIPassiveGrabDevice */ + uint16_t sequenceNumber; + uint32_t length; + uint16_t num_modifiers; + uint16_t pad1; + uint32_t pad2; + uint32_t pad3; + uint32_t pad4; + uint32_t pad5; + uint32_t pad6; +} xXIPassiveGrabDeviceReply; +#define sz_xXIPassiveGrabDeviceReply 32 + +/** + * Delete a passive grab for the given device. + */ +typedef struct { + uint8_t reqType; + uint8_t ReqType; /**< Always ::X_XIPassiveUngrabDevice */ + uint16_t length; /**< Length in 4 byte units */ + Window grab_window; + uint32_t detail; + uint16_t deviceid; + uint16_t num_modifiers; + uint8_t grab_type; + uint8_t pad0; + uint16_t pad1; +} xXIPassiveUngrabDeviceReq; +#define sz_xXIPassiveUngrabDeviceReq 20 + +/** + * List all device properties on the specified device. + */ +typedef struct { + uint8_t reqType; + uint8_t ReqType; /**< Always ::X_XIListProperties */ + uint16_t length; /**< Length in 4 byte units */ + uint16_t deviceid; + uint16_t pad; +} xXIListPropertiesReq; +#define sz_xXIListPropertiesReq 8 + +typedef struct { + uint8_t repType; /**< Input extension major opcode */ + uint8_t RepType; /**< Always ::X_XIListProperties */ + uint16_t sequenceNumber; + uint32_t length; + uint16_t num_properties; + uint16_t pad0; + uint32_t pad1; + uint32_t pad2; + uint32_t pad3; + uint32_t pad4; + uint32_t pad5; +} xXIListPropertiesReply; +#define sz_xXIListPropertiesReply 32 + +/** + * Change a property on the specified device. + */ +typedef struct { + uint8_t reqType; + uint8_t ReqType; /**< Always ::X_XIChangeProperty */ + uint16_t length; /**< Length in 4 byte units */ + uint16_t deviceid; + uint8_t mode; + uint8_t format; + Atom property; + Atom type; + uint32_t num_items; +} xXIChangePropertyReq; +#define sz_xXIChangePropertyReq 20 + +/** + * Delete the specified property. + */ +typedef struct { + uint8_t reqType; + uint8_t ReqType; /**< Always X_XIDeleteProperty */ + uint16_t length; /**< Length in 4 byte units */ + uint16_t deviceid; + uint16_t pad0; + Atom property; +} xXIDeletePropertyReq; +#define sz_xXIDeletePropertyReq 12 + +/** + * Query the specified property's values. + */ +typedef struct { + uint8_t reqType; + uint8_t ReqType; /**< Always X_XIGetProperty */ + uint16_t length; /**< Length in 4 byte units */ + uint16_t deviceid; +#if defined(__cplusplus) || defined(c_plusplus) + uint8_t c_delete; +#else + uint8_t delete; +#endif + uint8_t pad0; + Atom property; + Atom type; + uint32_t offset; + uint32_t len; +} xXIGetPropertyReq; +#define sz_xXIGetPropertyReq 24 + +typedef struct { + uint8_t repType; /**< Input extension major opcode */ + uint8_t RepType; /**< Always X_XIGetProperty */ + uint16_t sequenceNumber; + uint32_t length; + Atom type; + uint32_t bytes_after; + uint32_t num_items; + uint8_t format; + uint8_t pad0; + uint16_t pad1; + uint32_t pad2; + uint32_t pad3; +} xXIGetPropertyReply; +#define sz_xXIGetPropertyReply 32 + +typedef struct { + uint16_t deviceid; + uint16_t pad; + Barrier barrier; + uint32_t eventid; +} xXIBarrierReleasePointerInfo; + +typedef struct { + uint8_t reqType; /**< Input extension major opcode */ + uint8_t ReqType; /**< Always X_XIBarrierReleasePointer */ + uint16_t length; + uint32_t num_barriers; + /* array of xXIBarrierReleasePointerInfo */ +} xXIBarrierReleasePointerReq; +#define sz_xXIBarrierReleasePointerReq 8 + +/************************************************************************************* + * * + * EVENTS * + * * + *************************************************************************************/ + +/** + * Generic XI2 event header. All XI2 events use the same header. + */ +typedef struct +{ + uint8_t type; + uint8_t extension; /**< XI extension offset */ + uint16_t sequenceNumber; + uint32_t length; + uint16_t evtype; + uint16_t deviceid; + Time time; +} xXIGenericDeviceEvent; + +/** + * Device hierarchy information. + */ +typedef struct +{ + uint16_t deviceid; + uint16_t attachment; /**< ID of master or paired device */ + uint8_t use; /**< ::XIMasterKeyboard, + ::XIMasterPointer, + ::XISlaveKeyboard, + ::XISlavePointer, + ::XIFloatingSlave */ + BOOL enabled; /**< TRUE if the device is enabled */ + uint16_t pad; + uint32_t flags; /**< ::XIMasterAdded, ::XIMasterRemoved, + ::XISlaveAttached, ::XISlaveDetached, + ::XISlaveAdded, ::XISlaveRemoved, + ::XIDeviceEnabled, ::XIDeviceDisabled */ +} xXIHierarchyInfo; + +/** + * The device hierarchy has been modified. This event includes the device + * hierarchy after the modification has been applied. + */ +typedef struct +{ + uint8_t type; /**< Always GenericEvent */ + uint8_t extension; /**< XI extension offset */ + uint16_t sequenceNumber; + uint32_t length; /**< Length in 4 byte units */ + uint16_t evtype; /**< ::XI_Hierarchy */ + uint16_t deviceid; + Time time; + uint32_t flags; /**< ::XIMasterAdded, ::XIMasterDeleted, + ::XISlaveAttached, ::XISlaveDetached, + ::XISlaveAdded, ::XISlaveRemoved, + ::XIDeviceEnabled, ::XIDeviceDisabled */ + uint16_t num_info; + uint16_t pad0; + uint32_t pad1; + uint32_t pad2; +} xXIHierarchyEvent; + +/** + * A device has changed capabilities. + */ +typedef struct +{ + uint8_t type; /**< Always GenericEvent */ + uint8_t extension; /**< XI extension offset */ + uint16_t sequenceNumber; + uint32_t length; /**< Length in 4 byte units */ + uint16_t evtype; /**< XI_DeviceChanged */ + uint16_t deviceid; /**< Device that has changed */ + Time time; + uint16_t num_classes; /**< Number of classes that have changed */ + uint16_t sourceid; /**< Source of the new classes */ + uint8_t reason; /**< ::XISlaveSwitch, ::XIDeviceChange */ + uint8_t pad0; + uint16_t pad1; + uint32_t pad2; + uint32_t pad3; +} xXIDeviceChangedEvent; + +/** + * The owner of a touch stream has passed on ownership to another client. + */ +typedef struct +{ + uint8_t type; /**< Always GenericEvent */ + uint8_t extension; /**< XI extension offset */ + uint16_t sequenceNumber; + uint32_t length; /**< Length in 4 byte units */ + uint16_t evtype; /**< XI_TouchOwnership */ + uint16_t deviceid; /**< Device that has changed */ + Time time; + uint32_t touchid; + Window root; + Window event; + Window child; +/* └──────── 32 byte boundary ────────┘ */ + uint16_t sourceid; + uint16_t pad0; + uint32_t flags; + uint32_t pad1; + uint32_t pad2; +} xXITouchOwnershipEvent; + +/** + * Default input event for pointer, keyboard or touch input. + */ +typedef struct +{ + uint8_t type; /**< Always GenericEvent */ + uint8_t extension; /**< XI extension offset */ + uint16_t sequenceNumber; + uint32_t length; /**< Length in 4 byte uints */ + uint16_t evtype; + uint16_t deviceid; + Time time; + uint32_t detail; /**< Keycode or button */ + Window root; + Window event; + Window child; +/* └──────── 32 byte boundary ────────┘ */ + FP1616 root_x; /**< Always screen coords, 16.16 fixed point */ + FP1616 root_y; + FP1616 event_x; /**< Always screen coords, 16.16 fixed point */ + FP1616 event_y; + uint16_t buttons_len; /**< Len of button flags in 4 b units */ + uint16_t valuators_len; /**< Len of val. flags in 4 b units */ + uint16_t sourceid; /**< The source device */ + uint16_t pad0; + uint32_t flags; /**< ::XIKeyRepeat */ + xXIModifierInfo mods; + xXIGroupInfo group; +} xXIDeviceEvent; + + +/** + * Sent when an input event is generated. RawEvents include valuator + * information in both device-specific data (i.e. unaccelerated) and + * processed data (i.e. accelerated, if applicable). + */ +typedef struct +{ + uint8_t type; /**< Always GenericEvent */ + uint8_t extension; /**< XI extension offset */ + uint16_t sequenceNumber; + uint32_t length; /**< Length in 4 byte uints */ + uint16_t evtype; /**< ::XI_RawEvent */ + uint16_t deviceid; + Time time; + uint32_t detail; + uint16_t sourceid; /**< The source device (XI 2.1) */ + uint16_t valuators_len; /**< Length of trailing valuator + mask in 4 byte units */ + uint32_t flags; /**< ::XIKeyRepeat */ + uint32_t pad2; +} xXIRawEvent; + +/** + * Note that the layout of root, event, child, root_x, root_y, event_x, + * event_y must be identical to the xXIDeviceEvent. + */ +typedef struct +{ + uint8_t type; /**< Always GenericEvent */ + uint8_t extension; /**< XI extension offset */ + uint16_t sequenceNumber; + uint32_t length; /**< Length in 4 byte uints */ + uint16_t evtype; /**< ::XI_Enter */ + uint16_t deviceid; + Time time; + uint16_t sourceid; + uint8_t mode; + uint8_t detail; + Window root; + Window event; + Window child; +/* └──────── 32 byte boundary ────────┘ */ + FP1616 root_x; + FP1616 root_y; + FP1616 event_x; + FP1616 event_y; + BOOL same_screen; + BOOL focus; + uint16_t buttons_len; /**< Length of trailing button mask + in 4 byte units */ + xXIModifierInfo mods; + xXIGroupInfo group; +} xXIEnterEvent; + +typedef xXIEnterEvent xXILeaveEvent; +typedef xXIEnterEvent xXIFocusInEvent; +typedef xXIEnterEvent xXIFocusOutEvent; + +/** + * Sent when a device property is created, modified or deleted. Does not + * include property data, the client is required to query the data. + */ +typedef struct +{ + uint8_t type; /**< Always GenericEvent */ + uint8_t extension; /**< XI extension offset */ + uint16_t sequenceNumber; + uint32_t length; /**< Length in 4 byte units */ + uint16_t evtype; /**< ::XI_PropertyEvent */ + uint16_t deviceid; + Time time; + Atom property; + uint8_t what; /**< ::XIPropertyDeleted, + ::XIPropertyCreated, + ::XIPropertyMotified */ + uint8_t pad0; + uint16_t pad1; + uint32_t pad2; + uint32_t pad3; +} xXIPropertyEvent; + +typedef struct +{ + uint8_t type; /**< Always GenericEvent */ + uint8_t extension; /**< XI extension offset */ + uint16_t sequenceNumber; + uint32_t length; /**< Length in 4 byte units */ + uint16_t evtype; /**< ::XI_BarrierHit or ::XI_BarrierLeave */ + uint16_t deviceid; + Time time; + uint32_t eventid; + Window root; + Window event; + Barrier barrier; +/* └──────── 32 byte boundary ────────┘ */ + uint32_t dtime; + uint32_t flags; /**< ::XIBarrierPointerReleased + ::XIBarrierDeviceIsGrabbed */ + uint16_t sourceid; + int16_t pad; + FP1616 root_x; + FP1616 root_y; + FP3232 dx; + FP3232 dy; +} xXIBarrierEvent; + +typedef xXIBarrierEvent xXIBarrierHitEvent; +typedef xXIBarrierEvent xXIBarrierPointerReleasedEvent; +typedef xXIBarrierEvent xXIBarrierLeaveEvent; + +#undef Window +#undef Time +#undef Atom +#undef Cursor +#undef Barrier + +#endif /* _XI2PROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/XInput.h b/ThirdParty/X11/Include/X11/extensions/XInput.h new file mode 100644 index 0000000..b17f388 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XInput.h @@ -0,0 +1,1277 @@ +/************************************************************ + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +Copyright 1989 by Hewlett-Packard Company, Palo Alto, California. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Hewlett-Packard not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +HEWLETT-PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +HEWLETT-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +********************************************************/ + +/* Definitions used by the library and client */ + +#ifndef _XINPUT_H_ +#define _XINPUT_H_ + +#include <X11/Xlib.h> +#include <X11/extensions/XI.h> + +#define _deviceKeyPress 0 +#define _deviceKeyRelease 1 + +#define _deviceButtonPress 0 +#define _deviceButtonRelease 1 + +#define _deviceMotionNotify 0 + +#define _deviceFocusIn 0 +#define _deviceFocusOut 1 + +#define _proximityIn 0 +#define _proximityOut 1 + +#define _deviceStateNotify 0 +#define _deviceMappingNotify 1 +#define _changeDeviceNotify 2 +/* Space of 3 between is necessary! Reserved for DeviceKeyStateNotify, + DeviceButtonStateNotify, DevicePresenceNotify (essentially unused). This + code has to be in sync with FixExtensionEvents() in xserver/Xi/extinit.c */ +#define _propertyNotify 6 + +#define FindTypeAndClass(d,type,_class,classid,offset) \ + { int _i; XInputClassInfo *_ip; \ + type = 0; _class = 0; \ + for (_i=0, _ip= ((XDevice *) d)->classes; \ + _i< ((XDevice *) d)->num_classes; \ + _i++, _ip++) \ + if (_ip->input_class == classid) \ + {type = _ip->event_type_base + offset; \ + _class = ((XDevice *) d)->device_id << 8 | type;}} + +#define DeviceKeyPress(d,type,_class) \ + FindTypeAndClass(d, type, _class, KeyClass, _deviceKeyPress) + +#define DeviceKeyRelease(d,type,_class) \ + FindTypeAndClass(d, type, _class, KeyClass, _deviceKeyRelease) + +#define DeviceButtonPress(d,type,_class) \ + FindTypeAndClass(d, type, _class, ButtonClass, _deviceButtonPress) + +#define DeviceButtonRelease(d,type,_class) \ + FindTypeAndClass(d, type, _class, ButtonClass, _deviceButtonRelease) + +#define DeviceMotionNotify(d,type,_class) \ + FindTypeAndClass(d, type, _class, ValuatorClass, _deviceMotionNotify) + +#define DeviceFocusIn(d,type,_class) \ + FindTypeAndClass(d, type, _class, FocusClass, _deviceFocusIn) + +#define DeviceFocusOut(d,type,_class) \ + FindTypeAndClass(d, type, _class, FocusClass, _deviceFocusOut) + +#define ProximityIn(d,type,_class) \ + FindTypeAndClass(d, type, _class, ProximityClass, _proximityIn) + +#define ProximityOut(d,type,_class) \ + FindTypeAndClass(d, type, _class, ProximityClass, _proximityOut) + +#define DeviceStateNotify(d,type,_class) \ + FindTypeAndClass(d, type, _class, OtherClass, _deviceStateNotify) + +#define DeviceMappingNotify(d,type,_class) \ + FindTypeAndClass(d, type, _class, OtherClass, _deviceMappingNotify) + +#define ChangeDeviceNotify(d,type,_class) \ + FindTypeAndClass(d, type, _class, OtherClass, _changeDeviceNotify) + +#define DevicePropertyNotify(d, type, _class) \ + FindTypeAndClass(d, type, _class, OtherClass, _propertyNotify) + +#define DevicePointerMotionHint(d,type,_class) \ + { _class = ((XDevice *) d)->device_id << 8 | _devicePointerMotionHint;} + +#define DeviceButton1Motion(d,type,_class) \ + { _class = ((XDevice *) d)->device_id << 8 | _deviceButton1Motion;} + +#define DeviceButton2Motion(d,type,_class) \ + { _class = ((XDevice *) d)->device_id << 8 | _deviceButton2Motion;} + +#define DeviceButton3Motion(d,type,_class) \ + { _class = ((XDevice *) d)->device_id << 8 | _deviceButton3Motion;} + +#define DeviceButton4Motion(d,type, _class) \ + { _class = ((XDevice *) d)->device_id << 8 | _deviceButton4Motion;} + +#define DeviceButton5Motion(d,type,_class) \ + { _class = ((XDevice *) d)->device_id << 8 | _deviceButton5Motion;} + +#define DeviceButtonMotion(d,type, _class) \ + { _class = ((XDevice *) d)->device_id << 8 | _deviceButtonMotion;} + +#define DeviceOwnerGrabButton(d,type,_class) \ + { _class = ((XDevice *) d)->device_id << 8 | _deviceOwnerGrabButton;} + +#define DeviceButtonPressGrab(d,type,_class) \ + { _class = ((XDevice *) d)->device_id << 8 | _deviceButtonGrab;} + +#define NoExtensionEvent(d,type,_class) \ + { _class = ((XDevice *) d)->device_id << 8 | _noExtensionEvent;} + + +/* We need the declaration for DevicePresence. */ +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + extern int _XiGetDevicePresenceNotifyEvent(Display *); + extern void _xibaddevice( Display *dpy, int *error); + extern void _xibadclass( Display *dpy, int *error); + extern void _xibadevent( Display *dpy, int *error); + extern void _xibadmode( Display *dpy, int *error); + extern void _xidevicebusy( Display *dpy, int *error); +#if defined(__cplusplus) || defined(c_plusplus) +} +#endif + +#define DevicePresence(dpy, type, _class) \ + { \ + type = _XiGetDevicePresenceNotifyEvent(dpy); \ + _class = (0x10000 | _devicePresence); \ + } + +/* Errors */ +#define BadDevice(dpy,error) _xibaddevice(dpy, &error) + +#define BadClass(dpy,error) _xibadclass(dpy, &error) + +#define BadEvent(dpy,error) _xibadevent(dpy, &error) + +#define BadMode(dpy,error) _xibadmode(dpy, &error) + +#define DeviceBusy(dpy,error) _xidevicebusy(dpy, &error) + +typedef struct _XAnyClassinfo *XAnyClassPtr; + +/*************************************************************** + * + * DeviceKey events. These events are sent by input devices that + * support input class Keys. + * The location of the X pointer is reported in the coordinate + * fields of the x,y and x_root,y_root fields. + * + */ + +typedef struct + { + int type; /* of event */ + unsigned long serial; /* # of last request processed */ + Bool send_event; /* true if from SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* "event" window reported relative to */ + XID deviceid; + Window root; /* root window event occured on */ + Window subwindow; /* child window */ + Time time; /* milliseconds */ + int x, y; /* x, y coordinates in event window */ + int x_root; /* coordinates relative to root */ + int y_root; /* coordinates relative to root */ + unsigned int state; /* key or button mask */ + unsigned int keycode; /* detail */ + Bool same_screen; /* same screen flag */ + unsigned int device_state; /* device key or button mask */ + unsigned char axes_count; + unsigned char first_axis; + int axis_data[6]; + } XDeviceKeyEvent; + +typedef XDeviceKeyEvent XDeviceKeyPressedEvent; +typedef XDeviceKeyEvent XDeviceKeyReleasedEvent; + +/******************************************************************* + * + * DeviceButton events. These events are sent by extension devices + * that support input class Buttons. + * + */ + +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* "event" window reported relative to */ + XID deviceid; + Window root; /* root window that the event occured on */ + Window subwindow; /* child window */ + Time time; /* milliseconds */ + int x, y; /* x, y coordinates in event window */ + int x_root; /* coordinates relative to root */ + int y_root; /* coordinates relative to root */ + unsigned int state; /* key or button mask */ + unsigned int button; /* detail */ + Bool same_screen; /* same screen flag */ + unsigned int device_state; /* device key or button mask */ + unsigned char axes_count; + unsigned char first_axis; + int axis_data[6]; + } XDeviceButtonEvent; + +typedef XDeviceButtonEvent XDeviceButtonPressedEvent; +typedef XDeviceButtonEvent XDeviceButtonReleasedEvent; + +/******************************************************************* + * + * DeviceMotionNotify event. These events are sent by extension devices + * that support input class Valuators. + * + */ + +typedef struct + { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* "event" window reported relative to */ + XID deviceid; + Window root; /* root window that the event occured on */ + Window subwindow; /* child window */ + Time time; /* milliseconds */ + int x, y; /* x, y coordinates in event window */ + int x_root; /* coordinates relative to root */ + int y_root; /* coordinates relative to root */ + unsigned int state; /* key or button mask */ + char is_hint; /* detail */ + Bool same_screen; /* same screen flag */ + unsigned int device_state; /* device key or button mask */ + unsigned char axes_count; + unsigned char first_axis; + int axis_data[6]; + } XDeviceMotionEvent; + +/******************************************************************* + * + * DeviceFocusChange events. These events are sent when the focus + * of an extension device that can be focused is changed. + * + */ + +typedef struct + { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* "event" window reported relative to */ + XID deviceid; + int mode; /* NotifyNormal, NotifyGrab, NotifyUngrab */ + int detail; + /* + * NotifyAncestor, NotifyVirtual, NotifyInferior, + * NotifyNonLinear,NotifyNonLinearVirtual, NotifyPointer, + * NotifyPointerRoot, NotifyDetailNone + */ + Time time; + } XDeviceFocusChangeEvent; + +typedef XDeviceFocusChangeEvent XDeviceFocusInEvent; +typedef XDeviceFocusChangeEvent XDeviceFocusOutEvent; + +/******************************************************************* + * + * ProximityNotify events. These events are sent by those absolute + * positioning devices that are capable of generating proximity information. + * + */ + +typedef struct + { + int type; /* ProximityIn or ProximityOut */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + XID deviceid; + Window root; + Window subwindow; + Time time; + int x, y; + int x_root, y_root; + unsigned int state; + Bool same_screen; + unsigned int device_state; /* device key or button mask */ + unsigned char axes_count; + unsigned char first_axis; + int axis_data[6]; + } XProximityNotifyEvent; +typedef XProximityNotifyEvent XProximityInEvent; +typedef XProximityNotifyEvent XProximityOutEvent; + +/******************************************************************* + * + * DeviceStateNotify events are generated on EnterWindow and FocusIn + * for those clients who have selected DeviceState. + * + */ + +typedef struct + { +#if defined(__cplusplus) || defined(c_plusplus) + unsigned char c_class; +#else + unsigned char class; +#endif + unsigned char length; + } XInputClass; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + XID deviceid; + Time time; + int num_classes; + char data[64]; +} XDeviceStateNotifyEvent; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + unsigned char c_class; +#else + unsigned char class; +#endif + unsigned char length; + unsigned char num_valuators; + unsigned char mode; + int valuators[6]; +} XValuatorStatus; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + unsigned char c_class; +#else + unsigned char class; +#endif + unsigned char length; + short num_keys; + char keys[32]; +} XKeyStatus; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + unsigned char c_class; +#else + unsigned char class; +#endif + unsigned char length; + short num_buttons; + char buttons[32]; +} XButtonStatus; + +/******************************************************************* + * + * DeviceMappingNotify event. This event is sent when the key mapping, + * modifier mapping, or button mapping of an extension device is changed. + * + */ + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* unused */ + XID deviceid; + Time time; + int request; /* one of MappingModifier, MappingKeyboard, + MappingPointer */ + int first_keycode;/* first keycode */ + int count; /* defines range of change w. first_keycode*/ +} XDeviceMappingEvent; + +/******************************************************************* + * + * ChangeDeviceNotify event. This event is sent when an + * XChangeKeyboard or XChangePointer request is made. + * + */ + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* unused */ + XID deviceid; + Time time; + int request; /* NewPointer or NewKeyboard */ +} XChangeDeviceNotifyEvent; + +/******************************************************************* + * + * DevicePresenceNotify event. This event is sent when the list of + * input devices changes, in which case devchange will be false, and + * no information about the change will be contained in the event; + * the client should use XListInputDevices() to learn what has changed. + * + * If devchange is true, an attribute that the server believes is + * important has changed on a device, and the client should use + * XGetDeviceControl to examine the device. If control is non-zero, + * then that control has changed meaningfully. + */ + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* unused */ + Time time; + Bool devchange; + XID deviceid; + XID control; +} XDevicePresenceNotifyEvent; + +/* + * Notifies the client that a property on a device has changed value. The + * client is expected to query the server for updated value of the property. + */ +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* unused */ + Time time; + XID deviceid; /* id of the device that changed */ + Atom atom; /* the property that changed */ + int state; /* PropertyNewValue or PropertyDeleted */ +} XDevicePropertyNotifyEvent; + + +/******************************************************************* + * + * Control structures for input devices that support input class + * Feedback. These are used by the XGetFeedbackControl and + * XChangeFeedbackControl functions. + * + */ + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + XID c_class; +#else + XID class; +#endif + int length; + XID id; +} XFeedbackState; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + XID c_class; +#else + XID class; +#endif + int length; + XID id; + int click; + int percent; + int pitch; + int duration; + int led_mask; + int global_auto_repeat; + char auto_repeats[32]; +} XKbdFeedbackState; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + XID c_class; +#else + XID class; +#endif + int length; + XID id; + int accelNum; + int accelDenom; + int threshold; +} XPtrFeedbackState; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + XID c_class; +#else + XID class; +#endif + int length; + XID id; + int resolution; + int minVal; + int maxVal; +} XIntegerFeedbackState; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + XID c_class; +#else + XID class; +#endif + int length; + XID id; + int max_symbols; + int num_syms_supported; + KeySym *syms_supported; +} XStringFeedbackState; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + XID c_class; +#else + XID class; +#endif + int length; + XID id; + int percent; + int pitch; + int duration; +} XBellFeedbackState; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + XID c_class; +#else + XID class; +#endif + int length; + XID id; + int led_values; + int led_mask; +} XLedFeedbackState; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + XID c_class; +#else + XID class; +#endif + int length; + XID id; +} XFeedbackControl; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + XID c_class; +#else + XID class; +#endif + int length; + XID id; + int accelNum; + int accelDenom; + int threshold; +} XPtrFeedbackControl; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + XID c_class; +#else + XID class; +#endif + int length; + XID id; + int click; + int percent; + int pitch; + int duration; + int led_mask; + int led_value; + int key; + int auto_repeat_mode; +} XKbdFeedbackControl; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + XID c_class; +#else + XID class; +#endif + int length; + XID id; + int num_keysyms; + KeySym *syms_to_display; +} XStringFeedbackControl; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + XID c_class; +#else + XID class; +#endif + int length; + XID id; + int int_to_display; +} XIntegerFeedbackControl; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + XID c_class; +#else + XID class; +#endif + int length; + XID id; + int percent; + int pitch; + int duration; +} XBellFeedbackControl; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + XID c_class; +#else + XID class; +#endif + int length; + XID id; + int led_mask; + int led_values; +} XLedFeedbackControl; + +/******************************************************************* + * + * Device control structures. + * + */ + +typedef struct { + XID control; + int length; +} XDeviceControl; + +typedef struct { + XID control; + int length; + int first_valuator; + int num_valuators; + int *resolutions; +} XDeviceResolutionControl; + +typedef struct { + XID control; + int length; + int num_valuators; + int *resolutions; + int *min_resolutions; + int *max_resolutions; +} XDeviceResolutionState; + +typedef struct { + XID control; + int length; + int min_x; + int max_x; + int min_y; + int max_y; + int flip_x; + int flip_y; + int rotation; + int button_threshold; +} XDeviceAbsCalibControl, XDeviceAbsCalibState; + +typedef struct { + XID control; + int length; + int offset_x; + int offset_y; + int width; + int height; + int screen; + XID following; +} XDeviceAbsAreaControl, XDeviceAbsAreaState; + +typedef struct { + XID control; + int length; + int status; +} XDeviceCoreControl; + +typedef struct { + XID control; + int length; + int status; + int iscore; +} XDeviceCoreState; + +typedef struct { + XID control; + int length; + int enable; +} XDeviceEnableControl, XDeviceEnableState; + +/******************************************************************* + * + * An array of XDeviceList structures is returned by the + * XListInputDevices function. Each entry contains information + * about one input device. Among that information is an array of + * pointers to structures that describe the characteristics of + * the input device. + * + */ + +typedef struct _XAnyClassinfo { +#if defined(__cplusplus) || defined(c_plusplus) + XID c_class; +#else + XID class; +#endif + int length; + } XAnyClassInfo; + +typedef struct _XDeviceInfo *XDeviceInfoPtr; + +typedef struct _XDeviceInfo + { + XID id; + Atom type; + char *name; + int num_classes; + int use; + XAnyClassPtr inputclassinfo; + } XDeviceInfo; + +typedef struct _XKeyInfo *XKeyInfoPtr; + +typedef struct _XKeyInfo + { +#if defined(__cplusplus) || defined(c_plusplus) + XID c_class; +#else + XID class; +#endif + int length; + unsigned short min_keycode; + unsigned short max_keycode; + unsigned short num_keys; + } XKeyInfo; + +typedef struct _XButtonInfo *XButtonInfoPtr; + +typedef struct _XButtonInfo { +#if defined(__cplusplus) || defined(c_plusplus) + XID c_class; +#else + XID class; +#endif + int length; + short num_buttons; + } XButtonInfo; + +typedef struct _XAxisInfo *XAxisInfoPtr; + +typedef struct _XAxisInfo { + int resolution; + int min_value; + int max_value; + } XAxisInfo; + +typedef struct _XValuatorInfo *XValuatorInfoPtr; + +typedef struct _XValuatorInfo + { +#if defined(__cplusplus) || defined(c_plusplus) + XID c_class; +#else + XID class; +#endif + int length; + unsigned char num_axes; + unsigned char mode; + unsigned long motion_buffer; + XAxisInfoPtr axes; + } XValuatorInfo; + +/******************************************************************* + * + * An XDevice structure is returned by the XOpenDevice function. + * It contains an array of pointers to XInputClassInfo structures. + * Each contains information about a class of input supported by the + * device, including a pointer to an array of data for each type of event + * the device reports. + * + */ + + +typedef struct { + unsigned char input_class; + unsigned char event_type_base; +} XInputClassInfo; + +typedef struct { + XID device_id; + int num_classes; + XInputClassInfo *classes; +} XDevice; + + +/******************************************************************* + * + * The following structure is used to return information for the + * XGetSelectedExtensionEvents function. + * + */ + +typedef struct { + XEventClass event_type; + XID device; +} XEventList; + +/******************************************************************* + * + * The following structure is used to return motion history data from + * an input device that supports the input class Valuators. + * This information is returned by the XGetDeviceMotionEvents function. + * + */ + +typedef struct { + Time time; + int *data; +} XDeviceTimeCoord; + + +/******************************************************************* + * + * Device state structure. + * This is returned by the XQueryDeviceState request. + * + */ + +typedef struct { + XID device_id; + int num_classes; + XInputClass *data; +} XDeviceState; + +/******************************************************************* + * + * Note that the mode field is a bitfield that reports the Proximity + * status of the device as well as the mode. The mode field should + * be OR'd with the mask DeviceMode and compared with the values + * Absolute and Relative to determine the mode, and should be OR'd + * with the mask ProximityState and compared with the values InProximity + * and OutOfProximity to determine the proximity state. + * + */ + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + unsigned char c_class; +#else + unsigned char class; +#endif + unsigned char length; + unsigned char num_valuators; + unsigned char mode; + int *valuators; +} XValuatorState; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + unsigned char c_class; +#else + unsigned char class; +#endif + unsigned char length; + short num_keys; + char keys[32]; +} XKeyState; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + unsigned char c_class; +#else + unsigned char class; +#endif + unsigned char length; + short num_buttons; + char buttons[32]; +} XButtonState; + + + +/******************************************************************* + * + * Function definitions. + * + */ + +_XFUNCPROTOBEGIN + +extern int XChangeKeyboardDevice( + Display* /* display */, + XDevice* /* device */ +); + +extern int XChangePointerDevice( + Display* /* display */, + XDevice* /* device */, + int /* xaxis */, + int /* yaxis */ +); + +extern int XGrabDevice( + Display* /* display */, + XDevice* /* device */, + Window /* grab_window */, + Bool /* ownerEvents */, + int /* event count */, + XEventClass* /* event_list */, + int /* this_device_mode */, + int /* other_devices_mode */, + Time /* time */ +); + +extern int XUngrabDevice( + Display* /* display */, + XDevice* /* device */, + Time /* time */ +); + +extern int XGrabDeviceKey( + Display* /* display */, + XDevice* /* device */, + unsigned int /* key */, + unsigned int /* modifiers */, + XDevice* /* modifier_device */, + Window /* grab_window */, + Bool /* owner_events */, + unsigned int /* event_count */, + XEventClass* /* event_list */, + int /* this_device_mode */, + int /* other_devices_mode */ +); + +extern int XUngrabDeviceKey( + Display* /* display */, + XDevice* /* device */, + unsigned int /* key */, + unsigned int /* modifiers */, + XDevice* /* modifier_dev */, + Window /* grab_window */ +); + +extern int XGrabDeviceButton( + Display* /* display */, + XDevice* /* device */, + unsigned int /* button */, + unsigned int /* modifiers */, + XDevice* /* modifier_device */, + Window /* grab_window */, + Bool /* owner_events */, + unsigned int /* event_count */, + XEventClass* /* event_list */, + int /* this_device_mode */, + int /* other_devices_mode */ +); + +extern int XUngrabDeviceButton( + Display* /* display */, + XDevice* /* device */, + unsigned int /* button */, + unsigned int /* modifiers */, + XDevice* /* modifier_dev */, + Window /* grab_window */ +); + +extern int XAllowDeviceEvents( + Display* /* display */, + XDevice* /* device */, + int /* event_mode */, + Time /* time */ +); + +extern int XGetDeviceFocus( + Display* /* display */, + XDevice* /* device */, + Window* /* focus */, + int* /* revert_to */, + Time* /* time */ +); + +extern int XSetDeviceFocus( + Display* /* display */, + XDevice* /* device */, + Window /* focus */, + int /* revert_to */, + Time /* time */ +); + +extern XFeedbackState *XGetFeedbackControl( + Display* /* display */, + XDevice* /* device */, + int* /* num_feedbacks */ +); + +extern void XFreeFeedbackList( + XFeedbackState* /* list */ +); + +extern int XChangeFeedbackControl( + Display* /* display */, + XDevice* /* device */, + unsigned long /* mask */, + XFeedbackControl* /* f */ +); + +extern int XDeviceBell( + Display* /* display */, + XDevice* /* device */, + XID /* feedbackclass */, + XID /* feedbackid */, + int /* percent */ +); + +extern KeySym *XGetDeviceKeyMapping( + Display* /* display */, + XDevice* /* device */, +#if NeedWidePrototypes + unsigned int /* first */, +#else + KeyCode /* first */, +#endif + int /* keycount */, + int* /* syms_per_code */ +); + +extern int XChangeDeviceKeyMapping( + Display* /* display */, + XDevice* /* device */, + int /* first */, + int /* syms_per_code */, + KeySym* /* keysyms */, + int /* count */ +); + +extern XModifierKeymap *XGetDeviceModifierMapping( + Display* /* display */, + XDevice* /* device */ +); + +extern int XSetDeviceModifierMapping( + Display* /* display */, + XDevice* /* device */, + XModifierKeymap* /* modmap */ +); + +extern int XSetDeviceButtonMapping( + Display* /* display */, + XDevice* /* device */, + unsigned char* /* map[] */, + int /* nmap */ +); + +extern int XGetDeviceButtonMapping( + Display* /* display */, + XDevice* /* device */, + unsigned char* /* map[] */, + unsigned int /* nmap */ +); + +extern XDeviceState *XQueryDeviceState( + Display* /* display */, + XDevice* /* device */ +); + +extern void XFreeDeviceState( + XDeviceState* /* list */ +); + +extern XExtensionVersion *XGetExtensionVersion( + Display* /* display */, + _Xconst char* /* name */ +); + +extern XDeviceInfo *XListInputDevices( + Display* /* display */, + int* /* ndevices */ +); + +extern void XFreeDeviceList( + XDeviceInfo* /* list */ +); + +extern XDevice *XOpenDevice( + Display* /* display */, + XID /* id */ +); + +extern int XCloseDevice( + Display* /* display */, + XDevice* /* device */ +); + +extern int XSetDeviceMode( + Display* /* display */, + XDevice* /* device */, + int /* mode */ +); + +extern int XSetDeviceValuators( + Display* /* display */, + XDevice* /* device */, + int* /* valuators */, + int /* first_valuator */, + int /* num_valuators */ +); + +extern XDeviceControl *XGetDeviceControl( + Display* /* display */, + XDevice* /* device */, + int /* control */ +); + +extern int XChangeDeviceControl( + Display* /* display */, + XDevice* /* device */, + int /* control */, + XDeviceControl* /* d */ +); + +extern int XSelectExtensionEvent( + Display* /* display */, + Window /* w */, + XEventClass* /* event_list */, + int /* count */ +); + +extern int XGetSelectedExtensionEvents( + Display* /* display */, + Window /* w */, + int* /* this_client_count */, + XEventClass** /* this_client_list */, + int* /* all_clients_count */, + XEventClass** /* all_clients_list */ +); + +extern int XChangeDeviceDontPropagateList( + Display* /* display */, + Window /* window */, + int /* count */, + XEventClass* /* events */, + int /* mode */ +); + +extern XEventClass *XGetDeviceDontPropagateList( + Display* /* display */, + Window /* window */, + int* /* count */ +); + +extern Status XSendExtensionEvent( + Display* /* display */, + XDevice* /* device */, + Window /* dest */, + Bool /* prop */, + int /* count */, + XEventClass* /* list */, + XEvent* /* event */ +); + +extern XDeviceTimeCoord *XGetDeviceMotionEvents( + Display* /* display */, + XDevice* /* device */, + Time /* start */, + Time /* stop */, + int* /* nEvents */, + int* /* mode */, + int* /* axis_count */ +); + +extern void XFreeDeviceMotionEvents( + XDeviceTimeCoord* /* events */ +); + +extern void XFreeDeviceControl( + XDeviceControl* /* control */ +); + +extern Atom* XListDeviceProperties( + Display* /* dpy */, + XDevice* /* dev */, + int* /* nprops_return */ +); + +extern void XChangeDeviceProperty( + Display* /* dpy */, + XDevice* /* dev */, + Atom /* property */, + Atom /* type */, + int /* format */, + int /* mode */, + _Xconst unsigned char * /*data */, + int /* nelements */ +); + +extern void +XDeleteDeviceProperty( + Display* /* dpy */, + XDevice* /* dev */, + Atom /* property */ +); + +extern Status +XGetDeviceProperty( + Display* /* dpy*/, + XDevice* /* dev*/, + Atom /* property*/, + long /* offset*/, + long /* length*/, + Bool /* delete*/, + Atom /* req_type*/, + Atom* /* actual_type*/, + int* /* actual_format*/, + unsigned long* /* nitems*/, + unsigned long* /* bytes_after*/, + unsigned char** /* prop*/ +); + +_XFUNCPROTOEND + +#endif /* _XINPUT_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/XInput2.h b/ThirdParty/X11/Include/X11/extensions/XInput2.h new file mode 100644 index 0000000..33670eb --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XInput2.h @@ -0,0 +1,657 @@ +/* + * Copyright © 2009 Red Hat, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +/* Definitions used by the library and client */ + +#ifndef _XINPUT2_H_ +#define _XINPUT2_H_ + +#include <X11/Xlib.h> +#include <X11/extensions/XI2.h> +#include <X11/extensions/Xge.h> +#include <X11/extensions/Xfixes.h> /* PointerBarrier */ + +/******************************************************************* + * + */ +typedef struct { + int type; + char* name; + Bool send_core; + Bool enable; +} XIAddMasterInfo; + +typedef struct { + int type; + int deviceid; + int return_mode; /* AttachToMaster, Floating */ + int return_pointer; + int return_keyboard; +} XIRemoveMasterInfo; + +typedef struct { + int type; + int deviceid; + int new_master; +} XIAttachSlaveInfo; + +typedef struct { + int type; + int deviceid; +} XIDetachSlaveInfo; + +typedef union { + int type; /* must be first element */ + XIAddMasterInfo add; + XIRemoveMasterInfo remove; + XIAttachSlaveInfo attach; + XIDetachSlaveInfo detach; +} XIAnyHierarchyChangeInfo; + +typedef struct +{ + int base; + int latched; + int locked; + int effective; +} XIModifierState; + +typedef XIModifierState XIGroupState; + +typedef struct { + int mask_len; + unsigned char *mask; +} XIButtonState; + +typedef struct { + int mask_len; + unsigned char *mask; + double *values; +} XIValuatorState; + + +typedef struct +{ + int deviceid; + int mask_len; + unsigned char* mask; +} XIEventMask; + +typedef struct +{ + int type; + int sourceid; +} XIAnyClassInfo; + +typedef struct +{ + int type; + int sourceid; + int num_buttons; + Atom *labels; + XIButtonState state; +} XIButtonClassInfo; + +typedef struct +{ + int type; + int sourceid; + int num_keycodes; + int *keycodes; +} XIKeyClassInfo; + +typedef struct +{ + int type; + int sourceid; + int number; + Atom label; + double min; + double max; + double value; + int resolution; + int mode; +} XIValuatorClassInfo; + +/* new in XI 2.1 */ +typedef struct +{ + int type; + int sourceid; + int number; + int scroll_type; + double increment; + int flags; +} XIScrollClassInfo; + +typedef struct +{ + int type; + int sourceid; + int mode; + int num_touches; +} XITouchClassInfo; + +typedef struct +{ + int deviceid; + char *name; + int use; + int attachment; + Bool enabled; + int num_classes; + XIAnyClassInfo **classes; +} XIDeviceInfo; + +typedef struct +{ + int modifiers; + int status; +} XIGrabModifiers; + +typedef unsigned int BarrierEventID; + +typedef struct +{ + int deviceid; + PointerBarrier barrier; + BarrierEventID eventid; +} XIBarrierReleasePointerInfo; + +/** + * Generic XI2 event. All XI2 events have the same header. + */ +typedef struct { + int type; /* GenericEvent */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + int extension; /* XI extension offset */ + int evtype; + Time time; +} XIEvent; + + +typedef struct { + int deviceid; + int attachment; + int use; + Bool enabled; + int flags; +} XIHierarchyInfo; + +/* + * Notifies the client that the device hierarchy has been changed. The client + * is expected to re-query the server for the device hierarchy. + */ +typedef struct { + int type; /* GenericEvent */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + int extension; /* XI extension offset */ + int evtype; /* XI_HierarchyChanged */ + Time time; + int flags; + int num_info; + XIHierarchyInfo *info; +} XIHierarchyEvent; + +/* + * Notifies the client that the classes have been changed. This happens when + * the slave device that sends through the master changes. + */ +typedef struct { + int type; /* GenericEvent */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + int extension; /* XI extension offset */ + int evtype; /* XI_DeviceChanged */ + Time time; + int deviceid; /* id of the device that changed */ + int sourceid; /* Source for the new classes. */ + int reason; /* Reason for the change */ + int num_classes; + XIAnyClassInfo **classes; /* same as in XIDeviceInfo */ +} XIDeviceChangedEvent; + +typedef struct { + int type; /* GenericEvent */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + int extension; /* XI extension offset */ + int evtype; + Time time; + int deviceid; + int sourceid; + int detail; + Window root; + Window event; + Window child; + double root_x; + double root_y; + double event_x; + double event_y; + int flags; + XIButtonState buttons; + XIValuatorState valuators; + XIModifierState mods; + XIGroupState group; +} XIDeviceEvent; + +typedef struct { + int type; /* GenericEvent */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + int extension; /* XI extension offset */ + int evtype; /* XI_RawKeyPress, XI_RawKeyRelease, etc. */ + Time time; + int deviceid; + int sourceid; /* Bug: Always 0. https://bugs.freedesktop.org//show_bug.cgi?id=34240 */ + int detail; + int flags; + XIValuatorState valuators; + double *raw_values; +} XIRawEvent; + +typedef struct { + int type; /* GenericEvent */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + int extension; /* XI extension offset */ + int evtype; + Time time; + int deviceid; + int sourceid; + int detail; + Window root; + Window event; + Window child; + double root_x; + double root_y; + double event_x; + double event_y; + int mode; + Bool focus; + Bool same_screen; + XIButtonState buttons; + XIModifierState mods; + XIGroupState group; +} XIEnterEvent; + +typedef XIEnterEvent XILeaveEvent; +typedef XIEnterEvent XIFocusInEvent; +typedef XIEnterEvent XIFocusOutEvent; + +typedef struct { + int type; /* GenericEvent */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + int extension; /* XI extension offset */ + int evtype; /* XI_PropertyEvent */ + Time time; + int deviceid; /* id of the device that changed */ + Atom property; + int what; +} XIPropertyEvent; + +typedef struct { + int type; /* GenericEvent */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + int extension; /* XI extension offset */ + int evtype; + Time time; + int deviceid; + int sourceid; + unsigned int touchid; + Window root; + Window event; + Window child; + int flags; +} XITouchOwnershipEvent; + +typedef struct { + int type; /* GenericEvent */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + int extension; /* XI extension offset */ + int evtype; + Time time; + int deviceid; + int sourceid; + Window event; + Window root; + double root_x; + double root_y; + double dx; + double dy; + int dtime; + int flags; + PointerBarrier barrier; + BarrierEventID eventid; +} XIBarrierEvent; + +_XFUNCPROTOBEGIN + +extern Bool XIQueryPointer( + Display* display, + int deviceid, + Window win, + Window* root, + Window* child, + double* root_x, + double* root_y, + double* win_x, + double* win_y, + XIButtonState *buttons, + XIModifierState *mods, + XIGroupState *group +); + +extern Bool XIWarpPointer( + Display* display, + int deviceid, + Window src_win, + Window dst_win, + double src_x, + double src_y, + unsigned int src_width, + unsigned int src_height, + double dst_x, + double dst_y +); + +extern Status XIDefineCursor( + Display* display, + int deviceid, + Window win, + Cursor cursor +); + +extern Status XIUndefineCursor( + Display* display, + int deviceid, + Window win +); + +extern Status XIChangeHierarchy( + Display* display, + XIAnyHierarchyChangeInfo* changes, + int num_changes +); + +extern Status XISetClientPointer( + Display* dpy, + Window win, + int deviceid +); + +extern Bool XIGetClientPointer( + Display* dpy, + Window win, + int* deviceid +); + +extern int XISelectEvents( + Display* dpy, + Window win, + XIEventMask *masks, + int num_masks +); + +extern XIEventMask *XIGetSelectedEvents( + Display* dpy, + Window win, + int *num_masks_return +); + +extern Status XIQueryVersion( + Display* dpy, + int* major_version_inout, + int* minor_version_inout +); + +extern XIDeviceInfo* XIQueryDevice( + Display* dpy, + int deviceid, + int* ndevices_return +); + +extern Status XISetFocus( + Display* dpy, + int deviceid, + Window focus, + Time time +); + +extern Status XIGetFocus( + Display* dpy, + int deviceid, + Window *focus_return); + +extern Status XIGrabDevice( + Display* dpy, + int deviceid, + Window grab_window, + Time time, + Cursor cursor, + int grab_mode, + int paired_device_mode, + Bool owner_events, + XIEventMask *mask +); + +extern Status XIUngrabDevice( + Display* dpy, + int deviceid, + Time time +); + +extern Status XIAllowEvents( + Display* display, + int deviceid, + int event_mode, + Time time +); + +extern Status XIAllowTouchEvents( + Display* display, + int deviceid, + unsigned int touchid, + Window grab_window, + int event_mode +); + +extern int XIGrabButton( + Display* display, + int deviceid, + int button, + Window grab_window, + Cursor cursor, + int grab_mode, + int paired_device_mode, + int owner_events, + XIEventMask *mask, + int num_modifiers, + XIGrabModifiers *modifiers_inout +); + +extern int XIGrabKeycode( + Display* display, + int deviceid, + int keycode, + Window grab_window, + int grab_mode, + int paired_device_mode, + int owner_events, + XIEventMask *mask, + int num_modifiers, + XIGrabModifiers *modifiers_inout +); + +extern int XIGrabEnter( + Display* display, + int deviceid, + Window grab_window, + Cursor cursor, + int grab_mode, + int paired_device_mode, + int owner_events, + XIEventMask *mask, + int num_modifiers, + XIGrabModifiers *modifiers_inout +); + +extern int XIGrabFocusIn( + Display* display, + int deviceid, + Window grab_window, + int grab_mode, + int paired_device_mode, + int owner_events, + XIEventMask *mask, + int num_modifiers, + XIGrabModifiers *modifiers_inout +); + +extern int XIGrabTouchBegin( + Display* display, + int deviceid, + Window grab_window, + int owner_events, + XIEventMask *mask, + int num_modifiers, + XIGrabModifiers *modifiers_inout +); + +extern Status XIUngrabButton( + Display* display, + int deviceid, + int button, + Window grab_window, + int num_modifiers, + XIGrabModifiers *modifiers +); + +extern Status XIUngrabKeycode( + Display* display, + int deviceid, + int keycode, + Window grab_window, + int num_modifiers, + XIGrabModifiers *modifiers +); + +extern Status XIUngrabEnter( + Display* display, + int deviceid, + Window grab_window, + int num_modifiers, + XIGrabModifiers *modifiers +); + +extern Status XIUngrabFocusIn( + Display* display, + int deviceid, + Window grab_window, + int num_modifiers, + XIGrabModifiers *modifiers +); + +extern Status XIUngrabTouchBegin( + Display* display, + int deviceid, + Window grab_window, + int num_modifiers, + XIGrabModifiers *modifiers +); + +extern Atom *XIListProperties( + Display* display, + int deviceid, + int *num_props_return +); + +extern void XIChangeProperty( + Display* display, + int deviceid, + Atom property, + Atom type, + int format, + int mode, + unsigned char *data, + int num_items +); + +extern void +XIDeleteProperty( + Display* display, + int deviceid, + Atom property +); + +extern Status +XIGetProperty( + Display* display, + int deviceid, + Atom property, + long offset, + long length, + Bool delete_property, + Atom type, + Atom *type_return, + int *format_return, + unsigned long *num_items_return, + unsigned long *bytes_after_return, + unsigned char **data +); + +extern void +XIBarrierReleasePointers( + Display* display, + XIBarrierReleasePointerInfo *barriers, + int num_barriers +); + +extern void +XIBarrierReleasePointer( + Display* display, + int deviceid, + PointerBarrier barrier, + BarrierEventID eventid +); + +extern void XIFreeDeviceInfo(XIDeviceInfo *info); + +_XFUNCPROTOEND + +#endif /* XINPUT2_H */ diff --git a/ThirdParty/X11/Include/X11/extensions/XIproto.h b/ThirdParty/X11/Include/X11/extensions/XIproto.h new file mode 100644 index 0000000..82323d8 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XIproto.h @@ -0,0 +1,1758 @@ +/************************************************************ + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +Copyright 1989 by Hewlett-Packard Company, Palo Alto, California. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Hewlett-Packard not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +HEWLETT-PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +HEWLETT-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +********************************************************/ + +#ifndef _XIPROTO_H +#define _XIPROTO_H + +#include <X11/Xproto.h> +#include <X11/X.h> + +/* make sure types have right sizes for protocol structures. */ +#define Window CARD32 +#define Time CARD32 +#define KeyCode CARD8 +#define Mask CARD32 +#define Atom CARD32 +#define Cursor CARD32 + +/********************************************************* + * + * number of events, errors, and extension name. + * + */ + +#define MORE_EVENTS 0x80 +#define DEVICE_BITS 0x7F + +#define InputClassBits 0x3F /* bits in mode field for input classes */ +#define ModeBitsShift 6 /* amount to shift the remaining bits */ + +#define numInputClasses 7 + +#define IEVENTS 17 /* does NOT include generic events */ +#define IERRORS 5 +#define IREQUESTS 39 + +#define CLIENT_REQ 1 + +typedef struct _XExtEventInfo + { + Mask mask; + BYTE type; + BYTE word; + } XExtEventInfo; + +#ifndef _XITYPEDEF_POINTER +typedef void *Pointer; +#endif + +struct tmask + { + Mask mask; + void *dev; + }; + +/********************************************************* + * + * Event constants used by library. + * + */ + +#define XI_DeviceValuator 0 +#define XI_DeviceKeyPress 1 +#define XI_DeviceKeyRelease 2 +#define XI_DeviceButtonPress 3 +#define XI_DeviceButtonRelease 4 +#define XI_DeviceMotionNotify 5 +#define XI_DeviceFocusIn 6 +#define XI_DeviceFocusOut 7 +#define XI_ProximityIn 8 +#define XI_ProximityOut 9 +#define XI_DeviceStateNotify 10 +#define XI_DeviceMappingNotify 11 +#define XI_ChangeDeviceNotify 12 +#define XI_DeviceKeystateNotify 13 +#define XI_DeviceButtonstateNotify 14 +#define XI_DevicePresenceNotify 15 +#define XI_DevicePropertyNotify 16 + +/********************************************************* + * + * Protocol request constants + * + */ + +#define X_GetExtensionVersion 1 +#define X_ListInputDevices 2 +#define X_OpenDevice 3 +#define X_CloseDevice 4 +#define X_SetDeviceMode 5 +#define X_SelectExtensionEvent 6 +#define X_GetSelectedExtensionEvents 7 +#define X_ChangeDeviceDontPropagateList 8 +#define X_GetDeviceDontPropagateList 9 +#define X_GetDeviceMotionEvents 10 +#define X_ChangeKeyboardDevice 11 +#define X_ChangePointerDevice 12 +#define X_GrabDevice 13 +#define X_UngrabDevice 14 +#define X_GrabDeviceKey 15 +#define X_UngrabDeviceKey 16 +#define X_GrabDeviceButton 17 +#define X_UngrabDeviceButton 18 +#define X_AllowDeviceEvents 19 +#define X_GetDeviceFocus 20 +#define X_SetDeviceFocus 21 +#define X_GetFeedbackControl 22 +#define X_ChangeFeedbackControl 23 +#define X_GetDeviceKeyMapping 24 +#define X_ChangeDeviceKeyMapping 25 +#define X_GetDeviceModifierMapping 26 +#define X_SetDeviceModifierMapping 27 +#define X_GetDeviceButtonMapping 28 +#define X_SetDeviceButtonMapping 29 +#define X_QueryDeviceState 30 +#define X_SendExtensionEvent 31 +#define X_DeviceBell 32 +#define X_SetDeviceValuators 33 +#define X_GetDeviceControl 34 +#define X_ChangeDeviceControl 35 +/* XI 1.5 */ +#define X_ListDeviceProperties 36 +#define X_ChangeDeviceProperty 37 +#define X_DeleteDeviceProperty 38 +#define X_GetDeviceProperty 39 + +/********************************************************* + * + * Protocol request and reply structures. + * + * GetExtensionVersion. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_GetExtensionVersion */ + CARD16 length B16; + CARD16 nbytes B16; + CARD8 pad1, pad2; +} xGetExtensionVersionReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_GetExtensionVersion */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 major_version B16; + CARD16 minor_version B16; + BOOL present; + CARD8 pad1, pad2, pad3; + CARD32 pad01 B32; + CARD32 pad02 B32; + CARD32 pad03 B32; + CARD32 pad04 B32; +} xGetExtensionVersionReply; + +/********************************************************* + * + * ListInputDevices. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_ListInputDevices */ + CARD16 length B16; +} xListInputDevicesReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_ListInputDevices */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD8 ndevices; + CARD8 pad1, pad2, pad3; + CARD32 pad01 B32; + CARD32 pad02 B32; + CARD32 pad03 B32; + CARD32 pad04 B32; + CARD32 pad05 B32; +} xListInputDevicesReply; + +typedef struct _xDeviceInfo *xDeviceInfoPtr; + +typedef struct _xAnyClassinfo *xAnyClassPtr; + +typedef struct _xAnyClassinfo { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; +#else + CARD8 class; +#endif + CARD8 length; + } xAnyClassInfo; + +typedef struct _xDeviceInfo { + CARD32 type B32; + CARD8 id; + CARD8 num_classes; + CARD8 use; /* IsXPointer | IsXKeyboard | IsXExtension... */ + CARD8 attached; /* id of master dev (if IsXExtension..) */ + } xDeviceInfo; + +typedef struct _xKeyInfo *xKeyInfoPtr; + +typedef struct _xKeyInfo { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; +#else + CARD8 class; +#endif + CARD8 length; + KeyCode min_keycode; + KeyCode max_keycode; + CARD16 num_keys B16; + CARD8 pad1,pad2; + } xKeyInfo; + +typedef struct _xButtonInfo *xButtonInfoPtr; + +typedef struct _xButtonInfo { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; +#else + CARD8 class; +#endif + CARD8 length; + CARD16 num_buttons B16; + } xButtonInfo; + +typedef struct _xValuatorInfo *xValuatorInfoPtr; + +typedef struct _xValuatorInfo { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; +#else + CARD8 class; +#endif + CARD8 length; + CARD8 num_axes; + CARD8 mode; + CARD32 motion_buffer_size B32; + } xValuatorInfo; + +typedef struct _xAxisInfo *xAxisInfoPtr; + +typedef struct _xAxisInfo { + CARD32 resolution B32; + CARD32 min_value B32; + CARD32 max_value B32; + } xAxisInfo; + +/********************************************************* + * + * OpenDevice. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_OpenDevice */ + CARD16 length B16; + CARD8 deviceid; + BYTE pad1, pad2, pad3; +} xOpenDeviceReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_OpenDevice */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD8 num_classes; + BYTE pad1, pad2, pad3; + CARD32 pad00 B32; + CARD32 pad01 B32; + CARD32 pad02 B32; + CARD32 pad03 B32; + CARD32 pad04 B32; + } xOpenDeviceReply; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; +#else + CARD8 class; +#endif + CARD8 event_type_base; + } xInputClassInfo; + +/********************************************************* + * + * CloseDevice. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_CloseDevice */ + CARD16 length B16; + CARD8 deviceid; + BYTE pad1, pad2, pad3; +} xCloseDeviceReq; + +/********************************************************* + * + * SetDeviceMode. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_SetDeviceMode */ + CARD16 length B16; + CARD8 deviceid; + CARD8 mode; + BYTE pad1, pad2; +} xSetDeviceModeReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_SetDeviceMode */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD8 status; + BYTE pad1, pad2, pad3; + CARD32 pad01 B32; + CARD32 pad02 B32; + CARD32 pad03 B32; + CARD32 pad04 B32; + CARD32 pad05 B32; +} xSetDeviceModeReply; + +/********************************************************* + * + * SelectExtensionEvent. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_SelectExtensionEvent */ + CARD16 length B16; + Window window B32; + CARD16 count B16; + CARD16 pad00 B16; +} xSelectExtensionEventReq; + +/********************************************************* + * + * GetSelectedExtensionEvent. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* X_GetSelectedExtensionEvents */ + CARD16 length B16; + Window window B32; +} xGetSelectedExtensionEventsReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* GetSelectedExtensionEvents */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 this_client_count B16; + CARD16 all_clients_count B16; + CARD32 pad01 B32; + CARD32 pad02 B32; + CARD32 pad03 B32; + CARD32 pad04 B32; + CARD32 pad05 B32; +} xGetSelectedExtensionEventsReply; + +/********************************************************* + * + * ChangeDeviceDontPropagateList. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* X_ChangeDeviceDontPropagateList */ + CARD16 length B16; + Window window B32; + CARD16 count B16; + CARD8 mode; + BYTE pad; +} xChangeDeviceDontPropagateListReq; + +/********************************************************* + * + * GetDeviceDontPropagateList. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* X_GetDeviceDontPropagateList */ + CARD16 length B16; + Window window B32; +} xGetDeviceDontPropagateListReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* GetDeviceDontPropagateList */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 count B16; + CARD16 pad00 B16; + CARD32 pad01 B32; + CARD32 pad02 B32; + CARD32 pad03 B32; + CARD32 pad04 B32; + CARD32 pad05 B32; + } xGetDeviceDontPropagateListReply; + +/********************************************************* + * + * GetDeviceMotionEvents. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_GetDeviceMotionEvents*/ + CARD16 length B16; + Time start B32; + Time stop B32; + CARD8 deviceid; + BYTE pad1, pad2, pad3; +} xGetDeviceMotionEventsReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_GetDeviceMotionEvents */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 nEvents B32; + CARD8 axes; + CARD8 mode; + BYTE pad1, pad2; + CARD32 pad01 B32; + CARD32 pad02 B32; + CARD32 pad03 B32; + CARD32 pad04 B32; +} xGetDeviceMotionEventsReply; + +/********************************************************* + * + * ChangeKeyboardDevice. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* X_ChangeKeyboardDevice */ + CARD16 length B16; + CARD8 deviceid; + BYTE pad1, pad2, pad3; +} xChangeKeyboardDeviceReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_ChangeKeyboardDevice*/ + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + CARD8 status; + BYTE pad1, pad2, pad3; + CARD32 pad01 B32; + CARD32 pad02 B32; + CARD32 pad03 B32; + CARD32 pad04 B32; + CARD32 pad05 B32; + } xChangeKeyboardDeviceReply; + +/********************************************************* + * + * ChangePointerDevice. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* X_ChangePointerDevice */ + CARD16 length B16; + CARD8 xaxis; + CARD8 yaxis; + CARD8 deviceid; + BYTE pad1; +} xChangePointerDeviceReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_ChangePointerDevice */ + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + CARD8 status; + BYTE pad1, pad2, pad3; + CARD32 pad01 B32; + CARD32 pad02 B32; + CARD32 pad03 B32; + CARD32 pad04 B32; + CARD32 pad05 B32; + } xChangePointerDeviceReply; + +/********************************************************* + * + * GrabDevice. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_GrabDevice */ + CARD16 length B16; + Window grabWindow B32; + Time time B32; + CARD16 event_count B16; + CARD8 this_device_mode; + CARD8 other_devices_mode; + BOOL ownerEvents; + CARD8 deviceid; + CARD16 pad01 B16; +} xGrabDeviceReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_GrabDevice */ + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + CARD8 status; + BYTE pad1, pad2, pad3; + CARD32 pad01 B32; + CARD32 pad02 B32; + CARD32 pad03 B32; + CARD32 pad04 B32; + CARD32 pad05 B32; + } xGrabDeviceReply; + +/********************************************************* + * + * UngrabDevice. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_UnGrabDevice */ + CARD16 length B16; + Time time B32; + CARD8 deviceid; + BYTE pad1, pad2, pad3; +} xUngrabDeviceReq; + +/********************************************************* + * + * GrabDeviceKey. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_GrabDeviceKey */ + CARD16 length B16; + Window grabWindow B32; + CARD16 event_count B16; + CARD16 modifiers B16; + CARD8 modifier_device; + CARD8 grabbed_device; + CARD8 key; + BYTE this_device_mode; + BYTE other_devices_mode; + BOOL ownerEvents; + BYTE pad1, pad2; +} xGrabDeviceKeyReq; + +/********************************************************* + * + * UngrabDeviceKey. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_UngrabDeviceKey */ + CARD16 length B16; + Window grabWindow B32; + CARD16 modifiers B16; + CARD8 modifier_device; + CARD8 key; + CARD8 grabbed_device; + BYTE pad1, pad2, pad3; +} xUngrabDeviceKeyReq; + +/********************************************************* + * + * GrabDeviceButton. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_GrabDeviceButton */ + CARD16 length B16; + Window grabWindow B32; + CARD8 grabbed_device; + CARD8 modifier_device; + CARD16 event_count B16; + CARD16 modifiers B16; + BYTE this_device_mode; + BYTE other_devices_mode; + CARD8 button; + BOOL ownerEvents; + BYTE pad1, pad2; +} xGrabDeviceButtonReq; + +/********************************************************* + * + * UngrabDeviceButton. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_UngrabDeviceButton */ + CARD16 length B16; + Window grabWindow B32; + CARD16 modifiers B16; + CARD8 modifier_device; + CARD8 button; + CARD8 grabbed_device; + BYTE pad1, pad2, pad3; +} xUngrabDeviceButtonReq; + +/********************************************************* + * + * AllowDeviceEvents. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_AllowDeviceEvents */ + CARD16 length B16; + Time time B32; + CARD8 mode; + CARD8 deviceid; + BYTE pad1, pad2; +} xAllowDeviceEventsReq; + +/********************************************************* + * + * GetDeviceFocus. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_GetDeviceFocus */ + CARD16 length B16; + CARD8 deviceid; + BYTE pad1, pad2, pad3; +} xGetDeviceFocusReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_GetDeviceFocus */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 focus B32; + Time time B32; + CARD8 revertTo; + BYTE pad1, pad2, pad3; + CARD32 pad01 B32; + CARD32 pad02 B32; + CARD32 pad03 B32; + } xGetDeviceFocusReply; + +/********************************************************* + * + * SetDeviceFocus. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_SetDeviceFocus */ + CARD16 length B16; + Window focus B32; + Time time B32; + CARD8 revertTo; + CARD8 device; + CARD16 pad01 B16; +} xSetDeviceFocusReq; + +/********************************************************* + * + * GetFeedbackControl. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* X_GetFeedbackControl */ + CARD16 length B16; + CARD8 deviceid; + BYTE pad1, pad2, pad3; +} xGetFeedbackControlReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_GetFeedbackControl */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 num_feedbacks B16; + CARD16 pad01 B16; + CARD32 pad02 B32; + CARD32 pad03 B32; + CARD32 pad04 B32; + CARD32 pad05 B32; + CARD32 pad06 B32; +} xGetFeedbackControlReply; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; /* feedback class */ +#else + CARD8 class; /* feedback class */ +#endif + CARD8 id; /* feedback id */ + CARD16 length B16; /* feedback length */ +} xFeedbackState; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; +#else + CARD8 class; +#endif + CARD8 id; + CARD16 length B16; + CARD16 pitch B16; + CARD16 duration B16; + CARD32 led_mask B32; + CARD32 led_values B32; + BOOL global_auto_repeat; + CARD8 click; + CARD8 percent; + BYTE pad; + BYTE auto_repeats[32]; +} xKbdFeedbackState; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; +#else + CARD8 class; +#endif + CARD8 id; + CARD16 length B16; + CARD8 pad1,pad2; + CARD16 accelNum B16; + CARD16 accelDenom B16; + CARD16 threshold B16; +} xPtrFeedbackState; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; /* feedback class id */ +#else + CARD8 class; /* feedback class id */ +#endif + CARD8 id; + CARD16 length B16; /* feedback length */ + CARD32 resolution B32; + INT32 min_value B32; + INT32 max_value B32; +} xIntegerFeedbackState; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; /* feedback class id */ +#else + CARD8 class; /* feedback class id */ +#endif + CARD8 id; + CARD16 length B16; /* feedback length */ + CARD16 max_symbols B16; + CARD16 num_syms_supported B16; +} xStringFeedbackState; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; /* feedback class id */ +#else + CARD8 class; /* feedback class id */ +#endif + CARD8 id; + CARD16 length B16; /* feedback length */ + CARD8 percent; + BYTE pad1, pad2, pad3; + CARD16 pitch B16; + CARD16 duration B16; +} xBellFeedbackState; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; /* feedback class id */ +#else + CARD8 class; /* feedback class id */ +#endif + CARD8 id; + CARD16 length B16; /* feedback length */ + CARD32 led_mask B32; + CARD32 led_values B32; +} xLedFeedbackState; + +/********************************************************* + * + * ChangeFeedbackControl. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* X_ChangeFeedbackControl */ + CARD16 length B16; + CARD32 mask B32; + CARD8 deviceid; + CARD8 feedbackid; + BYTE pad1, pad2; +} xChangeFeedbackControlReq; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; /* feedback class id */ +#else + CARD8 class; /* feedback class id */ +#endif + CARD8 id; /* feedback id */ + CARD16 length B16; /* feedback length */ +} xFeedbackCtl; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; /* feedback class id */ +#else + CARD8 class; /* feedback class id */ +#endif + CARD8 id; /* feedback length */ + CARD16 length B16; /* feedback length */ + KeyCode key; + CARD8 auto_repeat_mode; + INT8 click; + INT8 percent; + INT16 pitch B16; + INT16 duration B16; + CARD32 led_mask B32; + CARD32 led_values B32; +} xKbdFeedbackCtl; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; /* feedback class id */ +#else + CARD8 class; /* feedback class id */ +#endif + CARD8 id; /* feedback id */ + CARD16 length B16; /* feedback length */ + CARD8 pad1,pad2; + INT16 num B16; + INT16 denom B16; + INT16 thresh B16; +} xPtrFeedbackCtl; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; /* feedback class id */ +#else + CARD8 class; /* feedback class id */ +#endif + CARD8 id; /* feedback id */ + CARD16 length B16; /* feedback length */ + INT32 int_to_display B32; +} xIntegerFeedbackCtl; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; /* feedback class id */ +#else + CARD8 class; /* feedback class id */ +#endif + CARD8 id; /* feedback id */ + CARD16 length B16; /* feedback length */ + CARD8 pad1,pad2; + CARD16 num_keysyms B16; +} xStringFeedbackCtl; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; /* feedback class id */ +#else + CARD8 class; /* feedback class id */ +#endif + CARD8 id; /* feedback id */ + CARD16 length B16; /* feedback length */ + INT8 percent; + BYTE pad1, pad2, pad3; + INT16 pitch B16; + INT16 duration B16; +} xBellFeedbackCtl; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; /* feedback class id */ +#else + CARD8 class; /* feedback class id */ +#endif + CARD8 id; /* feedback id */ + CARD16 length B16; /* feedback length */ + CARD32 led_mask B32; + CARD32 led_values B32; +} xLedFeedbackCtl; + +/********************************************************* + * + * GetDeviceKeyMapping. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_GetDeviceKeyMapping */ + CARD16 length B16; + CARD8 deviceid; + KeyCode firstKeyCode; + CARD8 count; + BYTE pad1; +} xGetDeviceKeyMappingReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_GetDeviceKeyMapping */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD8 keySymsPerKeyCode; + CARD8 pad0; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xGetDeviceKeyMappingReply; + +/********************************************************* + * + * ChangeDeviceKeyMapping. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_ChangeDeviceKeyMapping */ + CARD16 length B16; + CARD8 deviceid; + KeyCode firstKeyCode; + CARD8 keySymsPerKeyCode; + CARD8 keyCodes; +} xChangeDeviceKeyMappingReq; + +/********************************************************* + * + * GetDeviceModifierMapping. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_GetDeviceModifierMapping */ + CARD16 length B16; + CARD8 deviceid; + BYTE pad1, pad2, pad3; +} xGetDeviceModifierMappingReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_GetDeviceModifierMapping */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD8 numKeyPerModifier; + CARD8 pad0; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xGetDeviceModifierMappingReply; + +/********************************************************* + * + * SetDeviceModifierMapping. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_SetDeviceModifierMapping */ + CARD16 length B16; + CARD8 deviceid; + CARD8 numKeyPerModifier; + CARD16 pad1 B16; +} xSetDeviceModifierMappingReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_SetDeviceModifierMapping */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD8 success; + CARD8 pad0; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xSetDeviceModifierMappingReply; + +/********************************************************* + * + * GetDeviceButtonMapping. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* X_GetDeviceButtonMapping */ + CARD16 length B16; + CARD8 deviceid; + BYTE pad1, pad2, pad3; +} xGetDeviceButtonMappingReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_GetDeviceButtonMapping */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD8 nElts; + BYTE pad1, pad2, pad3; + CARD32 pad01 B32; + CARD32 pad02 B32; + CARD32 pad03 B32; + CARD32 pad04 B32; + CARD32 pad05 B32; +} xGetDeviceButtonMappingReply; + +/********************************************************* + * + * SetDeviceButtonMapping. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* X_SetDeviceButtonMapping */ + CARD16 length B16; + CARD8 deviceid; + CARD8 map_length; + BYTE pad1, pad2; +} xSetDeviceButtonMappingReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_SetDeviceButtonMapping */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD8 status; + BYTE pad0; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xSetDeviceButtonMappingReply; + +/********************************************************* + * + * QueryDeviceState. + * + */ + +typedef struct { + CARD8 reqType; + CARD8 ReqType; /* always X_QueryDeviceState */ + CARD16 length B16; + CARD8 deviceid; + BYTE pad1, pad2, pad3; +} xQueryDeviceStateReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_QueryDeviceState */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD8 num_classes; + BYTE pad0; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xQueryDeviceStateReply; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; +#else + CARD8 class; +#endif + CARD8 length; + CARD8 num_keys; + BYTE pad1; + CARD8 keys[32]; +} xKeyState; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; +#else + CARD8 class; +#endif + CARD8 length; + CARD8 num_buttons; + BYTE pad1; + CARD8 buttons[32]; +} xButtonState; + +typedef struct { +#if defined(__cplusplus) || defined(c_plusplus) + CARD8 c_class; +#else + CARD8 class; +#endif + CARD8 length; + CARD8 num_valuators; + CARD8 mode; +} xValuatorState; + +/********************************************************* + * + * SendExtensionEvent. + * THIS REQUEST MUST BE KEPT A MULTIPLE OF 8 BYTES IN LENGTH! + * MORE EVENTS MAY FOLLOW AND THEY MUST BE QUAD-ALIGNED! + * + */ + +typedef struct { + CARD8 reqType; + CARD8 ReqType; /* always X_SendExtensionEvent */ + CARD16 length B16; + Window destination B32; + CARD8 deviceid; + BOOL propagate; + CARD16 count B16; + CARD8 num_events; + BYTE pad1,pad2,pad3; +} xSendExtensionEventReq; + +/********************************************************* + * + * DeviceBell. + * + */ + +typedef struct { + CARD8 reqType; + CARD8 ReqType; /* always X_DeviceBell */ + CARD16 length B16; + CARD8 deviceid; + CARD8 feedbackid; + CARD8 feedbackclass; + INT8 percent; +} xDeviceBellReq; + +/********************************************************* + * + * SetDeviceValuators. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_SetDeviceValuators */ + CARD16 length B16; + CARD8 deviceid; + CARD8 first_valuator; + CARD8 num_valuators; + BYTE pad1; +} xSetDeviceValuatorsReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_SetDeviceValuators */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD8 status; + BYTE pad1, pad2, pad3; + CARD32 pad01 B32; + CARD32 pad02 B32; + CARD32 pad03 B32; + CARD32 pad04 B32; + CARD32 pad05 B32; +} xSetDeviceValuatorsReply; + +/********************************************************* + * + * GetDeviceControl. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_GetDeviceControl */ + CARD16 length B16; + CARD16 control B16; + CARD8 deviceid; + BYTE pad2; +} xGetDeviceControlReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_GetDeviceControl */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD8 status; + BYTE pad1, pad2, pad3; + CARD32 pad01 B32; + CARD32 pad02 B32; + CARD32 pad03 B32; + CARD32 pad04 B32; + CARD32 pad05 B32; +} xGetDeviceControlReply; + +typedef struct { + CARD16 control B16; /* control type */ + CARD16 length B16; /* control length */ +} xDeviceState; + +typedef struct { + CARD16 control B16; /* control type */ + CARD16 length B16; /* control length */ + CARD32 num_valuators B32; /* number of valuators */ +} xDeviceResolutionState; + +typedef struct { + CARD16 control B16; + CARD16 length B16; + INT32 min_x B32; + INT32 max_x B32; + INT32 min_y B32; + INT32 max_y B32; + CARD32 flip_x B32; + CARD32 flip_y B32; + CARD32 rotation B32; + CARD32 button_threshold B32; +} xDeviceAbsCalibState; + +typedef struct { + CARD16 control B16; + CARD16 length B16; + CARD32 offset_x B32; + CARD32 offset_y B32; + CARD32 width B32; + CARD32 height B32; + CARD32 screen B32; + CARD32 following B32; +} xDeviceAbsAreaState; + +typedef struct { + CARD16 control B16; /* control type */ + CARD16 length B16; /* control length */ + CARD8 status; + CARD8 iscore; + CARD16 pad1 B16; +} xDeviceCoreState; + +typedef struct { + CARD16 control B16; /* control type */ + CARD16 length B16; /* control length */ + CARD8 enable; + CARD8 pad0; + CARD16 pad1 B16; +} xDeviceEnableState; + +/********************************************************* + * + * ChangeDeviceControl. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_ChangeDeviceControl */ + CARD16 length B16; + CARD16 control B16; + CARD8 deviceid; + BYTE pad0; +} xChangeDeviceControlReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_ChangeDeviceControl */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD8 status; + BYTE pad1, pad2, pad3; + CARD32 pad01 B32; + CARD32 pad02 B32; + CARD32 pad03 B32; + CARD32 pad04 B32; + CARD32 pad05 B32; +} xChangeDeviceControlReply; + +typedef struct { + CARD16 control B16; /* control type */ + CARD16 length B16; /* control length */ +} xDeviceCtl; + +typedef struct { + CARD16 control B16; /* control type */ + CARD16 length B16; /* control length */ + CARD8 first_valuator; /* first valuator to change */ + CARD8 num_valuators; /* number of valuators to change*/ + CARD8 pad1,pad2; +} xDeviceResolutionCtl; + +typedef struct { + CARD16 control B16; + CARD16 length B16; + INT32 min_x; + INT32 max_x; + INT32 min_y; + INT32 max_y; + CARD32 flip_x; + CARD32 flip_y; + CARD32 rotation; + CARD32 button_threshold; +} xDeviceAbsCalibCtl; + +typedef struct { + CARD16 control B16; + CARD16 length B16; + CARD32 offset_x; + CARD32 offset_y; + INT32 width; + INT32 height; + INT32 screen; + CARD32 following; +} xDeviceAbsAreaCtl; + +typedef struct { + CARD16 control B16; + CARD16 length B16; + CARD8 status; + CARD8 pad0; + CARD16 pad1 B16; +} xDeviceCoreCtl; + +typedef struct { + CARD16 control B16; + CARD16 length B16; + CARD8 enable; + CARD8 pad0; + CARD16 pad1 B16; +} xDeviceEnableCtl; + +/* XI 1.5 */ + +/********************************************************* + * + * ListDeviceProperties. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major opcode */ + CARD8 ReqType; /* always X_ListDeviceProperties */ + CARD16 length B16; + CARD8 deviceid; + CARD8 pad0; + CARD16 pad1 B16; +} xListDevicePropertiesReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_ListDeviceProperties */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 nAtoms B16; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xListDevicePropertiesReply; + +/********************************************************* + * + * ChangeDeviceProperty. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major opcode */ + CARD8 ReqType; /* always X_ChangeDeviceProperty */ + CARD16 length B16; + Atom property B32; + Atom type B32; + CARD8 deviceid; + CARD8 format; + CARD8 mode; + CARD8 pad; + CARD32 nUnits B32; +} xChangeDevicePropertyReq; + +/********************************************************* + * + * DeleteDeviceProperty. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major opcode */ + CARD8 ReqType; /* always X_DeleteDeviceProperty */ + CARD16 length B16; + Atom property B32; + CARD8 deviceid; + CARD8 pad0; + CARD16 pad1 B16; +} xDeleteDevicePropertyReq; + +/********************************************************* + * + * GetDeviceProperty. + * + */ + +typedef struct { + CARD8 reqType; /* input extension major opcode */ + CARD8 ReqType; /* always X_GetDeviceProperty */ + CARD16 length B16; + Atom property B32; + Atom type B32; + CARD32 longOffset B32; + CARD32 longLength B32; + CARD8 deviceid; +#if defined(__cplusplus) || defined(c_plusplus) + BOOL c_delete; +#else + BOOL delete; +#endif + CARD16 pad; +} xGetDevicePropertyReq; + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_GetDeviceProperty */ + CARD16 sequenceNumber B16; + CARD32 length B32; + Atom propertyType B32; + CARD32 bytesAfter B32; + CARD32 nItems B32; + CARD8 format; + CARD8 deviceid; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xGetDevicePropertyReply; + + +/********************************************************** + * + * Input extension events. + * + * DeviceValuator + * + */ + +typedef struct + { + BYTE type; + CARD8 deviceid; + CARD16 sequenceNumber B16; + KeyButMask device_state B16; + CARD8 num_valuators; + CARD8 first_valuator; + INT32 valuator0 B32; + INT32 valuator1 B32; + INT32 valuator2 B32; + INT32 valuator3 B32; + INT32 valuator4 B32; + INT32 valuator5 B32; + } deviceValuator; + +/********************************************************** + * + * DeviceKeyButtonPointer. + * + * Used for: DeviceKeyPress, DeviceKeyRelease, + * DeviceButtonPress, DeviceButtonRelease, + * ProximityIn, ProximityOut + * DeviceMotionNotify, + * + */ + +typedef struct + { + BYTE type; + BYTE detail; + CARD16 sequenceNumber B16; + Time time B32; + Window root B32; + Window event B32; + Window child B32; + INT16 root_x B16; + INT16 root_y B16; + INT16 event_x B16; + INT16 event_y B16; + KeyButMask state B16; + BOOL same_screen; + CARD8 deviceid; + } deviceKeyButtonPointer; + +/********************************************************** + * + * DeviceFocus. + * + */ + +typedef struct + { + BYTE type; + BYTE detail; + CARD16 sequenceNumber B16; + Time time B32; + Window window B32; + BYTE mode; + CARD8 deviceid; + BYTE pad1, pad2; + CARD32 pad00 B32; + CARD32 pad01 B32; + CARD32 pad02 B32; + CARD32 pad03 B32; + } deviceFocus; + +/********************************************************** + * + * DeviceStateNotify. + * + * Note that the two high-order bits in the classes_reported + * field are the proximity state (InProximity or OutOfProximity), + * and the device mode (Absolute or Relative), respectively. + * + */ + +typedef struct + { + BYTE type; + BYTE deviceid; + CARD16 sequenceNumber B16; + Time time B32; + CARD8 num_keys; + CARD8 num_buttons; + CARD8 num_valuators; + CARD8 classes_reported; + CARD8 buttons[4]; + CARD8 keys[4]; + INT32 valuator0 B32; + INT32 valuator1 B32; + INT32 valuator2 B32; + } deviceStateNotify; + +/********************************************************** + * + * DeviceKeyStateNotify. + * + */ + +typedef struct + { + BYTE type; + BYTE deviceid; + CARD16 sequenceNumber B16; + CARD8 keys[28]; + } deviceKeyStateNotify; + +/********************************************************** + * + * DeviceButtonStateNotify. + * + */ + +typedef struct + { + BYTE type; + BYTE deviceid; + CARD16 sequenceNumber B16; + CARD8 buttons[28]; + } deviceButtonStateNotify; + +/********************************************************** + * + * DeviceMappingNotify. + * Fields must be kept in sync with core mappingnotify event. + * + */ + +typedef struct + { + BYTE type; + BYTE deviceid; + CARD16 sequenceNumber B16; + CARD8 request; + KeyCode firstKeyCode; + CARD8 count; + BYTE pad1; + Time time B32; + CARD32 pad00 B32; + CARD32 pad01 B32; + CARD32 pad02 B32; + CARD32 pad03 B32; + CARD32 pad04 B32; + } deviceMappingNotify; + +/********************************************************** + * + * ChangeDeviceNotify. + * + */ + +typedef struct + { + BYTE type; + BYTE deviceid; + CARD16 sequenceNumber B16; + Time time B32; + CARD8 request; + BYTE pad1, pad2, pad3; + CARD32 pad00 B32; + CARD32 pad01 B32; + CARD32 pad02 B32; + CARD32 pad03 B32; + CARD32 pad04 B32; + } changeDeviceNotify; + +/********************************************************** + * + * devicePresenceNotify. + * + */ + +typedef struct + { + BYTE type; + BYTE pad00; + CARD16 sequenceNumber B16; + Time time B32; + BYTE devchange; /* Device{Added|Removed|Enabled|Disabled|ControlChanged} */ + BYTE deviceid; + CARD16 control B16; + CARD32 pad02 B32; + CARD32 pad03 B32; + CARD32 pad04 B32; + CARD32 pad05 B32; + CARD32 pad06 B32; + } devicePresenceNotify; + + +/********************************************************* + * DevicePropertyNotifyEvent + * + * Sent whenever a device's property changes. + * + */ + +typedef struct + { + BYTE type; + BYTE state; /* NewValue or Deleted */ + CARD16 sequenceNumber B16; + CARD32 time B32; + Atom atom B32; /* affected property */ + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD16 pad5 B16; + CARD8 pad4; + CARD8 deviceid; /* id of device */ + } devicePropertyNotify; + +#undef Window +#undef Time +#undef KeyCode +#undef Mask +#undef Atom +#undef Cursor + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/XKB.h b/ThirdParty/X11/Include/X11/extensions/XKB.h new file mode 100644 index 0000000..ee4f740 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XKB.h @@ -0,0 +1,786 @@ +/************************************************************ +Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc. + +Permission to use, copy, modify, and distribute this +software and its documentation for any purpose and without +fee is hereby granted, provided that the above copyright +notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting +documentation, and that the name of Silicon Graphics not be +used in advertising or publicity pertaining to distribution +of the software without specific prior written permission. +Silicon Graphics makes no representation about the suitability +of this software for any purpose. It is provided "as is" +without any express or implied warranty. + +SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON +GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH +THE USE OR PERFORMANCE OF THIS SOFTWARE. + +********************************************************/ + +#ifndef _XKB_H_ +#define _XKB_H_ + + /* + * XKB request codes, used in: + * - xkbReqType field of all requests + * - requestMinor field of some events + */ +#define X_kbUseExtension 0 +#define X_kbSelectEvents 1 +#define X_kbBell 3 +#define X_kbGetState 4 +#define X_kbLatchLockState 5 +#define X_kbGetControls 6 +#define X_kbSetControls 7 +#define X_kbGetMap 8 +#define X_kbSetMap 9 +#define X_kbGetCompatMap 10 +#define X_kbSetCompatMap 11 +#define X_kbGetIndicatorState 12 +#define X_kbGetIndicatorMap 13 +#define X_kbSetIndicatorMap 14 +#define X_kbGetNamedIndicator 15 +#define X_kbSetNamedIndicator 16 +#define X_kbGetNames 17 +#define X_kbSetNames 18 +#define X_kbGetGeometry 19 +#define X_kbSetGeometry 20 +#define X_kbPerClientFlags 21 +#define X_kbListComponents 22 +#define X_kbGetKbdByName 23 +#define X_kbGetDeviceInfo 24 +#define X_kbSetDeviceInfo 25 +#define X_kbSetDebuggingFlags 101 + + /* + * In the X sense, XKB reports only one event. + * The type field of all XKB events is XkbEventCode + */ +#define XkbEventCode 0 +#define XkbNumberEvents (XkbEventCode+1) + + /* + * XKB has a minor event code so it can use one X event code for + * multiple purposes. + * - reported in the xkbType field of all XKB events. + * - XkbSelectEventDetails: Indicates the event for which event details + * are being changed + */ +#define XkbNewKeyboardNotify 0 +#define XkbMapNotify 1 +#define XkbStateNotify 2 +#define XkbControlsNotify 3 +#define XkbIndicatorStateNotify 4 +#define XkbIndicatorMapNotify 5 +#define XkbNamesNotify 6 +#define XkbCompatMapNotify 7 +#define XkbBellNotify 8 +#define XkbActionMessage 9 +#define XkbAccessXNotify 10 +#define XkbExtensionDeviceNotify 11 + + /* + * Event Mask: + * - XkbSelectEvents: Specifies event interest. + */ +#define XkbNewKeyboardNotifyMask (1L << 0) +#define XkbMapNotifyMask (1L << 1) +#define XkbStateNotifyMask (1L << 2) +#define XkbControlsNotifyMask (1L << 3) +#define XkbIndicatorStateNotifyMask (1L << 4) +#define XkbIndicatorMapNotifyMask (1L << 5) +#define XkbNamesNotifyMask (1L << 6) +#define XkbCompatMapNotifyMask (1L << 7) +#define XkbBellNotifyMask (1L << 8) +#define XkbActionMessageMask (1L << 9) +#define XkbAccessXNotifyMask (1L << 10) +#define XkbExtensionDeviceNotifyMask (1L << 11) +#define XkbAllEventsMask (0xFFF) + + /* + * NewKeyboardNotify event details: + */ +#define XkbNKN_KeycodesMask (1L << 0) +#define XkbNKN_GeometryMask (1L << 1) +#define XkbNKN_DeviceIDMask (1L << 2) +#define XkbAllNewKeyboardEventsMask (0x7) + + /* + * AccessXNotify event types: + * - The 'what' field of AccessXNotify events reports the + * reason that the event was generated. + */ +#define XkbAXN_SKPress 0 +#define XkbAXN_SKAccept 1 +#define XkbAXN_SKReject 2 +#define XkbAXN_SKRelease 3 +#define XkbAXN_BKAccept 4 +#define XkbAXN_BKReject 5 +#define XkbAXN_AXKWarning 6 + + /* + * AccessXNotify details: + * - Used as an event detail mask to limit the conditions under which + * AccessXNotify events are reported + */ +#define XkbAXN_SKPressMask (1L << 0) +#define XkbAXN_SKAcceptMask (1L << 1) +#define XkbAXN_SKRejectMask (1L << 2) +#define XkbAXN_SKReleaseMask (1L << 3) +#define XkbAXN_BKAcceptMask (1L << 4) +#define XkbAXN_BKRejectMask (1L << 5) +#define XkbAXN_AXKWarningMask (1L << 6) +#define XkbAllAccessXEventsMask (0x7f) + + /* + * Miscellaneous event details: + * - event detail masks for assorted events that don't reall + * have any details. + */ +#define XkbAllStateEventsMask XkbAllStateComponentsMask +#define XkbAllMapEventsMask XkbAllMapComponentsMask +#define XkbAllControlEventsMask XkbAllControlsMask +#define XkbAllIndicatorEventsMask XkbAllIndicatorsMask +#define XkbAllNameEventsMask XkbAllNamesMask +#define XkbAllCompatMapEventsMask XkbAllCompatMask +#define XkbAllBellEventsMask (1L << 0) +#define XkbAllActionMessagesMask (1L << 0) + + /* + * XKB reports one error: BadKeyboard + * A further reason for the error is encoded into to most significant + * byte of the resourceID for the error: + * XkbErr_BadDevice - the device in question was not found + * XkbErr_BadClass - the device was found but it doesn't belong to + * the appropriate class. + * XkbErr_BadId - the device was found and belongs to the right + * class, but not feedback with a matching id was + * found. + * The low byte of the resourceID for this error contains the device + * id, class specifier or feedback id that failed. + */ +#define XkbKeyboard 0 +#define XkbNumberErrors 1 + +#define XkbErr_BadDevice 0xff +#define XkbErr_BadClass 0xfe +#define XkbErr_BadId 0xfd + + /* + * Keyboard Components Mask: + * - Specifies the components that follow a GetKeyboardByNameReply + */ +#define XkbClientMapMask (1L << 0) +#define XkbServerMapMask (1L << 1) +#define XkbCompatMapMask (1L << 2) +#define XkbIndicatorMapMask (1L << 3) +#define XkbNamesMask (1L << 4) +#define XkbGeometryMask (1L << 5) +#define XkbControlsMask (1L << 6) +#define XkbAllComponentsMask (0x7f) + + /* + * State detail mask: + * - The 'changed' field of StateNotify events reports which of + * the keyboard state components have changed. + * - Used as an event detail mask to limit the conditions under + * which StateNotify events are reported. + */ +#define XkbModifierStateMask (1L << 0) +#define XkbModifierBaseMask (1L << 1) +#define XkbModifierLatchMask (1L << 2) +#define XkbModifierLockMask (1L << 3) +#define XkbGroupStateMask (1L << 4) +#define XkbGroupBaseMask (1L << 5) +#define XkbGroupLatchMask (1L << 6) +#define XkbGroupLockMask (1L << 7) +#define XkbCompatStateMask (1L << 8) +#define XkbGrabModsMask (1L << 9) +#define XkbCompatGrabModsMask (1L << 10) +#define XkbLookupModsMask (1L << 11) +#define XkbCompatLookupModsMask (1L << 12) +#define XkbPointerButtonMask (1L << 13) +#define XkbAllStateComponentsMask (0x3fff) + + /* + * Controls detail masks: + * The controls specified in XkbAllControlsMask: + * - The 'changed' field of ControlsNotify events reports which of + * the keyboard controls have changed. + * - The 'changeControls' field of the SetControls request specifies + * the controls for which values are to be changed. + * - Used as an event detail mask to limit the conditions under + * which ControlsNotify events are reported. + * + * The controls specified in the XkbAllBooleanCtrlsMask: + * - The 'enabledControls' field of ControlsNotify events reports the + * current status of the boolean controls. + * - The 'enabledControlsChanges' field of ControlsNotify events reports + * any boolean controls that have been turned on or off. + * - The 'affectEnabledControls' and 'enabledControls' fields of the + * kbSetControls request change the set of enabled controls. + * - The 'accessXTimeoutMask' and 'accessXTimeoutValues' fields of + * an XkbControlsRec specify the controls to be changed if the keyboard + * times out and the values to which they should be changed. + * - The 'autoCtrls' and 'autoCtrlsValues' fields of the PerClientFlags + * request specifies the specify the controls to be reset when the + * client exits and the values to which they should be reset. + * - The 'ctrls' field of an indicator map specifies the controls + * that drive the indicator. + * - Specifies the boolean controls affected by the SetControls and + * LockControls key actions. + */ +#define XkbRepeatKeysMask (1L << 0) +#define XkbSlowKeysMask (1L << 1) +#define XkbBounceKeysMask (1L << 2) +#define XkbStickyKeysMask (1L << 3) +#define XkbMouseKeysMask (1L << 4) +#define XkbMouseKeysAccelMask (1L << 5) +#define XkbAccessXKeysMask (1L << 6) +#define XkbAccessXTimeoutMask (1L << 7) +#define XkbAccessXFeedbackMask (1L << 8) +#define XkbAudibleBellMask (1L << 9) +#define XkbOverlay1Mask (1L << 10) +#define XkbOverlay2Mask (1L << 11) +#define XkbIgnoreGroupLockMask (1L << 12) +#define XkbGroupsWrapMask (1L << 27) +#define XkbInternalModsMask (1L << 28) +#define XkbIgnoreLockModsMask (1L << 29) +#define XkbPerKeyRepeatMask (1L << 30) +#define XkbControlsEnabledMask (1L << 31) + +#define XkbAccessXOptionsMask (XkbStickyKeysMask|XkbAccessXFeedbackMask) + +#define XkbAllBooleanCtrlsMask (0x00001FFF) +#define XkbAllControlsMask (0xF8001FFF) +#define XkbAllControlEventsMask XkbAllControlsMask + + /* + * AccessX Options Mask + * - The 'accessXOptions' field of an XkbControlsRec specifies the + * AccessX options that are currently in effect. + * - The 'accessXTimeoutOptionsMask' and 'accessXTimeoutOptionsValues' + * fields of an XkbControlsRec specify the Access X options to be + * changed if the keyboard times out and the values to which they + * should be changed. + */ +#define XkbAX_SKPressFBMask (1L << 0) +#define XkbAX_SKAcceptFBMask (1L << 1) +#define XkbAX_FeatureFBMask (1L << 2) +#define XkbAX_SlowWarnFBMask (1L << 3) +#define XkbAX_IndicatorFBMask (1L << 4) +#define XkbAX_StickyKeysFBMask (1L << 5) +#define XkbAX_TwoKeysMask (1L << 6) +#define XkbAX_LatchToLockMask (1L << 7) +#define XkbAX_SKReleaseFBMask (1L << 8) +#define XkbAX_SKRejectFBMask (1L << 9) +#define XkbAX_BKRejectFBMask (1L << 10) +#define XkbAX_DumbBellFBMask (1L << 11) +#define XkbAX_FBOptionsMask (0xF3F) +#define XkbAX_SKOptionsMask (0x0C0) +#define XkbAX_AllOptionsMask (0xFFF) + + /* + * XkbUseCoreKbd is used to specify the core keyboard without having + * to look up its X input extension identifier. + * XkbUseCorePtr is used to specify the core pointer without having + * to look up its X input extension identifier. + * XkbDfltXIClass is used to specify "don't care" any place that the + * XKB protocol is looking for an X Input Extension + * device class. + * XkbDfltXIId is used to specify "don't care" any place that the + * XKB protocol is looking for an X Input Extension + * feedback identifier. + * XkbAllXIClasses is used to get information about all device indicators, + * whether they're part of the indicator feedback class + * or the keyboard feedback class. + * XkbAllXIIds is used to get information about all device indicator + * feedbacks without having to list them. + * XkbXINone is used to indicate that no class or id has been specified. + * XkbLegalXILedClass(c) True if 'c' specifies a legal class with LEDs + * XkbLegalXIBellClass(c) True if 'c' specifies a legal class with bells + * XkbExplicitXIDevice(d) True if 'd' explicitly specifies a device + * XkbExplicitXIClass(c) True if 'c' explicitly specifies a device class + * XkbExplicitXIId(c) True if 'i' explicitly specifies a device id + * XkbSingleXIClass(c) True if 'c' specifies exactly one device class, + * including the default. + * XkbSingleXIId(i) True if 'i' specifies exactly one device + * identifier, including the default. + */ +#define XkbUseCoreKbd 0x0100 +#define XkbUseCorePtr 0x0200 +#define XkbDfltXIClass 0x0300 +#define XkbDfltXIId 0x0400 +#define XkbAllXIClasses 0x0500 +#define XkbAllXIIds 0x0600 +#define XkbXINone 0xff00 + +#define XkbLegalXILedClass(c) (((c)==KbdFeedbackClass)||\ + ((c)==LedFeedbackClass)||\ + ((c)==XkbDfltXIClass)||\ + ((c)==XkbAllXIClasses)) +#define XkbLegalXIBellClass(c) (((c)==KbdFeedbackClass)||\ + ((c)==BellFeedbackClass)||\ + ((c)==XkbDfltXIClass)||\ + ((c)==XkbAllXIClasses)) +#define XkbExplicitXIDevice(c) (((c)&(~0xff))==0) +#define XkbExplicitXIClass(c) (((c)&(~0xff))==0) +#define XkbExplicitXIId(c) (((c)&(~0xff))==0) +#define XkbSingleXIClass(c) ((((c)&(~0xff))==0)||((c)==XkbDfltXIClass)) +#define XkbSingleXIId(c) ((((c)&(~0xff))==0)||((c)==XkbDfltXIId)) + +#define XkbNoModifier 0xff +#define XkbNoShiftLevel 0xff +#define XkbNoShape 0xff +#define XkbNoIndicator 0xff + +#define XkbNoModifierMask 0 +#define XkbAllModifiersMask 0xff +#define XkbAllVirtualModsMask 0xffff + +#define XkbNumKbdGroups 4 +#define XkbMaxKbdGroup (XkbNumKbdGroups-1) + +#define XkbMaxMouseKeysBtn 4 + + /* + * Group Index and Mask: + * - Indices into the kt_index array of a key type. + * - Mask specifies types to be changed for XkbChangeTypesOfKey + */ +#define XkbGroup1Index 0 +#define XkbGroup2Index 1 +#define XkbGroup3Index 2 +#define XkbGroup4Index 3 +#define XkbAnyGroup 254 +#define XkbAllGroups 255 + +#define XkbGroup1Mask (1<<0) +#define XkbGroup2Mask (1<<1) +#define XkbGroup3Mask (1<<2) +#define XkbGroup4Mask (1<<3) +#define XkbAnyGroupMask (1<<7) +#define XkbAllGroupsMask (0xf) + + /* + * BuildCoreState: Given a keyboard group and a modifier state, + * construct the value to be reported an event. + * GroupForCoreState: Given the state reported in an event, + * determine the keyboard group. + * IsLegalGroup: Returns TRUE if 'g' is a valid group index. + */ +#define XkbBuildCoreState(m,g) ((((g)&0x3)<<13)|((m)&0xff)) +#define XkbGroupForCoreState(s) (((s)>>13)&0x3) +#define XkbIsLegalGroup(g) (((g)>=0)&&((g)<XkbNumKbdGroups)) + + /* + * GroupsWrap values: + * - The 'groupsWrap' field of an XkbControlsRec specifies the + * treatment of out of range groups. + * - Bits 6 and 7 of the group info field of a key symbol map + * specify the interpretation of out of range groups for the + * corresponding key. + */ +#define XkbWrapIntoRange (0x00) +#define XkbClampIntoRange (0x40) +#define XkbRedirectIntoRange (0x80) + + /* + * Action flags: Reported in the 'flags' field of most key actions. + * Interpretation depends on the type of the action; not all actions + * accept all flags. + * + * Option Used for Actions + * ------ ---------------- + * ClearLocks SetMods, LatchMods, SetGroup, LatchGroup + * LatchToLock SetMods, LatchMods, SetGroup, LatchGroup + * LockNoLock LockMods, ISOLock, LockPtrBtn, LockDeviceBtn + * LockNoUnlock LockMods, ISOLock, LockPtrBtn, LockDeviceBtn + * UseModMapMods SetMods, LatchMods, LockMods, ISOLock + * GroupAbsolute SetGroup, LatchGroup, LockGroup, ISOLock + * UseDfltButton PtrBtn, LockPtrBtn + * NoAcceleration MovePtr + * MoveAbsoluteX MovePtr + * MoveAbsoluteY MovePtr + * ISODfltIsGroup ISOLock + * ISONoAffectMods ISOLock + * ISONoAffectGroup ISOLock + * ISONoAffectPtr ISOLock + * ISONoAffectCtrls ISOLock + * MessageOnPress ActionMessage + * MessageOnRelease ActionMessage + * MessageGenKeyEvent ActionMessage + * AffectDfltBtn SetPtrDflt + * DfltBtnAbsolute SetPtrDflt + * SwitchApplication SwitchScreen + * SwitchAbsolute SwitchScreen + */ + +#define XkbSA_ClearLocks (1L << 0) +#define XkbSA_LatchToLock (1L << 1) + +#define XkbSA_LockNoLock (1L << 0) +#define XkbSA_LockNoUnlock (1L << 1) + +#define XkbSA_UseModMapMods (1L << 2) + +#define XkbSA_GroupAbsolute (1L << 2) +#define XkbSA_UseDfltButton 0 + +#define XkbSA_NoAcceleration (1L << 0) +#define XkbSA_MoveAbsoluteX (1L << 1) +#define XkbSA_MoveAbsoluteY (1L << 2) + +#define XkbSA_ISODfltIsGroup (1L << 7) +#define XkbSA_ISONoAffectMods (1L << 6) +#define XkbSA_ISONoAffectGroup (1L << 5) +#define XkbSA_ISONoAffectPtr (1L << 4) +#define XkbSA_ISONoAffectCtrls (1L << 3) +#define XkbSA_ISOAffectMask (0x78) + +#define XkbSA_MessageOnPress (1L << 0) +#define XkbSA_MessageOnRelease (1L << 1) +#define XkbSA_MessageGenKeyEvent (1L << 2) + +#define XkbSA_AffectDfltBtn 1 +#define XkbSA_DfltBtnAbsolute (1L << 2) + +#define XkbSA_SwitchApplication (1L << 0) +#define XkbSA_SwitchAbsolute (1L << 2) + + /* + * The following values apply to the SA_DeviceValuator + * action only. Valuator operations specify the action + * to be taken. Values specified in the action are + * multiplied by 2^scale before they are applied. + */ +#define XkbSA_IgnoreVal (0x00) +#define XkbSA_SetValMin (0x10) +#define XkbSA_SetValCenter (0x20) +#define XkbSA_SetValMax (0x30) +#define XkbSA_SetValRelative (0x40) +#define XkbSA_SetValAbsolute (0x50) +#define XkbSA_ValOpMask (0x70) +#define XkbSA_ValScaleMask (0x07) +#define XkbSA_ValOp(a) ((a)&XkbSA_ValOpMask) +#define XkbSA_ValScale(a) ((a)&XkbSA_ValScaleMask) + + /* + * Action types: specifies the type of a key action. Reported in the + * type field of all key actions. + */ +#define XkbSA_NoAction 0x00 +#define XkbSA_SetMods 0x01 +#define XkbSA_LatchMods 0x02 +#define XkbSA_LockMods 0x03 +#define XkbSA_SetGroup 0x04 +#define XkbSA_LatchGroup 0x05 +#define XkbSA_LockGroup 0x06 +#define XkbSA_MovePtr 0x07 +#define XkbSA_PtrBtn 0x08 +#define XkbSA_LockPtrBtn 0x09 +#define XkbSA_SetPtrDflt 0x0a +#define XkbSA_ISOLock 0x0b +#define XkbSA_Terminate 0x0c +#define XkbSA_SwitchScreen 0x0d +#define XkbSA_SetControls 0x0e +#define XkbSA_LockControls 0x0f +#define XkbSA_ActionMessage 0x10 +#define XkbSA_RedirectKey 0x11 +#define XkbSA_DeviceBtn 0x12 +#define XkbSA_LockDeviceBtn 0x13 +#define XkbSA_DeviceValuator 0x14 +#define XkbSA_LastAction XkbSA_DeviceValuator +#define XkbSA_NumActions (XkbSA_LastAction+1) + +#define XkbSA_XFree86Private 0x86 + + /* + * Specifies the key actions that clear latched groups or modifiers. + */ +#define XkbSA_BreakLatch \ + ((1<<XkbSA_NoAction)|(1<<XkbSA_PtrBtn)|(1<<XkbSA_LockPtrBtn)|\ + (1<<XkbSA_Terminate)|(1<<XkbSA_SwitchScreen)|(1<<XkbSA_SetControls)|\ + (1<<XkbSA_LockControls)|(1<<XkbSA_ActionMessage)|\ + (1<<XkbSA_RedirectKey)|(1<<XkbSA_DeviceBtn)|(1<<XkbSA_LockDeviceBtn)) + + /* + * Macros to classify key actions + */ +#define XkbIsModAction(a) (((a)->type>=Xkb_SASetMods)&&((a)->type<=XkbSA_LockMods)) +#define XkbIsGroupAction(a) (((a)->type>=XkbSA_SetGroup)&&((a)->type<=XkbSA_LockGroup)) +#define XkbIsPtrAction(a) (((a)->type>=XkbSA_MovePtr)&&((a)->type<=XkbSA_SetPtrDflt)) + + + /* + * Key Behavior Qualifier: + * KB_Permanent indicates that the behavior describes an unalterable + * characteristic of the keyboard, not an XKB software-simulation of + * the listed behavior. + * Key Behavior Types: + * Specifies the behavior of the underlying key. + */ +#define XkbKB_Permanent 0x80 +#define XkbKB_OpMask 0x7f + +#define XkbKB_Default 0x00 +#define XkbKB_Lock 0x01 +#define XkbKB_RadioGroup 0x02 +#define XkbKB_Overlay1 0x03 +#define XkbKB_Overlay2 0x04 + +#define XkbKB_RGAllowNone 0x80 + + /* + * Various macros which describe the range of legal keycodes. + */ +#define XkbMinLegalKeyCode 8 +#define XkbMaxLegalKeyCode 255 +#define XkbMaxKeyCount (XkbMaxLegalKeyCode-XkbMinLegalKeyCode+1) +#define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8) +/* Seems kinda silly to check that an unsigned char is <= 255... */ +#define XkbIsLegalKeycode(k) ((k)>=XkbMinLegalKeyCode) + + /* + * Assorted constants and limits. + */ +#define XkbNumModifiers 8 +#define XkbNumVirtualMods 16 +#define XkbNumIndicators 32 +#define XkbAllIndicatorsMask (0xffffffff) +#define XkbMaxRadioGroups 32 +#define XkbAllRadioGroupsMask (0xffffffff) +#define XkbMaxShiftLevel 63 +#define XkbMaxSymsPerKey (XkbMaxShiftLevel*XkbNumKbdGroups) +#define XkbRGMaxMembers 12 +#define XkbActionMessageLength 6 +#define XkbKeyNameLength 4 +#define XkbMaxRedirectCount 8 + +#define XkbGeomPtsPerMM 10 +#define XkbGeomMaxColors 32 +#define XkbGeomMaxLabelColors 3 +#define XkbGeomMaxPriority 255 + + /* + * Key Type index and mask for the four standard key types. + */ +#define XkbOneLevelIndex 0 +#define XkbTwoLevelIndex 1 +#define XkbAlphabeticIndex 2 +#define XkbKeypadIndex 3 +#define XkbLastRequiredType XkbKeypadIndex +#define XkbNumRequiredTypes (XkbLastRequiredType+1) +#define XkbMaxKeyTypes 255 + +#define XkbOneLevelMask (1<<0) +#define XkbTwoLevelMask (1<<1) +#define XkbAlphabeticMask (1<<2) +#define XkbKeypadMask (1<<3) +#define XkbAllRequiredTypes (0xf) + +#define XkbShiftLevel(n) ((n)-1) +#define XkbShiftLevelMask(n) (1<<((n)-1)) + + /* + * Extension name and version information + */ +#define XkbName "XKEYBOARD" +#define XkbMajorVersion 1 +#define XkbMinorVersion 0 + + /* + * Explicit map components: + * - Used in the 'explicit' field of an XkbServerMap. Specifies + * the keyboard components that should _not_ be updated automatically + * in response to core protocol keyboard mapping requests. + */ +#define XkbExplicitKeyTypesMask (0x0f) +#define XkbExplicitKeyType1Mask (1<<0) +#define XkbExplicitKeyType2Mask (1<<1) +#define XkbExplicitKeyType3Mask (1<<2) +#define XkbExplicitKeyType4Mask (1<<3) +#define XkbExplicitInterpretMask (1<<4) +#define XkbExplicitAutoRepeatMask (1<<5) +#define XkbExplicitBehaviorMask (1<<6) +#define XkbExplicitVModMapMask (1<<7) +#define XkbAllExplicitMask (0xff) + + /* + * Map components masks: + * Those in AllMapComponentsMask: + * - Specifies the individual fields to be loaded or changed for the + * GetMap and SetMap requests. + * Those in ClientInfoMask: + * - Specifies the components to be allocated by XkbAllocClientMap. + * Those in ServerInfoMask: + * - Specifies the components to be allocated by XkbAllocServerMap. + */ +#define XkbKeyTypesMask (1<<0) +#define XkbKeySymsMask (1<<1) +#define XkbModifierMapMask (1<<2) +#define XkbExplicitComponentsMask (1<<3) +#define XkbKeyActionsMask (1<<4) +#define XkbKeyBehaviorsMask (1<<5) +#define XkbVirtualModsMask (1<<6) +#define XkbVirtualModMapMask (1<<7) + +#define XkbAllClientInfoMask (XkbKeyTypesMask|XkbKeySymsMask|XkbModifierMapMask) +#define XkbAllServerInfoMask (XkbExplicitComponentsMask|XkbKeyActionsMask|XkbKeyBehaviorsMask|XkbVirtualModsMask|XkbVirtualModMapMask) +#define XkbAllMapComponentsMask (XkbAllClientInfoMask|XkbAllServerInfoMask) + + /* + * Symbol interpretations flags: + * - Used in the flags field of a symbol interpretation + */ +#define XkbSI_AutoRepeat (1<<0) +#define XkbSI_LockingKey (1<<1) + + /* + * Symbol interpretations match specification: + * - Used in the match field of a symbol interpretation to specify + * the conditions under which an interpretation is used. + */ +#define XkbSI_LevelOneOnly (0x80) +#define XkbSI_OpMask (0x7f) +#define XkbSI_NoneOf (0) +#define XkbSI_AnyOfOrNone (1) +#define XkbSI_AnyOf (2) +#define XkbSI_AllOf (3) +#define XkbSI_Exactly (4) + + /* + * Indicator map flags: + * - Used in the flags field of an indicator map to indicate the + * conditions under which and indicator can be changed and the + * effects of changing the indicator. + */ +#define XkbIM_NoExplicit (1L << 7) +#define XkbIM_NoAutomatic (1L << 6) +#define XkbIM_LEDDrivesKB (1L << 5) + + /* + * Indicator map component specifications: + * - Used by the 'which_groups' and 'which_mods' fields of an indicator + * map to specify which keyboard components should be used to drive + * the indicator. + */ +#define XkbIM_UseBase (1L << 0) +#define XkbIM_UseLatched (1L << 1) +#define XkbIM_UseLocked (1L << 2) +#define XkbIM_UseEffective (1L << 3) +#define XkbIM_UseCompat (1L << 4) + +#define XkbIM_UseNone 0 +#define XkbIM_UseAnyGroup (XkbIM_UseBase|XkbIM_UseLatched|XkbIM_UseLocked\ + |XkbIM_UseEffective) +#define XkbIM_UseAnyMods (XkbIM_UseAnyGroup|XkbIM_UseCompat) + + /* + * Compatibility Map Compontents: + * - Specifies the components to be allocated in XkbAllocCompatMap. + */ +#define XkbSymInterpMask (1<<0) +#define XkbGroupCompatMask (1<<1) +#define XkbAllCompatMask (0x3) + + /* + * Names component mask: + * - Specifies the names to be loaded or changed for the GetNames and + * SetNames requests. + * - Specifies the names that have changed in a NamesNotify event. + * - Specifies the names components to be allocated by XkbAllocNames. + */ +#define XkbKeycodesNameMask (1<<0) +#define XkbGeometryNameMask (1<<1) +#define XkbSymbolsNameMask (1<<2) +#define XkbPhysSymbolsNameMask (1<<3) +#define XkbTypesNameMask (1<<4) +#define XkbCompatNameMask (1<<5) +#define XkbKeyTypeNamesMask (1<<6) +#define XkbKTLevelNamesMask (1<<7) +#define XkbIndicatorNamesMask (1<<8) +#define XkbKeyNamesMask (1<<9) +#define XkbKeyAliasesMask (1<<10) +#define XkbVirtualModNamesMask (1<<11) +#define XkbGroupNamesMask (1<<12) +#define XkbRGNamesMask (1<<13) +#define XkbComponentNamesMask (0x3f) +#define XkbAllNamesMask (0x3fff) + + /* + * GetByName components: + * - Specifies desired or necessary components to GetKbdByName request. + * - Reports the components that were found in a GetKbdByNameReply + */ +#define XkbGBN_TypesMask (1L << 0) +#define XkbGBN_CompatMapMask (1L << 1) +#define XkbGBN_ClientSymbolsMask (1L << 2) +#define XkbGBN_ServerSymbolsMask (1L << 3) +#define XkbGBN_SymbolsMask (XkbGBN_ClientSymbolsMask|XkbGBN_ServerSymbolsMask) +#define XkbGBN_IndicatorMapMask (1L << 4) +#define XkbGBN_KeyNamesMask (1L << 5) +#define XkbGBN_GeometryMask (1L << 6) +#define XkbGBN_OtherNamesMask (1L << 7) +#define XkbGBN_AllComponentsMask (0xff) + + /* + * ListComponents flags + */ +#define XkbLC_Hidden (1L << 0) +#define XkbLC_Default (1L << 1) +#define XkbLC_Partial (1L << 2) + +#define XkbLC_AlphanumericKeys (1L << 8) +#define XkbLC_ModifierKeys (1L << 9) +#define XkbLC_KeypadKeys (1L << 10) +#define XkbLC_FunctionKeys (1L << 11) +#define XkbLC_AlternateGroup (1L << 12) + + /* + * X Input Extension Interactions + * - Specifies the possible interactions between XKB and the X input + * extension + * - Used to request (XkbGetDeviceInfo) or change (XKbSetDeviceInfo) + * XKB information about an extension device. + * - Reports the list of supported optional features in the reply to + * XkbGetDeviceInfo or in an XkbExtensionDeviceNotify event. + * XkbXI_UnsupportedFeature is reported in XkbExtensionDeviceNotify + * events to indicate an attempt to use an unsupported feature. + */ +#define XkbXI_KeyboardsMask (1L << 0) +#define XkbXI_ButtonActionsMask (1L << 1) +#define XkbXI_IndicatorNamesMask (1L << 2) +#define XkbXI_IndicatorMapsMask (1L << 3) +#define XkbXI_IndicatorStateMask (1L << 4) +#define XkbXI_UnsupportedFeatureMask (1L << 15) +#define XkbXI_AllFeaturesMask (0x001f) +#define XkbXI_AllDeviceFeaturesMask (0x001e) + +#define XkbXI_IndicatorsMask (0x001c) +#define XkbAllExtensionDeviceEventsMask (0x801f) + + /* + * Per-Client Flags: + * - Specifies flags to be changed by the PerClientFlags request. + */ +#define XkbPCF_DetectableAutoRepeatMask (1L << 0) +#define XkbPCF_GrabsUseXKBStateMask (1L << 1) +#define XkbPCF_AutoResetControlsMask (1L << 2) +#define XkbPCF_LookupStateWhenGrabbed (1L << 3) +#define XkbPCF_SendEventUsesXKBState (1L << 4) +#define XkbPCF_AllFlagsMask (0x1F) + + /* + * Debugging flags and controls + */ +#define XkbDF_DisableLocks (1<<0) + +#endif /* _XKB_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/XKBbells.h b/ThirdParty/X11/Include/X11/extensions/XKBbells.h new file mode 100644 index 0000000..585b36a --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XKBbells.h @@ -0,0 +1,141 @@ +#ifndef _XKBBELLS_H_ +#define _XKBBELLS_H_ 1 + +/************************************************************ + Copyright (c) 1995 by Silicon Graphics Computer Systems, Inc. + + Permission to use, copy, modify, and distribute this + software and its documentation for any purpose and without + fee is hereby granted, provided that the above copyright + notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting + documentation, and that the name of Silicon Graphics not be + used in advertising or publicity pertaining to distribution + of the software without specific prior written permission. + Silicon Graphics makes no representation about the suitability + of this software for any purpose. It is provided "as is" + without any express or implied warranty. + + SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS + SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON + GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL + DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE + OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH + THE USE OR PERFORMANCE OF THIS SOFTWARE. + + ********************************************************/ + +#define XkbBN_Info "Info" +#define XkbBN_Warning "Warning" +#define XkbBN_MinorError "MinorError" +#define XkbBN_MajorError "MajorError" +#define XkbBN_BadValue "BadValue" +#define XkbBN_InvalidLocation "InvalidLocation" +#define XkbBN_Question "Question" +#define XkbBN_Start "Start" +#define XkbBN_End "End" +#define XkbBN_Success "Success" +#define XkbBN_Failure "Failure" +#define XkbBN_Wait "Wait" +#define XkbBN_Proceed "Proceed" +#define XkbBN_Ignore "Ignore" +#define XkbBN_Iconify "Iconify" +#define XkbBN_Deiconify "Deconify" +#define XkbBN_Open "Open" +#define XkbBN_Close "Close" +#define XkbBN_TerminalBell "TerminalBell" +#define XkbBN_MarginBell "MarginBell" +#define XkbBN_CursorStuck "CursorStuck" +#define XkbBN_NewMail "NewMail" +#define XkbBN_LaunchApp "LaunchApp" +#define XkbBN_AppDeath "AppDeath" +#define XkbBN_ImAlive "ImAlive" +#define XkbBN_ClockChimeHour "ClockChimeHour" +#define XkbBN_ClockChimeHalf "ClockChimeHalf" +#define XkbBN_ClockChimeQuarter "ClockChimeQuarter" +#define XkbBN_RepeatingLastBell "RepeatingLastBell" +#define XkbBN_ComposeFail "ComposeFail" +#define XkbBN_AX_FeatureOn "AX_FeatureOn" +#define XkbBN_AX_FeatureOff "AX_FeatureOff" +#define XkbBN_AX_FeatureChange "AX_FeatureChange" +#define XkbBN_AX_IndicatorOn "AX_IndicatorOn" +#define XkbBN_AX_IndicatorOff "AX_IndicatorOff" +#define XkbBN_AX_IndicatorChange "AX_IndicatorChange" +#define XkbBN_AX_SlowKeysWarning "AX_SlowKeysWarning" +#define XkbBN_AX_SlowKeyPress "AX_SlowKeyPress" +#define XkbBN_AX_SlowKeyAccept "AX_SlowKeyAccept" +#define XkbBN_AX_SlowKeyReject "AX_SlowKeyReject" +#define XkbBN_AX_SlowKeyRelease "AX_SlowKeyRelease" +#define XkbBN_AX_BounceKeyReject "AX_BounceKeyReject" +#define XkbBN_AX_StickyLatch "AX_StickyLatch" +#define XkbBN_AX_StickyLock "AX_StickyLock" +#define XkbBN_AX_StickyUnlock "AX_StickyUnlock" + +#define XkbBI_Info 0 +#define XkbBI_Warning 1 +#define XkbBI_MinorError 2 +#define XkbBI_MajorError 3 +#define XkbBI_BadValue 4 +#define XkbBI_InvalidLocation 5 +#define XkbBI_Question 6 +#define XkbBI_Start 7 +#define XkbBI_End 8 +#define XkbBI_Success 9 +#define XkbBI_Failure 10 +#define XkbBI_Wait 11 +#define XkbBI_Proceed 12 +#define XkbBI_Ignore 13 +#define XkbBI_Iconify 14 +#define XkbBI_Deiconify 15 +#define XkbBI_Open 16 +#define XkbBI_Close 17 +#define XkbBI_TerminalBell 18 +#define XkbBI_MarginBell 19 +#define XkbBI_CursorStuck 20 +#define XkbBI_NewMail 21 +#define XkbBI_LaunchApp 22 +#define XkbBI_AppDeath 23 +#define XkbBI_ImAlive 24 +#define XkbBI_ClockChimeHour 25 +#define XkbBI_ClockChimeHalf 26 +#define XkbBI_ClockChimeQuarter 27 +#define XkbBI_RepeatingLastBell 28 +#define XkbBI_ComposeFail 29 +#define XkbBI_AX_FeatureOn 30 +#define XkbBI_AX_FeatureOff 31 +#define XkbBI_AX_FeatureChange 32 +#define XkbBI_AX_IndicatorOn 33 +#define XkbBI_AX_IndicatorOff 34 +#define XkbBI_AX_IndicatorChange 35 +#define XkbBI_AX_SlowKeysWarning 36 +#define XkbBI_AX_SlowKeyPress 37 +#define XkbBI_AX_SlowKeyAccept 38 +#define XkbBI_AX_SlowKeyReject 39 +#define XkbBI_AX_SlowKeyRelease 40 +#define XkbBI_AX_BounceKeyReject 41 +#define XkbBI_AX_StickyLatch 42 +#define XkbBI_AX_StickyLock 43 +#define XkbBI_AX_StickyUnlock 44 +#define XkbBI_NumBells 45 + +_XFUNCPROTOBEGIN + +extern Bool XkbStdBell( + Display * /* dpy */, + Window /* win */, + int /* percent */, + int /* bellDef */ +); + +extern Bool XkbStdBellEvent( + Display * /* dpy */, + Window /* win */, + int /* percent */, + int /* bellDef */ +); + +_XFUNCPROTOEND + +#endif /* _XKBBELLS_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/XKBconfig.h b/ThirdParty/X11/Include/X11/extensions/XKBconfig.h new file mode 100644 index 0000000..668a358 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XKBconfig.h @@ -0,0 +1,278 @@ +#ifndef _XKBCONFIG_H_ +#define _XKBCONFIG_H_ 1 + +/************************************************************ + Copyright (c) 1995 by Silicon Graphics Computer Systems, Inc. + + Permission to use, copy, modify, and distribute this + software and its documentation for any purpose and without + fee is hereby granted, provided that the above copyright + notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting + documentation, and that the name of Silicon Graphics not be + used in advertising or publicity pertaining to distribution + of the software without specific prior written permission. + Silicon Graphics makes no representation about the suitability + of this software for any purpose. It is provided "as is" + without any express or implied warranty. + + SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS + SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON + GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL + DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE + OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH + THE USE OR PERFORMANCE OF THIS SOFTWARE. + + ********************************************************/ + + +typedef struct _XkbConfigRtrn *XkbConfigRtrnPtr; +typedef struct _XkbConfigField *XkbConfigFieldPtr; +typedef struct _XkbConfigFields *XkbConfigFieldsPtr; + +typedef Bool (*XkbConfigParseFunc)( + FILE * /* file */, + XkbConfigFieldsPtr /* fields */, + XkbConfigFieldPtr /* field */, + XkbDescPtr /* xkb */, + XkbConfigRtrnPtr /* rtrn */ +); + +#define XkbCF_Check 0 +#define XkbCF_Apply 1 +#define XkbCF_CleanUp 2 +#define XkbCF_Destroy 3 + +typedef Bool (*XkbConfigFinishFunc)( + XkbConfigFieldsPtr /* fields */, + XkbDescPtr /* xkb */, + XkbConfigRtrnPtr /* rtrn */, + int /* what */ +); + +typedef struct _XkbConfigRtrnPriv { + int cfg_id; + XPointer priv; + struct _XkbConfigRtrnPriv * next; +} XkbConfigRtrnPrivRec,*XkbConfigRtrnPrivPtr; + +typedef struct _XkbConfigModInfo { + Bool replace; + unsigned char mods; + unsigned char mods_clear; + unsigned short vmods; + unsigned short vmods_clear; +} XkbConfigModInfoRec,*XkbConfigModInfoPtr; + +typedef struct _XkbConfigUnboundMod { + unsigned char what; + unsigned char mods; + unsigned short vmods; + short merge; + char * name; +} XkbConfigUnboundModRec,*XkbConfigUnboundModPtr; + +#define XkbCF_MergeSet 0 +#define XkbCF_MergeAdd 1 +#define XkbCF_MergeRemove 2 + +#define XkbCF_InitialMods (1L<<0) +#define XkbCF_InternalMods (1L<<1) +#define XkbCF_IgnoreLockMods (1L<<2) +#define XkbCF_InitialCtrls (1L<<3) +#define XkbCF_AccessXTimeout (1L<<4) +#define XkbCF_AccessXTimeoutCtrlsOn (1L<<5) +#define XkbCF_AccessXTimeoutCtrlsOff (1L<<6) +#define XkbCF_AccessXTimeoutOptsOn (1L<<7) +#define XkbCF_AccessXTimeoutOptsOff (1L<<8) +#define XkbCF_GroupsWrap (1L<<9) +#define XkbCF_InitialOpts (1L<<10) + +typedef struct _XkbConfigRtrn { + unsigned defined; + int error; + int line; + + int click_volume; + int bell_volume; + int bell_pitch; + int bell_duration; + int repeat_delay; + int repeat_interval; + + char * rules_file; + char * model; + char * layout; + char * variant; + char * options; + + char * keymap; + char * keycodes; + char * geometry; + char * phys_symbols; + char * symbols; + char * types; + char * compat; + + Bool replace_initial_ctrls; + unsigned long initial_ctrls; + unsigned long initial_ctrls_clear; + + Bool replace_initial_opts; + unsigned short initial_opts; + unsigned short initial_opts_clear; + + XkbConfigModInfoRec initial_mods; + XkbConfigModInfoRec internal_mods; + XkbConfigModInfoRec ignore_lock_mods; + + short num_unbound_mods; + short sz_unbound_mods; + XkbConfigUnboundModPtr unbound_mods; + + int groups_wrap; + int slow_keys_delay; + int debounce_delay; + int mk_delay; + int mk_interval; + int mk_time_to_max; + int mk_max_speed; + int mk_curve; + int ax_timeout; + + Bool replace_axt_ctrls_on; + Bool replace_axt_ctrls_off; + unsigned long axt_ctrls_on; + unsigned long axt_ctrls_off; + unsigned long axt_ctrls_ignore; + + Bool replace_axt_opts_off; + Bool replace_axt_opts_on; + unsigned short axt_opts_off; + unsigned short axt_opts_on; + unsigned short axt_opts_ignore; + XkbConfigRtrnPrivPtr priv; +} XkbConfigRtrnRec; + +typedef struct _XkbConfigField { + char * field; + unsigned char field_id; +} XkbConfigFieldRec; + +typedef struct _XkbConfigFields { + unsigned short cfg_id; + unsigned short num_fields; + XkbConfigFieldPtr fields; + XkbConfigParseFunc parser; + XkbConfigFinishFunc finish; + XPointer priv; + struct _XkbConfigFields *next; +} XkbConfigFieldsRec; + +#define XkbCF_EOF -1 +#define XkbCF_Unknown 0 +#define XkbCF_EOL 1 +#define XkbCF_Semi 2 +#define XkbCF_Equals 3 +#define XkbCF_PlusEquals 4 +#define XkbCF_MinusEquals 5 +#define XkbCF_Plus 6 +#define XkbCF_Minus 7 +#define XkbCF_String 10 +#define XkbCF_Ident 11 +#define XkbCF_Integer 12 + +#define XkbCF_UnterminatedString 100 +#define XkbCF_BadAlloc 101 +#define XkbCF_MissingIdent 102 +#define XkbCF_MissingEquals 103 +#define XkbCF_ExpectedEOS 104 +#define XkbCF_ExpectedBoolean 105 +#define XkbCF_ExpectedInteger 106 +#define XkbCF_ExpectedString 107 +#define XkbCF_ExpectedModifier 108 +#define XkbCF_ExpectedControl 109 +#define XkbCF_ExpectedAXOption 110 +#define XkbCF_ExpectedOperator 111 +#define XkbCF_ExpectedOORGroupBehavior 112 + +typedef union { + int ival; + char * str; +} XkbCFScanResultRec,*XkbCFScanResultPtr; + +extern XkbConfigFieldsPtr XkbCFDflts; + +_XFUNCPROTOBEGIN + +extern int XkbCFScan( + FILE * /* file */, + XkbCFScanResultPtr /* val_rtrn */, + XkbConfigRtrnPtr /* rtrn */ +); + +extern XkbConfigFieldsPtr XkbCFDup( + XkbConfigFieldsPtr /* fields */ +); + +extern XkbConfigFieldsPtr XkbCFFree( + XkbConfigFieldsPtr /* fields */, + Bool /* all */ +); + +extern XkbConfigUnboundModPtr XkbCFAddModByName( + XkbConfigRtrnPtr /* rtrn */, + int /* what */, + char * /* name */, + Bool /* merge */, + XkbConfigUnboundModPtr /* last */ +); + +extern Bool XkbCFBindMods( + XkbConfigRtrnPtr /* rtrn */, + XkbDescPtr /* xkb */ +); + +extern Bool XkbCFApplyMods( + XkbConfigRtrnPtr /* rtrn */, + int /* what */, + XkbConfigModInfoPtr /* info */ +); + +extern Bool XkbCFApplyRtrnValues( + XkbConfigRtrnPtr /* rtrn */, + XkbConfigFieldsPtr /* fields */, + XkbDescPtr /* xkb */ +); + +extern XkbConfigRtrnPrivPtr XkbCFAddPrivate( + XkbConfigRtrnPtr /* rtrn */, + XkbConfigFieldsPtr /* fields */, + XPointer /* ptr */ +); + +extern void XkbCFFreeRtrn( + XkbConfigRtrnPtr /* rtrn */, + XkbConfigFieldsPtr /* fields */, + XkbDescPtr /* xkb */ +); + +extern Bool XkbCFParse( + FILE * /* file */, + XkbConfigFieldsPtr /* fields */, + XkbDescPtr /* xkb */, + XkbConfigRtrnPtr /* rtrn */ +); + +extern void XkbCFReportError( + FILE * /* file */, + char * /* name */, + int /* error */, + int /* line */ +); + +_XFUNCPROTOEND + +#endif /* _XKBCONFIG_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/XKBfile.h b/ThirdParty/X11/Include/X11/extensions/XKBfile.h new file mode 100644 index 0000000..1455463 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XKBfile.h @@ -0,0 +1,490 @@ + +#ifndef _XKBFILE_H_ +#define _XKBFILE_H_ 1 + +/************************************************************ + Copyright (c) 1994 by Silicon Graphics Computer Systems, Inc. + + Permission to use, copy, modify, and distribute this + software and its documentation for any purpose and without + fee is hereby granted, provided that the above copyright + notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting + documentation, and that the name of Silicon Graphics not be + used in advertising or publicity pertaining to distribution + of the software without specific prior written permission. + Silicon Graphics makes no representation about the suitability + of this software for any purpose. It is provided "as is" + without any express or implied warranty. + + SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS + SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON + GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL + DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE + OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH + THE USE OR PERFORMANCE OF THIS SOFTWARE. + + ********************************************************/ + +/***====================================================================***/ + +#define XkbXKMFile 0 +#define XkbCFile 1 +#define XkbXKBFile 2 +#define XkbMessage 3 + +#define XkbMapDefined (1<<0) +#define XkbStateDefined (1<<1) + +typedef struct _XkbFileInfo { + unsigned type; + unsigned defined; + XkbDescPtr xkb; +} XkbFileInfo,*XkbFileInfoPtr; + +typedef void (*XkbFileAddOnFunc)( + FILE * /* file */, + XkbFileInfo * /* result */, + Bool /* topLevel */, + Bool /* showImplicit */, + int /* fileSection */, + void * /* priv */ +); + +/***====================================================================***/ + +#define _XkbSuccess 0 +#define _XkbErrMissingNames 1 +#define _XkbErrMissingTypes 2 +#define _XkbErrMissingReqTypes 3 +#define _XkbErrMissingSymbols 4 +#define _XkbErrMissingVMods 5 +#define _XkbErrMissingIndicators 6 +#define _XkbErrMissingCompatMap 7 +#define _XkbErrMissingSymInterps 8 +#define _XkbErrMissingGeometry 9 +#define _XkbErrIllegalDoodad 10 +#define _XkbErrIllegalTOCType 11 +#define _XkbErrIllegalContents 12 +#define _XkbErrEmptyFile 13 +#define _XkbErrFileNotFound 14 +#define _XkbErrFileCannotOpen 15 +#define _XkbErrBadValue 16 +#define _XkbErrBadMatch 17 +#define _XkbErrBadTypeName 18 +#define _XkbErrBadTypeWidth 19 +#define _XkbErrBadFileType 20 +#define _XkbErrBadFileVersion 21 +#define _XkbErrBadFileFormat 22 +#define _XkbErrBadAlloc 23 +#define _XkbErrBadLength 24 +#define _XkbErrXReqFailure 25 +#define _XkbErrBadImplementation 26 + +extern const char * _XkbErrMessages[]; +extern unsigned _XkbErrCode; +extern const char * _XkbErrLocation; +extern unsigned _XkbErrData; + +/***====================================================================***/ + +_XFUNCPROTOBEGIN + +extern char * XkbIndentText( + unsigned /* size */ +); + +extern char * XkbAtomText( + Display * /* dpy */, + Atom /* atm */, + unsigned /* format */ +); + +extern char * XkbKeysymText( + KeySym /* sym */, + unsigned /* format */ +); + +extern char * XkbStringText( + char * /* str */, + unsigned /* format */ +); + +extern char * XkbKeyNameText( + char * /* name */, + unsigned /* format */ +); + +extern char * +XkbModIndexText( + unsigned /* ndx */, + unsigned /* format */ +); + +extern char * +XkbModMaskText( + unsigned /* mask */, + unsigned /* format */ +); + +extern char * XkbVModIndexText( + Display * /* dpy */, + XkbDescPtr /* xkb */, + unsigned /* ndx */, + unsigned /* format */ +); + +extern char * XkbVModMaskText( + Display * /* dpy */, + XkbDescPtr /* xkb */, + unsigned /* modMask */, + unsigned /* mask */, + unsigned /* format */ +); + +extern char * XkbConfigText( + unsigned /* config */, + unsigned /* format */ +); + +extern char * XkbSIMatchText( + unsigned /* type */, + unsigned /* format */ +); + +extern char * XkbIMWhichStateMaskText( + unsigned /* use_which */, + unsigned /* format */ +); + +extern char * XkbAccessXDetailText( + unsigned /* state */, + unsigned /* format */ +); + +extern char * XkbNKNDetailMaskText( + unsigned /* detail */, + unsigned /* format */ +); + +extern char * XkbControlsMaskText( + unsigned /* ctrls */, + unsigned /* format */ +); + +extern char * XkbGeomFPText( + int /* val */, + unsigned /* format */ +); + +extern char * XkbDoodadTypeText( + unsigned /* type */, + unsigned /* format */ +); + +extern char * XkbActionTypeText( + unsigned /* type */, + unsigned /* format */ +); + +extern char * XkbActionText( + Display * /* dpy */, + XkbDescPtr /* xkb */, + XkbAction * /* action */, + unsigned /* format */ +); + +extern char * XkbBehaviorText( + XkbDescPtr /* xkb */, + XkbBehavior * /* behavior */, + unsigned /* format */ +); + +/***====================================================================***/ + +#define _XkbKSLower (1<<0) +#define _XkbKSUpper (1<<1) + +#define XkbKSIsLower(k) (_XkbKSCheckCase(k)&_XkbKSLower) +#define XkbKSIsUpper(k) (_XkbKSCheckCase(k)&_XkbKSUpper) +#define XkbKSIsKeypad(k) (((k)>=XK_KP_Space)&&((k)<=XK_KP_Equal)) +#define XkbKSIsDeadKey(k) \ + (((k)>=XK_dead_grave)&&((k)<=XK_dead_semivoiced_sound)) + +extern unsigned _XkbKSCheckCase( + KeySym /* sym */ +); + +extern int XkbFindKeycodeByName( + XkbDescPtr /* xkb */, + char * /* name */, + Bool /* use_aliases */ +); + +extern Bool XkbLookupGroupAndLevel( + XkbDescPtr /* xkb */, + int /* key */, + int * /* mods_inout */, + int * /* grp_inout */, + int * /* lvl_rtrn */ +); + +/***====================================================================***/ + + +extern Bool XkbLookupCanonicalRGBColor( + char * /* def */, + XColor * /* color */ +); + + +/***====================================================================***/ + +extern char * XkbAtomGetString( + Display * /* dpy */, + Atom /* atm */ +); + +extern Atom XkbInternAtom( + Display * /* dpy */, + const char */* name */, + Bool /* onlyIfExists */ +); + +extern Status XkbChangeKbdDisplay( + Display * /* newDpy */, + XkbFileInfo * /* result */ +); + +extern Atom XkbChangeAtomDisplay( + Display * /* oldDpy */, + Display * /* newDpy */, + Atom /* atm */ +); + +extern void XkbInitAtoms( + Display * /* dpy */ +); + +/***====================================================================***/ + +#ifdef _XKBGEOM_H_ + +#define XkbDW_Unknown 0 +#define XkbDW_Doodad 1 +#define XkbDW_Section 2 +typedef struct _XkbDrawable { + int type; + int priority; + union { + XkbDoodadPtr doodad; + XkbSectionPtr section; + } u; + struct _XkbDrawable * next; +} XkbDrawableRec,*XkbDrawablePtr; + +extern XkbDrawablePtr +XkbGetOrderedDrawables( + XkbGeometryPtr /* geom */, + XkbSectionPtr /* section */ +); + +extern void +XkbFreeOrderedDrawables( + XkbDrawablePtr /* draw */ +); + +#endif + +/***====================================================================***/ + +extern unsigned XkbConvertGetByNameComponents( + Bool /* toXkm */, + unsigned /* orig */ +); + +extern unsigned XkbConvertXkbComponents( + Bool /* toXkm */, + unsigned /* orig */ +); + +extern Bool XkbDetermineFileType( + XkbFileInfo * /* xkb */, + int /* format */, + int * /* opts_missing */ +); + +extern Bool XkbNameMatchesPattern( + char * /* name */, + char * /* pattern */ +); + +/***====================================================================***/ + +extern Bool XkbWriteXKBKeycodes( + FILE * /* file */, + XkbFileInfo * /* result */, + Bool /* topLevel */, + Bool /* showImplicit */, + XkbFileAddOnFunc /* addOn */, + void * /* priv */ +); + +extern Bool XkbWriteXKBKeyTypes( + FILE * /* file */, + XkbFileInfo * /* result */, + Bool /* topLevel */, + Bool /* showImplicit */, + XkbFileAddOnFunc /* addOn */, + void * /* priv */ +); + +extern Bool XkbWriteXKBCompatMap( + FILE * /* file */, + XkbFileInfo * /* result */, + Bool /* topLevel */, + Bool /* showImplicit */, + XkbFileAddOnFunc /* addOn */, + void * /* priv */ +); + +extern Bool XkbWriteXKBSymbols( + FILE * /* file */, + XkbFileInfo * /* result */, + Bool /* topLevel */, + Bool /* showImplicit */, + XkbFileAddOnFunc /* addOn */, + void * /* priv */ +); + +extern Bool XkbWriteXKBGeometry( + FILE * /* file */, + XkbFileInfo * /* result */, + Bool /* topLevel */, + Bool /* showImplicit */, + XkbFileAddOnFunc /* addOn */, + void * /* priv */ +); + +extern Bool XkbWriteXKBSemantics( + FILE * /* file */, + XkbFileInfo * /* result */, + Bool /* topLevel */, + Bool /* showImplicit */, + XkbFileAddOnFunc /* addOn */, + void * /* priv */ +); + +extern Bool XkbWriteXKBLayout( + FILE * /* file */, + XkbFileInfo * /* result */, + Bool /* topLevel */, + Bool /* showImplicit */, + XkbFileAddOnFunc /* addOn */, + void * /* priv */ +); + +extern Bool XkbWriteXKBKeymap( + FILE * /* file */, + XkbFileInfo * /* result */, + Bool /* topLevel */, + Bool /* showImplicit */, + XkbFileAddOnFunc /* addOn */, + void * /* priv */ +); + +extern Bool XkbWriteXKBFile( + FILE * /* file */, + XkbFileInfo * /* result */, + Bool /* showImplicit */, + XkbFileAddOnFunc /* addOn */, + void * /* priv */ +); + +extern Bool XkbWriteCFile( + FILE * /* file */, + char * /* name */, + XkbFileInfo * /* info */ +); + +extern Bool XkbWriteXKMFile( + FILE * /* file */, + XkbFileInfo * /* result */ +); + +extern Bool XkbWriteToServer( + XkbFileInfo * /* result */ +); + +extern void XkbEnsureSafeMapName( + char * /* name */ +); + +extern Bool XkbWriteXKBKeymapForNames( + FILE * /* file */, + XkbComponentNamesPtr /* names */, + Display * /* dpy */, + XkbDescPtr /* xkb */, + unsigned /* want */, + unsigned /* need */ +); + +extern Status XkbMergeFile( + XkbDescPtr /* xkb */, + XkbFileInfo /* finfo */ +); + +/***====================================================================***/ + +extern Bool XkmProbe( + FILE * /* file */ +); + +extern unsigned XkbReadFromServer( + Display * /* dpy */, + unsigned /* need */, + unsigned /* want */, + XkbFileInfo * /* result */ +); + +extern unsigned XkmReadFile( + FILE * /* file */, + unsigned /* need */, + unsigned /* want */, + XkbFileInfo * /* result */ +); + +#ifdef _XKMFORMAT_H_ + +extern Bool XkmReadTOC( + FILE * /* file */, + xkmFileInfo * /* file_info */, + int /* max_toc */, + xkmSectionInfo * /* toc */ +); + +extern xkmSectionInfo *XkmFindTOCEntry( + xkmFileInfo * /* finfo */, + xkmSectionInfo * /* toc */, + unsigned /* type */ +); + +extern Bool XkmReadFileSection( + FILE * /* file */, + xkmSectionInfo * /* toc */, + XkbFileInfo * /* result */, + unsigned * /* loaded_rtrn */ +); + +extern char * XkmReadFileSectionName( + FILE * /* file */, + xkmSectionInfo * /* toc */ +); + +#endif /* _XKMFORMAT_H */ + +_XFUNCPROTOEND + +#endif /* _XKBFILE_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/XKBgeom.h b/ThirdParty/X11/Include/X11/extensions/XKBgeom.h new file mode 100644 index 0000000..f603852 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XKBgeom.h @@ -0,0 +1,657 @@ +/************************************************************ +Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc. + +Permission to use, copy, modify, and distribute this +software and its documentation for any purpose and without +fee is hereby granted, provided that the above copyright +notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting +documentation, and that the name of Silicon Graphics not be +used in advertising or publicity pertaining to distribution +of the software without specific prior written permission. +Silicon Graphics makes no representation about the suitability +of this software for any purpose. It is provided "as is" +without any express or implied warranty. + +SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON +GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH +THE USE OR PERFORMANCE OF THIS SOFTWARE. + +********************************************************/ + +#ifndef _XKBGEOM_H_ +#define _XKBGEOM_H_ + +#include <X11/extensions/XKBstr.h> + +#ifdef XKB_IN_SERVER +#define XkbAddGeomKeyAlias SrvXkbAddGeomKeyAlias +#define XkbAddGeomColor SrvXkbAddGeomColor +#define XkbAddGeomDoodad SrvXkbAddGeomDoodad +#define XkbAddGeomKey SrvXkbAddGeomKey +#define XkbAddGeomOutline SrvXkbAddGeomOutline +#define XkbAddGeomOverlay SrvXkbAddGeomOverlay +#define XkbAddGeomOverlayRow SrvXkbAddGeomOverlayRow +#define XkbAddGeomOverlayKey SrvXkbAddGeomOverlayKey +#define XkbAddGeomProperty SrvXkbAddGeomProperty +#define XkbAddGeomRow SrvXkbAddGeomRow +#define XkbAddGeomSection SrvXkbAddGeomSection +#define XkbAddGeomShape SrvXkbAddGeomShape +#define XkbAllocGeomKeyAliases SrvXkbAllocGeomKeyAliases +#define XkbAllocGeomColors SrvXkbAllocGeomColors +#define XkbAllocGeomDoodads SrvXkbAllocGeomDoodads +#define XkbAllocGeomKeys SrvXkbAllocGeomKeys +#define XkbAllocGeomOutlines SrvXkbAllocGeomOutlines +#define XkbAllocGeomPoints SrvXkbAllocGeomPoints +#define XkbAllocGeomProps SrvXkbAllocGeomProps +#define XkbAllocGeomRows SrvXkbAllocGeomRows +#define XkbAllocGeomSectionDoodads SrvXkbAllocGeomSectionDoodads +#define XkbAllocGeomSections SrvXkbAllocGeomSections +#define XkbAllocGeomOverlays SrvXkbAllocGeomOverlays +#define XkbAllocGeomOverlayRows SrvXkbAllocGeomOverlayRows +#define XkbAllocGeomOverlayKeys SrvXkbAllocGeomOverlayKeys +#define XkbAllocGeomShapes SrvXkbAllocGeomShapes +#define XkbAllocGeometry SrvXkbAllocGeometry +#define XkbFreeGeomKeyAliases SrvXkbFreeGeomKeyAliases +#define XkbFreeGeomColors SrvXkbFreeGeomColors +#define XkbFreeGeomDoodads SrvXkbFreeGeomDoodads +#define XkbFreeGeomProperties SrvXkbFreeGeomProperties +#define XkbFreeGeomOverlayKeys SrvXkbFreeGeomOverlayKeys +#define XkbFreeGeomOverlayRows SrvXkbFreeGeomOverlayRows +#define XkbFreeGeomOverlays SrvXkbFreeGeomOverlays +#define XkbFreeGeomKeys SrvXkbFreeGeomKeys +#define XkbFreeGeomRows SrvXkbFreeGeomRows +#define XkbFreeGeomSections SrvXkbFreeGeomSections +#define XkbFreeGeomPoints SrvXkbFreeGeomPoints +#define XkbFreeGeomOutlines SrvXkbFreeGeomOutlines +#define XkbFreeGeomShapes SrvXkbFreeGeomShapes +#define XkbFreeGeometry SrvXkbFreeGeometry +#endif + +typedef struct _XkbProperty { + char *name; + char *value; +} XkbPropertyRec,*XkbPropertyPtr; + +typedef struct _XkbColor { + unsigned int pixel; + char * spec; +} XkbColorRec,*XkbColorPtr; + +typedef struct _XkbPoint { + short x; + short y; +} XkbPointRec, *XkbPointPtr; + +typedef struct _XkbBounds { + short x1,y1; + short x2,y2; +} XkbBoundsRec, *XkbBoundsPtr; +#define XkbBoundsWidth(b) (((b)->x2)-((b)->x1)) +#define XkbBoundsHeight(b) (((b)->y2)-((b)->y1)) + +typedef struct _XkbOutline { + unsigned short num_points; + unsigned short sz_points; + unsigned short corner_radius; + XkbPointPtr points; +} XkbOutlineRec, *XkbOutlinePtr; + +typedef struct _XkbShape { + Atom name; + unsigned short num_outlines; + unsigned short sz_outlines; + XkbOutlinePtr outlines; + XkbOutlinePtr approx; + XkbOutlinePtr primary; + XkbBoundsRec bounds; +} XkbShapeRec, *XkbShapePtr; +#define XkbOutlineIndex(s,o) ((int)((o)-&(s)->outlines[0])) + +typedef struct _XkbShapeDoodad { + Atom name; + unsigned char type; + unsigned char priority; + short top; + short left; + short angle; + unsigned short color_ndx; + unsigned short shape_ndx; +} XkbShapeDoodadRec, *XkbShapeDoodadPtr; +#define XkbShapeDoodadColor(g,d) (&(g)->colors[(d)->color_ndx]) +#define XkbShapeDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx]) +#define XkbSetShapeDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0]) +#define XkbSetShapeDoodadShape(g,d,s) ((d)->shape_ndx= (s)-&(g)->shapes[0]) + +typedef struct _XkbTextDoodad { + Atom name; + unsigned char type; + unsigned char priority; + short top; + short left; + short angle; + short width; + short height; + unsigned short color_ndx; + char * text; + char * font; +} XkbTextDoodadRec, *XkbTextDoodadPtr; +#define XkbTextDoodadColor(g,d) (&(g)->colors[(d)->color_ndx]) +#define XkbSetTextDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0]) + +typedef struct _XkbIndicatorDoodad { + Atom name; + unsigned char type; + unsigned char priority; + short top; + short left; + short angle; + unsigned short shape_ndx; + unsigned short on_color_ndx; + unsigned short off_color_ndx; +} XkbIndicatorDoodadRec, *XkbIndicatorDoodadPtr; +#define XkbIndicatorDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx]) +#define XkbIndicatorDoodadOnColor(g,d) (&(g)->colors[(d)->on_color_ndx]) +#define XkbIndicatorDoodadOffColor(g,d) (&(g)->colors[(d)->off_color_ndx]) +#define XkbSetIndicatorDoodadOnColor(g,d,c) \ + ((d)->on_color_ndx= (c)-&(g)->colors[0]) +#define XkbSetIndicatorDoodadOffColor(g,d,c) \ + ((d)->off_color_ndx= (c)-&(g)->colors[0]) +#define XkbSetIndicatorDoodadShape(g,d,s) \ + ((d)->shape_ndx= (s)-&(g)->shapes[0]) + +typedef struct _XkbLogoDoodad { + Atom name; + unsigned char type; + unsigned char priority; + short top; + short left; + short angle; + unsigned short color_ndx; + unsigned short shape_ndx; + char * logo_name; +} XkbLogoDoodadRec, *XkbLogoDoodadPtr; +#define XkbLogoDoodadColor(g,d) (&(g)->colors[(d)->color_ndx]) +#define XkbLogoDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx]) +#define XkbSetLogoDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0]) +#define XkbSetLogoDoodadShape(g,d,s) ((d)->shape_ndx= (s)-&(g)->shapes[0]) + +typedef struct _XkbAnyDoodad { + Atom name; + unsigned char type; + unsigned char priority; + short top; + short left; + short angle; +} XkbAnyDoodadRec, *XkbAnyDoodadPtr; + +typedef union _XkbDoodad { + XkbAnyDoodadRec any; + XkbShapeDoodadRec shape; + XkbTextDoodadRec text; + XkbIndicatorDoodadRec indicator; + XkbLogoDoodadRec logo; +} XkbDoodadRec, *XkbDoodadPtr; + +#define XkbUnknownDoodad 0 +#define XkbOutlineDoodad 1 +#define XkbSolidDoodad 2 +#define XkbTextDoodad 3 +#define XkbIndicatorDoodad 4 +#define XkbLogoDoodad 5 + +typedef struct _XkbKey { + XkbKeyNameRec name; + short gap; + unsigned char shape_ndx; + unsigned char color_ndx; +} XkbKeyRec, *XkbKeyPtr; +#define XkbKeyShape(g,k) (&(g)->shapes[(k)->shape_ndx]) +#define XkbKeyColor(g,k) (&(g)->colors[(k)->color_ndx]) +#define XkbSetKeyShape(g,k,s) ((k)->shape_ndx= (s)-&(g)->shapes[0]) +#define XkbSetKeyColor(g,k,c) ((k)->color_ndx= (c)-&(g)->colors[0]) + +typedef struct _XkbRow { + short top; + short left; + unsigned short num_keys; + unsigned short sz_keys; + int vertical; + XkbKeyPtr keys; + XkbBoundsRec bounds; +} XkbRowRec, *XkbRowPtr; + +typedef struct _XkbSection { + Atom name; + unsigned char priority; + short top; + short left; + unsigned short width; + unsigned short height; + short angle; + unsigned short num_rows; + unsigned short num_doodads; + unsigned short num_overlays; + unsigned short sz_rows; + unsigned short sz_doodads; + unsigned short sz_overlays; + XkbRowPtr rows; + XkbDoodadPtr doodads; + XkbBoundsRec bounds; + struct _XkbOverlay *overlays; +} XkbSectionRec, *XkbSectionPtr; + +typedef struct _XkbOverlayKey { + XkbKeyNameRec over; + XkbKeyNameRec under; +} XkbOverlayKeyRec,*XkbOverlayKeyPtr; + +typedef struct _XkbOverlayRow { + unsigned short row_under; + unsigned short num_keys; + unsigned short sz_keys; + XkbOverlayKeyPtr keys; +} XkbOverlayRowRec,*XkbOverlayRowPtr; + +typedef struct _XkbOverlay { + Atom name; + XkbSectionPtr section_under; + unsigned short num_rows; + unsigned short sz_rows; + XkbOverlayRowPtr rows; + XkbBoundsPtr bounds; +} XkbOverlayRec,*XkbOverlayPtr; + +typedef struct _XkbGeometry { + Atom name; + unsigned short width_mm; + unsigned short height_mm; + char * label_font; + XkbColorPtr label_color; + XkbColorPtr base_color; + unsigned short sz_properties; + unsigned short sz_colors; + unsigned short sz_shapes; + unsigned short sz_sections; + unsigned short sz_doodads; + unsigned short sz_key_aliases; + unsigned short num_properties; + unsigned short num_colors; + unsigned short num_shapes; + unsigned short num_sections; + unsigned short num_doodads; + unsigned short num_key_aliases; + XkbPropertyPtr properties; + XkbColorPtr colors; + XkbShapePtr shapes; + XkbSectionPtr sections; + XkbDoodadPtr doodads; + XkbKeyAliasPtr key_aliases; +} XkbGeometryRec; +#define XkbGeomColorIndex(g,c) ((int)((c)-&(g)->colors[0])) + +#define XkbGeomPropertiesMask (1<<0) +#define XkbGeomColorsMask (1<<1) +#define XkbGeomShapesMask (1<<2) +#define XkbGeomSectionsMask (1<<3) +#define XkbGeomDoodadsMask (1<<4) +#define XkbGeomKeyAliasesMask (1<<5) +#define XkbGeomAllMask (0x3f) + +typedef struct _XkbGeometrySizes { + unsigned int which; + unsigned short num_properties; + unsigned short num_colors; + unsigned short num_shapes; + unsigned short num_sections; + unsigned short num_doodads; + unsigned short num_key_aliases; +} XkbGeometrySizesRec,*XkbGeometrySizesPtr; + +_XFUNCPROTOBEGIN + +extern XkbPropertyPtr +XkbAddGeomProperty( + XkbGeometryPtr /* geom */, + char * /* name */, + char * /* value */ +); + +extern XkbKeyAliasPtr +XkbAddGeomKeyAlias( + XkbGeometryPtr /* geom */, + char * /* alias */, + char * /* real */ +); + +extern XkbColorPtr +XkbAddGeomColor( + XkbGeometryPtr /* geom */, + char * /* spec */, + unsigned int /* pixel */ +); + +extern XkbOutlinePtr +XkbAddGeomOutline( + XkbShapePtr /* shape */, + int /* sz_points */ +); + +extern XkbShapePtr +XkbAddGeomShape( + XkbGeometryPtr /* geom */, + Atom /* name */, + int /* sz_outlines */ +); + +extern XkbKeyPtr +XkbAddGeomKey( + XkbRowPtr /* row */ +); + +extern XkbRowPtr +XkbAddGeomRow( + XkbSectionPtr /* section */, + int /* sz_keys */ +); + +extern XkbSectionPtr +XkbAddGeomSection( + XkbGeometryPtr /* geom */, + Atom /* name */, + int /* sz_rows */, + int /* sz_doodads */, + int /* sz_overlays */ +); + +extern XkbOverlayPtr +XkbAddGeomOverlay( + XkbSectionPtr /* section */, + Atom /* name */, + int /* sz_rows */ +); + +extern XkbOverlayRowPtr +XkbAddGeomOverlayRow( + XkbOverlayPtr /* overlay */, + int /* row_under */, + int /* sz_keys */ +); + +extern XkbOverlayKeyPtr +XkbAddGeomOverlayKey( + XkbOverlayPtr /* overlay */, + XkbOverlayRowPtr /* row */, + char * /* over */, + char * /* under */ +); + +extern XkbDoodadPtr +XkbAddGeomDoodad( + XkbGeometryPtr /* geom */, + XkbSectionPtr /* section */, + Atom /* name */ +); + + +extern void +XkbFreeGeomKeyAliases( + XkbGeometryPtr /* geom */, + int /* first */, + int /* count */, + Bool /* freeAll */ +); + +extern void +XkbFreeGeomColors( + XkbGeometryPtr /* geom */, + int /* first */, + int /* count */, + Bool /* freeAll */ +); + +extern void +XkbFreeGeomDoodads( + XkbDoodadPtr /* doodads */, + int /* nDoodads */, + Bool /* freeAll */ +); + + +extern void +XkbFreeGeomProperties( + XkbGeometryPtr /* geom */, + int /* first */, + int /* count */, + Bool /* freeAll */ +); + +extern void +XkbFreeGeomOverlayKeys( + XkbOverlayRowPtr /* row */, + int /* first */, + int /* count */, + Bool /* freeAll */ +); + +extern void +XkbFreeGeomOverlayRows( + XkbOverlayPtr /* overlay */, + int /* first */, + int /* count */, + Bool /* freeAll */ +); + +extern void +XkbFreeGeomOverlays( + XkbSectionPtr /* section */, + int /* first */, + int /* count */, + Bool /* freeAll */ +); + +extern void +XkbFreeGeomKeys( + XkbRowPtr /* row */, + int /* first */, + int /* count */, + Bool /* freeAll */ +); + +extern void +XkbFreeGeomRows( + XkbSectionPtr /* section */, + int /* first */, + int /* count */, + Bool /* freeAll */ +); + +extern void +XkbFreeGeomSections( + XkbGeometryPtr /* geom */, + int /* first */, + int /* count */, + Bool /* freeAll */ +); + + +extern void +XkbFreeGeomPoints( + XkbOutlinePtr /* outline */, + int /* first */, + int /* count */, + Bool /* freeAll */ +); + +extern void +XkbFreeGeomOutlines( + XkbShapePtr /* shape */, + int /* first */, + int /* count */, + Bool /* freeAll */ +); + +extern void +XkbFreeGeomShapes( + XkbGeometryPtr /* geom */, + int /* first */, + int /* count */, + Bool /* freeAll */ +); + +extern void +XkbFreeGeometry( + XkbGeometryPtr /* geom */, + unsigned int /* which */, + Bool /* freeMap */ +); + +extern Status +XkbAllocGeomProps( + XkbGeometryPtr /* geom */, + int /* nProps */ +); + +extern Status +XkbAllocGeomKeyAliases( + XkbGeometryPtr /* geom */, + int /* nAliases */ +); + +extern Status +XkbAllocGeomColors( + XkbGeometryPtr /* geom */, + int /* nColors */ +); + +extern Status +XkbAllocGeomShapes( + XkbGeometryPtr /* geom */, + int /* nShapes */ +); + +extern Status +XkbAllocGeomSections( + XkbGeometryPtr /* geom */, + int /* nSections */ +); + +extern Status +XkbAllocGeomOverlays( + XkbSectionPtr /* section */, + int /* num_needed */ +); + +extern Status +XkbAllocGeomOverlayRows( + XkbOverlayPtr /* overlay */, + int /* num_needed */ +); + +extern Status +XkbAllocGeomOverlayKeys( + XkbOverlayRowPtr /* row */, + int /* num_needed */ +); + +extern Status +XkbAllocGeomDoodads( + XkbGeometryPtr /* geom */, + int /* nDoodads */ +); + +extern Status +XkbAllocGeomSectionDoodads( + XkbSectionPtr /* section */, + int /* nDoodads */ +); + +extern Status +XkbAllocGeomOutlines( + XkbShapePtr /* shape */, + int /* nOL */ +); + +extern Status +XkbAllocGeomRows( + XkbSectionPtr /* section */, + int /* nRows */ +); + +extern Status +XkbAllocGeomPoints( + XkbOutlinePtr /* ol */, + int /* nPts */ +); + +extern Status +XkbAllocGeomKeys( + XkbRowPtr /* row */, + int /* nKeys */ +); + +extern Status +XkbAllocGeometry( + XkbDescPtr /* xkb */, + XkbGeometrySizesPtr /* sizes */ +); + +extern Status +XkbSetGeometry( + Display * /* dpy */, + unsigned /* deviceSpec */, + XkbGeometryPtr /* geom */ +); + +extern Bool +XkbComputeShapeTop( + XkbShapePtr /* shape */, + XkbBoundsPtr /* bounds */ +); + +extern Bool +XkbComputeShapeBounds( + XkbShapePtr /* shape */ +); + +extern Bool +XkbComputeRowBounds( + XkbGeometryPtr /* geom */, + XkbSectionPtr /* section */, + XkbRowPtr /* row */ +); + +extern Bool +XkbComputeSectionBounds( + XkbGeometryPtr /* geom */, + XkbSectionPtr /* section */ +); + +extern char * +XkbFindOverlayForKey( + XkbGeometryPtr /* geom */, + XkbSectionPtr /* wanted */, + char * /* under */ +); + +extern Status +XkbGetGeometry( + Display * /* dpy */, + XkbDescPtr /* xkb */ +); + +extern Status +XkbGetNamedGeometry( + Display * /* dpy */, + XkbDescPtr /* xkb */, + Atom /* name */ +); + +_XFUNCPROTOEND + +#endif /* _XKBSTR_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/XKBproto.h b/ThirdParty/X11/Include/X11/extensions/XKBproto.h new file mode 100644 index 0000000..b867659 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XKBproto.h @@ -0,0 +1,1281 @@ +/************************************************************ +Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc. + +Permission to use, copy, modify, and distribute this +software and its documentation for any purpose and without +fee is hereby granted, provided that the above copyright +notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting +documentation, and that the name of Silicon Graphics not be +used in advertising or publicity pertaining to distribution +of the software without specific prior written permission. +Silicon Graphics makes no representation about the suitability +of this software for any purpose. It is provided "as is" +without any express or implied warranty. + +SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON +GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH +THE USE OR PERFORMANCE OF THIS SOFTWARE. + +********************************************************/ + +#ifndef _XKBPROTO_H_ +#define _XKBPROTO_H_ + +#include <X11/Xmd.h> +#include <X11/extensions/XKB.h> + +#define Window CARD32 +#define Atom CARD32 +#define Time CARD32 +#define KeyCode CARD8 +#define KeySym CARD32 + +#define XkbPaddedSize(n) ((((unsigned int)(n)+3) >> 2) << 2) + +typedef struct _xkbUseExtension { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBUseExtension */ + CARD16 length B16; + CARD16 wantedMajor B16; + CARD16 wantedMinor B16; +} xkbUseExtensionReq; +#define sz_xkbUseExtensionReq 8 + +typedef struct _xkbUseExtensionReply { + BYTE type; /* X_Reply */ + BOOL supported; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 serverMajor B16; + CARD16 serverMinor B16; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xkbUseExtensionReply; +#define sz_xkbUseExtensionReply 32 + +typedef struct _xkbSelectEvents { + CARD8 reqType; + CARD8 xkbReqType; /* X_KBSelectEvents */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD16 affectWhich B16; + CARD16 clear B16; + CARD16 selectAll B16; + CARD16 affectMap B16; + CARD16 map B16; +} xkbSelectEventsReq; +#define sz_xkbSelectEventsReq 16 + +typedef struct _xkbBell { + CARD8 reqType; + CARD8 xkbReqType; /* X_KBBell */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD16 bellClass B16; + CARD16 bellID B16; + INT8 percent; + BOOL forceSound; + BOOL eventOnly; + CARD8 pad1; + INT16 pitch B16; + INT16 duration B16; + CARD16 pad2 B16; + Atom name B32; + Window window B32; +} xkbBellReq; +#define sz_xkbBellReq 28 + +typedef struct _xkbGetState { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBGetState */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD16 pad B16; +} xkbGetStateReq; +#define sz_xkbGetStateReq 8 + +typedef struct _xkbGetStateReply { + BYTE type; + BYTE deviceID; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD8 mods; + CARD8 baseMods; + CARD8 latchedMods; + CARD8 lockedMods; + CARD8 group; + CARD8 lockedGroup; + INT16 baseGroup B16; + INT16 latchedGroup B16; + CARD8 compatState; + CARD8 grabMods; + CARD8 compatGrabMods; + CARD8 lookupMods; + CARD8 compatLookupMods; + CARD8 pad1; + CARD16 ptrBtnState B16; + CARD16 pad2 B16; + CARD32 pad3 B32; +} xkbGetStateReply; +#define sz_xkbGetStateReply 32 + +typedef struct _xkbLatchLockState { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBLatchLockState */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD8 affectModLocks; + CARD8 modLocks; + BOOL lockGroup; + CARD8 groupLock; + CARD8 affectModLatches; + CARD8 modLatches; + CARD8 pad; + BOOL latchGroup; + INT16 groupLatch B16; +} xkbLatchLockStateReq; +#define sz_xkbLatchLockStateReq 16 + +typedef struct _xkbGetControls { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBGetControls */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD16 pad B16; +} xkbGetControlsReq; +#define sz_xkbGetControlsReq 8 + +typedef struct _xkbGetControlsReply { + BYTE type; /* X_Reply */ + CARD8 deviceID; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD8 mkDfltBtn; + CARD8 numGroups; + CARD8 groupsWrap; + CARD8 internalMods; + CARD8 ignoreLockMods; + CARD8 internalRealMods; + CARD8 ignoreLockRealMods; + CARD8 pad1; + CARD16 internalVMods B16; + CARD16 ignoreLockVMods B16; + CARD16 repeatDelay B16; + CARD16 repeatInterval B16; + CARD16 slowKeysDelay B16; + CARD16 debounceDelay B16; + CARD16 mkDelay B16; + CARD16 mkInterval B16; + CARD16 mkTimeToMax B16; + CARD16 mkMaxSpeed B16; + INT16 mkCurve B16; + CARD16 axOptions B16; + CARD16 axTimeout B16; + CARD16 axtOptsMask B16; + CARD16 axtOptsValues B16; + CARD16 pad2 B16; + CARD32 axtCtrlsMask B32; + CARD32 axtCtrlsValues B32; + CARD32 enabledCtrls B32; + BYTE perKeyRepeat[XkbPerKeyBitArraySize]; +} xkbGetControlsReply; +#define sz_xkbGetControlsReply 92 + +typedef struct _xkbSetControls { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBSetControls */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD8 affectInternalMods; + CARD8 internalMods; + CARD8 affectIgnoreLockMods; + CARD8 ignoreLockMods; + CARD16 affectInternalVMods B16; + CARD16 internalVMods B16; + CARD16 affectIgnoreLockVMods B16; + CARD16 ignoreLockVMods B16; + CARD8 mkDfltBtn; + CARD8 groupsWrap; + CARD16 axOptions B16; + CARD16 pad1 B16; + CARD32 affectEnabledCtrls B32; + CARD32 enabledCtrls B32; + CARD32 changeCtrls B32; + CARD16 repeatDelay B16; + CARD16 repeatInterval B16; + CARD16 slowKeysDelay B16; + CARD16 debounceDelay B16; + CARD16 mkDelay B16; + CARD16 mkInterval B16; + CARD16 mkTimeToMax B16; + CARD16 mkMaxSpeed B16; + INT16 mkCurve B16; + CARD16 axTimeout B16; + CARD32 axtCtrlsMask B32; + CARD32 axtCtrlsValues B32; + CARD16 axtOptsMask B16; + CARD16 axtOptsValues B16; + BYTE perKeyRepeat[XkbPerKeyBitArraySize]; +} xkbSetControlsReq; +#define sz_xkbSetControlsReq 100 + +typedef struct _xkbKTMapEntryWireDesc { + BOOL active; + CARD8 mask; + CARD8 level; + CARD8 realMods; + CARD16 virtualMods B16; + CARD16 pad B16; +} xkbKTMapEntryWireDesc; +#define sz_xkbKTMapEntryWireDesc 8 + +typedef struct _xkbKTSetMapEntryWireDesc { + CARD8 level; + CARD8 realMods; + CARD16 virtualMods B16; +} xkbKTSetMapEntryWireDesc; +#define sz_xkbKTSetMapEntryWireDesc 4 + +typedef struct _xkbModsWireDesc { + CARD8 mask; /* GetMap only */ + CARD8 realMods; + CARD16 virtualMods B16; +} xkbModsWireDesc; +#define sz_xkbModsWireDesc 4 + +typedef struct _xkbKeyTypeWireDesc { + CARD8 mask; + CARD8 realMods; + CARD16 virtualMods B16; + CARD8 numLevels; + CARD8 nMapEntries; + BOOL preserve; + CARD8 pad; +} xkbKeyTypeWireDesc; +#define sz_xkbKeyTypeWireDesc 8 + +typedef struct _xkbSymMapWireDesc { + CARD8 ktIndex[XkbNumKbdGroups]; + CARD8 groupInfo; + CARD8 width; + CARD16 nSyms B16; +} xkbSymMapWireDesc; +#define sz_xkbSymMapWireDesc 8 + +typedef struct _xkbVModMapWireDesc { + KeyCode key; + CARD8 pad; + CARD16 vmods B16; +} xkbVModMapWireDesc; +#define sz_xkbVModMapWireDesc 4 + +typedef struct _xkbBehaviorWireDesc { + CARD8 key; + CARD8 type; + CARD8 data; + CARD8 pad; +} xkbBehaviorWireDesc; +#define sz_xkbBehaviorWireDesc 4 + +typedef struct _xkbActionWireDesc { + CARD8 type; + CARD8 data[7]; +} xkbActionWireDesc; +#define sz_xkbActionWireDesc 8 + +typedef struct _xkbGetMap { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBGetMap */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD16 full B16; + CARD16 partial B16; + CARD8 firstType; + CARD8 nTypes; + KeyCode firstKeySym; + CARD8 nKeySyms; + KeyCode firstKeyAct; + CARD8 nKeyActs; + KeyCode firstKeyBehavior; + CARD8 nKeyBehaviors; + CARD16 virtualMods B16; + KeyCode firstKeyExplicit; + CARD8 nKeyExplicit; + KeyCode firstModMapKey; + CARD8 nModMapKeys; + KeyCode firstVModMapKey; + CARD8 nVModMapKeys; + CARD16 pad1 B16; +} xkbGetMapReq; +#define sz_xkbGetMapReq 28 + +typedef struct _xkbGetMapReply { + CARD8 type; /* always X_Reply */ + CARD8 deviceID; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 pad1 B16; + KeyCode minKeyCode; + KeyCode maxKeyCode; + CARD16 present B16; + CARD8 firstType; + CARD8 nTypes; + CARD8 totalTypes; + KeyCode firstKeySym; + CARD16 totalSyms B16; + CARD8 nKeySyms; + KeyCode firstKeyAct; + CARD16 totalActs B16; + CARD8 nKeyActs; + KeyCode firstKeyBehavior; + CARD8 nKeyBehaviors; + CARD8 totalKeyBehaviors; + KeyCode firstKeyExplicit; + CARD8 nKeyExplicit; + CARD8 totalKeyExplicit; + KeyCode firstModMapKey; + CARD8 nModMapKeys; + CARD8 totalModMapKeys; + KeyCode firstVModMapKey; + CARD8 nVModMapKeys; + CARD8 totalVModMapKeys; + CARD8 pad2; + CARD16 virtualMods B16; +} xkbGetMapReply; +#define sz_xkbGetMapReply 40 + +#define XkbSetMapResizeTypes (1L<<0) +#define XkbSetMapRecomputeActions (1L<<1) +#define XkbSetMapAllFlags (0x3) + +typedef struct _xkbSetMap { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBSetMap */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD16 present B16; + CARD16 flags B16; + KeyCode minKeyCode; + KeyCode maxKeyCode; + CARD8 firstType; + CARD8 nTypes; + KeyCode firstKeySym; + CARD8 nKeySyms; + CARD16 totalSyms B16; + KeyCode firstKeyAct; + CARD8 nKeyActs; + CARD16 totalActs B16; + KeyCode firstKeyBehavior; + CARD8 nKeyBehaviors; + CARD8 totalKeyBehaviors; + KeyCode firstKeyExplicit; + CARD8 nKeyExplicit; + CARD8 totalKeyExplicit; + KeyCode firstModMapKey; + CARD8 nModMapKeys; + CARD8 totalModMapKeys; + KeyCode firstVModMapKey; + CARD8 nVModMapKeys; + CARD8 totalVModMapKeys; + CARD16 virtualMods B16; +} xkbSetMapReq; +#define sz_xkbSetMapReq 36 + +typedef struct _xkbSymInterpretWireDesc { + CARD32 sym B32; + CARD8 mods; + CARD8 match; + CARD8 virtualMod; + CARD8 flags; + xkbActionWireDesc act; +} xkbSymInterpretWireDesc; +#define sz_xkbSymInterpretWireDesc 16 + +typedef struct _xkbGetCompatMap { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBGetCompatMap */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD8 groups; + BOOL getAllSI; + CARD16 firstSI B16; + CARD16 nSI B16; +} xkbGetCompatMapReq; +#define sz_xkbGetCompatMapReq 12 + +typedef struct _xkbGetCompatMapReply { + CARD8 type; /* always X_Reply */ + CARD8 deviceID; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD8 groups; + CARD8 pad1; + CARD16 firstSI B16; + CARD16 nSI B16; + CARD16 nTotalSI B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xkbGetCompatMapReply; +#define sz_xkbGetCompatMapReply 32 + +typedef struct _xkbSetCompatMap { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBSetCompatMap */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD8 pad1; + BOOL recomputeActions; + BOOL truncateSI; + CARD8 groups; + CARD16 firstSI B16; + CARD16 nSI B16; + CARD16 pad2 B16; +} xkbSetCompatMapReq; +#define sz_xkbSetCompatMapReq 16 + +typedef struct _xkbGetIndicatorState { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBGetIndicatorState */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD16 pad1 B16; +} xkbGetIndicatorStateReq; +#define sz_xkbGetIndicatorStateReq 8 + +typedef struct _xkbGetIndicatorStateReply { + CARD8 type; /* always X_Reply */ + CARD8 deviceID; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 state B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xkbGetIndicatorStateReply; +#define sz_xkbGetIndicatorStateReply 32 + +typedef struct _xkbGetIndicatorMap { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBGetIndicatorMap */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD16 pad B16; + CARD32 which B32; +} xkbGetIndicatorMapReq; +#define sz_xkbGetIndicatorMapReq 12 + +typedef struct _xkbGetIndicatorMapReply { + CARD8 type; /* always X_Reply */ + CARD8 deviceID; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 which B32; + CARD32 realIndicators B32; + CARD8 nIndicators; + CARD8 pad1; + CARD16 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xkbGetIndicatorMapReply; +#define sz_xkbGetIndicatorMapReply 32 + +typedef struct _xkbIndicatorMapWireDesc { + CARD8 flags; + CARD8 whichGroups; + CARD8 groups; + CARD8 whichMods; + CARD8 mods; + CARD8 realMods; + CARD16 virtualMods B16; + CARD32 ctrls B32; +} xkbIndicatorMapWireDesc; +#define sz_xkbIndicatorMapWireDesc 12 + +typedef struct _xkbSetIndicatorMap { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBSetIndicatorMap */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD16 pad1 B16; + CARD32 which B32; +} xkbSetIndicatorMapReq; +#define sz_xkbSetIndicatorMapReq 12 + +typedef struct _xkbGetNamedIndicator { + CARD8 reqType; + CARD8 xkbReqType; /* X_KBGetNamedIndicator */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD16 ledClass B16; + CARD16 ledID B16; + CARD16 pad1 B16; + Atom indicator B32; +} xkbGetNamedIndicatorReq; +#define sz_xkbGetNamedIndicatorReq 16 + +typedef struct _xkbGetNamedIndicatorReply { + BYTE type; + BYTE deviceID; + CARD16 sequenceNumber B16; + CARD32 length B32; + Atom indicator B32; + BOOL found; + BOOL on; + BOOL realIndicator; + CARD8 ndx; + CARD8 flags; + CARD8 whichGroups; + CARD8 groups; + CARD8 whichMods; + CARD8 mods; + CARD8 realMods; + CARD16 virtualMods B16; + CARD32 ctrls B32; + BOOL supported; + CARD8 pad1; + CARD16 pad2 B16; +} xkbGetNamedIndicatorReply; +#define sz_xkbGetNamedIndicatorReply 32 + +typedef struct _xkbSetNamedIndicator { + CARD8 reqType; + CARD8 xkbReqType; /* X_KBSetNamedIndicator */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD16 ledClass B16; + CARD16 ledID B16; + CARD16 pad1 B16; + Atom indicator B32; + BOOL setState; + BOOL on; + BOOL setMap; + BOOL createMap; + CARD8 pad2; + CARD8 flags; + CARD8 whichGroups; + CARD8 groups; + CARD8 whichMods; + CARD8 realMods; + CARD16 virtualMods B16; + CARD32 ctrls B32; +} xkbSetNamedIndicatorReq; +#define sz_xkbSetNamedIndicatorReq 32 + +typedef struct _xkbGetNames { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBGetNames */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD16 pad B16; + CARD32 which B32; +} xkbGetNamesReq; +#define sz_xkbGetNamesReq 12 + +typedef struct _xkbGetNamesReply { + BYTE type; + BYTE deviceID; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 which B32; + KeyCode minKeyCode; + KeyCode maxKeyCode; + CARD8 nTypes; + CARD8 groupNames; + CARD16 virtualMods B16; + KeyCode firstKey; + CARD8 nKeys; + CARD32 indicators B32; + CARD8 nRadioGroups; + CARD8 nKeyAliases; + CARD16 nKTLevels B16; + CARD32 pad3 B32; +} xkbGetNamesReply; +#define sz_xkbGetNamesReply 32 + +typedef struct _xkbSetNames { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBSetNames */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD16 virtualMods B16; + CARD32 which B32; + CARD8 firstType; + CARD8 nTypes; + CARD8 firstKTLevel; + CARD8 nKTLevels; + CARD32 indicators B32; + CARD8 groupNames; + CARD8 nRadioGroups; + KeyCode firstKey; + CARD8 nKeys; + CARD8 nKeyAliases; + CARD8 pad1; + CARD16 totalKTLevelNames B16; +} xkbSetNamesReq; +#define sz_xkbSetNamesReq 28 + +typedef struct _xkbPointWireDesc { + INT16 x B16; + INT16 y B16; +} xkbPointWireDesc; +#define sz_xkbPointWireDesc 4 + +typedef struct _xkbOutlineWireDesc { + CARD8 nPoints; + CARD8 cornerRadius; + CARD16 pad B16; +} xkbOutlineWireDesc; +#define sz_xkbOutlineWireDesc 4 + +typedef struct _xkbShapeWireDesc { + Atom name B32; + CARD8 nOutlines; + CARD8 primaryNdx; + CARD8 approxNdx; + CARD8 pad; +} xkbShapeWireDesc; +#define sz_xkbShapeWireDesc 8 + +typedef struct _xkbSectionWireDesc { + Atom name B32; + INT16 top B16; + INT16 left B16; + CARD16 width B16; + CARD16 height B16; + INT16 angle B16; + CARD8 priority; + CARD8 nRows; + CARD8 nDoodads; + CARD8 nOverlays; + CARD16 pad B16; +} xkbSectionWireDesc; +#define sz_xkbSectionWireDesc 20 + +typedef struct _xkbRowWireDesc { + INT16 top B16; + INT16 left B16; + CARD8 nKeys; + BOOL vertical; + CARD16 pad B16; +} xkbRowWireDesc; +#define sz_xkbRowWireDesc 8 + +typedef struct _xkbKeyWireDesc { + CARD8 name[XkbKeyNameLength]; + INT16 gap B16; + CARD8 shapeNdx; + CARD8 colorNdx; +} xkbKeyWireDesc; +#define sz_xkbKeyWireDesc 8 + +typedef struct _xkbOverlayWireDesc { + Atom name B32; + CARD8 nRows; + CARD8 pad1; + CARD16 pad2 B16; +} xkbOverlayWireDesc; +#define sz_xkbOverlayWireDesc 8 + +typedef struct _xkbOverlayRowWireDesc { + CARD8 rowUnder; + CARD8 nKeys; + CARD16 pad1 B16; +} xkbOverlayRowWireDesc; +#define sz_xkbOverlayRowWireDesc 4 + +typedef struct _xkbOverlayKeyWireDesc { + CARD8 over[XkbKeyNameLength]; + CARD8 under[XkbKeyNameLength]; +} xkbOverlayKeyWireDesc; +#define sz_xkbOverlayKeyWireDesc 8 + +typedef struct _xkbShapeDoodadWireDesc { + Atom name B32; + CARD8 type; + CARD8 priority; + INT16 top B16; + INT16 left B16; + INT16 angle B16; + CARD8 colorNdx; + CARD8 shapeNdx; + CARD16 pad1 B16; + CARD32 pad2 B32; +} xkbShapeDoodadWireDesc; +#define sz_xkbShapeDoodadWireDesc 20 + +typedef struct _xkbTextDoodadWireDesc { + Atom name B32; + CARD8 type; + CARD8 priority; + INT16 top B16; + INT16 left B16; + INT16 angle B16; + CARD16 width B16; + CARD16 height B16; + CARD8 colorNdx; + CARD8 pad1; + CARD16 pad2 B16; +} xkbTextDoodadWireDesc; +#define sz_xkbTextDoodadWireDesc 20 + +typedef struct _xkbIndicatorDoodadWireDesc { + Atom name B32; + CARD8 type; + CARD8 priority; + INT16 top B16; + INT16 left B16; + INT16 angle B16; + CARD8 shapeNdx; + CARD8 onColorNdx; + CARD8 offColorNdx; + CARD8 pad1; + CARD32 pad2 B32; +} xkbIndicatorDoodadWireDesc; +#define sz_xkbIndicatorDoodadWireDesc 20 + +typedef struct _xkbLogoDoodadWireDesc { + Atom name B32; + CARD8 type; + CARD8 priority; + INT16 top B16; + INT16 left B16; + INT16 angle B16; + CARD8 colorNdx; + CARD8 shapeNdx; + CARD16 pad1 B16; + CARD32 pad2 B32; +} xkbLogoDoodadWireDesc; +#define sz_xkbLogoDoodadWireDesc 20 + +typedef struct _xkbAnyDoodadWireDesc { + Atom name B32; + CARD8 type; + CARD8 priority; + INT16 top B16; + INT16 left B16; + INT16 angle B16; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xkbAnyDoodadWireDesc; +#define sz_xkbAnyDoodadWireDesc 20 + +typedef union _xkbDoodadWireDesc { + xkbAnyDoodadWireDesc any; + xkbShapeDoodadWireDesc shape; + xkbTextDoodadWireDesc text; + xkbIndicatorDoodadWireDesc indicator; + xkbLogoDoodadWireDesc logo; +} xkbDoodadWireDesc; +#define sz_xkbDoodadWireDesc 20 + +typedef struct _xkbGetGeometry { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBGetGeometry */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD16 pad B16; + Atom name B32; +} xkbGetGeometryReq; +#define sz_xkbGetGeometryReq 12 + +typedef struct _xkbGetGeometryReply { + CARD8 type; /* always X_Reply */ + CARD8 deviceID; + CARD16 sequenceNumber B16; + CARD32 length B32; + Atom name B32; + BOOL found; + CARD8 pad; + CARD16 widthMM B16; + CARD16 heightMM B16; + CARD16 nProperties B16; + CARD16 nColors B16; + CARD16 nShapes B16; + CARD16 nSections B16; + CARD16 nDoodads B16; + CARD16 nKeyAliases B16; + CARD8 baseColorNdx; + CARD8 labelColorNdx; +} xkbGetGeometryReply; +#define sz_xkbGetGeometryReply 32 + +typedef struct _xkbSetGeometry { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBSetGeometry */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD8 nShapes; + CARD8 nSections; + Atom name B32; + CARD16 widthMM B16; + CARD16 heightMM B16; + CARD16 nProperties B16; + CARD16 nColors B16; + CARD16 nDoodads B16; + CARD16 nKeyAliases B16; + CARD8 baseColorNdx; + CARD8 labelColorNdx; + CARD16 pad B16; +} xkbSetGeometryReq; +#define sz_xkbSetGeometryReq 28 + +typedef struct _xkbPerClientFlags { + CARD8 reqType; + CARD8 xkbReqType;/* always X_KBPerClientFlags */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD16 pad1 B16; + CARD32 change B32; + CARD32 value B32; + CARD32 ctrlsToChange B32; + CARD32 autoCtrls B32; + CARD32 autoCtrlValues B32; +} xkbPerClientFlagsReq; +#define sz_xkbPerClientFlagsReq 28 + +typedef struct _xkbPerClientFlagsReply { + CARD8 type; /* always X_Reply */ + CARD8 deviceID; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 supported B32; + CARD32 value B32; + CARD32 autoCtrls B32; + CARD32 autoCtrlValues B32; + CARD32 pad1 B32; + CARD32 pad2 B32; +} xkbPerClientFlagsReply; +#define sz_xkbPerClientFlagsReply 32 + +typedef struct _xkbListComponents { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBListComponents */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD16 maxNames B16; +} xkbListComponentsReq; +#define sz_xkbListComponentsReq 8 + +typedef struct _xkbListComponentsReply { + CARD8 type; /* always X_Reply */ + CARD8 deviceID; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 nKeymaps B16; + CARD16 nKeycodes B16; + CARD16 nTypes B16; + CARD16 nCompatMaps B16; + CARD16 nSymbols B16; + CARD16 nGeometries B16; + CARD16 extra B16; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xkbListComponentsReply; +#define sz_xkbListComponentsReply 32 + +typedef struct _xkbGetKbdByName { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBGetKbdByName */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD16 need B16; /* combination of XkbGBN_* */ + CARD16 want B16; /* combination of XkbGBN_* */ + BOOL load; + CARD8 pad; +} xkbGetKbdByNameReq; +#define sz_xkbGetKbdByNameReq 12 + +typedef struct _xkbGetKbdByNameReply { + CARD8 type; /* always X_Reply */ + CARD8 deviceID; + CARD16 sequenceNumber B16; + CARD32 length B32; + KeyCode minKeyCode; + KeyCode maxKeyCode; + BOOL loaded; + BOOL newKeyboard; + CARD16 found B16; /* combination of XkbGBN_* */ + CARD16 reported B16; /* combination of XkbAllComponents */ + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xkbGetKbdByNameReply; +#define sz_xkbGetKbdByNameReply 32 + +typedef struct _xkbDeviceLedsWireDesc { + CARD16 ledClass B16; + CARD16 ledID B16; + CARD32 namesPresent B32; + CARD32 mapsPresent B32; + CARD32 physIndicators B32; + CARD32 state B32; +} xkbDeviceLedsWireDesc; +#define sz_xkbDeviceLedsWireDesc 20 + +typedef struct _xkbGetDeviceInfo { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBGetDeviceInfo */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD16 wanted B16; + BOOL allBtns; + CARD8 firstBtn; + CARD8 nBtns; + CARD8 pad; + CARD16 ledClass B16; + CARD16 ledID B16; +} xkbGetDeviceInfoReq; +#define sz_xkbGetDeviceInfoReq 16 + +typedef struct _xkbGetDeviceInfoReply { + CARD8 type; /* always X_Reply */ + CARD8 deviceID; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 present B16; + CARD16 supported B16; + CARD16 unsupported B16; + CARD16 nDeviceLedFBs B16; + CARD8 firstBtnWanted; + CARD8 nBtnsWanted; + CARD8 firstBtnRtrn; + CARD8 nBtnsRtrn; + CARD8 totalBtns; + BOOL hasOwnState; + CARD16 dfltKbdFB B16; + CARD16 dfltLedFB B16; + CARD16 pad B16; + Atom devType B32; +} xkbGetDeviceInfoReply; +#define sz_xkbGetDeviceInfoReply 32 + +typedef struct _xkbSetDeviceInfo { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBSetDeviceInfo */ + CARD16 length B16; + CARD16 deviceSpec B16; + CARD8 firstBtn; + CARD8 nBtns; + CARD16 change B16; + CARD16 nDeviceLedFBs B16; +} xkbSetDeviceInfoReq; +#define sz_xkbSetDeviceInfoReq 12 + +typedef struct _xkbSetDebuggingFlags { + CARD8 reqType; + CARD8 xkbReqType; /* always X_KBSetDebuggingFlags */ + CARD16 length B16; + CARD16 msgLength B16; + CARD16 pad B16; + CARD32 affectFlags B32; + CARD32 flags B32; + CARD32 affectCtrls B32; + CARD32 ctrls B32; +} xkbSetDebuggingFlagsReq; +#define sz_xkbSetDebuggingFlagsReq 24 + +typedef struct _xkbSetDebuggingFlagsReply { + BYTE type; /* X_Reply */ + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 currentFlags B32; + CARD32 currentCtrls B32; + CARD32 supportedFlags B32; + CARD32 supportedCtrls B32; + CARD32 pad1 B32; + CARD32 pad2 B32; +} xkbSetDebuggingFlagsReply; +#define sz_xkbSetDebuggingFlagsReply 32 + + /* + * X KEYBOARD EXTENSION EVENT STRUCTURES + */ + +typedef struct _xkbAnyEvent { + BYTE type; + BYTE xkbType; + CARD16 sequenceNumber B16; + Time time B32; + CARD8 deviceID; + CARD8 pad1; + CARD16 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; +} xkbAnyEvent; +#define sz_xkbAnyEvent 32 + +typedef struct _xkbNewKeyboardNotify { + BYTE type; + BYTE xkbType; + CARD16 sequenceNumber B16; + Time time B32; + CARD8 deviceID; + CARD8 oldDeviceID; + KeyCode minKeyCode; + KeyCode maxKeyCode; + KeyCode oldMinKeyCode; + KeyCode oldMaxKeyCode; + CARD8 requestMajor; + CARD8 requestMinor; + CARD16 changed B16; + CARD8 detail; + CARD8 pad1; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xkbNewKeyboardNotify; +#define sz_xkbNewKeyboardNotify 32 + +typedef struct _xkbMapNotify { + BYTE type; + BYTE xkbType; + CARD16 sequenceNumber B16; + Time time B32; + CARD8 deviceID; + CARD8 ptrBtnActions; + CARD16 changed B16; + KeyCode minKeyCode; + KeyCode maxKeyCode; + CARD8 firstType; + CARD8 nTypes; + KeyCode firstKeySym; + CARD8 nKeySyms; + KeyCode firstKeyAct; + CARD8 nKeyActs; + KeyCode firstKeyBehavior; + CARD8 nKeyBehaviors; + KeyCode firstKeyExplicit; + CARD8 nKeyExplicit; + KeyCode firstModMapKey; + CARD8 nModMapKeys; + KeyCode firstVModMapKey; + CARD8 nVModMapKeys; + CARD16 virtualMods B16; + CARD16 pad1 B16; +} xkbMapNotify; +#define sz_xkbMapNotify 32 + +typedef struct _xkbStateNotify { + BYTE type; + BYTE xkbType; + CARD16 sequenceNumber B16; + Time time B32; + CARD8 deviceID; + CARD8 mods; + CARD8 baseMods; + CARD8 latchedMods; + CARD8 lockedMods; + CARD8 group; + INT16 baseGroup B16; + INT16 latchedGroup B16; + CARD8 lockedGroup; + CARD8 compatState; + CARD8 grabMods; + CARD8 compatGrabMods; + CARD8 lookupMods; + CARD8 compatLookupMods; + CARD16 ptrBtnState B16; + CARD16 changed B16; + KeyCode keycode; + CARD8 eventType; + CARD8 requestMajor; + CARD8 requestMinor; +} xkbStateNotify; +#define sz_xkbStateNotify 32 + +typedef struct _xkbControlsNotify { + BYTE type; + BYTE xkbType; + CARD16 sequenceNumber B16; + Time time B32; + CARD8 deviceID; + CARD8 numGroups; + CARD16 pad1 B16; + CARD32 changedControls B32; + CARD32 enabledControls B32; + CARD32 enabledControlChanges B32; + KeyCode keycode; + CARD8 eventType; + CARD8 requestMajor; + CARD8 requestMinor; + CARD32 pad2 B32; +} xkbControlsNotify; +#define sz_xkbControlsNotify 32 + +typedef struct _xkbIndicatorNotify { + BYTE type; + BYTE xkbType; + CARD16 sequenceNumber B16; + Time time B32; + CARD8 deviceID; + CARD8 pad1; + CARD16 pad2 B16; + CARD32 state B32; + CARD32 changed B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xkbIndicatorNotify; +#define sz_xkbIndicatorNotify 32 + +typedef struct _xkbNamesNotify { + BYTE type; + BYTE xkbType; + CARD16 sequenceNumber B16; + Time time B32; + CARD8 deviceID; + CARD8 pad1; + CARD16 changed B16; + CARD8 firstType; + CARD8 nTypes; + CARD8 firstLevelName; + CARD8 nLevelNames; + CARD8 pad2; + CARD8 nRadioGroups; + CARD8 nAliases; + CARD8 changedGroupNames; + CARD16 changedVirtualMods B16; + CARD8 firstKey; + CARD8 nKeys; + CARD32 changedIndicators B32; + CARD32 pad3 B32; +} xkbNamesNotify; +#define sz_xkbNamesNotify 32 + +typedef struct _xkbCompatMapNotify { + BYTE type; + BYTE xkbType; + CARD16 sequenceNumber B16; + Time time B32; + CARD8 deviceID; + CARD8 changedGroups; + CARD16 firstSI B16; + CARD16 nSI B16; + CARD16 nTotalSI B16; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xkbCompatMapNotify; +#define sz_xkbCompatMapNotify 32 + +typedef struct _xkbBellNotify { + BYTE type; + BYTE xkbType; + CARD16 sequenceNumber B16; + Time time B32; + CARD8 deviceID; + CARD8 bellClass; + CARD8 bellID; + CARD8 percent; + CARD16 pitch B16; + CARD16 duration B16; + Atom name B32; + Window window B32; + BOOL eventOnly; + CARD8 pad1; + CARD16 pad2 B16; + CARD32 pad3 B32; +} xkbBellNotify; +#define sz_xkbBellNotify 32 + +typedef struct _xkbActionMessage { + BYTE type; + BYTE xkbType; + CARD16 sequenceNumber B16; + Time time B32; + CARD8 deviceID; + KeyCode keycode; + BOOL press; + BOOL keyEventFollows; + CARD8 mods; + CARD8 group; + CARD8 message[8]; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xkbActionMessage; +#define sz_xkbActionMessage 32 + +typedef struct _xkbAccessXNotify { + BYTE type; + BYTE xkbType; + CARD16 sequenceNumber B16; + Time time B32; + CARD8 deviceID; + KeyCode keycode; + CARD16 detail B16; + CARD16 slowKeysDelay B16; + CARD16 debounceDelay B16; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xkbAccessXNotify; +#define sz_xkbAccessXNotify 32 + +typedef struct _xkbExtensionDeviceNotify { + BYTE type; + BYTE xkbType; + CARD16 sequenceNumber B16; + Time time B32; + CARD8 deviceID; + CARD8 pad1; + CARD16 reason B16; + CARD16 ledClass B16; + CARD16 ledID B16; + CARD32 ledsDefined B32; + CARD32 ledState B32; + CARD8 firstBtn; + CARD8 nBtns; + CARD16 supported B16; + CARD16 unsupported B16; + CARD16 pad3 B16; +} xkbExtensionDeviceNotify; +#define sz_xkbExtensionDeviceNotify 32 + +typedef struct _xkbEvent { + union { + xkbAnyEvent any; + xkbNewKeyboardNotify new_kbd; + xkbMapNotify map; + xkbStateNotify state; + xkbControlsNotify ctrls; + xkbIndicatorNotify indicators; + xkbNamesNotify names; + xkbCompatMapNotify compat; + xkbBellNotify bell; + xkbActionMessage message; + xkbAccessXNotify accessx; + xkbExtensionDeviceNotify device; + } u; +} xkbEvent; +#define sz_xkbEvent 32 + +#undef Window +#undef Atom +#undef Time +#undef KeyCode +#undef KeySym + +#endif /* _XKBPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/XKBrules.h b/ThirdParty/X11/Include/X11/extensions/XKBrules.h new file mode 100644 index 0000000..4736056 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XKBrules.h @@ -0,0 +1,197 @@ +#ifndef _XKBRULES_H_ +#define _XKBRULES_H_ 1 + +/************************************************************ + Copyright (c) 1996 by Silicon Graphics Computer Systems, Inc. + + Permission to use, copy, modify, and distribute this + software and its documentation for any purpose and without + fee is hereby granted, provided that the above copyright + notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting + documentation, and that the name of Silicon Graphics not be + used in advertising or publicity pertaining to distribution + of the software without specific prior written permission. + Silicon Graphics makes no representation about the suitability + of this software for any purpose. It is provided "as is" + without any express or implied warranty. + + SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS + SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON + GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL + DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE + OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH + THE USE OR PERFORMANCE OF THIS SOFTWARE. + + ********************************************************/ + +/***====================================================================***/ + +typedef struct _XkbRF_VarDefs { + char * model; + char * layout; + char * variant; + char * options; + unsigned short sz_extra; + unsigned short num_extra; + char * extra_names; + char ** extra_values; +} XkbRF_VarDefsRec,*XkbRF_VarDefsPtr; + +typedef struct _XkbRF_VarDesc { + char * name; + char * desc; +} XkbRF_VarDescRec, *XkbRF_VarDescPtr; + +typedef struct _XkbRF_DescribeVars { + int sz_desc; + int num_desc; + XkbRF_VarDescPtr desc; +} XkbRF_DescribeVarsRec,*XkbRF_DescribeVarsPtr; + +typedef struct _XkbRF_Rule { + int number; + int layout_num; + int variant_num; + char * model; + char * layout; + char * variant; + char * option; + /* yields */ + char * keycodes; + char * symbols; + char * types; + char * compat; + char * geometry; + char * keymap; + unsigned flags; +} XkbRF_RuleRec,*XkbRF_RulePtr; + +typedef struct _XkbRF_Group { + int number; + char * name; + char * words; +} XkbRF_GroupRec, *XkbRF_GroupPtr; + +#define XkbRF_PendingMatch (1L<<1) +#define XkbRF_Option (1L<<2) +#define XkbRF_Append (1L<<3) +#define XkbRF_Normal (1L<<4) +#define XkbRF_Invalid (1L<<5) + +typedef struct _XkbRF_Rules { + XkbRF_DescribeVarsRec models; + XkbRF_DescribeVarsRec layouts; + XkbRF_DescribeVarsRec variants; + XkbRF_DescribeVarsRec options; + unsigned short sz_extra; + unsigned short num_extra; + char ** extra_names; + XkbRF_DescribeVarsPtr extra; + + unsigned short sz_rules; + unsigned short num_rules; + XkbRF_RulePtr rules; + unsigned short sz_groups; + unsigned short num_groups; + XkbRF_GroupPtr groups; +} XkbRF_RulesRec, *XkbRF_RulesPtr; + +/***====================================================================***/ + +_XFUNCPROTOBEGIN + +extern Bool XkbRF_GetComponents( + XkbRF_RulesPtr /* rules */, + XkbRF_VarDefsPtr /* var_defs */, + XkbComponentNamesPtr /* names */ +); + +extern XkbRF_RulePtr XkbRF_AddRule( + XkbRF_RulesPtr /* rules */ +); + +extern XkbRF_GroupPtr XkbRF_AddGroup(XkbRF_RulesPtr rules); + +extern Bool XkbRF_LoadRules( + FILE * /* file */, + XkbRF_RulesPtr /* rules */ +); + +extern Bool XkbRF_LoadRulesByName( + char * /* base */, + char * /* locale */, + XkbRF_RulesPtr /* rules */ +); + +/***====================================================================***/ + +extern XkbRF_VarDescPtr XkbRF_AddVarDesc( + XkbRF_DescribeVarsPtr /* vars */ +); + +extern XkbRF_VarDescPtr XkbRF_AddVarDescCopy( + XkbRF_DescribeVarsPtr /* vars */, + XkbRF_VarDescPtr /* copy_from */ +); + +extern XkbRF_DescribeVarsPtr XkbRF_AddVarToDescribe( + XkbRF_RulesPtr /* rules */, + char * /* name */ +); + +extern Bool XkbRF_LoadDescriptions( + FILE * /* file */, + XkbRF_RulesPtr /* rules */ +); + +extern Bool XkbRF_LoadDescriptionsByName( + char * /* base */, + char * /* locale */, + XkbRF_RulesPtr /* rules */ +); + +extern XkbRF_RulesPtr XkbRF_Load( + char * /* base */, + char * /* locale */, + Bool /* wantDesc */, + Bool /* wantRules */ +); + +extern XkbRF_RulesPtr XkbRF_Create( + int /* sz_rules */, + int /* sz_extra */ +); + +/***====================================================================***/ + +extern void XkbRF_Free( + XkbRF_RulesPtr /* rules */, + Bool /* freeRules */ +); + + +/***====================================================================***/ + +#define _XKB_RF_NAMES_PROP_ATOM "_XKB_RULES_NAMES" +#define _XKB_RF_NAMES_PROP_MAXLEN 1024 + + +extern Bool XkbRF_GetNamesProp( + Display * /* dpy */, + char ** /* rules_file_rtrn */, + XkbRF_VarDefsPtr /* var_defs_rtrn */ +); + +extern Bool XkbRF_SetNamesProp( + Display * /* dpy */, + char * /* rules_file */, + XkbRF_VarDefsPtr /* var_defs */ +); + + +_XFUNCPROTOEND + +#endif /* _XKBRULES_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/XKBsrv.h b/ThirdParty/X11/Include/X11/extensions/XKBsrv.h new file mode 100644 index 0000000..be7e978 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XKBsrv.h @@ -0,0 +1,1184 @@ +/************************************************************ +Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc. + +Permission to use, copy, modify, and distribute this +software and its documentation for any purpose and without +fee is hereby granted, provided that the above copyright +notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting +documentation, and that the name of Silicon Graphics not be +used in advertising or publicity pertaining to distribution +of the software without specific prior written permission. +Silicon Graphics makes no representation about the suitability +of this software for any purpose. It is provided "as is" +without any express or implied warranty. + +SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON +GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH +THE USE OR PERFORMANCE OF THIS SOFTWARE. + +********************************************************/ + +#ifndef _XKBSRV_H_ +#define _XKBSRV_H_ + +#ifdef XKB_IN_SERVER +#define XkbAllocClientMap SrvXkbAllocClientMap +#define XkbAllocServerMap SrvXkbAllocServerMap +#define XkbChangeTypesOfKey SrvXkbChangeTypesOfKey +#define XkbAddKeyType SrvXkbAddKeyType +#define XkbCopyKeyType SrvXkbCopyKeyType +#define XkbCopyKeyTypes SrvXkbCopyKeyTypes +#define XkbFreeClientMap SrvXkbFreeClientMap +#define XkbFreeServerMap SrvXkbFreeServerMap +#define XkbInitCanonicalKeyTypes SrvXkbInitCanonicalKeyTypes +#define XkbKeyTypesForCoreSymbols SrvXkbKeyTypesForCoreSymbols +#define XkbApplyCompatMapToKey SrvXkbApplyCompatMapToKey +#define XkbUpdateMapFromCore SrvXkbUpdateMapFromCore +#define XkbResizeKeyActions SrvXkbResizeKeyActions +#define XkbResizeKeySyms SrvXkbResizeKeySyms +#define XkbResizeKeyType SrvXkbResizeKeyType +#define XkbAllocCompatMap SrvXkbAllocCompatMap +#define XkbAllocControls SrvXkbAllocControls +#define XkbAllocIndicatorMaps SrvXkbAllocIndicatorMaps +#define XkbAllocKeyboard SrvXkbAllocKeyboard +#define XkbAllocNames SrvXkbAllocNames +#define XkbFreeCompatMap SrvXkbFreeCompatMap +#define XkbFreeControls SrvXkbFreeControls +#define XkbFreeIndicatorMaps SrvXkbFreeIndicatorMaps +#define XkbFreeKeyboard SrvXkbFreeKeyboard +#define XkbFreeNames SrvXkbFreeNames +#define XkbAddDeviceLedInfo SrvXkbAddDeviceLedInfo +#define XkbAllocDeviceInfo SrvXkbAllocDeviceInfo +#define XkbFreeDeviceInfo SrvXkbFreeDeviceInfo +#define XkbResizeDeviceButtonActions SrvXkbResizeDeviceButtonActions +#define XkbLatchModifiers SrvXkbLatchModifiers +#define XkbLatchGroup SrvXkbLatchGroup +#define XkbVirtualModsToReal SrvXkbVirtualModsToReal +#define XkbChangeKeycodeRange SrvXkbChangeKeycodeRange +#define XkbApplyVirtualModChanges SrvXkbApplyVirtualModChanges +#define XkbUpdateActionVirtualMods SrvXkbUpdateActionVirtualMods +#define XkbUpdateKeyTypeVirtualMods SrvXkbUpdateKeyTypeVirtualMods +#endif + +#include <X11/extensions/XKBstr.h> +#include <X11/extensions/XKBproto.h> +#include "inputstr.h" + +typedef struct _XkbInterest { + DeviceIntPtr dev; + ClientPtr client; + XID resource; + struct _XkbInterest * next; + CARD16 extDevNotifyMask; + CARD16 stateNotifyMask; + CARD16 namesNotifyMask; + CARD32 ctrlsNotifyMask; + CARD8 compatNotifyMask; + BOOL bellNotifyMask; + BOOL actionMessageMask; + CARD16 accessXNotifyMask; + CARD32 iStateNotifyMask; + CARD32 iMapNotifyMask; + CARD16 altSymsNotifyMask; + CARD32 autoCtrls; + CARD32 autoCtrlValues; +} XkbInterestRec,*XkbInterestPtr; + +typedef struct _XkbRadioGroup { + CARD8 flags; + CARD8 nMembers; + CARD8 dfltDown; + CARD8 currentDown; + CARD8 members[XkbRGMaxMembers]; +} XkbRadioGroupRec, *XkbRadioGroupPtr; + +typedef struct _XkbEventCause { + CARD8 kc; + CARD8 event; + CARD8 mjr; + CARD8 mnr; + ClientPtr client; +} XkbEventCauseRec,*XkbEventCausePtr; +#define XkbSetCauseKey(c,k,e) { (c)->kc= (k),(c)->event= (e),\ + (c)->mjr= (c)->mnr= 0; \ + (c)->client= NULL; } +#define XkbSetCauseReq(c,j,n,cl) { (c)->kc= (c)->event= 0,\ + (c)->mjr= (j),(c)->mnr= (n);\ + (c)->client= (cl); } +#define XkbSetCauseCoreReq(c,e,cl) XkbSetCauseReq(c,e,0,cl) +#define XkbSetCauseXkbReq(c,e,cl) XkbSetCauseReq(c,XkbReqCode,e,cl) +#define XkbSetCauseUnknown(c) XkbSetCauseKey(c,0,0) + +#define _OFF_TIMER 0 +#define _KRG_WARN_TIMER 1 +#define _KRG_TIMER 2 +#define _SK_TIMEOUT_TIMER 3 +#define _ALL_TIMEOUT_TIMER 4 + +#define _BEEP_NONE 0 +#define _BEEP_FEATURE_ON 1 +#define _BEEP_FEATURE_OFF 2 +#define _BEEP_FEATURE_CHANGE 3 +#define _BEEP_SLOW_WARN 4 +#define _BEEP_SLOW_PRESS 5 +#define _BEEP_SLOW_ACCEPT 6 +#define _BEEP_SLOW_REJECT 7 +#define _BEEP_SLOW_RELEASE 8 +#define _BEEP_STICKY_LATCH 9 +#define _BEEP_STICKY_LOCK 10 +#define _BEEP_STICKY_UNLOCK 11 +#define _BEEP_LED_ON 12 +#define _BEEP_LED_OFF 13 +#define _BEEP_LED_CHANGE 14 +#define _BEEP_BOUNCE_REJECT 15 + +typedef struct _XkbSrvInfo { + XkbStateRec prev_state; + XkbStateRec state; + XkbDescPtr desc; + + DeviceIntPtr device; + KbdCtrlProcPtr kbdProc; + + XkbRadioGroupPtr radioGroups; + CARD8 nRadioGroups; + CARD8 clearMods; + CARD8 setMods; + INT16 groupChange; + + CARD16 dfltPtrDelta; + + double mouseKeysCurve; + double mouseKeysCurveFactor; + INT16 mouseKeysDX; + INT16 mouseKeysDY; + CARD8 mouseKeysFlags; + Bool mouseKeysAccel; + CARD8 mouseKeysCounter; + + CARD8 lockedPtrButtons; + CARD8 shiftKeyCount; + KeyCode mouseKey; + KeyCode inactiveKey; + KeyCode slowKey; + KeyCode repeatKey; + CARD8 krgTimerActive; + CARD8 beepType; + CARD8 beepCount; + + CARD32 flags; + CARD32 lastPtrEventTime; + CARD32 lastShiftEventTime; + OsTimerPtr beepTimer; + OsTimerPtr mouseKeyTimer; + OsTimerPtr slowKeysTimer; + OsTimerPtr bounceKeysTimer; + OsTimerPtr repeatKeyTimer; + OsTimerPtr krgTimer; +} XkbSrvInfoRec, *XkbSrvInfoPtr; + +#define XkbSLI_IsDefault (1L<<0) +#define XkbSLI_HasOwnState (1L<<1) + +typedef struct _XkbSrvLedInfo { + CARD16 flags; + CARD16 class; + CARD16 id; + union { + KbdFeedbackPtr kf; + LedFeedbackPtr lf; + } fb; + + CARD32 physIndicators; + CARD32 autoState; + CARD32 explicitState; + CARD32 effectiveState; + + CARD32 mapsPresent; + CARD32 namesPresent; + XkbIndicatorMapPtr maps; + Atom * names; + + CARD32 usesBase; + CARD32 usesLatched; + CARD32 usesLocked; + CARD32 usesEffective; + CARD32 usesCompat; + CARD32 usesControls; + + CARD32 usedComponents; +} XkbSrvLedInfoRec, *XkbSrvLedInfoPtr; + +/* + * Settings for xkbClientFlags field (used by DIX) + * These flags _must_ not overlap with XkbPCF_* + */ +#define _XkbClientInitialized (1<<15) + +#define _XkbWantsDetectableAutoRepeat(c)\ + ((c)->xkbClientFlags&XkbPCF_DetectableAutoRepeatMask) + +/* + * Settings for flags field + */ +#define _XkbStateNotifyInProgress (1<<0) + +typedef struct +{ + ProcessInputProc processInputProc; + ProcessInputProc realInputProc; + DeviceUnwrapProc unwrapProc; +} xkbDeviceInfoRec, *xkbDeviceInfoPtr; + +#define WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \ + device->public.processInputProc = proc; \ + oldprocs->processInputProc = \ + oldprocs->realInputProc = device->public.realInputProc; \ + device->public.realInputProc = proc; \ + oldprocs->unwrapProc = device->unwrapProc; \ + device->unwrapProc = unwrapproc; + +#define COND_WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \ + if (device->public.processInputProc == device->public.realInputProc)\ + device->public.processInputProc = proc; \ + oldprocs->processInputProc = \ + oldprocs->realInputProc = device->public.realInputProc; \ + device->public.realInputProc = proc; \ + oldprocs->unwrapProc = device->unwrapProc; \ + device->unwrapProc = unwrapproc; + +#define UNWRAP_PROCESS_INPUT_PROC(device, oldprocs) \ + device->public.processInputProc = oldprocs->processInputProc; \ + device->public.realInputProc = oldprocs->realInputProc; \ + device->unwrapProc = oldprocs->unwrapProc; + +#define XKBDEVICEINFO(dev) ((xkbDeviceInfoPtr) (dev)->devPrivates[xkbDevicePrivateIndex].ptr) + +/***====================================================================***/ + + +/***====================================================================***/ + +#define XkbAX_KRGMask (XkbSlowKeysMask|XkbBounceKeysMask) +#define XkbAllFilteredEventsMask \ + (XkbAccessXKeysMask|XkbRepeatKeysMask|XkbMouseKeysAccelMask|XkbAX_KRGMask) + +/***====================================================================***/ + +extern int XkbReqCode; +extern int XkbEventBase; +extern int XkbKeyboardErrorCode; +extern int XkbDisableLockActions; +extern char * XkbBaseDirectory; +extern char * XkbBinDirectory; +extern char * XkbInitialMap; +extern int _XkbClientMajor; +extern int _XkbClientMinor; +extern unsigned int XkbXIUnsupported; + +extern char * XkbModelUsed,*XkbLayoutUsed,*XkbVariantUsed,*XkbOptionsUsed; +extern Bool noXkbExtension; +extern Bool XkbWantRulesProp; + +extern pointer XkbLastRepeatEvent; + +extern CARD32 xkbDebugFlags; +extern CARD32 xkbDebugCtrls; + +#define _XkbAlloc(s) xalloc((s)) +#define _XkbCalloc(n,s) Xcalloc((n)*(s)) +#define _XkbRealloc(o,s) Xrealloc((o),(s)) +#define _XkbTypedAlloc(t) ((t *)xalloc(sizeof(t))) +#define _XkbTypedCalloc(n,t) ((t *)Xcalloc((n)*sizeof(t))) +#define _XkbTypedRealloc(o,n,t) \ + ((o)?(t *)Xrealloc((o),(n)*sizeof(t)):_XkbTypedCalloc(n,t)) +#define _XkbClearElems(a,f,l,t) bzero(&(a)[f],((l)-(f)+1)*sizeof(t)) +#define _XkbFree(p) Xfree(p) + +#define _XkbLibError(c,l,d) \ + { _XkbErrCode= (c); _XkbErrLocation= (l); _XkbErrData= (d); } +#define _XkbErrCode2(a,b) ((XID)((((unsigned int)(a))<<24)|((b)&0xffffff))) +#define _XkbErrCode3(a,b,c) _XkbErrCode2(a,(((unsigned int)(b))<<16)|(c)) +#define _XkbErrCode4(a,b,c,d) _XkbErrCode3(a,b,((((unsigned int)(c))<<8)|(d))) + +extern int DeviceKeyPress,DeviceKeyRelease; +extern int DeviceButtonPress,DeviceButtonRelease; + +#ifdef XINPUT +#define _XkbIsPressEvent(t) (((t)==KeyPress)||((t)==DeviceKeyPress)) +#define _XkbIsReleaseEvent(t) (((t)==KeyRelease)||((t)==DeviceKeyRelease)) +#else +#define _XkbIsPressEvent(t) ((t)==KeyPress) +#define _XkbIsReleaseEvent(t) ((t)==KeyRelease) +#endif + +#define _XkbCoreKeycodeInRange(c,k) (((k)>=(c)->curKeySyms.minKeyCode)&&\ + ((k)<=(c)->curKeySyms.maxKeyCode)) +#define _XkbCoreNumKeys(c) ((c)->curKeySyms.maxKeyCode-\ + (c)->curKeySyms.minKeyCode+1) + +#define XConvertCase(s,l,u) XkbConvertCase(s,l,u) +#undef IsKeypadKey +#define IsKeypadKey(s) XkbKSIsKeypad(s) + +typedef int Status; +typedef pointer XPointer; +typedef struct _XDisplay Display; + +#ifndef True +#define True 1 +#define False 0 +#endif + +#ifndef PATH_MAX +#ifdef MAXPATHLEN +#define PATH_MAX MAXPATHLEN +#else +#define PATH_MAX 1024 +#endif +#endif + +_XFUNCPROTOBEGIN + +extern void XkbUseMsg( + void +); + +extern int XkbProcessArguments( + int /* argc */, + char ** /* argv */, + int /* i */ +); + +extern void XkbSetExtension(DeviceIntPtr device, ProcessInputProc proc); + +extern void XkbFreeCompatMap( + XkbDescPtr /* xkb */, + unsigned int /* which */, + Bool /* freeMap */ +); + +extern void XkbFreeNames( + XkbDescPtr /* xkb */, + unsigned int /* which */, + Bool /* freeMap */ +); + +extern DeviceIntPtr _XkbLookupAnyDevice( + int /* id */, + int * /* why_rtrn */ +); + +extern DeviceIntPtr _XkbLookupKeyboard( + int /* id */, + int * /* why_rtrn */ +); + +extern DeviceIntPtr _XkbLookupBellDevice( + int /* id */, + int * /* why_rtrn */ +); + +extern DeviceIntPtr _XkbLookupLedDevice( + int /* id */, + int * /* why_rtrn */ +); + +extern DeviceIntPtr _XkbLookupButtonDevice( + int /* id */, + int * /* why_rtrn */ +); + +extern XkbDescPtr XkbAllocKeyboard( + void +); + +extern Status XkbAllocClientMap( + XkbDescPtr /* xkb */, + unsigned int /* which */, + unsigned int /* nTypes */ +); + +extern Status XkbAllocServerMap( + XkbDescPtr /* xkb */, + unsigned int /* which */, + unsigned int /* nNewActions */ +); + +extern void XkbFreeClientMap( + XkbDescPtr /* xkb */, + unsigned int /* what */, + Bool /* freeMap */ +); + +extern void XkbFreeServerMap( + XkbDescPtr /* xkb */, + unsigned int /* what */, + Bool /* freeMap */ +); + +extern Status XkbAllocIndicatorMaps( + XkbDescPtr /* xkb */ +); + +extern Status XkbAllocCompatMap( + XkbDescPtr /* xkb */, + unsigned int /* which */, + unsigned int /* nInterpret */ +); + +extern Status XkbAllocNames( + XkbDescPtr /* xkb */, + unsigned int /* which */, + int /* nTotalRG */, + int /* nTotalAliases */ +); + +extern Status XkbAllocControls( + XkbDescPtr /* xkb */, + unsigned int /* which*/ +); + +extern Status XkbCopyKeyType( + XkbKeyTypePtr /* from */, + XkbKeyTypePtr /* into */ +); + +extern Status XkbCopyKeyTypes( + XkbKeyTypePtr /* from */, + XkbKeyTypePtr /* into */, + int /* num_types */ +); + +extern Status XkbResizeKeyType( + XkbDescPtr /* xkb */, + int /* type_ndx */, + int /* map_count */, + Bool /* want_preserve */, + int /* new_num_lvls */ +); + +extern void XkbFreeKeyboard( + XkbDescPtr /* xkb */, + unsigned int /* which */, + Bool /* freeDesc */ +); + +extern void XkbSetActionKeyMods( + XkbDescPtr /* xkb */, + XkbAction * /* act */, + unsigned int /* mods */ +); + +extern Bool XkbCheckActionVMods( + XkbDescPtr /* xkb */, + XkbAction * /* act */, + unsigned int /* changed */ +); + +extern Bool XkbApplyVModChanges( + XkbSrvInfoPtr /* xkbi */, + unsigned int /* changed */, + XkbChangesPtr /* pChanges */, + unsigned int * /* needChecksRtrn */, + XkbEventCausePtr /* cause */ +); + +extern void XkbApplyVModChangesToAllDevices( + DeviceIntPtr /* dev */, + XkbDescPtr /* xkb */, + unsigned int /* changed */, + XkbEventCausePtr /* cause */ +); + +extern unsigned int XkbMaskForVMask( + XkbDescPtr /* xkb */, + unsigned int /* vmask */ +); + +extern Bool XkbVirtualModsToReal( + XkbDescPtr /* xkb */, + unsigned int /* virtua_mask */, + unsigned int * /* mask_rtrn */ +); + +extern unsigned int XkbAdjustGroup( + int /* group */, + XkbControlsPtr /* ctrls */ +); + +extern KeySym *XkbResizeKeySyms( + XkbDescPtr /* xkb */, + int /* key */, + int /* needed */ +); + +extern XkbAction *XkbResizeKeyActions( + XkbDescPtr /* xkb */, + int /* key */, + int /* needed */ +); + +extern void XkbUpdateKeyTypesFromCore( + DeviceIntPtr /* pXDev */, + KeyCode /* first */, + CARD8 /* num */, + XkbChangesPtr /* pChanges */ +); + +extern void XkbUpdateDescActions( + XkbDescPtr /* xkb */, + KeyCode /* first */, + CARD8 /* num */, + XkbChangesPtr /* changes */ +); + +extern void XkbUpdateActions( + DeviceIntPtr /* pXDev */, + KeyCode /* first */, + CARD8 /* num */, + XkbChangesPtr /* pChanges */, + unsigned int * /* needChecksRtrn */, + XkbEventCausePtr /* cause */ +); + +extern void XkbUpdateCoreDescription( + DeviceIntPtr /* keybd */, + Bool /* resize */ +); + +extern void XkbApplyMappingChange( + DeviceIntPtr /* pXDev */, + CARD8 /* request */, + KeyCode /* firstKey */, + CARD8 /* num */, + ClientPtr /* client */ +); + +extern void XkbSetIndicators( + DeviceIntPtr /* pXDev */, + CARD32 /* affect */, + CARD32 /* values */, + XkbEventCausePtr /* cause */ +); + +extern void XkbUpdateIndicators( + DeviceIntPtr /* keybd */, + CARD32 /* changed */, + Bool /* check_edevs */, + XkbChangesPtr /* pChanges */, + XkbEventCausePtr /* cause */ +); + +extern XkbSrvLedInfoPtr XkbAllocSrvLedInfo( + DeviceIntPtr /* dev */, + KbdFeedbackPtr /* kf */, + LedFeedbackPtr /* lf */, + unsigned int /* needed_parts */ +); + +extern XkbSrvLedInfoPtr XkbFindSrvLedInfo( + DeviceIntPtr /* dev */, + unsigned int /* class */, + unsigned int /* id */, + unsigned int /* needed_parts */ +); + +extern void XkbApplyLedNameChanges( + DeviceIntPtr /* dev */, + XkbSrvLedInfoPtr /* sli */, + unsigned int /* changed_names */, + xkbExtensionDeviceNotify * /* ed */, + XkbChangesPtr /* changes */, + XkbEventCausePtr /* cause */ +); + +extern void XkbApplyLedMapChanges( + DeviceIntPtr /* dev */, + XkbSrvLedInfoPtr /* sli */, + unsigned int /* changed_maps */, + xkbExtensionDeviceNotify * /* ed */, + XkbChangesPtr /* changes */, + XkbEventCausePtr /* cause */ +); + +extern void XkbApplyLedStateChanges( + DeviceIntPtr /* dev */, + XkbSrvLedInfoPtr /* sli */, + unsigned int /* changed_leds */, + xkbExtensionDeviceNotify * /* ed */, + XkbChangesPtr /* changes */, + XkbEventCausePtr /* cause */ +); + +extern void XkbUpdateLedAutoState( + DeviceIntPtr /* dev */, + XkbSrvLedInfoPtr /* sli */, + unsigned int /* maps_to_check */, + xkbExtensionDeviceNotify * /* ed */, + XkbChangesPtr /* changes */, + XkbEventCausePtr /* cause */ +); + +extern void XkbFlushLedEvents( + DeviceIntPtr /* dev */, + DeviceIntPtr /* kbd */, + XkbSrvLedInfoPtr /* sli */, + xkbExtensionDeviceNotify * /* ed */, + XkbChangesPtr /* changes */, + XkbEventCausePtr /* cause */ +); + +extern void XkbUpdateAllDeviceIndicators( + XkbChangesPtr /* changes */, + XkbEventCausePtr /* cause */ +); + +extern unsigned int XkbIndicatorsToUpdate( + DeviceIntPtr /* dev */, + unsigned long /* state_changes */, + Bool /* enabled_ctrl_changes */ +); + +extern void XkbComputeDerivedState( + XkbSrvInfoPtr /* xkbi */ +); + +extern void XkbCheckSecondaryEffects( + XkbSrvInfoPtr /* xkbi */, + unsigned int /* which */, + XkbChangesPtr /* changes */, + XkbEventCausePtr /* cause */ +); + +extern void XkbCheckIndicatorMaps( + DeviceIntPtr /* dev */, + XkbSrvLedInfoPtr /* sli */, + unsigned int /* which */ +); + +extern unsigned int XkbStateChangedFlags( + XkbStatePtr /* old */, + XkbStatePtr /* new */ +); + +extern void XkbSendStateNotify( + DeviceIntPtr /* kbd */, + xkbStateNotify * /* pSN */ +); + +extern void XkbSendMapNotify( + DeviceIntPtr /* kbd */, + xkbMapNotify * /* ev */ +); + +extern int XkbComputeControlsNotify( + DeviceIntPtr /* kbd */, + XkbControlsPtr /* old */, + XkbControlsPtr /* new */, + xkbControlsNotify * /* pCN */, + Bool /* forceCtrlProc */ +); + +extern void XkbSendControlsNotify( + DeviceIntPtr /* kbd */, + xkbControlsNotify * /* ev */ +); + +extern void XkbSendCompatMapNotify( + DeviceIntPtr /* kbd */, + xkbCompatMapNotify * /* ev */ +); + +extern void XkbSendIndicatorNotify( + DeviceIntPtr /* kbd */, + int /* xkbType */, + xkbIndicatorNotify * /* ev */ +); + +extern void XkbHandleBell( + BOOL /* force */, + BOOL /* eventOnly */, + DeviceIntPtr /* kbd */, + CARD8 /* percent */, + pointer /* ctrl */, + CARD8 /* class */, + Atom /* name */, + WindowPtr /* pWin */, + ClientPtr /* pClient */ +); + +extern void XkbSendAccessXNotify( + DeviceIntPtr /* kbd */, + xkbAccessXNotify * /* pEv */ +); + +extern void XkbSendNamesNotify( + DeviceIntPtr /* kbd */, + xkbNamesNotify * /* ev */ +); + +extern void XkbSendCompatNotify( + DeviceIntPtr /* kbd */, + xkbCompatMapNotify * /* ev */ +); + +extern void XkbSendActionMessage( + DeviceIntPtr /* kbd */, + xkbActionMessage * /* ev */ +); + +extern void XkbSendExtensionDeviceNotify( + DeviceIntPtr /* kbd */, + ClientPtr /* client */, + xkbExtensionDeviceNotify * /* ev */ +); + +extern void XkbSendNotification( + DeviceIntPtr /* kbd */, + XkbChangesPtr /* pChanges */, + XkbEventCausePtr /* cause */ +); + +extern void XkbProcessKeyboardEvent( + struct _xEvent * /* xE */, + DeviceIntPtr /* keybd */, + int /* count */ +); + +extern void XkbProcessOtherEvent( + struct _xEvent * /* xE */, + DeviceIntPtr /* keybd */, + int /* count */ +); + +extern void XkbHandleActions( + DeviceIntPtr /* dev */, + DeviceIntPtr /* kbd */, + struct _xEvent * /* xE */, + int /* count */ +); + +extern Bool XkbEnableDisableControls( + XkbSrvInfoPtr /* xkbi */, + unsigned long /* change */, + unsigned long /* newValues */, + XkbChangesPtr /* changes */, + XkbEventCausePtr /* cause */ +); + +extern void AccessXInit( + DeviceIntPtr /* dev */ +); + +extern Bool AccessXFilterPressEvent( + register struct _xEvent * /* xE */, + register DeviceIntPtr /* keybd */, + int /* count */ +); + +extern Bool AccessXFilterReleaseEvent( + register struct _xEvent * /* xE */, + register DeviceIntPtr /* keybd */, + int /* count */ +); + +extern void AccessXCancelRepeatKey( + XkbSrvInfoPtr /* xkbi */, + KeyCode /* key */ +); + +extern void AccessXComputeCurveFactor( + XkbSrvInfoPtr /* xkbi */, + XkbControlsPtr /* ctrls */ +); + +extern XkbDeviceLedInfoPtr XkbAddDeviceLedInfo( + XkbDeviceInfoPtr /* devi */, + unsigned int /* ledClass */, + unsigned int /* ledId */ +); + +extern XkbDeviceInfoPtr XkbAllocDeviceInfo( + unsigned int /* deviceSpec */, + unsigned int /* nButtons */, + unsigned int /* szLeds */ +); + +extern void XkbFreeDeviceInfo( + XkbDeviceInfoPtr /* devi */, + unsigned int /* which */, + Bool /* freeDevI */ +); + +extern Status XkbResizeDeviceButtonActions( + XkbDeviceInfoPtr /* devi */, + unsigned int /* newTotal */ +); + +extern XkbInterestPtr XkbFindClientResource( + DevicePtr /* inDev */, + ClientPtr /* client */ +); + +extern XkbInterestPtr XkbAddClientResource( + DevicePtr /* inDev */, + ClientPtr /* client */, + XID /* id */ +); + +extern int XkbRemoveClient( + DevicePtr /* inDev */, + ClientPtr /* client */ +); + +extern int XkbRemoveResourceClient( + DevicePtr /* inDev */, + XID /* id */ +); + +extern int XkbDDXInitDevice( + DeviceIntPtr /* dev */ +); + +extern int XkbDDXAccessXBeep( + DeviceIntPtr /* dev */, + unsigned int /* what */, + unsigned int /* which */ +); + +extern void XkbDDXKeyClick( + DeviceIntPtr /* dev */, + int /* keycode */, + int /* synthetic */ +); + +extern int XkbDDXUsesSoftRepeat( + DeviceIntPtr /* dev */ +); + +extern void XkbDDXKeybdCtrlProc( + DeviceIntPtr /* dev */, + KeybdCtrl * /* ctrl */ +); + +extern void XkbDDXChangeControls( + DeviceIntPtr /* dev */, + XkbControlsPtr /* old */, + XkbControlsPtr /* new */ +); + +extern void XkbDDXUpdateIndicators( + DeviceIntPtr /* keybd */, + CARD32 /* newState */ +); + +extern void XkbDDXUpdateDeviceIndicators( + DeviceIntPtr /* dev */, + XkbSrvLedInfoPtr /* sli */, + CARD32 /* newState */ +); + +extern void XkbDDXFakePointerButton( + int /* event */, + int /* button */ +); + +extern void XkbDDXFakePointerMotion( + unsigned int /* flags */, + int /* x */, + int /* y */ +); + +extern void XkbDDXFakeDeviceButton( + DeviceIntPtr /* dev */, + Bool /* press */, + int /* button */ +); + +extern int XkbDDXTerminateServer( + DeviceIntPtr /* dev */, + KeyCode /* key */, + XkbAction * /* act */ +); + +extern int XkbDDXSwitchScreen( + DeviceIntPtr /* dev */, + KeyCode /* key */, + XkbAction * /* act */ +); + +extern int XkbDDXPrivate( + DeviceIntPtr /* dev */, + KeyCode /* key */, + XkbAction * /* act */ +); + +extern void XkbDisableComputedAutoRepeats( + DeviceIntPtr /* pXDev */, + unsigned int /* key */ +); + +extern void XkbSetRepeatKeys( + DeviceIntPtr /* pXDev */, + int /* key */, + int /* onoff */ +); + +extern int XkbLatchModifiers( + DeviceIntPtr /* pXDev */, + CARD8 /* mask */, + CARD8 /* latches */ +); + +extern int XkbLatchGroup( + DeviceIntPtr /* pXDev */, + int /* group */ +); + +extern void XkbClearAllLatchesAndLocks( + DeviceIntPtr /* dev */, + XkbSrvInfoPtr /* xkbi */, + Bool /* genEv */, + XkbEventCausePtr /* cause */ +); + +extern void XkbSetRulesDflts( + char * /* rulesFile */, + char * /* model */, + char * /* layout */, + char * /* variant */, + char * /* options */ +); + +extern void XkbInitDevice( + DeviceIntPtr /* pXDev */ +); + +extern Bool XkbInitKeyboardDeviceStruct( + DeviceIntPtr /* pXDev */, + XkbComponentNamesPtr /* pNames */, + KeySymsPtr /* pSyms */, + CARD8 /* pMods */[], + BellProcPtr /* bellProc */, + KbdCtrlProcPtr /* ctrlProc */ +); + +extern int SProcXkbDispatch( + ClientPtr /* client */ +); + +extern XkbGeometryPtr XkbLookupNamedGeometry( + DeviceIntPtr /* dev */, + Atom /* name */, + Bool * /* shouldFree */ +); + +extern char * _XkbDupString( + char * /* str */ +); + +extern void XkbConvertCase( + KeySym /* sym */, + KeySym * /* lower */, + KeySym * /* upper */ +); + +extern Status XkbChangeKeycodeRange( + XkbDescPtr /* xkb */, + int /* minKC */, + int /* maxKC */, + XkbChangesPtr /* changes */ +); + +extern int XkbFinishDeviceInit( + DeviceIntPtr /* pXDev */ +); + +extern void XkbFreeSrvLedInfo( + XkbSrvLedInfoPtr /* sli */ +); + +extern void XkbFreeInfo( + XkbSrvInfoPtr /* xkbi */ +); + +extern Status XkbChangeTypesOfKey( + XkbDescPtr /* xkb */, + int /* key */, + int /* nGroups */, + unsigned int /* groups */, + int * /* newTypesIn */, + XkbMapChangesPtr /* changes */ +); + +extern XkbKeyTypePtr XkbAddKeyType( + XkbDescPtr /* xkb */, + Atom /* name */, + int /* map_count */, + Bool /* want_preserve */, + int /* num_lvls */ +); + +extern Status XkbInitCanonicalKeyTypes( + XkbDescPtr /* xkb */, + unsigned int /* which */, + int /* keypadVMod */ +); + +extern int XkbKeyTypesForCoreSymbols( + XkbDescPtr /* xkb */, + int /* map_width */, + KeySym * /* core_syms */, + unsigned int /* protected */, + int * /* types_inout */, + KeySym * /* xkb_syms_rtrn */ +); + +extern Bool XkbApplyCompatMapToKey( + XkbDescPtr /* xkb */, + KeyCode /* key */, + XkbChangesPtr /* changes */ +); + +extern Bool XkbUpdateMapFromCore( + XkbDescPtr /* xkb */, + KeyCode /* first_key */, + int /* num_keys */, + int /* map_width */, + KeySym * /* core_keysyms */, + XkbChangesPtr /* changes */ +); + +extern void XkbFreeControls( + XkbDescPtr /* xkb */, + unsigned int /* which */, + Bool /* freeMap */ +); + +extern void XkbFreeIndicatorMaps( + XkbDescPtr /* xkb */ +); + +extern Bool XkbApplyVirtualModChanges( + XkbDescPtr /* xkb */, + unsigned int /* changed */, + XkbChangesPtr /* changes */ +); + +extern Bool XkbUpdateActionVirtualMods( + XkbDescPtr /* xkb */, + XkbAction * /* act */, + unsigned int /* changed */ +); + +extern void XkbUpdateKeyTypeVirtualMods( + XkbDescPtr /* xkb */, + XkbKeyTypePtr /* type */, + unsigned int /* changed */, + XkbChangesPtr /* changes */ +); + +extern void XkbSendNewKeyboardNotify( + DeviceIntPtr /* kbd */, + xkbNewKeyboardNotify * /* pNKN */ +); + +#ifdef XKBSRV_NEED_FILE_FUNCS + +#include <X11/extensions/XKMformat.h> +#include <X11/extensions/XKBfile.h> +#include <X11/extensions/XKBrules.h> + +#define _XkbListKeymaps 0 +#define _XkbListKeycodes 1 +#define _XkbListTypes 2 +#define _XkbListCompat 3 +#define _XkbListSymbols 4 +#define _XkbListGeometry 5 +#define _XkbListNumComponents 6 + +typedef struct _XkbSrvListInfo { + int szPool; + int nPool; + char * pool; + + int maxRtrn; + int nTotal; + + char * pattern[_XkbListNumComponents]; + int nFound[_XkbListNumComponents]; +} XkbSrvListInfoRec,*XkbSrvListInfoPtr; + +char * +XkbGetRulesDflts( + XkbRF_VarDefsPtr /* defs */ +); + +extern void XkbSetRulesUsed( + XkbRF_VarDefsPtr /* defs */ +); + + +extern Status XkbDDXList( + DeviceIntPtr /* dev */, + XkbSrvListInfoPtr /* listing */, + ClientPtr /* client */ +); + +extern unsigned int XkbDDXLoadKeymapByNames( + DeviceIntPtr /* keybd */, + XkbComponentNamesPtr /* names */, + unsigned int /* want */, + unsigned int /* need */, + XkbFileInfoPtr /* finfoRtrn */, + char * /* keymapNameRtrn */, + int /* keymapNameRtrnLen */ +); + +extern Bool XkbDDXNamesFromRules( + DeviceIntPtr /* keybd */, + char * /* rules */, + XkbRF_VarDefsPtr /* defs */, + XkbComponentNamesPtr /* names */ +); + +extern FILE *XkbDDXOpenConfigFile( + char * /* mapName */, + char * /* fileNameRtrn */, + int /* fileNameRtrnLen */ +); + +extern Bool XkbDDXApplyConfig( + XPointer /* cfg_in */, + XkbSrvInfoPtr /* xkbi */ +); + +extern XPointer XkbDDXPreloadConfig( + char ** /* rulesFileRtrn */, + XkbRF_VarDefsPtr /* defs */, + XkbComponentNamesPtr /* names */, + DeviceIntPtr /* dev */ +); + +extern int _XkbStrCaseCmp( + char * /* str1 */, + char * /* str2 */ +); + +#endif /* XKBSRV_NEED_FILE_FUNCS */ + + +_XFUNCPROTOEND + +#define XkbAtomGetString(d,s) NameForAtom(s) + +#endif /* _XKBSRV_H_ */ + + diff --git a/ThirdParty/X11/Include/X11/extensions/XKBstr.h b/ThirdParty/X11/Include/X11/extensions/XKBstr.h new file mode 100644 index 0000000..e519e65 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XKBstr.h @@ -0,0 +1,613 @@ +/************************************************************ +Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc. + +Permission to use, copy, modify, and distribute this +software and its documentation for any purpose and without +fee is hereby granted, provided that the above copyright +notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting +documentation, and that the name of Silicon Graphics not be +used in advertising or publicity pertaining to distribution +of the software without specific prior written permission. +Silicon Graphics makes no representation about the suitability +of this software for any purpose. It is provided "as is" +without any express or implied warranty. + +SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON +GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH +THE USE OR PERFORMANCE OF THIS SOFTWARE. + +********************************************************/ + +#ifndef _XKBSTR_H_ +#define _XKBSTR_H_ + +#include <X11/extensions/XKB.h> + +#define XkbCharToInt(v) ((v)&0x80?(int)((v)|(~0xff)):(int)((v)&0x7f)) +#define XkbIntTo2Chars(i,h,l) (((h)=((i>>8)&0xff)),((l)=((i)&0xff))) + +#if defined(WORD64) && defined(UNSIGNEDBITFIELDS) +#define Xkb2CharsToInt(h,l) ((h)&0x80?(int)(((h)<<8)|(l)|(~0xffff)):\ + (int)(((h)<<8)|(l)&0x7fff)) +#else +#define Xkb2CharsToInt(h,l) ((short)(((h)<<8)|(l))) +#endif + + /* + * Common data structures and access macros + */ + +typedef struct _XkbStateRec { + unsigned char group; + unsigned char locked_group; + unsigned short base_group; + unsigned short latched_group; + unsigned char mods; + unsigned char base_mods; + unsigned char latched_mods; + unsigned char locked_mods; + unsigned char compat_state; + unsigned char grab_mods; + unsigned char compat_grab_mods; + unsigned char lookup_mods; + unsigned char compat_lookup_mods; + unsigned short ptr_buttons; +} XkbStateRec,*XkbStatePtr; +#define XkbModLocks(s) ((s)->locked_mods) +#define XkbStateMods(s) ((s)->base_mods|(s)->latched_mods|XkbModLocks(s)) +#define XkbGroupLock(s) ((s)->locked_group) +#define XkbStateGroup(s) ((s)->base_group+(s)->latched_group+XkbGroupLock(s)) +#define XkbStateFieldFromRec(s) XkbBuildCoreState((s)->lookup_mods,(s)->group) +#define XkbGrabStateFromRec(s) XkbBuildCoreState((s)->grab_mods,(s)->group) + +typedef struct _XkbMods { + unsigned char mask; /* effective mods */ + unsigned char real_mods; + unsigned short vmods; +} XkbModsRec,*XkbModsPtr; + +typedef struct _XkbKTMapEntry { + Bool active; + unsigned char level; + XkbModsRec mods; +} XkbKTMapEntryRec,*XkbKTMapEntryPtr; + +typedef struct _XkbKeyType { + XkbModsRec mods; + unsigned char num_levels; + unsigned char map_count; + XkbKTMapEntryPtr map; + XkbModsPtr preserve; + Atom name; + Atom * level_names; +} XkbKeyTypeRec, *XkbKeyTypePtr; + +#define XkbNumGroups(g) ((g)&0x0f) +#define XkbOutOfRangeGroupInfo(g) ((g)&0xf0) +#define XkbOutOfRangeGroupAction(g) ((g)&0xc0) +#define XkbOutOfRangeGroupNumber(g) (((g)&0x30)>>4) +#define XkbSetGroupInfo(g,w,n) (((w)&0xc0)|(((n)&3)<<4)|((g)&0x0f)) +#define XkbSetNumGroups(g,n) (((g)&0xf0)|((n)&0x0f)) + + /* + * Structures and access macros used primarily by the server + */ + +typedef struct _XkbBehavior { + unsigned char type; + unsigned char data; +} XkbBehavior; + +#define XkbAnyActionDataSize 7 +typedef struct _XkbAnyAction { + unsigned char type; + unsigned char data[XkbAnyActionDataSize]; +} XkbAnyAction; + +typedef struct _XkbModAction { + unsigned char type; + unsigned char flags; + unsigned char mask; + unsigned char real_mods; + unsigned char vmods1; + unsigned char vmods2; +} XkbModAction; +#define XkbModActionVMods(a) \ + ((short)(((a)->vmods1<<8)|((a)->vmods2))) +#define XkbSetModActionVMods(a,v) \ + (((a)->vmods1=(((v)>>8)&0xff)),(a)->vmods2=((v)&0xff)) + +typedef struct _XkbGroupAction { + unsigned char type; + unsigned char flags; + char group_XXX; +} XkbGroupAction; +#define XkbSAGroup(a) (XkbCharToInt((a)->group_XXX)) +#define XkbSASetGroup(a,g) ((a)->group_XXX=(g)) + +typedef struct _XkbISOAction { + unsigned char type; + unsigned char flags; + unsigned char mask; + unsigned char real_mods; + char group_XXX; + unsigned char affect; + unsigned char vmods1; + unsigned char vmods2; +} XkbISOAction; + +typedef struct _XkbPtrAction { + unsigned char type; + unsigned char flags; + unsigned char high_XXX; + unsigned char low_XXX; + unsigned char high_YYY; + unsigned char low_YYY; +} XkbPtrAction; +#define XkbPtrActionX(a) (Xkb2CharsToInt((a)->high_XXX,(a)->low_XXX)) +#define XkbPtrActionY(a) (Xkb2CharsToInt((a)->high_YYY,(a)->low_YYY)) +#define XkbSetPtrActionX(a,x) (XkbIntTo2Chars(x,(a)->high_XXX,(a)->low_XXX)) +#define XkbSetPtrActionY(a,y) (XkbIntTo2Chars(y,(a)->high_YYY,(a)->low_YYY)) + +typedef struct _XkbPtrBtnAction { + unsigned char type; + unsigned char flags; + unsigned char count; + unsigned char button; +} XkbPtrBtnAction; + +typedef struct _XkbPtrDfltAction { + unsigned char type; + unsigned char flags; + unsigned char affect; + char valueXXX; +} XkbPtrDfltAction; +#define XkbSAPtrDfltValue(a) (XkbCharToInt((a)->valueXXX)) +#define XkbSASetPtrDfltValue(a,c) ((a)->valueXXX= ((c)&0xff)) + +typedef struct _XkbSwitchScreenAction { + unsigned char type; + unsigned char flags; + char screenXXX; +} XkbSwitchScreenAction; +#define XkbSAScreen(a) (XkbCharToInt((a)->screenXXX)) +#define XkbSASetScreen(a,s) ((a)->screenXXX= ((s)&0xff)) + +typedef struct _XkbCtrlsAction { + unsigned char type; + unsigned char flags; + unsigned char ctrls3; + unsigned char ctrls2; + unsigned char ctrls1; + unsigned char ctrls0; +} XkbCtrlsAction; +#define XkbActionSetCtrls(a,c) (((a)->ctrls3=(((c)>>24)&0xff)),\ + ((a)->ctrls2=(((c)>>16)&0xff)),\ + ((a)->ctrls1=(((c)>>8)&0xff)),\ + ((a)->ctrls0=((c)&0xff))) +#define XkbActionCtrls(a) ((((unsigned int)(a)->ctrls3)<<24)|\ + (((unsigned int)(a)->ctrls2)<<16)|\ + (((unsigned int)(a)->ctrls1)<<8)|\ + ((unsigned int)((a)->ctrls0))) + +typedef struct _XkbMessageAction { + unsigned char type; + unsigned char flags; + unsigned char message[6]; +} XkbMessageAction; + +typedef struct _XkbRedirectKeyAction { + unsigned char type; + unsigned char new_key; + unsigned char mods_mask; + unsigned char mods; + unsigned char vmods_mask0; + unsigned char vmods_mask1; + unsigned char vmods0; + unsigned char vmods1; +} XkbRedirectKeyAction; + +#define XkbSARedirectVMods(a) ((((unsigned int)(a)->vmods1)<<8)|\ + ((unsigned int)(a)->vmods0)) +#define XkbSARedirectSetVMods(a,m) (((a)->vmods_mask1=(((m)>>8)&0xff)),\ + ((a)->vmods_mask0=((m)&0xff))) +#define XkbSARedirectVModsMask(a) ((((unsigned int)(a)->vmods_mask1)<<8)|\ + ((unsigned int)(a)->vmods_mask0)) +#define XkbSARedirectSetVModsMask(a,m) (((a)->vmods_mask1=(((m)>>8)&0xff)),\ + ((a)->vmods_mask0=((m)&0xff))) + +typedef struct _XkbDeviceBtnAction { + unsigned char type; + unsigned char flags; + unsigned char count; + unsigned char button; + unsigned char device; +} XkbDeviceBtnAction; + +typedef struct _XkbDeviceValuatorAction { + unsigned char type; + unsigned char device; + unsigned char v1_what; + unsigned char v1_ndx; + unsigned char v1_value; + unsigned char v2_what; + unsigned char v2_ndx; + unsigned char v2_value; +} XkbDeviceValuatorAction; + +typedef union _XkbAction { + XkbAnyAction any; + XkbModAction mods; + XkbGroupAction group; + XkbISOAction iso; + XkbPtrAction ptr; + XkbPtrBtnAction btn; + XkbPtrDfltAction dflt; + XkbSwitchScreenAction screen; + XkbCtrlsAction ctrls; + XkbMessageAction msg; + XkbRedirectKeyAction redirect; + XkbDeviceBtnAction devbtn; + XkbDeviceValuatorAction devval; + unsigned char type; +} XkbAction; + +typedef struct _XkbControls { + unsigned char mk_dflt_btn; + unsigned char num_groups; + unsigned char groups_wrap; + XkbModsRec internal; + XkbModsRec ignore_lock; + unsigned int enabled_ctrls; + unsigned short repeat_delay; + unsigned short repeat_interval; + unsigned short slow_keys_delay; + unsigned short debounce_delay; + unsigned short mk_delay; + unsigned short mk_interval; + unsigned short mk_time_to_max; + unsigned short mk_max_speed; + short mk_curve; + unsigned short ax_options; + unsigned short ax_timeout; + unsigned short axt_opts_mask; + unsigned short axt_opts_values; + unsigned int axt_ctrls_mask; + unsigned int axt_ctrls_values; + unsigned char per_key_repeat[XkbPerKeyBitArraySize]; +} XkbControlsRec, *XkbControlsPtr; + +#define XkbAX_AnyFeedback(c) ((c)->enabled_ctrls&XkbAccessXFeedbackMask) +#define XkbAX_NeedOption(c,w) ((c)->ax_options&(w)) +#define XkbAX_NeedFeedback(c,w) (XkbAX_AnyFeedback(c)&&XkbAX_NeedOption(c,w)) + +typedef struct _XkbServerMapRec { + unsigned short num_acts; + unsigned short size_acts; + XkbAction *acts; + + XkbBehavior *behaviors; + unsigned short *key_acts; +#if defined(__cplusplus) || defined(c_plusplus) + /* explicit is a C++ reserved word */ + unsigned char *c_explicit; +#else + unsigned char *explicit; +#endif + unsigned char vmods[XkbNumVirtualMods]; + unsigned short *vmodmap; +} XkbServerMapRec, *XkbServerMapPtr; + +#define XkbSMKeyActionsPtr(m,k) (&(m)->acts[(m)->key_acts[k]]) + + /* + * Structures and access macros used primarily by clients + */ + +typedef struct _XkbSymMapRec { + unsigned char kt_index[XkbNumKbdGroups]; + unsigned char group_info; + unsigned char width; + unsigned short offset; +} XkbSymMapRec, *XkbSymMapPtr; + +typedef struct _XkbClientMapRec { + unsigned char size_types; + unsigned char num_types; + XkbKeyTypePtr types; + + unsigned short size_syms; + unsigned short num_syms; + KeySym *syms; + XkbSymMapPtr key_sym_map; + + unsigned char *modmap; +} XkbClientMapRec, *XkbClientMapPtr; + +#define XkbCMKeyGroupInfo(m,k) ((m)->key_sym_map[k].group_info) +#define XkbCMKeyNumGroups(m,k) (XkbNumGroups((m)->key_sym_map[k].group_info)) +#define XkbCMKeyGroupWidth(m,k,g) (XkbCMKeyType(m,k,g)->num_levels) +#define XkbCMKeyGroupsWidth(m,k) ((m)->key_sym_map[k].width) +#define XkbCMKeyTypeIndex(m,k,g) ((m)->key_sym_map[k].kt_index[g&0x3]) +#define XkbCMKeyType(m,k,g) (&(m)->types[XkbCMKeyTypeIndex(m,k,g)]) +#define XkbCMKeyNumSyms(m,k) (XkbCMKeyGroupsWidth(m,k)*XkbCMKeyNumGroups(m,k)) +#define XkbCMKeySymsOffset(m,k) ((m)->key_sym_map[k].offset) +#define XkbCMKeySymsPtr(m,k) (&(m)->syms[XkbCMKeySymsOffset(m,k)]) + + /* + * Compatibility structures and access macros + */ + +typedef struct _XkbSymInterpretRec { + KeySym sym; + unsigned char flags; + unsigned char match; + unsigned char mods; + unsigned char virtual_mod; + XkbAnyAction act; +} XkbSymInterpretRec,*XkbSymInterpretPtr; + +typedef struct _XkbCompatMapRec { + XkbSymInterpretPtr sym_interpret; + XkbModsRec groups[XkbNumKbdGroups]; + unsigned short num_si; + unsigned short size_si; +} XkbCompatMapRec, *XkbCompatMapPtr; + +typedef struct _XkbIndicatorMapRec { + unsigned char flags; + unsigned char which_groups; + unsigned char groups; + unsigned char which_mods; + XkbModsRec mods; + unsigned int ctrls; +} XkbIndicatorMapRec, *XkbIndicatorMapPtr; + +#define XkbIM_IsAuto(i) ((((i)->flags&XkbIM_NoAutomatic)==0)&&\ + (((i)->which_groups&&(i)->groups)||\ + ((i)->which_mods&&(i)->mods.mask)||\ + ((i)->ctrls))) +#define XkbIM_InUse(i) (((i)->flags)||((i)->which_groups)||\ + ((i)->which_mods)||((i)->ctrls)) + + +typedef struct _XkbIndicatorRec { + unsigned long phys_indicators; + XkbIndicatorMapRec maps[XkbNumIndicators]; +} XkbIndicatorRec,*XkbIndicatorPtr; + +typedef struct _XkbKeyNameRec { + char name[XkbKeyNameLength]; +} XkbKeyNameRec,*XkbKeyNamePtr; + +typedef struct _XkbKeyAliasRec { + char real[XkbKeyNameLength]; + char alias[XkbKeyNameLength]; +} XkbKeyAliasRec,*XkbKeyAliasPtr; + + /* + * Names for everything + */ +typedef struct _XkbNamesRec { + Atom keycodes; + Atom geometry; + Atom symbols; + Atom types; + Atom compat; + Atom vmods[XkbNumVirtualMods]; + Atom indicators[XkbNumIndicators]; + Atom groups[XkbNumKbdGroups]; + XkbKeyNamePtr keys; + XkbKeyAliasPtr key_aliases; + Atom *radio_groups; + Atom phys_symbols; + + unsigned char num_keys; + unsigned char num_key_aliases; + unsigned short num_rg; +} XkbNamesRec,*XkbNamesPtr; + +typedef struct _XkbGeometry *XkbGeometryPtr; + /* + * Tie it all together into one big keyboard description + */ +typedef struct _XkbDesc { + struct _XDisplay * dpy; + unsigned short flags; + unsigned short device_spec; + KeyCode min_key_code; + KeyCode max_key_code; + + XkbControlsPtr ctrls; + XkbServerMapPtr server; + XkbClientMapPtr map; + XkbIndicatorPtr indicators; + XkbNamesPtr names; + XkbCompatMapPtr compat; + XkbGeometryPtr geom; +} XkbDescRec, *XkbDescPtr; +#define XkbKeyKeyTypeIndex(d,k,g) (XkbCMKeyTypeIndex((d)->map,k,g)) +#define XkbKeyKeyType(d,k,g) (XkbCMKeyType((d)->map,k,g)) +#define XkbKeyGroupWidth(d,k,g) (XkbCMKeyGroupWidth((d)->map,k,g)) +#define XkbKeyGroupsWidth(d,k) (XkbCMKeyGroupsWidth((d)->map,k)) +#define XkbKeyGroupInfo(d,k) (XkbCMKeyGroupInfo((d)->map,(k))) +#define XkbKeyNumGroups(d,k) (XkbCMKeyNumGroups((d)->map,(k))) +#define XkbKeyNumSyms(d,k) (XkbCMKeyNumSyms((d)->map,(k))) +#define XkbKeySymsPtr(d,k) (XkbCMKeySymsPtr((d)->map,(k))) +#define XkbKeySym(d,k,n) (XkbKeySymsPtr(d,k)[n]) +#define XkbKeySymEntry(d,k,sl,g) \ + (XkbKeySym(d,k,((XkbKeyGroupsWidth(d,k)*(g))+(sl)))) +#define XkbKeyAction(d,k,n) \ + (XkbKeyHasActions(d,k)?&XkbKeyActionsPtr(d,k)[n]:NULL) +#define XkbKeyActionEntry(d,k,sl,g) \ + (XkbKeyHasActions(d,k)?\ + XkbKeyAction(d,k,((XkbKeyGroupsWidth(d,k)*(g))+(sl))):NULL) + +#define XkbKeyHasActions(d,k) ((d)->server->key_acts[k]!=0) +#define XkbKeyNumActions(d,k) (XkbKeyHasActions(d,k)?XkbKeyNumSyms(d,k):1) +#define XkbKeyActionsPtr(d,k) (XkbSMKeyActionsPtr((d)->server,k)) +#define XkbKeycodeInRange(d,k) (((k)>=(d)->min_key_code)&&\ + ((k)<=(d)->max_key_code)) +#define XkbNumKeys(d) ((d)->max_key_code-(d)->min_key_code+1) + + + /* + * The following structures can be used to track changes + * to a keyboard device + */ +typedef struct _XkbMapChanges { + unsigned short changed; + KeyCode min_key_code; + KeyCode max_key_code; + unsigned char first_type; + unsigned char num_types; + KeyCode first_key_sym; + unsigned char num_key_syms; + KeyCode first_key_act; + unsigned char num_key_acts; + KeyCode first_key_behavior; + unsigned char num_key_behaviors; + KeyCode first_key_explicit; + unsigned char num_key_explicit; + KeyCode first_modmap_key; + unsigned char num_modmap_keys; + KeyCode first_vmodmap_key; + unsigned char num_vmodmap_keys; + unsigned char pad; + unsigned short vmods; +} XkbMapChangesRec,*XkbMapChangesPtr; + +typedef struct _XkbControlsChanges { + unsigned int changed_ctrls; + unsigned int enabled_ctrls_changes; + Bool num_groups_changed; +} XkbControlsChangesRec,*XkbControlsChangesPtr; + +typedef struct _XkbIndicatorChanges { + unsigned int state_changes; + unsigned int map_changes; +} XkbIndicatorChangesRec,*XkbIndicatorChangesPtr; + +typedef struct _XkbNameChanges { + unsigned int changed; + unsigned char first_type; + unsigned char num_types; + unsigned char first_lvl; + unsigned char num_lvls; + unsigned char num_aliases; + unsigned char num_rg; + unsigned char first_key; + unsigned char num_keys; + unsigned short changed_vmods; + unsigned long changed_indicators; + unsigned char changed_groups; +} XkbNameChangesRec,*XkbNameChangesPtr; + +typedef struct _XkbCompatChanges { + unsigned char changed_groups; + unsigned short first_si; + unsigned short num_si; +} XkbCompatChangesRec,*XkbCompatChangesPtr; + +typedef struct _XkbChanges { + unsigned short device_spec; + unsigned short state_changes; + XkbMapChangesRec map; + XkbControlsChangesRec ctrls; + XkbIndicatorChangesRec indicators; + XkbNameChangesRec names; + XkbCompatChangesRec compat; +} XkbChangesRec, *XkbChangesPtr; + + /* + * These data structures are used to construct a keymap from + * a set of components or to list components in the server + * database. + */ +typedef struct _XkbComponentNames { + char * keymap; + char * keycodes; + char * types; + char * compat; + char * symbols; + char * geometry; +} XkbComponentNamesRec, *XkbComponentNamesPtr; + +typedef struct _XkbComponentName { + unsigned short flags; + char * name; +} XkbComponentNameRec,*XkbComponentNamePtr; + +typedef struct _XkbComponentList { + int num_keymaps; + int num_keycodes; + int num_types; + int num_compat; + int num_symbols; + int num_geometry; + XkbComponentNamePtr keymaps; + XkbComponentNamePtr keycodes; + XkbComponentNamePtr types; + XkbComponentNamePtr compat; + XkbComponentNamePtr symbols; + XkbComponentNamePtr geometry; +} XkbComponentListRec, *XkbComponentListPtr; + + /* + * The following data structures describe and track changes to a + * non-keyboard extension device + */ +typedef struct _XkbDeviceLedInfo { + unsigned short led_class; + unsigned short led_id; + unsigned int phys_indicators; + unsigned int maps_present; + unsigned int names_present; + unsigned int state; + Atom names[XkbNumIndicators]; + XkbIndicatorMapRec maps[XkbNumIndicators]; +} XkbDeviceLedInfoRec,*XkbDeviceLedInfoPtr; + +typedef struct _XkbDeviceInfo { + char * name; + Atom type; + unsigned short device_spec; + Bool has_own_state; + unsigned short supported; + unsigned short unsupported; + + unsigned short num_btns; + XkbAction * btn_acts; + + unsigned short sz_leds; + unsigned short num_leds; + unsigned short dflt_kbd_fb; + unsigned short dflt_led_fb; + XkbDeviceLedInfoPtr leds; +} XkbDeviceInfoRec,*XkbDeviceInfoPtr; + +#define XkbXI_DevHasBtnActs(d) (((d)->num_btns>0)&&((d)->btn_acts!=NULL)) +#define XkbXI_LegalDevBtn(d,b) (XkbXI_DevHasBtnActs(d)&&((b)<(d)->num_btns)) +#define XkbXI_DevHasLeds(d) (((d)->num_leds>0)&&((d)->leds!=NULL)) + +typedef struct _XkbDeviceLedChanges { + unsigned short led_class; + unsigned short led_id; + unsigned int defined; /* names or maps changed */ + struct _XkbDeviceLedChanges *next; +} XkbDeviceLedChangesRec,*XkbDeviceLedChangesPtr; + +typedef struct _XkbDeviceChanges { + unsigned int changed; + unsigned short first_btn; + unsigned short num_btns; + XkbDeviceLedChangesRec leds; +} XkbDeviceChangesRec,*XkbDeviceChangesPtr; + +#endif /* _XKBSTR_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/XKM.h b/ThirdParty/X11/Include/X11/extensions/XKM.h new file mode 100644 index 0000000..da272e0 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XKM.h @@ -0,0 +1,69 @@ +/************************************************************ + Copyright (c) 1994 by Silicon Graphics Computer Systems, Inc. + + Permission to use, copy, modify, and distribute this + software and its documentation for any purpose and without + fee is hereby granted, provided that the above copyright + notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting + documentation, and that the name of Silicon Graphics not be + used in advertising or publicity pertaining to distribution + of the software without specific prior written permission. + Silicon Graphics makes no representation about the suitability + of this software for any purpose. It is provided "as is" + without any express or implied warranty. + + SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS + SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON + GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL + DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE + OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH + THE USE OR PERFORMANCE OF THIS SOFTWARE. + + ********************************************************/ +#ifndef XKM_H +#define XKM_H 1 + +#define XkmFileVersion 15 + +#define XkmIllegalFile -1 +#define XkmSemanticsFile 20 +#define XkmLayoutFile 21 +#define XkmKeymapFile 22 +#define XkmGeometryFile 23 + +#define XkmTypesIndex 0 +#define XkmCompatMapIndex 1 +#define XkmSymbolsIndex 2 +#define XkmIndicatorsIndex 3 +#define XkmKeyNamesIndex 4 +#define XkmGeometryIndex 5 +#define XkmVirtualModsIndex 6 +#define XkmLastIndex XkmVirtualModsIndex + +#define XkmTypesMask (1<<0) +#define XkmCompatMapMask (1<<1) +#define XkmSymbolsMask (1<<2) +#define XkmIndicatorsMask (1<<3) +#define XkmKeyNamesMask (1<<4) +#define XkmGeometryMask (1<<5) +#define XkmVirtualModsMask (1<<6) +#define XkmLegalIndexMask (0x7f) +#define XkmAllIndicesMask (0x7f) + +#define XkmSemanticsRequired (XkmCompatMapMask) +#define XkmSemanticsOptional (XkmTypesMask|XkmVirtualModsMask|XkmIndicatorsMask) +#define XkmSemanticsLegal (XkmSemanticsRequired|XkmSemanticsOptional) +#define XkmLayoutRequired (XkmKeyNamesMask|XkmSymbolsMask|XkmTypesMask) +#define XkmLayoutOptional (XkmVirtualModsMask|XkmGeometryMask) +#define XkmLayoutLegal (XkmLayoutRequired|XkmLayoutOptional) +#define XkmKeymapRequired (XkmSemanticsRequired|XkmLayoutRequired) +#define XkmKeymapOptional ((XkmSemanticsOptional|XkmLayoutOptional)&(~XkmKeymapRequired)) +#define XkmKeymapLegal (XkmKeymapRequired|XkmKeymapOptional) + +#define XkmLegalSection(m) (((m)&(~XkmKeymapLegal))==0) +#define XkmSingleSection(m) (XkmLegalSection(m)&&(((m)&(~(m)+1))==(m))) + +#endif /* XKM_H */ diff --git a/ThirdParty/X11/Include/X11/extensions/XKMformat.h b/ThirdParty/X11/Include/X11/extensions/XKMformat.h new file mode 100644 index 0000000..8dae18f --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XKMformat.h @@ -0,0 +1,299 @@ +/************************************************************ + Copyright (c) 1994 by Silicon Graphics Computer Systems, Inc. + + Permission to use, copy, modify, and distribute this + software and its documentation for any purpose and without + fee is hereby granted, provided that the above copyright + notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting + documentation, and that the name of Silicon Graphics not be + used in advertising or publicity pertaining to distribution + of the software without specific prior written permission. + Silicon Graphics makes no representation about the suitability + of this software for any purpose. It is provided "as is" + without any express or implied warranty. + + SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS + SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON + GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL + DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE + OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH + THE USE OR PERFORMANCE OF THIS SOFTWARE. + + ********************************************************/ + +#ifndef _XKMFORMAT_H_ +#define _XKMFORMAT_H_ 1 + +#include <X11/extensions/XKB.h> +#include <X11/extensions/XKBproto.h> +#include <X11/extensions/XKM.h> + +typedef struct _xkmFileInfo { + CARD8 type; + CARD8 min_kc; + CARD8 max_kc; + CARD8 num_toc; + CARD16 present B16; + CARD16 pad B16; +} xkmFileInfo; +#define sz_xkmFileInfo 8 + +typedef struct _xkmSectionInfo { + CARD16 type B16; + CARD16 format B16; + CARD16 size B16; + CARD16 offset B16; +} xkmSectionInfo; +#define sz_xkmSectionInfo 8 + +typedef struct _xkmKeyTypeDesc { + CARD8 realMods; + CARD8 numLevels; + CARD16 virtualMods B16; + CARD8 nMapEntries; + CARD8 nLevelNames; + CARD8 preserve; + CARD8 pad; +} xkmKeyTypeDesc; +#define sz_xkmKeyTypeDesc 8 + +typedef struct _xkmKTMapEntryDesc { + CARD8 level; + CARD8 realMods; + CARD16 virtualMods B16; +} xkmKTMapEntryDesc; +#define sz_xkmKTMapEntryDesc 4 + +typedef struct _xkmModsDesc { + CARD8 realMods; + CARD8 pad; + CARD16 virtualMods B16; +} xkmModsDesc; +#define sz_xkmModsDesc 4 + +typedef struct _xkmVModMapDesc { + CARD8 key; + CARD8 pad; + CARD16 vmods B16; +} xkmVModMapDesc; +#define sz_xkmVModMapDesc 4 + +typedef struct _xkmSymInterpretDesc { + CARD32 sym B32; + CARD8 mods; + CARD8 match; + CARD8 virtualMod; + CARD8 flags; + CARD8 actionType; + CARD8 actionData[7]; +} xkmSymInterpretDesc; +#define sz_xkmSymInterpretDesc 16 + +typedef struct _xkmBehaviorDesc { + CARD8 type; + CARD8 data; + CARD16 pad B16; +} xkmBehaviorDesc; +#define sz_xkmBehaviorDesc 4 + +typedef struct _xkmActionDesc { + CARD8 type; + CARD8 data[7]; +} xkmActionDesc; +#define sz_xkmActionDesc 8 + +#define XkmKeyHasTypes (0x0f) +#define XkmKeyHasGroup1Type (1<<0) +#define XkmKeyHasGroup2Type (1<<1) +#define XkmKeyHasGroup3Type (1<<2) +#define XkmKeyHasGroup4Type (1<<3) +#define XkmKeyHasActions (1<<4) +#define XkmKeyHasBehavior (1<<5) +#define XkmRepeatingKey (1<<6) +#define XkmNonRepeatingKey (1<<7) + +typedef struct _xkmKeySymMapDesc { + CARD8 width; + CARD8 num_groups; + CARD8 modifier_map; + CARD8 flags; +} xkmKeySymMapDesc; +#define sz_xkmKeySymMapDesc 4 + +typedef struct _xkmIndicatorMapDesc { + CARD8 indicator; + CARD8 flags; + CARD8 which_mods; + CARD8 real_mods; + CARD16 vmods B16; + CARD8 which_groups; + CARD8 groups; + CARD32 ctrls B32; +} xkmIndicatorMapDesc; +#define sz_xkmIndicatorMapDesc 12 + +typedef struct _xkmGeometryDesc { + CARD16 width_mm B16; + CARD16 height_mm B16; + CARD8 base_color_ndx; + CARD8 label_color_ndx; + CARD16 num_properties B16; + CARD16 num_colors B16; + CARD16 num_shapes B16; + CARD16 num_sections B16; + CARD16 num_doodads B16; + CARD16 num_key_aliases B16; + CARD16 pad1 B16; +} xkmGeometryDesc; +#define sz_xkmGeometryDesc 20 + +typedef struct _xkmPointDesc { + INT16 x B16; + INT16 y B16; +} xkmPointDesc; +#define sz_xkmPointDesc 4 + +typedef struct _xkmOutlineDesc { + CARD8 num_points; + CARD8 corner_radius; + CARD16 pad B16; +} xkmOutlineDesc; +#define sz_xkmOutlineDesc 4 + +typedef struct _xkmShapeDesc { + CARD8 num_outlines; + CARD8 primary_ndx; + CARD8 approx_ndx; + CARD8 pad; +} xkmShapeDesc; +#define sz_xkmShapeDesc 4 + +typedef struct _xkmSectionDesc { + INT16 top B16; + INT16 left B16; + CARD16 width B16; + CARD16 height B16; + INT16 angle B16; + CARD8 priority; + CARD8 num_rows; + CARD8 num_doodads; + CARD8 num_overlays; + CARD16 pad2 B16; +} xkmSectionDesc; +#define sz_xkmSectionDesc 16 + +typedef struct _xkmRowDesc { + INT16 top B16; + INT16 left B16; + CARD8 num_keys; + BOOL vertical; + CARD16 pad B16; +} xkmRowDesc; +#define sz_xkmRowDesc 8 + +typedef struct _xkmKeyDesc { + CARD8 name[XkbKeyNameLength]; + INT16 gap B16; + CARD8 shape_ndx; + CARD8 color_ndx; +} xkmKeyDesc; +#define sz_xkmKeyDesc 8 + +typedef struct _xkmOverlayDesc { + CARD8 num_rows; + CARD8 pad1; + CARD16 pad2 B16; +} xkmOverlayDesc; +#define sz_xkmOverlayDesc 4 + +typedef struct _xkmOverlayRowDesc { + CARD8 row_under; + CARD8 num_keys; + CARD16 pad B16; +} xkmOverlayRowDesc; +#define sz_xkmOverlayRowDesc 4 + +typedef struct _xkmOverlayKeyDesc { + char over[XkbKeyNameLength]; + char under[XkbKeyNameLength]; +} xkmOverlayKeyDesc; +#define sz_xkmOverlayKeyDesc 8 + +typedef struct _xkmShapeDoodadDesc { + CARD8 type; + CARD8 priority; + INT16 top B16; + INT16 left B16; + INT16 angle B16; + CARD8 color_ndx; + CARD8 shape_ndx; + CARD16 pad B16; + CARD32 pad1 B32; +} xkmShapeDoodadDesc; +#define sz_xkmShapeDoodadDesc 16 + +typedef struct _xkmTextDoodadDesc { + CARD8 type; + CARD8 priority; + INT16 top B16; + INT16 left B16; + INT16 angle B16; + CARD16 width B16; + CARD16 height B16; + CARD8 color_ndx; + CARD8 pad1; + CARD16 pad2 B16; +} xkmTextDoodadDesc; +#define sz_xkmTextDoodadDesc 16 + +typedef struct _xkmIndicatorDoodadDesc { + CARD8 type; + CARD8 priority; + INT16 top B16; + INT16 left B16; + CARD8 shape_ndx; + CARD8 on_color_ndx; + CARD8 off_color_ndx; + CARD8 pad1; + CARD16 pad2 B16; + CARD32 pad3 B32; +} xkmIndicatorDoodadDesc; +#define sz_xkmIndicatorDoodadDesc 16 + +typedef struct _xkmLogoDoodadDesc { + CARD8 type; + CARD8 priority; + INT16 top B16; + INT16 left B16; + INT16 angle B16; + CARD8 color_ndx; + CARD8 shape_ndx; + CARD16 pad B16; + CARD32 pad1 B32; +} xkmLogoDoodadDesc; +#define sz_xkmLogoDoodadDesc 16 + +typedef struct _xkmAnyDoodadDesc { + CARD8 type; + CARD8 priority; + INT16 top B16; + INT16 left B16; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xkmAnyDoodadDesc; +#define sz_xkmAnyDoodadDesc 16 + +typedef union _xkmDoodadDesc { + xkmAnyDoodadDesc any; + xkmShapeDoodadDesc shape; + xkmTextDoodadDesc text; + xkmIndicatorDoodadDesc indicator; + xkmLogoDoodadDesc logo; +} xkmDoodadDesc; +#define sz_xkmDoodadDesc 16 + +#endif /* _XKMFORMAT_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/XLbx.h b/ThirdParty/X11/Include/X11/extensions/XLbx.h new file mode 100644 index 0000000..1af4f9c --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XLbx.h @@ -0,0 +1,50 @@ +/* + * Copyright 1992 Network Computing Devices + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of NCD. not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. NCD. makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * NCD. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NCD. + * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + */ + +#ifndef _XLBX_H_ +#define _XLBX_H_ + +#include <X11/Xfuncproto.h> +#include <X11/Xdefs.h> +#include <X11/Xlib.h> +#include <X11/extensions/lbx.h> + +_XFUNCPROTOBEGIN + +Bool XLbxQueryExtension( + Display* /* dpy */, + int* /* requestp */, + int* /* event_basep */, + int* /* error_basep */ +); + +Bool XLbxQueryVersion( + Display* /* dpy */, + int* /* majorVersion */, + int* /* minorVersion */ +); + +int XLbxGetEventBase(Display *dpy); + +_XFUNCPROTOEND + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/XResproto.h b/ThirdParty/X11/Include/X11/extensions/XResproto.h new file mode 100644 index 0000000..d7e20b1 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XResproto.h @@ -0,0 +1,227 @@ +/* + Copyright (c) 2002 XFree86 Inc +*/ + +#ifndef _XRESPROTO_H +#define _XRESPROTO_H + +#define XRES_MAJOR_VERSION 1 +#define XRES_MINOR_VERSION 2 + +#define XRES_NAME "X-Resource" + +/* v1.0 */ +#define X_XResQueryVersion 0 +#define X_XResQueryClients 1 +#define X_XResQueryClientResources 2 +#define X_XResQueryClientPixmapBytes 3 + +/* Version 1.1 has been accidentally released from the version */ +/* control and while it doesn't have differences to version 1.0, the */ +/* next version is labeled 1.2 in order to remove the risk of confusion. */ + +/* v1.2 */ +#define X_XResQueryClientIds 4 +#define X_XResQueryResourceBytes 5 + +typedef struct { + CARD32 resource_base; + CARD32 resource_mask; +} xXResClient; +#define sz_xXResClient 8 + +typedef struct { + CARD32 resource_type; + CARD32 count; +} xXResType; +#define sz_xXResType 8 + +/* XResQueryVersion */ + +typedef struct _XResQueryVersion { + CARD8 reqType; + CARD8 XResReqType; + CARD16 length B16; + CARD8 client_major; + CARD8 client_minor; + CARD16 unused B16; +} xXResQueryVersionReq; +#define sz_xXResQueryVersionReq 8 + +typedef struct { + CARD8 type; + CARD8 pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 server_major B16; + CARD16 server_minor B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXResQueryVersionReply; +#define sz_xXResQueryVersionReply 32 + +/* XResQueryClients */ + +typedef struct _XResQueryClients { + CARD8 reqType; + CARD8 XResReqType; + CARD16 length B16; +} xXResQueryClientsReq; +#define sz_xXResQueryClientsReq 4 + +typedef struct { + CARD8 type; + CARD8 pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 num_clients B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXResQueryClientsReply; +#define sz_xXResQueryClientsReply 32 + +/* XResQueryClientResources */ + +typedef struct _XResQueryClientResources { + CARD8 reqType; + CARD8 XResReqType; + CARD16 length B16; + CARD32 xid B32; +} xXResQueryClientResourcesReq; +#define sz_xXResQueryClientResourcesReq 8 + +typedef struct { + CARD8 type; + CARD8 pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 num_types B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXResQueryClientResourcesReply; +#define sz_xXResQueryClientResourcesReply 32 + +/* XResQueryClientPixmapBytes */ + +typedef struct _XResQueryClientPixmapBytes { + CARD8 reqType; + CARD8 XResReqType; + CARD16 length B16; + CARD32 xid B32; +} xXResQueryClientPixmapBytesReq; +#define sz_xXResQueryClientPixmapBytesReq 8 + +typedef struct { + CARD8 type; + CARD8 pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 bytes B32; + CARD32 bytes_overflow B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXResQueryClientPixmapBytesReply; +#define sz_xXResQueryClientPixmapBytesReply 32 + +/* v1.2 XResQueryClientIds */ + +#define X_XResClientXIDMask 0x01 +#define X_XResLocalClientPIDMask 0x02 + +typedef struct _XResClientIdSpec { + CARD32 client B32; + CARD32 mask B32; +} xXResClientIdSpec; +#define sz_xXResClientIdSpec 8 + +typedef struct _XResClientIdValue { + xXResClientIdSpec spec; + CARD32 length B32; + // followed by length CARD32s +} xXResClientIdValue; +#define sz_xResClientIdValue (sz_xXResClientIdSpec + 4) + +typedef struct _XResQueryClientIds { + CARD8 reqType; + CARD8 XResReqType; + CARD16 length B16; + CARD32 numSpecs B32; + // followed by numSpecs times XResClientIdSpec +} xXResQueryClientIdsReq; +#define sz_xXResQueryClientIdsReq 8 + +typedef struct { + CARD8 type; + CARD8 pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 numIds B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + // followed by numIds times XResClientIdValue +} xXResQueryClientIdsReply; +#define sz_xXResQueryClientIdsReply 32 + +/* v1.2 XResQueryResourceBytes */ + +typedef struct _XResResourceIdSpec { + CARD32 resource; + CARD32 type; +} xXResResourceIdSpec; +#define sz_xXResResourceIdSpec 8 + +typedef struct _XResQueryResourceBytes { + CARD8 reqType; + CARD8 XResReqType; + CARD16 length B16; + CARD32 client B32; + CARD32 numSpecs B32; + // followed by numSpecs times XResResourceIdSpec +} xXResQueryResourceBytesReq; +#define sz_xXResQueryResourceBytesReq 12 + +typedef struct _XResResourceSizeSpec { + xXResResourceIdSpec spec; + CARD32 bytes B32; + CARD32 refCount B32; + CARD32 useCount B32; +} xXResResourceSizeSpec; +#define sz_xXResResourceSizeSpec (sz_xXResResourceIdSpec + 12) + +typedef struct _XResResourceSizeValue { + xXResResourceSizeSpec size; + CARD32 numCrossReferences B32; + // followed by numCrossReferences times XResResourceSizeSpec +} xXResResourceSizeValue; +#define sz_xXResResourceSizeValue (sz_xXResResourceSizeSpec + 4) + +typedef struct { + CARD8 type; + CARD8 pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 numSizes B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + // followed by numSizes times XResResourceSizeValue +} xXResQueryResourceBytesReply; +#define sz_xXResQueryResourceBytesReply 32 + +#endif /* _XRESPROTO_H */ diff --git a/ThirdParty/X11/Include/X11/extensions/XShm.h b/ThirdParty/X11/Include/X11/extensions/XShm.h new file mode 100644 index 0000000..23f0651 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XShm.h @@ -0,0 +1,135 @@ +/************************************************************ + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +********************************************************/ + +/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */ + +#ifndef _XSHM_H_ +#define _XSHM_H_ + +#include <X11/Xfuncproto.h> +#include <X11/extensions/shm.h> + +#ifndef _XSHM_SERVER_ +typedef unsigned long ShmSeg; + +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came frome a SendEvent request */ + Display *display; /* Display the event was read from */ + Drawable drawable; /* drawable of request */ + int major_code; /* ShmReqCode */ + int minor_code; /* X_ShmPutImage */ + ShmSeg shmseg; /* the ShmSeg used in the request */ + unsigned long offset; /* the offset into ShmSeg used in the request */ +} XShmCompletionEvent; + +typedef struct { + ShmSeg shmseg; /* resource id */ + int shmid; /* kernel id */ + char *shmaddr; /* address in client */ + Bool readOnly; /* how the server should attach it */ +} XShmSegmentInfo; + +_XFUNCPROTOBEGIN + +Bool XShmQueryExtension( + Display* /* dpy */ +); + +int XShmGetEventBase( + Display* /* dpy */ +); + +Bool XShmQueryVersion( + Display* /* dpy */, + int* /* majorVersion */, + int* /* minorVersion */, + Bool* /* sharedPixmaps */ +); + +int XShmPixmapFormat( + Display* /* dpy */ +); + +Bool XShmAttach( + Display* /* dpy */, + XShmSegmentInfo* /* shminfo */ +); + +Bool XShmDetach( + Display* /* dpy */, + XShmSegmentInfo* /* shminfo */ +); + +Bool XShmPutImage( + Display* /* dpy */, + Drawable /* d */, + GC /* gc */, + XImage* /* image */, + int /* src_x */, + int /* src_y */, + int /* dst_x */, + int /* dst_y */, + unsigned int /* src_width */, + unsigned int /* src_height */, + Bool /* send_event */ +); + +Bool XShmGetImage( + Display* /* dpy */, + Drawable /* d */, + XImage* /* image */, + int /* x */, + int /* y */, + unsigned long /* plane_mask */ +); + +XImage *XShmCreateImage( + Display* /* dpy */, + Visual* /* visual */, + unsigned int /* depth */, + int /* format */, + char* /* data */, + XShmSegmentInfo* /* shminfo */, + unsigned int /* width */, + unsigned int /* height */ +); + +Pixmap XShmCreatePixmap( + Display* /* dpy */, + Drawable /* d */, + char* /* data */, + XShmSegmentInfo* /* shminfo */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int /* depth */ +); + +_XFUNCPROTOEND +#endif /* _XSHM_SERVER_ */ + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/XTest.h b/ThirdParty/X11/Include/X11/extensions/XTest.h new file mode 100644 index 0000000..f973aeb --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XTest.h @@ -0,0 +1,144 @@ +/* + +Copyright 1992, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _XTEST_H_ +#define _XTEST_H_ + +#include <X11/Xfuncproto.h> +#include <X11/extensions/xtestconst.h> +#include <X11/extensions/XInput.h> + +_XFUNCPROTOBEGIN + +Bool XTestQueryExtension( + Display* /* dpy */, + int* /* event_basep */, + int* /* error_basep */, + int* /* majorp */, + int* /* minorp */ +); + +Bool XTestCompareCursorWithWindow( + Display* /* dpy */, + Window /* window */, + Cursor /* cursor */ +); + +Bool XTestCompareCurrentCursorWithWindow( + Display* /* dpy */, + Window /* window */ +); + +extern int XTestFakeKeyEvent( + Display* /* dpy */, + unsigned int /* keycode */, + Bool /* is_press */, + unsigned long /* delay */ +); + +extern int XTestFakeButtonEvent( + Display* /* dpy */, + unsigned int /* button */, + Bool /* is_press */, + unsigned long /* delay */ +); + +extern int XTestFakeMotionEvent( + Display* /* dpy */, + int /* screen */, + int /* x */, + int /* y */, + unsigned long /* delay */ +); + +extern int XTestFakeRelativeMotionEvent( + Display* /* dpy */, + int /* x */, + int /* y */, + unsigned long /* delay */ +); + +extern int XTestFakeDeviceKeyEvent( + Display* /* dpy */, + XDevice* /* dev */, + unsigned int /* keycode */, + Bool /* is_press */, + int* /* axes */, + int /* n_axes */, + unsigned long /* delay */ +); + +extern int XTestFakeDeviceButtonEvent( + Display* /* dpy */, + XDevice* /* dev */, + unsigned int /* button */, + Bool /* is_press */, + int* /* axes */, + int /* n_axes */, + unsigned long /* delay */ +); + +extern int XTestFakeProximityEvent( + Display* /* dpy */, + XDevice* /* dev */, + Bool /* in_prox */, + int* /* axes */, + int /* n_axes */, + unsigned long /* delay */ +); + +extern int XTestFakeDeviceMotionEvent( + Display* /* dpy */, + XDevice* /* dev */, + Bool /* is_relative */, + int /* first_axis */, + int* /* axes */, + int /* n_axes */, + unsigned long /* delay */ +); + +extern int XTestGrabControl( + Display* /* dpy */, + Bool /* impervious */ +); + +void XTestSetGContextOfGC( + GC /* gc */, + GContext /* gid */ +); + +void XTestSetVisualIDOfVisual( + Visual* /* visual */, + VisualID /* visualid */ +); + +Status XTestDiscard( + Display* /* dpy */ +); + +_XFUNCPROTOEND + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/Xag.h b/ThirdParty/X11/Include/X11/extensions/Xag.h new file mode 100644 index 0000000..9f69f78 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/Xag.h @@ -0,0 +1,90 @@ +/* +Copyright 1996, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. +*/ + +#ifndef _XAG_H_ +#define _XAG_H_ + +#include <X11/extensions/ag.h> +#include <X11/Xfuncproto.h> + +#include <stdarg.h> + +_XFUNCPROTOBEGIN + +typedef XID XAppGroup; + +Bool XagQueryVersion( + Display* /* dpy */, + int* /* major_version */, + int* /* minor_version */ +); + +Status XagCreateEmbeddedApplicationGroup( + Display* /* dpy */, + VisualID /* root_visual */, + Colormap /* default_colormap */, + unsigned long /* black_pixel */, + unsigned long /* white_pixel */, + XAppGroup* /* app_group_return */ +); + +Status XagCreateNonembeddedApplicationGroup( + Display* /* dpy */, + XAppGroup* /* app_group_return */ +); + +Status XagDestroyApplicationGroup( + Display* /* dpy */, + XAppGroup /* app_group */ +); + +Status XagGetApplicationGroupAttributes( + Display* /* dpy */, + XAppGroup /* app_group */, + ... +); + +Status XagQueryApplicationGroup( + Display* /* dpy */, + XID /* resource_base */, + XAppGroup* /* app_group_ret */ +); + +Status XagCreateAssociation( + Display* /* dpy */, + Window* /* window_ret */, + void* /* system_window */ +); + +Status XagDestroyAssociation( + Display* /* dpy */, + Window /* window */ +); + +_XFUNCPROTOEND + +#endif /* _XAG_H_ */ + diff --git a/ThirdParty/X11/Include/X11/extensions/Xcomposite.h b/ThirdParty/X11/Include/X11/extensions/Xcomposite.h new file mode 100644 index 0000000..9e4fcb1 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/Xcomposite.h @@ -0,0 +1,99 @@ +/* + * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ +/* + * Copyright © 2003 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _XCOMPOSITE_H_ +#define _XCOMPOSITE_H_ + +#include <X11/extensions/composite.h> +#include <X11/extensions/Xfixes.h> +#include <X11/Xfuncproto.h> + +/* + * This revision number also appears in configure.ac, they have + * to be manually synchronized + */ +#define XCOMPOSITE_MAJOR COMPOSITE_MAJOR +#define XCOMPOSITE_MINOR COMPOSITE_MINOR +#define XCOMPOSITE_REVISION 2 +#define XCOMPOSITE_VERSION ((XCOMPOSITE_MAJOR * 10000) + (XCOMPOSITE_MINOR * 100) + (XCOMPOSITE_REVISION)) + +_XFUNCPROTOBEGIN + +Bool XCompositeQueryExtension (Display *dpy, + int *event_base_return, + int *error_base_return); + +Status XCompositeQueryVersion (Display *dpy, + int *major_version_return, + int *minor_version_return); + +int XCompositeVersion (void); + +void +XCompositeRedirectWindow (Display *dpy, Window window, int update); + +void +XCompositeRedirectSubwindows (Display *dpy, Window window, int update); + +void +XCompositeUnredirectWindow (Display *dpy, Window window, int update); + +void +XCompositeUnredirectSubwindows (Display *dpy, Window window, int update); + +XserverRegion +XCompositeCreateRegionFromBorderClip (Display *dpy, Window window); + +Pixmap +XCompositeNameWindowPixmap (Display *dpy, Window window); + +Window +XCompositeGetOverlayWindow (Display *dpy, Window window); + +void +XCompositeReleaseOverlayWindow (Display *dpy, Window window); + +_XFUNCPROTOEND + +#endif /* _XCOMPOSITE_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/Xcup.h b/ThirdParty/X11/Include/X11/extensions/Xcup.h new file mode 100644 index 0000000..c8074cf --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/Xcup.h @@ -0,0 +1,58 @@ +/* + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _XCUP_H_ +#define _XCUP_H_ + +#include <X11/Xfuncproto.h> +#include <X11/extensions/cup.h> + +_XFUNCPROTOBEGIN + +Bool XcupQueryVersion( + Display* /* dpy */, + int* /* major_version */, + int* /* minor_version */ +); + +Status XcupGetReservedColormapEntries( + Display* /* dpy */, + int /* screen */, + XColor** /* colors_out */, + int* /* ncolors */ +); + +Status XcupStoreColors( + Display* /* dpy */, + Colormap /* colormap */, + XColor* /* colors */, + int /* ncolors */ +); + +_XFUNCPROTOEND + +#endif /* _XCUP_H_ */ + diff --git a/ThirdParty/X11/Include/X11/extensions/Xdamage.h b/ThirdParty/X11/Include/X11/extensions/Xdamage.h new file mode 100644 index 0000000..b3a5a06 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/Xdamage.h @@ -0,0 +1,73 @@ +/* + * Copyright © 2003 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _XDAMAGE_H_ +#define _XDAMAGE_H_ + +#include <X11/extensions/damagewire.h> +#include <X11/extensions/Xfixes.h> +#include <X11/Xfuncproto.h> + +#define XDAMAGE_1_1_INTERFACE + +typedef XID Damage; + +typedef struct { + int type; /* event base */ + unsigned long serial; + Bool send_event; + Display *display; + Drawable drawable; + Damage damage; + int level; + Bool more; /* more events will be delivered immediately */ + Time timestamp; + XRectangle area; + XRectangle geometry; +} XDamageNotifyEvent; + +_XFUNCPROTOBEGIN + +Bool XDamageQueryExtension (Display *dpy, + int *event_base_return, + int *error_base_return); + +Status XDamageQueryVersion (Display *dpy, + int *major_version_return, + int *minor_version_return); + +Damage +XDamageCreate (Display *dpy, Drawable drawable, int level); + +void +XDamageDestroy (Display *dpy, Damage damage); + +void +XDamageSubtract (Display *dpy, Damage damage, + XserverRegion repair, XserverRegion parts); + +void +XDamageAdd (Display *dpy, Drawable drawable, XserverRegion region); + +_XFUNCPROTOEND + +#endif /* _XDAMAGE_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/Xdbe.h b/ThirdParty/X11/Include/X11/extensions/Xdbe.h new file mode 100644 index 0000000..5c842a4 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/Xdbe.h @@ -0,0 +1,138 @@ +/****************************************************************************** + * + * Copyright (c) 1994, 1995 Hewlett-Packard Company + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR + * THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * Except as contained in this notice, the name of the Hewlett-Packard + * Company shall not be used in advertising or otherwise to promote the + * sale, use or other dealings in this Software without prior written + * authorization from the Hewlett-Packard Company. + * + * Header file for Xlib-related DBE + * + *****************************************************************************/ + +#ifndef XDBE_H +#define XDBE_H + +#include <X11/Xfuncproto.h> +#include <X11/extensions/dbe.h> + +typedef struct +{ + VisualID visual; /* one visual ID that supports double-buffering */ + int depth; /* depth of visual in bits */ + int perflevel; /* performance level of visual */ +} +XdbeVisualInfo; + +typedef struct +{ + int count; /* number of items in visual_depth */ + XdbeVisualInfo *visinfo; /* list of visuals & depths for scrn */ +} +XdbeScreenVisualInfo; + + +typedef Drawable XdbeBackBuffer; + +typedef unsigned char XdbeSwapAction; + +typedef struct +{ + Window swap_window; /* window for which to swap buffers */ + XdbeSwapAction swap_action; /* swap action to use for swap_window */ +} +XdbeSwapInfo; + +typedef struct +{ + Window window; /* window that buffer belongs to */ +} +XdbeBackBufferAttributes; + +typedef struct +{ + int type; + Display *display; /* display the event was read from */ + XdbeBackBuffer buffer; /* resource id */ + unsigned long serial; /* serial number of failed request */ + unsigned char error_code; /* error base + XdbeBadBuffer */ + unsigned char request_code; /* major opcode of failed request */ + unsigned char minor_code; /* minor opcode of failed request */ +} +XdbeBufferError; + +/* _XFUNCPROTOBEGIN and _XFUNCPROTOEND are defined as noops + * (for non-C++ builds) in X11/Xfuncproto.h. + */ +_XFUNCPROTOBEGIN + +extern Status XdbeQueryExtension( + Display* /* dpy */, + int* /* major_version_return */, + int* /* minor_version_return */ +); + +extern XdbeBackBuffer XdbeAllocateBackBufferName( + Display* /* dpy */, + Window /* window */, + XdbeSwapAction /* swap_action */ +); + +extern Status XdbeDeallocateBackBufferName( + Display* /* dpy */, + XdbeBackBuffer /* buffer */ +); + +extern Status XdbeSwapBuffers( + Display* /* dpy */, + XdbeSwapInfo* /* swap_info */, + int /* num_windows */ +); + +extern Status XdbeBeginIdiom( + Display* /* dpy */ +); + +extern Status XdbeEndIdiom( + Display* /* dpy */ +); + +extern XdbeScreenVisualInfo *XdbeGetVisualInfo( + Display* /* dpy */, + Drawable* /* screen_specifiers */, + int* /* num_screens */ +); + +extern void XdbeFreeVisualInfo( + XdbeScreenVisualInfo* /* visual_info */ +); + +extern XdbeBackBufferAttributes *XdbeGetBackBufferAttributes( + Display* /* dpy */, + XdbeBackBuffer /* buffer */ +); + +_XFUNCPROTOEND + +#endif /* XDBE_H */ + diff --git a/ThirdParty/X11/Include/X11/extensions/Xeviestr.h b/ThirdParty/X11/Include/X11/extensions/Xeviestr.h new file mode 100644 index 0000000..78871f1 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/Xeviestr.h @@ -0,0 +1,3 @@ +#warning "Xeviestr.h is obsolete and may be removed in the future." +#warning "include <X11/extensions/evieproto.h> for the protocol defines." +#include <X11/extensions/evieproto.h> diff --git a/ThirdParty/X11/Include/X11/extensions/Xext.h b/ThirdParty/X11/Include/X11/extensions/Xext.h new file mode 100644 index 0000000..858592b --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/Xext.h @@ -0,0 +1,53 @@ +/* + * +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + */ + +#ifndef _XEXT_H_ +#define _XEXT_H_ + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +typedef int (*XextErrorHandler) ( + Display * /* dpy */, + _Xconst char* /* ext_name */, + _Xconst char* /* reason */ +); + +extern XextErrorHandler XSetExtensionErrorHandler( + XextErrorHandler /* handler */ +); + +extern int XMissingExtension( + Display* /* dpy */, + _Xconst char* /* ext_name */ +); + +_XFUNCPROTOEND + +#define X_EXTENSION_UNKNOWN "unknown" +#define X_EXTENSION_MISSING "missing" + +#endif /* _XEXT_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/Xfixes.h b/ThirdParty/X11/Include/X11/extensions/Xfixes.h new file mode 100644 index 0000000..8995d14 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/Xfixes.h @@ -0,0 +1,269 @@ +/* + * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright 2011 Red Hat, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ +/* + * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _XFIXES_H_ +#define _XFIXES_H_ + +#include <X11/extensions/xfixeswire.h> + +#include <X11/Xfuncproto.h> +#include <X11/Xlib.h> + +/* + * This revision number also appears in configure.ac, they have + * to be manually synchronized + */ +#define XFIXES_REVISION 1 +#define XFIXES_VERSION ((XFIXES_MAJOR * 10000) + (XFIXES_MINOR * 100) + (XFIXES_REVISION)) + +typedef struct { + int type; /* event base */ + unsigned long serial; + Bool send_event; + Display *display; + Window window; + int subtype; + Window owner; + Atom selection; + Time timestamp; + Time selection_timestamp; +} XFixesSelectionNotifyEvent; + +typedef struct { + int type; /* event base */ + unsigned long serial; + Bool send_event; + Display *display; + Window window; + int subtype; + unsigned long cursor_serial; + Time timestamp; + Atom cursor_name; +} XFixesCursorNotifyEvent; + +typedef struct { + short x, y; + unsigned short width, height; + unsigned short xhot, yhot; + unsigned long cursor_serial; + unsigned long *pixels; +#if XFIXES_MAJOR >= 2 + Atom atom; /* Version >= 2 only */ + const char *name; /* Version >= 2 only */ +#endif +} XFixesCursorImage; + +#if XFIXES_MAJOR >= 2 +/* Version 2 types */ + +typedef XID XserverRegion; + +typedef struct { + short x, y; + unsigned short width, height; + unsigned short xhot, yhot; + unsigned long cursor_serial; + unsigned long *pixels; + Atom atom; + const char *name; +} XFixesCursorImageAndName; + +#endif + +_XFUNCPROTOBEGIN + +Bool XFixesQueryExtension (Display *dpy, + int *event_base_return, + int *error_base_return); +Status XFixesQueryVersion (Display *dpy, + int *major_version_return, + int *minor_version_return); + +int XFixesVersion (void); + +void +XFixesChangeSaveSet (Display *dpy, + Window win, + int mode, + int target, + int map); + +void +XFixesSelectSelectionInput (Display *dpy, + Window win, + Atom selection, + unsigned long eventMask); + +void +XFixesSelectCursorInput (Display *dpy, + Window win, + unsigned long eventMask); + +XFixesCursorImage * +XFixesGetCursorImage (Display *dpy); + +#if XFIXES_MAJOR >= 2 +/* Version 2 functions */ + +XserverRegion +XFixesCreateRegion (Display *dpy, XRectangle *rectangles, int nrectangles); + +XserverRegion +XFixesCreateRegionFromBitmap (Display *dpy, Pixmap bitmap); + +XserverRegion +XFixesCreateRegionFromWindow (Display *dpy, Window window, int kind); + +XserverRegion +XFixesCreateRegionFromGC (Display *dpy, GC gc); + +XserverRegion +XFixesCreateRegionFromPicture (Display *dpy, XID picture); + +void +XFixesDestroyRegion (Display *dpy, XserverRegion region); + +void +XFixesSetRegion (Display *dpy, XserverRegion region, + XRectangle *rectangles, int nrectangles); + +void +XFixesCopyRegion (Display *dpy, XserverRegion dst, XserverRegion src); + +void +XFixesUnionRegion (Display *dpy, XserverRegion dst, + XserverRegion src1, XserverRegion src2); + +void +XFixesIntersectRegion (Display *dpy, XserverRegion dst, + XserverRegion src1, XserverRegion src2); + +void +XFixesSubtractRegion (Display *dpy, XserverRegion dst, + XserverRegion src1, XserverRegion src2); + +void +XFixesInvertRegion (Display *dpy, XserverRegion dst, + XRectangle *rect, XserverRegion src); + +void +XFixesTranslateRegion (Display *dpy, XserverRegion region, int dx, int dy); + +void +XFixesRegionExtents (Display *dpy, XserverRegion dst, XserverRegion src); + +XRectangle * +XFixesFetchRegion (Display *dpy, XserverRegion region, int *nrectanglesRet); + +XRectangle * +XFixesFetchRegionAndBounds (Display *dpy, XserverRegion region, + int *nrectanglesRet, + XRectangle *bounds); + +void +XFixesSetGCClipRegion (Display *dpy, GC gc, + int clip_x_origin, int clip_y_origin, + XserverRegion region); + +void +XFixesSetWindowShapeRegion (Display *dpy, Window win, int shape_kind, + int x_off, int y_off, XserverRegion region); + +void +XFixesSetPictureClipRegion (Display *dpy, XID picture, + int clip_x_origin, int clip_y_origin, + XserverRegion region); + +void +XFixesSetCursorName (Display *dpy, Cursor cursor, const char *name); + +const char * +XFixesGetCursorName (Display *dpy, Cursor cursor, Atom *atom); + +void +XFixesChangeCursor (Display *dpy, Cursor source, Cursor destination); + +void +XFixesChangeCursorByName (Display *dpy, Cursor source, const char *name); + +#endif /* XFIXES_MAJOR >= 2 */ + +#if XFIXES_MAJOR >= 3 + +void +XFixesExpandRegion (Display *dpy, XserverRegion dst, XserverRegion src, + unsigned left, unsigned right, + unsigned top, unsigned bottom); + +#endif /* XFIXES_MAJOR >= 3 */ + +#if XFIXES_MAJOR >= 4 +/* Version 4.0 externs */ + +void +XFixesHideCursor (Display *dpy, Window win); + +void +XFixesShowCursor (Display *dpy, Window win); + +#endif /* XFIXES_MAJOR >= 4 */ + +#if XFIXES_MAJOR >= 5 + +typedef XID PointerBarrier; + +PointerBarrier +XFixesCreatePointerBarrier(Display *dpy, Window w, int x1, int y1, + int x2, int y2, int directions, + int num_devices, int *devices); + +void +XFixesDestroyPointerBarrier(Display *dpy, PointerBarrier b); + +#endif /* XFIXES_MAJOR >= 5 */ + +_XFUNCPROTOEND + +#endif /* _XFIXES_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/Xge.h b/ThirdParty/X11/Include/X11/extensions/Xge.h new file mode 100644 index 0000000..76b5a6a --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/Xge.h @@ -0,0 +1,57 @@ +/* + * Copyright � 2007-2008 Peter Hutterer + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: Peter Hutterer, University of South Australia, NICTA + * + */ + + +/* XGE Client interfaces */ + +#ifndef _XGE_H_ +#define _XGE_H_ + +#include <X11/Xlib.h> +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +/** + * Generic Event mask. + * To be used whenever a list of masks per extension has to be provided. + * + * But, don't actually use the CARD{8,16,32} types. We can't get them them + * defined here without polluting the namespace. + */ +typedef struct { + unsigned char extension; + unsigned char pad0; + unsigned short pad1; + unsigned int evmask; +} XGenericEventMask; + +Bool XGEQueryExtension(Display* dpy, int *event_basep, int *err_basep); +Bool XGEQueryVersion(Display* dpy, int *major, int* minor); + +_XFUNCPROTOEND + +#endif /* _XGE_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/Xinerama.h b/ThirdParty/X11/Include/X11/extensions/Xinerama.h new file mode 100644 index 0000000..8c0f829 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/Xinerama.h @@ -0,0 +1,74 @@ +/* + +Copyright 2003 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _Xinerama_h +#define _Xinerama_h + +#include <X11/Xlib.h> + +typedef struct { + int screen_number; + short x_org; + short y_org; + short width; + short height; +} XineramaScreenInfo; + +_XFUNCPROTOBEGIN + +Bool XineramaQueryExtension ( + Display *dpy, + int *event_base, + int *error_base +); + +Status XineramaQueryVersion( + Display *dpy, + int *major_versionp, + int *minor_versionp +); + +Bool XineramaIsActive(Display *dpy); + + +/* + Returns the number of heads and a pointer to an array of + structures describing the position and size of the individual + heads. Returns NULL and number = 0 if Xinerama is not active. + + Returned array should be freed with XFree(). +*/ + +XineramaScreenInfo * +XineramaQueryScreens( + Display *dpy, + int *number +); + +_XFUNCPROTOEND + +#endif /* _Xinerama_h */ + diff --git a/ThirdParty/X11/Include/X11/extensions/Xrandr.h b/ThirdParty/X11/Include/X11/extensions/Xrandr.h new file mode 100644 index 0000000..65940bb --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/Xrandr.h @@ -0,0 +1,587 @@ +/* + * Copyright © 2000 Compaq Computer Corporation, Inc. + * Copyright © 2002 Hewlett-Packard Company, Inc. + * Copyright © 2006 Intel Corporation + * Copyright © 2008 Red Hat, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + * + * Author: Jim Gettys, HP Labs, Hewlett-Packard, Inc. + * Keith Packard, Intel Corporation + */ + +#ifndef _XRANDR_H_ +#define _XRANDR_H_ + +#include <X11/extensions/randr.h> +#include <X11/extensions/Xrender.h> + +#include <X11/Xfuncproto.h> + +_XFUNCPROTOBEGIN + +typedef XID RROutput; +typedef XID RRCrtc; +typedef XID RRMode; +typedef XID RRProvider; + +typedef struct { + int width, height; + int mwidth, mheight; +} XRRScreenSize; + +/* + * Events. + */ + +typedef struct { + int type; /* event base */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* window which selected for this event */ + Window root; /* Root window for changed screen */ + Time timestamp; /* when the screen change occurred */ + Time config_timestamp; /* when the last configuration change */ + SizeID size_index; + SubpixelOrder subpixel_order; + Rotation rotation; + int width; + int height; + int mwidth; + int mheight; +} XRRScreenChangeNotifyEvent; + +typedef struct { + int type; /* event base */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* window which selected for this event */ + int subtype; /* RRNotify_ subtype */ +} XRRNotifyEvent; + +typedef struct { + int type; /* event base */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* window which selected for this event */ + int subtype; /* RRNotify_OutputChange */ + RROutput output; /* affected output */ + RRCrtc crtc; /* current crtc (or None) */ + RRMode mode; /* current mode (or None) */ + Rotation rotation; /* current rotation of associated crtc */ + Connection connection; /* current connection status */ + SubpixelOrder subpixel_order; +} XRROutputChangeNotifyEvent; + +typedef struct { + int type; /* event base */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* window which selected for this event */ + int subtype; /* RRNotify_CrtcChange */ + RRCrtc crtc; /* current crtc (or None) */ + RRMode mode; /* current mode (or None) */ + Rotation rotation; /* current rotation of associated crtc */ + int x, y; /* position */ + unsigned int width, height; /* size */ +} XRRCrtcChangeNotifyEvent; + +typedef struct { + int type; /* event base */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* window which selected for this event */ + int subtype; /* RRNotify_OutputProperty */ + RROutput output; /* related output */ + Atom property; /* changed property */ + Time timestamp; /* time of change */ + int state; /* NewValue, Deleted */ +} XRROutputPropertyNotifyEvent; + +typedef struct { + int type; /* event base */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* window which selected for this event */ + int subtype; /* RRNotify_ProviderChange */ + RRProvider provider; /* current provider (or None) */ + Time timestamp; /* time of change */ + unsigned int current_role; +} XRRProviderChangeNotifyEvent; + +typedef struct { + int type; /* event base */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* window which selected for this event */ + int subtype; /* RRNotify_ProviderProperty */ + RRProvider provider; /* related provider */ + Atom property; /* changed property */ + Time timestamp; /* time of change */ + int state; /* NewValue, Deleted */ +} XRRProviderPropertyNotifyEvent; + +typedef struct { + int type; /* event base */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* window which selected for this event */ + int subtype; /* RRNotify_ResourceChange */ + Time timestamp; /* time of change */ +} XRRResourceChangeNotifyEvent; + +/* internal representation is private to the library */ +typedef struct _XRRScreenConfiguration XRRScreenConfiguration; + +Bool XRRQueryExtension (Display *dpy, + int *event_base_return, + int *error_base_return); +Status XRRQueryVersion (Display *dpy, + int *major_version_return, + int *minor_version_return); + +XRRScreenConfiguration *XRRGetScreenInfo (Display *dpy, + Window window); + +void XRRFreeScreenConfigInfo (XRRScreenConfiguration *config); + +/* + * Note that screen configuration changes are only permitted if the client can + * prove it has up to date configuration information. We are trying to + * insist that it become possible for screens to change dynamically, so + * we want to ensure the client knows what it is talking about when requesting + * changes. + */ +Status XRRSetScreenConfig (Display *dpy, + XRRScreenConfiguration *config, + Drawable draw, + int size_index, + Rotation rotation, + Time timestamp); + +/* added in v1.1, sorry for the lame name */ +Status XRRSetScreenConfigAndRate (Display *dpy, + XRRScreenConfiguration *config, + Drawable draw, + int size_index, + Rotation rotation, + short rate, + Time timestamp); + + +Rotation XRRConfigRotations(XRRScreenConfiguration *config, Rotation *current_rotation); + +Time XRRConfigTimes (XRRScreenConfiguration *config, Time *config_timestamp); + +XRRScreenSize *XRRConfigSizes(XRRScreenConfiguration *config, int *nsizes); + +short *XRRConfigRates (XRRScreenConfiguration *config, int sizeID, int *nrates); + +SizeID XRRConfigCurrentConfiguration (XRRScreenConfiguration *config, + Rotation *rotation); + +short XRRConfigCurrentRate (XRRScreenConfiguration *config); + +int XRRRootToScreen(Display *dpy, Window root); + +/* + * returns the screen configuration for the specified screen; does a lazy + * evalution to delay getting the information, and caches the result. + * These routines should be used in preference to XRRGetScreenInfo + * to avoid unneeded round trips to the X server. These are new + * in protocol version 0.1. + */ + + +void XRRSelectInput(Display *dpy, Window window, int mask); + +/* + * the following are always safe to call, even if RandR is not implemented + * on a screen + */ + + +Rotation XRRRotations(Display *dpy, int screen, Rotation *current_rotation); +XRRScreenSize *XRRSizes(Display *dpy, int screen, int *nsizes); +short *XRRRates (Display *dpy, int screen, int sizeID, int *nrates); +Time XRRTimes (Display *dpy, int screen, Time *config_timestamp); + + +/* Version 1.2 additions */ + +/* despite returning a Status, this returns 1 for success */ +Status +XRRGetScreenSizeRange (Display *dpy, Window window, + int *minWidth, int *minHeight, + int *maxWidth, int *maxHeight); + +void +XRRSetScreenSize (Display *dpy, Window window, + int width, int height, + int mmWidth, int mmHeight); + +typedef unsigned long XRRModeFlags; + +typedef struct _XRRModeInfo { + RRMode id; + unsigned int width; + unsigned int height; + unsigned long dotClock; + unsigned int hSyncStart; + unsigned int hSyncEnd; + unsigned int hTotal; + unsigned int hSkew; + unsigned int vSyncStart; + unsigned int vSyncEnd; + unsigned int vTotal; + char *name; + unsigned int nameLength; + XRRModeFlags modeFlags; +} XRRModeInfo; + +typedef struct _XRRScreenResources { + Time timestamp; + Time configTimestamp; + int ncrtc; + RRCrtc *crtcs; + int noutput; + RROutput *outputs; + int nmode; + XRRModeInfo *modes; +} XRRScreenResources; + +XRRScreenResources * +XRRGetScreenResources (Display *dpy, Window window); + +void +XRRFreeScreenResources (XRRScreenResources *resources); + +typedef struct _XRROutputInfo { + Time timestamp; + RRCrtc crtc; + char *name; + int nameLen; + unsigned long mm_width; + unsigned long mm_height; + Connection connection; + SubpixelOrder subpixel_order; + int ncrtc; + RRCrtc *crtcs; + int nclone; + RROutput *clones; + int nmode; + int npreferred; + RRMode *modes; +} XRROutputInfo; + +XRROutputInfo * +XRRGetOutputInfo (Display *dpy, XRRScreenResources *resources, RROutput output); + +void +XRRFreeOutputInfo (XRROutputInfo *outputInfo); + +Atom * +XRRListOutputProperties (Display *dpy, RROutput output, int *nprop); + +typedef struct { + Bool pending; + Bool range; + Bool immutable; + int num_values; + long *values; +} XRRPropertyInfo; + +XRRPropertyInfo * +XRRQueryOutputProperty (Display *dpy, RROutput output, Atom property); + +void +XRRConfigureOutputProperty (Display *dpy, RROutput output, Atom property, + Bool pending, Bool range, int num_values, + long *values); + +void +XRRChangeOutputProperty (Display *dpy, RROutput output, + Atom property, Atom type, + int format, int mode, + _Xconst unsigned char *data, int nelements); + +void +XRRDeleteOutputProperty (Display *dpy, RROutput output, Atom property); + +int +XRRGetOutputProperty (Display *dpy, RROutput output, + Atom property, long offset, long length, + Bool _delete, Bool pending, Atom req_type, + Atom *actual_type, int *actual_format, + unsigned long *nitems, unsigned long *bytes_after, + unsigned char **prop); + +XRRModeInfo * +XRRAllocModeInfo (_Xconst char *name, int nameLength); + +RRMode +XRRCreateMode (Display *dpy, Window window, XRRModeInfo *modeInfo); + +void +XRRDestroyMode (Display *dpy, RRMode mode); + +void +XRRAddOutputMode (Display *dpy, RROutput output, RRMode mode); + +void +XRRDeleteOutputMode (Display *dpy, RROutput output, RRMode mode); + +void +XRRFreeModeInfo (XRRModeInfo *modeInfo); + +typedef struct _XRRCrtcInfo { + Time timestamp; + int x, y; + unsigned int width, height; + RRMode mode; + Rotation rotation; + int noutput; + RROutput *outputs; + Rotation rotations; + int npossible; + RROutput *possible; +} XRRCrtcInfo; + +XRRCrtcInfo * +XRRGetCrtcInfo (Display *dpy, XRRScreenResources *resources, RRCrtc crtc); + +void +XRRFreeCrtcInfo (XRRCrtcInfo *crtcInfo); + +Status +XRRSetCrtcConfig (Display *dpy, + XRRScreenResources *resources, + RRCrtc crtc, + Time timestamp, + int x, int y, + RRMode mode, + Rotation rotation, + RROutput *outputs, + int noutputs); + +int +XRRGetCrtcGammaSize (Display *dpy, RRCrtc crtc); + +typedef struct _XRRCrtcGamma { + int size; + unsigned short *red; + unsigned short *green; + unsigned short *blue; +} XRRCrtcGamma; + +XRRCrtcGamma * +XRRGetCrtcGamma (Display *dpy, RRCrtc crtc); + +XRRCrtcGamma * +XRRAllocGamma (int size); + +void +XRRSetCrtcGamma (Display *dpy, RRCrtc crtc, XRRCrtcGamma *gamma); + +void +XRRFreeGamma (XRRCrtcGamma *gamma); + +/* Version 1.3 additions */ + +XRRScreenResources * +XRRGetScreenResourcesCurrent (Display *dpy, Window window); + +void +XRRSetCrtcTransform (Display *dpy, + RRCrtc crtc, + XTransform *transform, + _Xconst char *filter, + XFixed *params, + int nparams); + +typedef struct _XRRCrtcTransformAttributes { + XTransform pendingTransform; + char *pendingFilter; + int pendingNparams; + XFixed *pendingParams; + XTransform currentTransform; + char *currentFilter; + int currentNparams; + XFixed *currentParams; +} XRRCrtcTransformAttributes; + +/* + * Get current crtc transforms and filters. + * Pass *attributes to XFree to free + */ +Status +XRRGetCrtcTransform (Display *dpy, + RRCrtc crtc, + XRRCrtcTransformAttributes **attributes); + +/* + * intended to take RRScreenChangeNotify, or + * ConfigureNotify (on the root window) + * returns 1 if it is an event type it understands, 0 if not + */ +int XRRUpdateConfiguration(XEvent *event); + +typedef struct _XRRPanning { + Time timestamp; + unsigned int left; + unsigned int top; + unsigned int width; + unsigned int height; + unsigned int track_left; + unsigned int track_top; + unsigned int track_width; + unsigned int track_height; + int border_left; + int border_top; + int border_right; + int border_bottom; +} XRRPanning; + +XRRPanning * +XRRGetPanning (Display *dpy, XRRScreenResources *resources, RRCrtc crtc); + +void +XRRFreePanning (XRRPanning *panning); + +Status +XRRSetPanning (Display *dpy, + XRRScreenResources *resources, + RRCrtc crtc, + XRRPanning *panning); + +void +XRRSetOutputPrimary(Display *dpy, + Window window, + RROutput output); + +RROutput +XRRGetOutputPrimary(Display *dpy, + Window window); + +typedef struct _XRRProviderResources { + Time timestamp; + int nproviders; + RRProvider *providers; +} XRRProviderResources; + +XRRProviderResources * +XRRGetProviderResources(Display *dpy, Window window); + +void +XRRFreeProviderResources(XRRProviderResources *resources); + +typedef struct _XRRProviderInfo { + unsigned int capabilities; + int ncrtcs; + RRCrtc *crtcs; + int noutputs; + RROutput *outputs; + char *name; + int nassociatedproviders; + RRProvider *associated_providers; + unsigned int *associated_capability; + int nameLen; +} XRRProviderInfo; + +XRRProviderInfo * +XRRGetProviderInfo(Display *dpy, XRRScreenResources *resources, RRProvider provider); + +void +XRRFreeProviderInfo(XRRProviderInfo *provider); + +int +XRRSetProviderOutputSource(Display *dpy, XID provider, XID source_provider); + +int +XRRSetProviderOffloadSink(Display *dpy, XID provider, XID sink_provider); + +Atom * +XRRListProviderProperties (Display *dpy, RRProvider provider, int *nprop); + +XRRPropertyInfo * +XRRQueryProviderProperty (Display *dpy, RRProvider provider, Atom property); + +void +XRRConfigureProviderProperty (Display *dpy, RRProvider provider, Atom property, + Bool pending, Bool range, int num_values, + long *values); + +void +XRRChangeProviderProperty (Display *dpy, RRProvider provider, + Atom property, Atom type, + int format, int mode, + _Xconst unsigned char *data, int nelements); + +void +XRRDeleteProviderProperty (Display *dpy, RRProvider provider, Atom property); + +int +XRRGetProviderProperty (Display *dpy, RRProvider provider, + Atom property, long offset, long length, + Bool _delete, Bool pending, Atom req_type, + Atom *actual_type, int *actual_format, + unsigned long *nitems, unsigned long *bytes_after, + unsigned char **prop); + + +typedef struct _XRRMonitorInfo { + Atom name; + Bool primary; + Bool automatic; + int noutput; + int x; + int y; + int width; + int height; + int mwidth; + int mheight; + RROutput *outputs; +} XRRMonitorInfo; + +XRRMonitorInfo * +XRRAllocateMonitor(Display *dpy, int noutput); + +XRRMonitorInfo * +XRRGetMonitors(Display *dpy, Window window, Bool get_active, int *nmonitors); + +void +XRRSetMonitor(Display *dpy, Window window, XRRMonitorInfo *monitor); + +void +XRRDeleteMonitor(Display *dpy, Window window, Atom name); + +void +XRRFreeMonitors(XRRMonitorInfo *monitors); + +_XFUNCPROTOEND + +#endif /* _XRANDR_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/Xrender.h b/ThirdParty/X11/Include/X11/extensions/Xrender.h new file mode 100644 index 0000000..1d1cd08 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/Xrender.h @@ -0,0 +1,528 @@ +/* + * + * Copyright © 2000 SuSE, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of SuSE not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. SuSE makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE + * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: Keith Packard, SuSE, Inc. + */ + +#ifndef _XRENDER_H_ +#define _XRENDER_H_ + +#include <X11/Xlib.h> +#include <X11/Xfuncproto.h> +#include <X11/Xosdefs.h> +#include <X11/Xutil.h> + +#include <X11/extensions/render.h> + +typedef struct { + short red; + short redMask; + short green; + short greenMask; + short blue; + short blueMask; + short alpha; + short alphaMask; +} XRenderDirectFormat; + +typedef struct { + PictFormat id; + int type; + int depth; + XRenderDirectFormat direct; + Colormap colormap; +} XRenderPictFormat; + +#define PictFormatID (1 << 0) +#define PictFormatType (1 << 1) +#define PictFormatDepth (1 << 2) +#define PictFormatRed (1 << 3) +#define PictFormatRedMask (1 << 4) +#define PictFormatGreen (1 << 5) +#define PictFormatGreenMask (1 << 6) +#define PictFormatBlue (1 << 7) +#define PictFormatBlueMask (1 << 8) +#define PictFormatAlpha (1 << 9) +#define PictFormatAlphaMask (1 << 10) +#define PictFormatColormap (1 << 11) + +typedef struct _XRenderPictureAttributes { + int repeat; + Picture alpha_map; + int alpha_x_origin; + int alpha_y_origin; + int clip_x_origin; + int clip_y_origin; + Pixmap clip_mask; + Bool graphics_exposures; + int subwindow_mode; + int poly_edge; + int poly_mode; + Atom dither; + Bool component_alpha; +} XRenderPictureAttributes; + +typedef struct { + unsigned short red; + unsigned short green; + unsigned short blue; + unsigned short alpha; +} XRenderColor; + +typedef struct _XGlyphInfo { + unsigned short width; + unsigned short height; + short x; + short y; + short xOff; + short yOff; +} XGlyphInfo; + +typedef struct _XGlyphElt8 { + GlyphSet glyphset; + _Xconst char *chars; + int nchars; + int xOff; + int yOff; +} XGlyphElt8; + +typedef struct _XGlyphElt16 { + GlyphSet glyphset; + _Xconst unsigned short *chars; + int nchars; + int xOff; + int yOff; +} XGlyphElt16; + +typedef struct _XGlyphElt32 { + GlyphSet glyphset; + _Xconst unsigned int *chars; + int nchars; + int xOff; + int yOff; +} XGlyphElt32; + +typedef double XDouble; + +typedef struct _XPointDouble { + XDouble x, y; +} XPointDouble; + +#define XDoubleToFixed(f) ((XFixed) ((f) * 65536)) +#define XFixedToDouble(f) (((XDouble) (f)) / 65536) + +typedef int XFixed; + +typedef struct _XPointFixed { + XFixed x, y; +} XPointFixed; + +typedef struct _XLineFixed { + XPointFixed p1, p2; +} XLineFixed; + +typedef struct _XTriangle { + XPointFixed p1, p2, p3; +} XTriangle; + +typedef struct _XCircle { + XFixed x; + XFixed y; + XFixed radius; +} XCircle; + +typedef struct _XTrapezoid { + XFixed top, bottom; + XLineFixed left, right; +} XTrapezoid; + +typedef struct _XTransform { + XFixed matrix[3][3]; +} XTransform; + +typedef struct _XFilters { + int nfilter; + char **filter; + int nalias; + short *alias; +} XFilters; + +typedef struct _XIndexValue { + unsigned long pixel; + unsigned short red, green, blue, alpha; +} XIndexValue; + +typedef struct _XAnimCursor { + Cursor cursor; + unsigned long delay; +} XAnimCursor; + +typedef struct _XSpanFix { + XFixed left, right, y; +} XSpanFix; + +typedef struct _XTrap { + XSpanFix top, bottom; +} XTrap; + +typedef struct _XLinearGradient { + XPointFixed p1; + XPointFixed p2; +} XLinearGradient; + +typedef struct _XRadialGradient { + XCircle inner; + XCircle outer; +} XRadialGradient; + +typedef struct _XConicalGradient { + XPointFixed center; + XFixed angle; /* in degrees */ +} XConicalGradient; + +_XFUNCPROTOBEGIN + +Bool XRenderQueryExtension (Display *dpy, int *event_basep, int *error_basep); + +Status XRenderQueryVersion (Display *dpy, + int *major_versionp, + int *minor_versionp); + +Status XRenderQueryFormats (Display *dpy); + +int XRenderQuerySubpixelOrder (Display *dpy, int screen); + +Bool XRenderSetSubpixelOrder (Display *dpy, int screen, int subpixel); + +XRenderPictFormat * +XRenderFindVisualFormat (Display *dpy, _Xconst Visual *visual); + +XRenderPictFormat * +XRenderFindFormat (Display *dpy, + unsigned long mask, + _Xconst XRenderPictFormat *templ, + int count); + +#define PictStandardARGB32 0 +#define PictStandardRGB24 1 +#define PictStandardA8 2 +#define PictStandardA4 3 +#define PictStandardA1 4 +#define PictStandardNUM 5 + +XRenderPictFormat * +XRenderFindStandardFormat (Display *dpy, + int format); + +XIndexValue * +XRenderQueryPictIndexValues(Display *dpy, + _Xconst XRenderPictFormat *format, + int *num); + +Picture +XRenderCreatePicture (Display *dpy, + Drawable drawable, + _Xconst XRenderPictFormat *format, + unsigned long valuemask, + _Xconst XRenderPictureAttributes *attributes); + +void +XRenderChangePicture (Display *dpy, + Picture picture, + unsigned long valuemask, + _Xconst XRenderPictureAttributes *attributes); + +void +XRenderSetPictureClipRectangles (Display *dpy, + Picture picture, + int xOrigin, + int yOrigin, + _Xconst XRectangle *rects, + int n); + +void +XRenderSetPictureClipRegion (Display *dpy, + Picture picture, + Region r); + +void +XRenderSetPictureTransform (Display *dpy, + Picture picture, + XTransform *transform); + +void +XRenderFreePicture (Display *dpy, + Picture picture); + +void +XRenderComposite (Display *dpy, + int op, + Picture src, + Picture mask, + Picture dst, + int src_x, + int src_y, + int mask_x, + int mask_y, + int dst_x, + int dst_y, + unsigned int width, + unsigned int height); + +GlyphSet +XRenderCreateGlyphSet (Display *dpy, _Xconst XRenderPictFormat *format); + +GlyphSet +XRenderReferenceGlyphSet (Display *dpy, GlyphSet existing); + +void +XRenderFreeGlyphSet (Display *dpy, GlyphSet glyphset); + +void +XRenderAddGlyphs (Display *dpy, + GlyphSet glyphset, + _Xconst Glyph *gids, + _Xconst XGlyphInfo *glyphs, + int nglyphs, + _Xconst char *images, + int nbyte_images); + +void +XRenderFreeGlyphs (Display *dpy, + GlyphSet glyphset, + _Xconst Glyph *gids, + int nglyphs); + +void +XRenderCompositeString8 (Display *dpy, + int op, + Picture src, + Picture dst, + _Xconst XRenderPictFormat *maskFormat, + GlyphSet glyphset, + int xSrc, + int ySrc, + int xDst, + int yDst, + _Xconst char *string, + int nchar); + +void +XRenderCompositeString16 (Display *dpy, + int op, + Picture src, + Picture dst, + _Xconst XRenderPictFormat *maskFormat, + GlyphSet glyphset, + int xSrc, + int ySrc, + int xDst, + int yDst, + _Xconst unsigned short *string, + int nchar); + +void +XRenderCompositeString32 (Display *dpy, + int op, + Picture src, + Picture dst, + _Xconst XRenderPictFormat *maskFormat, + GlyphSet glyphset, + int xSrc, + int ySrc, + int xDst, + int yDst, + _Xconst unsigned int *string, + int nchar); + +void +XRenderCompositeText8 (Display *dpy, + int op, + Picture src, + Picture dst, + _Xconst XRenderPictFormat *maskFormat, + int xSrc, + int ySrc, + int xDst, + int yDst, + _Xconst XGlyphElt8 *elts, + int nelt); + +void +XRenderCompositeText16 (Display *dpy, + int op, + Picture src, + Picture dst, + _Xconst XRenderPictFormat *maskFormat, + int xSrc, + int ySrc, + int xDst, + int yDst, + _Xconst XGlyphElt16 *elts, + int nelt); + +void +XRenderCompositeText32 (Display *dpy, + int op, + Picture src, + Picture dst, + _Xconst XRenderPictFormat *maskFormat, + int xSrc, + int ySrc, + int xDst, + int yDst, + _Xconst XGlyphElt32 *elts, + int nelt); + +void +XRenderFillRectangle (Display *dpy, + int op, + Picture dst, + _Xconst XRenderColor *color, + int x, + int y, + unsigned int width, + unsigned int height); + +void +XRenderFillRectangles (Display *dpy, + int op, + Picture dst, + _Xconst XRenderColor *color, + _Xconst XRectangle *rectangles, + int n_rects); + +void +XRenderCompositeTrapezoids (Display *dpy, + int op, + Picture src, + Picture dst, + _Xconst XRenderPictFormat *maskFormat, + int xSrc, + int ySrc, + _Xconst XTrapezoid *traps, + int ntrap); + +void +XRenderCompositeTriangles (Display *dpy, + int op, + Picture src, + Picture dst, + _Xconst XRenderPictFormat *maskFormat, + int xSrc, + int ySrc, + _Xconst XTriangle *triangles, + int ntriangle); + +void +XRenderCompositeTriStrip (Display *dpy, + int op, + Picture src, + Picture dst, + _Xconst XRenderPictFormat *maskFormat, + int xSrc, + int ySrc, + _Xconst XPointFixed *points, + int npoint); + +void +XRenderCompositeTriFan (Display *dpy, + int op, + Picture src, + Picture dst, + _Xconst XRenderPictFormat *maskFormat, + int xSrc, + int ySrc, + _Xconst XPointFixed *points, + int npoint); + +void +XRenderCompositeDoublePoly (Display *dpy, + int op, + Picture src, + Picture dst, + _Xconst XRenderPictFormat *maskFormat, + int xSrc, + int ySrc, + int xDst, + int yDst, + _Xconst XPointDouble *fpoints, + int npoints, + int winding); +Status +XRenderParseColor(Display *dpy, + char *spec, + XRenderColor *def); + +Cursor +XRenderCreateCursor (Display *dpy, + Picture source, + unsigned int x, + unsigned int y); + +XFilters * +XRenderQueryFilters (Display *dpy, Drawable drawable); + +void +XRenderSetPictureFilter (Display *dpy, + Picture picture, + const char *filter, + XFixed *params, + int nparams); + +Cursor +XRenderCreateAnimCursor (Display *dpy, + int ncursor, + XAnimCursor *cursors); + + +void +XRenderAddTraps (Display *dpy, + Picture picture, + int xOff, + int yOff, + _Xconst XTrap *traps, + int ntrap); + +Picture XRenderCreateSolidFill (Display *dpy, + const XRenderColor *color); + +Picture XRenderCreateLinearGradient (Display *dpy, + const XLinearGradient *gradient, + const XFixed *stops, + const XRenderColor *colors, + int nstops); + +Picture XRenderCreateRadialGradient (Display *dpy, + const XRadialGradient *gradient, + const XFixed *stops, + const XRenderColor *colors, + int nstops); + +Picture XRenderCreateConicalGradient (Display *dpy, + const XConicalGradient *gradient, + const XFixed *stops, + const XRenderColor *colors, + int nstops); + +_XFUNCPROTOEND + +#endif /* _XRENDER_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/Xv.h b/ThirdParty/X11/Include/X11/extensions/Xv.h new file mode 100644 index 0000000..f662df6 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/Xv.h @@ -0,0 +1,128 @@ +/*********************************************************** +Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts, +and the Massachusetts Institute of Technology, Cambridge, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the names of Digital or MIT not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef XV_H +#define XV_H +/* +** File: +** +** Xv.h --- Xv shared library and server header file +** +** Author: +** +** David Carver (Digital Workstation Engineering/Project Athena) +** +** Revisions: +** +** 05.15.91 Carver +** - version 2.0 upgrade +** +** 01.24.91 Carver +** - version 1.4 upgrade +** +*/ + +#include <X11/X.h> + +#define XvName "XVideo" +#define XvVersion 2 +#define XvRevision 2 + +/* Symbols */ + +typedef XID XvPortID; +typedef XID XvEncodingID; + +#define XvNone 0 + +#define XvInput 0 +#define XvOutput 1 + +#define XvInputMask (1<<XvInput) +#define XvOutputMask (1<<XvOutput) +#define XvVideoMask 0x00000004 +#define XvStillMask 0x00000008 +#define XvImageMask 0x00000010 + +/* These two are not client viewable */ +#define XvPixmapMask 0x00010000 +#define XvWindowMask 0x00020000 + + +#define XvGettable 0x01 +#define XvSettable 0x02 + +#define XvRGB 0 +#define XvYUV 1 + +#define XvPacked 0 +#define XvPlanar 1 + +#define XvTopToBottom 0 +#define XvBottomToTop 1 + + +/* Events */ + +#define XvVideoNotify 0 +#define XvPortNotify 1 +#define XvNumEvents 2 + +/* Video Notify Reasons */ + +#define XvStarted 0 +#define XvStopped 1 +#define XvBusy 2 +#define XvPreempted 3 +#define XvHardError 4 +#define XvLastReason 4 + +#define XvNumReasons (XvLastReason + 1) + +#define XvStartedMask (1<<XvStarted) +#define XvStoppedMask (1<<XvStopped) +#define XvBusyMask (1<<XvBusy) +#define XvPreemptedMask (1<<XvPreempted) +#define XvHardErrorMask (1<<XvHardError) + +#define XvAnyReasonMask ((1<<XvNumReasons) - 1) +#define XvNoReasonMask 0 + +/* Errors */ + +#define XvBadPort 0 +#define XvBadEncoding 1 +#define XvBadControl 2 +#define XvNumErrors 3 + +/* Status */ + +#define XvBadExtension 1 +#define XvAlreadyGrabbed 2 +#define XvInvalidTime 3 +#define XvBadReply 4 +#define XvBadAlloc 5 + +#endif /* XV_H */ + diff --git a/ThirdParty/X11/Include/X11/extensions/XvMC.h b/ThirdParty/X11/Include/X11/extensions/XvMC.h new file mode 100644 index 0000000..47cc6db --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XvMC.h @@ -0,0 +1,138 @@ +#ifndef _XVMC_H_ +#define _XVMC_H_ + +#include <X11/X.h> +#include <X11/extensions/Xv.h> + +#define XvMCName "XVideo-MotionCompensation" +#define XvMCNumEvents 0 +#define XvMCNumErrors 3 +#define XvMCVersion 1 +#define XvMCRevision 1 + +#define XvMCBadContext 0 +#define XvMCBadSurface 1 +#define XvMCBadSubpicture 2 + +/* Chroma formats */ +#define XVMC_CHROMA_FORMAT_420 0x00000001 +#define XVMC_CHROMA_FORMAT_422 0x00000002 +#define XVMC_CHROMA_FORMAT_444 0x00000003 + +/* XvMCSurfaceInfo Flags */ +#define XVMC_OVERLAID_SURFACE 0x00000001 +#define XVMC_BACKEND_SUBPICTURE 0x00000002 +#define XVMC_SUBPICTURE_INDEPENDENT_SCALING 0x00000004 +#define XVMC_INTRA_UNSIGNED 0x00000008 + +/* Motion Compensation types */ +#define XVMC_MOCOMP 0x00000000 +#define XVMC_IDCT 0x00010000 + +#define XVMC_MPEG_1 0x00000001 +#define XVMC_MPEG_2 0x00000002 +#define XVMC_H263 0x00000003 +#define XVMC_MPEG_4 0x00000004 + +#define XVMC_MB_TYPE_MOTION_FORWARD 0x02 +#define XVMC_MB_TYPE_MOTION_BACKWARD 0x04 +#define XVMC_MB_TYPE_PATTERN 0x08 +#define XVMC_MB_TYPE_INTRA 0x10 + +#define XVMC_PREDICTION_FIELD 0x01 +#define XVMC_PREDICTION_FRAME 0x02 +#define XVMC_PREDICTION_DUAL_PRIME 0x03 +#define XVMC_PREDICTION_16x8 0x02 +#define XVMC_PREDICTION_4MV 0x04 + +#define XVMC_SELECT_FIRST_FORWARD 0x01 +#define XVMC_SELECT_FIRST_BACKWARD 0x02 +#define XVMC_SELECT_SECOND_FORWARD 0x04 +#define XVMC_SELECT_SECOND_BACKWARD 0x08 + +#define XVMC_DCT_TYPE_FRAME 0x00 +#define XVMC_DCT_TYPE_FIELD 0x01 + +#define XVMC_TOP_FIELD 0x00000001 +#define XVMC_BOTTOM_FIELD 0x00000002 +#define XVMC_FRAME_PICTURE (XVMC_TOP_FIELD | XVMC_BOTTOM_FIELD) + +#define XVMC_SECOND_FIELD 0x00000004 + +#define XVMC_DIRECT 0x00000001 + +#define XVMC_RENDERING 0x00000001 +#define XVMC_DISPLAYING 0x00000002 + + +typedef struct { + int surface_type_id; + int chroma_format; + unsigned short max_width; + unsigned short max_height; + unsigned short subpicture_max_width; + unsigned short subpicture_max_height; + int mc_type; + int flags; +} XvMCSurfaceInfo; + +typedef struct { + XID context_id; + int surface_type_id; + unsigned short width; + unsigned short height; + XvPortID port; + int flags; + void * privData; /* private to the library */ +} XvMCContext; + +typedef struct { + XID surface_id; + XID context_id; + int surface_type_id; + unsigned short width; + unsigned short height; + void *privData; /* private to the library */ +} XvMCSurface; + +typedef struct { + XID subpicture_id; + XID context_id; + int xvimage_id; + unsigned short width; + unsigned short height; + int num_palette_entries; + int entry_bytes; + char component_order[4]; + void *privData; /* private to the library */ +} XvMCSubpicture; + +typedef struct { + unsigned int num_blocks; + XID context_id; + void *privData; + short *blocks; +} XvMCBlockArray; + +typedef struct { + unsigned short x; + unsigned short y; + unsigned char macroblock_type; + unsigned char motion_type; + unsigned char motion_vertical_field_select; + unsigned char dct_type; + short PMV[2][2][2]; + unsigned int index; + unsigned short coded_block_pattern; + unsigned short pad0; +} XvMCMacroBlock; + + +typedef struct { + unsigned int num_blocks; + XID context_id; + void *privData; + XvMCMacroBlock *macro_blocks; +} XvMCMacroBlockArray; + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/XvMCproto.h b/ThirdParty/X11/Include/X11/extensions/XvMCproto.h new file mode 100644 index 0000000..43ec688 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/XvMCproto.h @@ -0,0 +1,226 @@ +#ifndef _XVMCPROTO_H_ +#define _XVMCPROTO_H_ + +#define xvmc_QueryVersion 0 +#define xvmc_ListSurfaceTypes 1 +#define xvmc_CreateContext 2 +#define xvmc_DestroyContext 3 +#define xvmc_CreateSurface 4 +#define xvmc_DestroySurface 5 +#define xvmc_CreateSubpicture 6 +#define xvmc_DestroySubpicture 7 +#define xvmc_ListSubpictureTypes 8 +#define xvmc_GetDRInfo 9 +#define xvmc_LastRequest xvmc_GetDRInfo + +#define xvmcNumRequest (xvmc_LastRequest + 1) + + +typedef struct { + CARD32 surface_type_id B32; + CARD16 chroma_format B16; + CARD16 pad0 B16; + CARD16 max_width B16; + CARD16 max_height B16; + CARD16 subpicture_max_width B16; + CARD16 subpicture_max_height B16; + CARD32 mc_type B32; + CARD32 flags B32; +} xvmcSurfaceInfo; +#define sz_xvmcSurfaceInfo 24; + +typedef struct { + CARD8 reqType; + CARD8 xvmcReqType; + CARD16 length B16; +} xvmcQueryVersionReq; +#define sz_xvmcQueryVersionReq 4; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE padb1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 major B32; + CARD32 minor B32; + CARD32 padl4 B32; + CARD32 padl5 B32; + CARD32 padl6 B32; + CARD32 padl7 B32; +} xvmcQueryVersionReply; +#define sz_xvmcQueryVersionReply 32 + +typedef struct { + CARD8 reqType; + CARD8 xvmcReqType; + CARD16 length B16; + CARD32 port B32; +} xvmcListSurfaceTypesReq; +#define sz_xvmcListSurfaceTypesReq 8; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE padb1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 num B32; + CARD32 padl3 B32; + CARD32 padl4 B32; + CARD32 padl5 B32; + CARD32 padl6 B32; + CARD32 padl7 B32; +} xvmcListSurfaceTypesReply; +#define sz_xvmcListSurfaceTypesReply 32 + +typedef struct { + CARD8 reqType; + CARD8 xvmcReqType; + CARD16 length B16; + CARD32 context_id B32; + CARD32 port B32; + CARD32 surface_type_id B32; + CARD16 width B16; + CARD16 height B16; + CARD32 flags B32; +} xvmcCreateContextReq; +#define sz_xvmcCreateContextReq 24; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE padb1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 width_actual B16; + CARD16 height_actual B16; + CARD32 flags_return B32; + CARD32 padl4 B32; + CARD32 padl5 B32; + CARD32 padl6 B32; + CARD32 padl7 B32; +} xvmcCreateContextReply; +#define sz_xvmcCreateContextReply 32 + +typedef struct { + CARD8 reqType; + CARD8 xvmcReqType; + CARD16 length B16; + CARD32 context_id B32; +} xvmcDestroyContextReq; +#define sz_xvmcDestroyContextReq 8; + +typedef struct { + CARD8 reqType; + CARD8 xvmcReqType; + CARD16 length B16; + CARD32 surface_id B32; + CARD32 context_id B32; +} xvmcCreateSurfaceReq; +#define sz_xvmcCreateSurfaceReq 12; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE padb1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 padl2 B32; + CARD32 padl3 B32; + CARD32 padl4 B32; + CARD32 padl5 B32; + CARD32 padl6 B32; + CARD32 padl7 B32; +} xvmcCreateSurfaceReply; +#define sz_xvmcCreateSurfaceReply 32 + +typedef struct { + CARD8 reqType; + CARD8 xvmcReqType; + CARD16 length B16; + CARD32 surface_id B32; +} xvmcDestroySurfaceReq; +#define sz_xvmcDestroySurfaceReq 8; + + +typedef struct { + CARD8 reqType; + CARD8 xvmcReqType; + CARD16 length B16; + CARD32 subpicture_id B32; + CARD32 context_id B32; + CARD32 xvimage_id B32; + CARD16 width B16; + CARD16 height B16; +} xvmcCreateSubpictureReq; +#define sz_xvmcCreateSubpictureReq 20; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE padb1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 width_actual B16; + CARD16 height_actual B16; + CARD16 num_palette_entries B16; + CARD16 entry_bytes B16; + CARD8 component_order[4]; + CARD32 padl5 B32; + CARD32 padl6 B32; + CARD32 padl7 B32; +} xvmcCreateSubpictureReply; +#define sz_xvmcCreateSubpictureReply 32 + +typedef struct { + CARD8 reqType; + CARD8 xvmcReqType; + CARD16 length B16; + CARD32 subpicture_id B32; +} xvmcDestroySubpictureReq; +#define sz_xvmcDestroySubpictureReq 8; + +typedef struct { + CARD8 reqType; + CARD8 xvmcReqType; + CARD16 length B16; + CARD32 port B32; + CARD32 surface_type_id B32; +} xvmcListSubpictureTypesReq; +#define sz_xvmcListSubpictureTypesReq 12; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE padb1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 num B32; + CARD32 padl2 B32; + CARD32 padl3 B32; + CARD32 padl4 B32; + CARD32 padl5 B32; + CARD32 padl6 B32; +} xvmcListSubpictureTypesReply; +#define sz_xvmcListSubpictureTypesReply 32 + +typedef struct { + CARD8 reqType; + CARD8 xvmcReqType; + CARD16 length B16; + CARD32 port B32; + CARD32 shmKey B32; + CARD32 magic B32; +} xvmcGetDRInfoReq; +#define sz_xvmcGetDRInfoReq 16; + +typedef struct { + BYTE type; /* X_Reply */ + BYTE padb1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 major B32; + CARD32 minor B32; + CARD32 patchLevel B32; + CARD32 nameLen B32; + CARD32 busIDLen B32; + CARD32 isLocal B32; +} xvmcGetDRInfoReply; +#define sz_xvmcGetDRInfoReply 32 + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/Xvlib.h b/ThirdParty/X11/Include/X11/extensions/Xvlib.h new file mode 100644 index 0000000..32b98bf --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/Xvlib.h @@ -0,0 +1,382 @@ +/*********************************************************** +Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts, +and the Massachusetts Institute of Technology, Cambridge, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the names of Digital or MIT not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef XVLIB_H +#define XVLIB_H +/* +** File: +** +** Xvlib.h --- Xv library public header file +** +** Author: +** +** David Carver (Digital Workstation Engineering/Project Athena) +** +** Revisions: +** +** 26.06.91 Carver +** - changed XvFreeAdaptors to XvFreeAdaptorInfo +** - changed XvFreeEncodings to XvFreeEncodingInfo +** +** 11.06.91 Carver +** - changed SetPortControl to SetPortAttribute +** - changed GetPortControl to GetPortAttribute +** - changed QueryBestSize +** +** 05.15.91 Carver +** - version 2.0 upgrade +** +** 01.24.91 Carver +** - version 1.4 upgrade +** +*/ + +#include <X11/Xfuncproto.h> +#include <X11/extensions/Xv.h> +#include <X11/extensions/XShm.h> + +typedef struct { + int numerator; + int denominator; +} XvRational; + +typedef struct { + int flags; /* XvGettable, XvSettable */ + int min_value; + int max_value; + char *name; +} XvAttribute; + +typedef struct { + XvEncodingID encoding_id; + char *name; + unsigned long width; + unsigned long height; + XvRational rate; + unsigned long num_encodings; +} XvEncodingInfo; + +typedef struct { + char depth; + unsigned long visual_id; +} XvFormat; + +typedef struct { + XvPortID base_id; + unsigned long num_ports; + char type; + char *name; + unsigned long num_formats; + XvFormat *formats; + unsigned long num_adaptors; +} XvAdaptorInfo; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Drawable drawable; /* drawable */ + unsigned long reason; /* what generated this event */ + XvPortID port_id; /* what port */ + Time time; /* milliseconds */ +} XvVideoNotifyEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + XvPortID port_id; /* what port */ + Time time; /* milliseconds */ + Atom attribute; /* atom that identifies attribute */ + long value; /* value of attribute */ +} XvPortNotifyEvent; + +typedef union { + int type; + XvVideoNotifyEvent xvvideo; + XvPortNotifyEvent xvport; + long pad[24]; +} XvEvent; + +typedef struct { + int id; /* Unique descriptor for the format */ + int type; /* XvRGB, XvYUV */ + int byte_order; /* LSBFirst, MSBFirst */ + char guid[16]; /* Globally Unique IDentifier */ + int bits_per_pixel; + int format; /* XvPacked, XvPlanar */ + int num_planes; + + /* for RGB formats only */ + int depth; + unsigned int red_mask; + unsigned int green_mask; + unsigned int blue_mask; + + /* for YUV formats only */ + unsigned int y_sample_bits; + unsigned int u_sample_bits; + unsigned int v_sample_bits; + unsigned int horz_y_period; + unsigned int horz_u_period; + unsigned int horz_v_period; + unsigned int vert_y_period; + unsigned int vert_u_period; + unsigned int vert_v_period; + char component_order[32]; /* eg. UYVY */ + int scanline_order; /* XvTopToBottom, XvBottomToTop */ +} XvImageFormatValues; + +typedef struct { + int id; + int width, height; + int data_size; /* bytes */ + int num_planes; + int *pitches; /* bytes */ + int *offsets; /* bytes */ + char *data; + XPointer obdata; +} XvImage; + +_XFUNCPROTOBEGIN + +extern int XvQueryExtension( + Display * /* display */, + unsigned int * /* p_version */, + unsigned int * /* p_revision */, + unsigned int * /* p_requestBase */, + unsigned int * /* p_eventBase */, + unsigned int * /* p_errorBase */ +); + +extern int XvQueryAdaptors( + Display * /* display */, + Window /* window */, + unsigned int * /* p_nAdaptors */, + XvAdaptorInfo ** /* p_pAdaptors */ +); + +extern int XvQueryEncodings( + Display * /* display */, + XvPortID /* port */, + unsigned int * /* p_nEncoding */, + XvEncodingInfo ** /* p_pEncoding */ +); + +extern int XvPutVideo( + Display * /* display */, + XvPortID /* port */, + Drawable /* d */, + GC /* gc */, + int /* vx */, + int /* vy */, + unsigned int /* vw */, + unsigned int /* vh */, + int /* dx */, + int /* dy */, + unsigned int /* dw */, + unsigned int /* dh */ +); + +extern int XvPutStill( + Display * /* display */, + XvPortID /* port */, + Drawable /* d */, + GC /* gc */, + int /* vx */, + int /* vy */, + unsigned int /* vw */, + unsigned int /* vh */, + int /* dx */, + int /* dy */, + unsigned int /* dw */, + unsigned int /* dh */ +); + +extern int XvGetVideo( + Display * /* display */, + XvPortID /* port */, + Drawable /* d */, + GC /* gc */, + int /* vx */, + int /* vy */, + unsigned int /* vw */, + unsigned int /* vh */, + int /* dx */, + int /* dy */, + unsigned int /* dw */, + unsigned int /* dh */ +); + +extern int XvGetStill( + Display * /* display */, + XvPortID /* port */, + Drawable /* d */, + GC /* gc */, + int /* vx */, + int /* vy */, + unsigned int /* vw */, + unsigned int /* vh */, + int /* dx */, + int /* dy */, + unsigned int /* dw */, + unsigned int /* dh */ +); + +extern int XvStopVideo( + Display * /* display */, + XvPortID /* port */, + Drawable /* drawable */ +); + +extern int XvGrabPort( + Display * /* display */, + XvPortID /* port */, + Time /* time */ +); + +extern int XvUngrabPort( + Display * /* display */, + XvPortID /* port */, + Time /* time */ +); + +extern int XvSelectVideoNotify( + Display * /* display */, + Drawable /* drawable */, + Bool /* onoff */ +); + +extern int XvSelectPortNotify( + Display * /* display */, + XvPortID /* port */, + Bool /* onoff */ +); + +extern int XvSetPortAttribute( + Display * /* display */, + XvPortID /* port */, + Atom /* attribute */, + int /* value */ +); + +extern int XvGetPortAttribute( + Display * /* display */, + XvPortID /* port */, + Atom /* attribute */, + int * /* p_value */ +); + +extern int XvQueryBestSize( + Display * /* display */, + XvPortID /* port */, + Bool /* motion */, + unsigned int /* vid_w */, + unsigned int /* vid_h */, + unsigned int /* drw_w */, + unsigned int /* drw_h */, + unsigned int * /* p_actual_width */, + unsigned int * /* p_actual_width */ +); + +extern XvAttribute *XvQueryPortAttributes( + Display * /* display */, + XvPortID /* port */, + int * /* number */ +); + + +extern void XvFreeAdaptorInfo( + XvAdaptorInfo * /* adaptors */ +); + +extern void XvFreeEncodingInfo( + XvEncodingInfo * /* encodings */ +); + + +extern XvImageFormatValues *XvListImageFormats ( + Display *display, + XvPortID port_id, + int *count_return +); + +extern XvImage *XvCreateImage ( + Display *display, + XvPortID port, + int id, + char *data, + int width, + int height +); + +extern int XvPutImage ( + Display *display, + XvPortID id, + Drawable d, + GC gc, + XvImage *image, + int src_x, + int src_y, + unsigned int src_w, + unsigned int src_h, + int dest_x, + int dest_y, + unsigned int dest_w, + unsigned int dest_h +); + +extern int XvShmPutImage ( + Display *display, + XvPortID id, + Drawable d, + GC gc, + XvImage *image, + int src_x, + int src_y, + unsigned int src_w, + unsigned int src_h, + int dest_x, + int dest_y, + unsigned int dest_w, + unsigned int dest_h, + Bool send_event +); + +extern XvImage *XvShmCreateImage ( + Display *display, + XvPortID port, + int id, + char *data, + int width, + int height, + XShmSegmentInfo *shminfo +); + + +_XFUNCPROTOEND + +#endif /* XVLIB_H */ diff --git a/ThirdParty/X11/Include/X11/extensions/Xvproto.h b/ThirdParty/X11/Include/X11/extensions/Xvproto.h new file mode 100644 index 0000000..94bd9cc --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/Xvproto.h @@ -0,0 +1,603 @@ +/*********************************************************** +Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts, +and the Massachusetts Institute of Technology, Cambridge, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the names of Digital or MIT not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef XVPROTO_H +#define XVPROTO_H +/* +** File: +** +** Xvproto.h --- Xv protocol header file +** +** Author: +** +** David Carver (Digital Workstation Engineering/Project Athena) +** +** Revisions: +** +** 11.06.91 Carver +** - changed SetPortControl to SetPortAttribute +** - changed GetPortControl to GetPortAttribute +** - changed QueryBestSize +** +** 15.05.91 Carver +** - version 2.0 upgrade +** +** 24.01.91 Carver +** - version 1.4 upgrade +** +*/ + +#include <X11/Xmd.h> + +/* Symbols: These are undefined at the end of this file to restore the + values they have in Xv.h */ + +#define XvPortID CARD32 +#define XvEncodingID CARD32 +#define ShmSeg CARD32 +#define VisualID CARD32 +#define Drawable CARD32 +#define GContext CARD32 +#define Time CARD32 +#define Atom CARD32 + +/* Structures */ + +typedef struct { + INT32 numerator B32; + INT32 denominator B32; +} xvRational; +#define sz_xvRational 8 + +typedef struct { + XvPortID base_id B32; + CARD16 name_size B16; + CARD16 num_ports B16; + CARD16 num_formats B16; + CARD8 type; + CARD8 pad; +} xvAdaptorInfo; +#define sz_xvAdaptorInfo 12 + +typedef struct { + XvEncodingID encoding B32; + CARD16 name_size B16; + CARD16 width B16, height B16; + CARD16 pad B16; + xvRational rate; +} xvEncodingInfo; +#define sz_xvEncodingInfo (12 + sz_xvRational) + +typedef struct { + VisualID visual B32; + CARD8 depth; + CARD8 pad1; + CARD16 pad2 B16; +} xvFormat; +#define sz_xvFormat 8 + +typedef struct { + CARD32 flags B32; + INT32 min B32; + INT32 max B32; + CARD32 size B32; +} xvAttributeInfo; +#define sz_xvAttributeInfo 16 + +typedef struct { + CARD32 id B32; + CARD8 type; + CARD8 byte_order; + CARD16 pad1 B16; + CARD8 guid[16]; + CARD8 bpp; + CARD8 num_planes; + CARD16 pad2 B16; + CARD8 depth; + CARD8 pad3; + CARD16 pad4 B16; + CARD32 red_mask B32; + CARD32 green_mask B32; + CARD32 blue_mask B32; + CARD8 format; + CARD8 pad5; + CARD16 pad6 B16; + CARD32 y_sample_bits B32; + CARD32 u_sample_bits B32; + CARD32 v_sample_bits B32; + CARD32 horz_y_period B32; + CARD32 horz_u_period B32; + CARD32 horz_v_period B32; + CARD32 vert_y_period B32; + CARD32 vert_u_period B32; + CARD32 vert_v_period B32; + CARD8 comp_order[32]; + CARD8 scanline_order; + CARD8 pad7; + CARD16 pad8 B16; + CARD32 pad9 B32; + CARD32 pad10 B32; +} xvImageFormatInfo; +#define sz_xvImageFormatInfo 128 + + +/* Requests */ + +#define xv_QueryExtension 0 +#define xv_QueryAdaptors 1 +#define xv_QueryEncodings 2 +#define xv_GrabPort 3 +#define xv_UngrabPort 4 +#define xv_PutVideo 5 +#define xv_PutStill 6 +#define xv_GetVideo 7 +#define xv_GetStill 8 +#define xv_StopVideo 9 +#define xv_SelectVideoNotify 10 +#define xv_SelectPortNotify 11 +#define xv_QueryBestSize 12 +#define xv_SetPortAttribute 13 +#define xv_GetPortAttribute 14 +#define xv_QueryPortAttributes 15 +#define xv_ListImageFormats 16 +#define xv_QueryImageAttributes 17 +#define xv_PutImage 18 +#define xv_ShmPutImage 19 +#define xv_LastRequest xv_ShmPutImage + +#define xvNumRequests (xv_LastRequest + 1) + +typedef struct { + CARD8 reqType; + CARD8 xvReqType; + CARD16 length B16; +} xvQueryExtensionReq; +#define sz_xvQueryExtensionReq 4 + +typedef struct { + CARD8 reqType; + CARD8 xvReqType; + CARD16 length B16; + CARD32 window B32; +} xvQueryAdaptorsReq; +#define sz_xvQueryAdaptorsReq 8 + +typedef struct { + CARD8 reqType; + CARD8 xvReqType; + CARD16 length B16; + CARD32 port B32; +} xvQueryEncodingsReq; +#define sz_xvQueryEncodingsReq 8 + +typedef struct { + CARD8 reqType; + CARD8 xvReqType; + CARD16 length B16; + XvPortID port B32; + Drawable drawable B32; + GContext gc B32; + INT16 vid_x B16; + INT16 vid_y B16; + CARD16 vid_w B16; + CARD16 vid_h B16; + INT16 drw_x B16; + INT16 drw_y B16; + CARD16 drw_w B16; + CARD16 drw_h B16; +} xvPutVideoReq; +#define sz_xvPutVideoReq 32 + +typedef struct { + CARD8 reqType; + CARD8 xvReqType; + CARD16 length B16; + XvPortID port B32; + Drawable drawable B32; + GContext gc B32; + INT16 vid_x B16; + INT16 vid_y B16; + CARD16 vid_w B16; + CARD16 vid_h B16; + INT16 drw_x B16; + INT16 drw_y B16; + CARD16 drw_w B16; + CARD16 drw_h B16; +} xvPutStillReq; +#define sz_xvPutStillReq 32 + +typedef struct { + CARD8 reqType; + CARD8 xvReqType; + CARD16 length B16; + XvPortID port B32; + Drawable drawable B32; + GContext gc B32; + INT16 vid_x B16; + INT16 vid_y B16; + CARD16 vid_w B16; + CARD16 vid_h B16; + INT16 drw_x B16; + INT16 drw_y B16; + CARD16 drw_w B16; + CARD16 drw_h B16; +} xvGetVideoReq; +#define sz_xvGetVideoReq 32 + +typedef struct { + CARD8 reqType; + CARD8 xvReqType; + CARD16 length B16; + XvPortID port B32; + Drawable drawable B32; + GContext gc B32; + INT16 vid_x B16; + INT16 vid_y B16; + CARD16 vid_w B16; + CARD16 vid_h B16; + INT16 drw_x B16; + INT16 drw_y B16; + CARD16 drw_w B16; + CARD16 drw_h B16; +} xvGetStillReq; +#define sz_xvGetStillReq 32 + +typedef struct { + CARD8 reqType; + CARD8 xvReqType; + CARD16 length B16; + XvPortID port B32; + Time time B32; +} xvGrabPortReq; +#define sz_xvGrabPortReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xvReqType; + CARD16 length B16; + XvPortID port B32; + Time time B32; +} xvUngrabPortReq; +#define sz_xvUngrabPortReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xvReqType; + CARD16 length B16; + Drawable drawable B32; + BOOL onoff; + CARD8 pad1; + CARD16 pad2; +} xvSelectVideoNotifyReq; +#define sz_xvSelectVideoNotifyReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xvReqType; + CARD16 length B16; + XvPortID port B32; + BOOL onoff; + CARD8 pad1; + CARD16 pad2; +} xvSelectPortNotifyReq; +#define sz_xvSelectPortNotifyReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xvReqType; + CARD16 length B16; + XvPortID port B32; + Drawable drawable B32; +} xvStopVideoReq; +#define sz_xvStopVideoReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xvReqType; + CARD16 length B16; + XvPortID port B32; + Atom attribute B32; + INT32 value B32; +} xvSetPortAttributeReq; +#define sz_xvSetPortAttributeReq 16 + +typedef struct { + CARD8 reqType; + CARD8 xvReqType; + CARD16 length B16; + XvPortID port B32; + Atom attribute B32; +} xvGetPortAttributeReq; +#define sz_xvGetPortAttributeReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xvReqType; + CARD16 length B16; + XvPortID port B32; + CARD16 vid_w B16; + CARD16 vid_h B16; + CARD16 drw_w B16; + CARD16 drw_h B16; + CARD8 motion; + CARD8 pad1; + CARD16 pad2 B16; +} xvQueryBestSizeReq; +#define sz_xvQueryBestSizeReq 20 + +typedef struct { + CARD8 reqType; + CARD8 xvReqType; + CARD16 length B16; + XvPortID port B32; +} xvQueryPortAttributesReq; +#define sz_xvQueryPortAttributesReq 8 + +typedef struct { + CARD8 reqType; + CARD8 xvReqType; + CARD16 length B16; + XvPortID port B32; + Drawable drawable B32; + GContext gc B32; + CARD32 id B32; + INT16 src_x B16; + INT16 src_y B16; + CARD16 src_w B16; + CARD16 src_h B16; + INT16 drw_x B16; + INT16 drw_y B16; + CARD16 drw_w B16; + CARD16 drw_h B16; + CARD16 width B16; + CARD16 height B16; +} xvPutImageReq; +#define sz_xvPutImageReq 40 + +typedef struct { + CARD8 reqType; + CARD8 xvReqType; + CARD16 length B16; + XvPortID port B32; + Drawable drawable B32; + GContext gc B32; + ShmSeg shmseg B32; + CARD32 id B32; + CARD32 offset B32; + INT16 src_x B16; + INT16 src_y B16; + CARD16 src_w B16; + CARD16 src_h B16; + INT16 drw_x B16; + INT16 drw_y B16; + CARD16 drw_w B16; + CARD16 drw_h B16; + CARD16 width B16; + CARD16 height B16; + CARD8 send_event; + CARD8 pad1; + CARD16 pad2 B16; +} xvShmPutImageReq; +#define sz_xvShmPutImageReq 52 + +typedef struct { + CARD8 reqType; + CARD8 xvReqType; + CARD16 length B16; + XvPortID port B32; +} xvListImageFormatsReq; +#define sz_xvListImageFormatsReq 8 + +typedef struct { + CARD8 reqType; + CARD8 xvReqType; + CARD16 length B16; + CARD32 port B32; + CARD32 id B32; + CARD16 width B16; + CARD16 height B16; +} xvQueryImageAttributesReq; +#define sz_xvQueryImageAttributesReq 16 + + +/* Replies */ + +typedef struct _QueryExtensionReply { + BYTE type; /* X_Reply */ + CARD8 padb1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 version B16; + CARD16 revision B16; + CARD32 padl4 B32; + CARD32 padl5 B32; + CARD32 padl6 B32; + CARD32 padl7 B32; + CARD32 padl8 B32; +} xvQueryExtensionReply; +#define sz_xvQueryExtensionReply 32 + +typedef struct _QueryAdaptorsReply { + BYTE type; /* X_Reply */ + CARD8 padb1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 num_adaptors B16; + CARD16 pads3 B16; + CARD32 padl4 B32; + CARD32 padl5 B32; + CARD32 padl6 B32; + CARD32 padl7 B32; + CARD32 padl8 B32; +} xvQueryAdaptorsReply; +#define sz_xvQueryAdaptorsReply 32 + +typedef struct _QueryEncodingsReply { + BYTE type; /* X_Reply */ + CARD8 padb1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 num_encodings B16; + CARD16 padl3 B16; + CARD32 padl4 B32; + CARD32 padl5 B32; + CARD32 padl6 B32; + CARD32 padl7 B32; + CARD32 padl8 B32; +} xvQueryEncodingsReply; +#define sz_xvQueryEncodingsReply 32 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE result; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + CARD32 padl3 B32; + CARD32 padl4 B32; + CARD32 padl5 B32; + CARD32 padl6 B32; + CARD32 padl7 B32; + CARD32 padl8 B32; +} xvGrabPortReply; +#define sz_xvGrabPortReply 32 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE padb1; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + INT32 value B32; + CARD32 padl4 B32; + CARD32 padl5 B32; + CARD32 padl6 B32; + CARD32 padl7 B32; + CARD32 padl8 B32; +} xvGetPortAttributeReply; +#define sz_xvGetPortAttributeReply 32 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE padb1; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + CARD16 actual_width B16; + CARD16 actual_height B16; + CARD32 padl4 B32; + CARD32 padl5 B32; + CARD32 padl6 B32; + CARD32 padl7 B32; + CARD32 padl8 B32; +} xvQueryBestSizeReply; +#define sz_xvQueryBestSizeReply 32 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE padb1; + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + CARD32 num_attributes B32; + CARD32 text_size B32; + CARD32 padl5 B32; + CARD32 padl6 B32; + CARD32 padl7 B32; + CARD32 padl8 B32; +} xvQueryPortAttributesReply; +#define sz_xvQueryPortAttributesReply 32 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE padb1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 num_formats B32; + CARD32 padl4 B32; + CARD32 padl5 B32; + CARD32 padl6 B32; + CARD32 padl7 B32; + CARD32 padl8 B32; +} xvListImageFormatsReply; +#define sz_xvListImageFormatsReply 32 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE padb1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 num_planes B32; + CARD32 data_size B32; + CARD16 width B16; + CARD16 height B16; + CARD32 padl6 B32; + CARD32 padl7 B32; + CARD32 padl8 B32; +} xvQueryImageAttributesReply; +#define sz_xvQueryImageAttributesReply 32 + +/* DEFINE EVENT STRUCTURE */ + +typedef struct { + union { + struct { + BYTE type; + BYTE detail; + CARD16 sequenceNumber B16; + } u; + struct { + BYTE type; + BYTE reason; + CARD16 sequenceNumber B16; + Time time B32; + Drawable drawable B32; + XvPortID port B32; + CARD32 padl5 B32; + CARD32 padl6 B32; + CARD32 padl7 B32; + CARD32 padl8 B32; + } videoNotify; + struct { + BYTE type; + BYTE padb1; + CARD16 sequenceNumber B16; + Time time B32; + XvPortID port B32; + Atom attribute B32; + INT32 value B32; + CARD32 padl6 B32; + CARD32 padl7 B32; + CARD32 padl8 B32; + } portNotify; + } u; +} xvEvent; + +#undef XvPortID +#undef XvEncodingID +#undef ShmSeg +#undef VisualID +#undef Drawable +#undef GContext +#undef Time +#undef Atom + +#endif /* XVPROTO_H */ + diff --git a/ThirdParty/X11/Include/X11/extensions/ag.h b/ThirdParty/X11/Include/X11/extensions/ag.h new file mode 100644 index 0000000..be5883a --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/ag.h @@ -0,0 +1,52 @@ +/* +Copyright 1996, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. +*/ + +#ifndef _AG_H_ +#define _AG_H_ + +#define XAGNAME "XC-APPGROUP" + +#define XAG_MAJOR_VERSION 1 /* current version numbers */ +#define XAG_MINOR_VERSION 0 + +#define XagWindowTypeX11 0 +#define XagWindowTypeMacintosh 1 +#define XagWindowTypeWin32 2 +#define XagWindowTypeWin16 3 + +#define XagBadAppGroup 0 +#define XagNumberErrors (XagBadAppGroup + 1) + +#define XagNsingleScreen 7 +#define XagNdefaultRoot 1 +#define XagNrootVisual 2 +#define XagNdefaultColormap 3 +#define XagNblackPixel 4 +#define XagNwhitePixel 5 +#define XagNappGroupLeader 6 + +#endif /* _AG_H_ */ + diff --git a/ThirdParty/X11/Include/X11/extensions/agproto.h b/ThirdParty/X11/Include/X11/extensions/agproto.h new file mode 100644 index 0000000..1086661 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/agproto.h @@ -0,0 +1,178 @@ +/* +Copyright 1996, 1998, 2001 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. +*/ + +#ifndef _AGPROTO_H_ /* { */ +#define _AGPROTO_H_ + +#include <X11/extensions/ag.h> + +#define X_XagQueryVersion 0 +#define X_XagCreate 1 +#define X_XagDestroy 2 +#define X_XagGetAttr 3 +#define X_XagQuery 4 +#define X_XagCreateAssoc 5 +#define X_XagDestroyAssoc 6 + +#define XAppGroup CARD32 + +/* +* Redefine some basic types used by structures defined herein. This allows +* both the library and server to view communicated data as 32-bit entities, +* thus preventing problems on 64-bit architectures where libXext sees this +* data as 64 bits and the server sees it as 32 bits. +*/ + +#define Colormap CARD32 +#define VisualID CARD32 +#define Window CARD32 + +typedef struct _XagQueryVersion { + CARD8 reqType; /* always XagReqCode */ + CARD8 xagReqType; /* always X_XagQueryVersion */ + CARD16 length B16; + CARD16 client_major_version B16; + CARD16 client_minor_version B16; +} xXagQueryVersionReq; +#define sz_xXagQueryVersionReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequence_number B16; + CARD32 length B32; + CARD16 server_major_version B16; + CARD16 server_minor_version B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXagQueryVersionReply; +#define sz_xXagQueryVersionReply 32 + +/* Set AppGroup Attributes masks */ +#define XagSingleScreenMask 1 << 0 +#define XagDefaultRootMask 1 << XagNdefaultRoot +#define XagRootVisualMask 1 << XagNrootVisual +#define XagDefaultColormapMask 1 << XagNdefaultColormap +#define XagBlackPixelMask 1 << XagNblackPixel +#define XagWhitePixelMask 1 << XagNwhitePixel +#define XagAppGroupLeaderMask 1 << XagNappGroupLeader + +typedef struct _XagCreate { + CARD8 reqType; /* always XagReqCode */ + CARD8 xagReqType; /* always X_XagCreate */ + CARD16 length B16; + XAppGroup app_group B32; + CARD32 attrib_mask B32; /* LISTofVALUE follows */ +} xXagCreateReq; +#define sz_xXagCreateReq 12 + +typedef struct _XagDestroy { + CARD8 reqType; /* always XagReqCode */ + CARD8 xagReqType; /* always X_XagDestroy */ + CARD16 length B16; + XAppGroup app_group B32; +} xXagDestroyReq; +#define sz_xXagDestroyReq 8 + +typedef struct _XagGetAttr { + CARD8 reqType; /* always XagReqCode */ + CARD8 xagReqType; /* always X_XagGetAttr */ + CARD16 length B16; + XAppGroup app_group B32; +} xXagGetAttrReq; +#define sz_xXagGetAttrReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequence_number B16; + CARD32 length B32; + Window default_root B32; + VisualID root_visual B32; + Colormap default_colormap B32; + CARD32 black_pixel B32; + CARD32 white_pixel B32; + BOOL single_screen; + BOOL app_group_leader; + CARD16 pad2 B16; +} xXagGetAttrReply; +#define sz_xXagGetAttrReply 32 + +typedef struct _XagQuery { + CARD8 reqType; /* always XagReqCode */ + CARD8 xagReqType; /* always X_XagQuery */ + CARD16 length B16; + CARD32 resource B32; +} xXagQueryReq; +#define sz_xXagQueryReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequence_number B16; + CARD32 length B32; + XAppGroup app_group B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXagQueryReply; +#define sz_xXagQueryReply 32 + +typedef struct _XagCreateAssoc { + CARD8 reqType; /* always XagReqCode */ + CARD8 xagReqType; /* always X_XagCreateAssoc */ + CARD16 length B16; + Window window B32; + CARD16 window_type B16; + CARD16 system_window_len B16; /* LISTofCARD8 follows */ +} xXagCreateAssocReq; +#define sz_xXagCreateAssocReq 12 + +typedef struct _XagDestroyAssoc { + CARD8 reqType; /* always XagReqCode */ + CARD8 xagReqType; /* always X_XagDestroyAssoc */ + CARD16 length B16; + Window window B32; +} xXagDestroyAssocReq; +#define sz_xXagDestroyAssocReq 8 + +#undef XAppGroup +/* + * Cancel the previous redefinition of the basic types, thus restoring their + * X.h definitions. + */ + +#undef Window +#undef Colormap +#undef VisualID + +#endif /* } _AGPROTO_H_ */ + diff --git a/ThirdParty/X11/Include/X11/extensions/bigreqsproto.h b/ThirdParty/X11/Include/X11/extensions/bigreqsproto.h new file mode 100644 index 0000000..bd0f8e5 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/bigreqsproto.h @@ -0,0 +1,67 @@ +/* + +Copyright 1992, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _BIGREQSPROTO_H_ +#define _BIGREQSPROTO_H_ + +#define X_BigReqEnable 0 + +#define XBigReqNumberEvents 0 + +#define XBigReqNumberErrors 0 + +#define XBigReqExtensionName "BIG-REQUESTS" + +typedef struct { + CARD8 reqType; /* always XBigReqCode */ + CARD8 brReqType; /* always X_BigReqEnable */ + CARD16 length B16; +} xBigReqEnableReq; +#define sz_xBigReqEnableReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 max_request_size B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xBigReqEnableReply; +#define sz_xBigReqEnableReply 32 + + +typedef struct { + CARD8 reqType; + CARD8 data; + CARD16 zero B16; + CARD32 length B32; +} xBigReq; + +#endif /* _BIGREQSPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/bigreqstr.h b/ThirdParty/X11/Include/X11/extensions/bigreqstr.h new file mode 100644 index 0000000..0a023db --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/bigreqstr.h @@ -0,0 +1,3 @@ +#warning "bigreqstr.h is obsolete and may be removed in the future." +#warning "include <X11/extensions/bigreqsproto.h> for the protocol defines." +#include <X11/extensions/bigreqsproto.h> diff --git a/ThirdParty/X11/Include/X11/extensions/composite.h b/ThirdParty/X11/Include/X11/extensions/composite.h new file mode 100644 index 0000000..e460118 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/composite.h @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ +/* + * Copyright © 2003 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _COMPOSITE_H_ +#define _COMPOSITE_H_ + +#include <X11/extensions/xfixeswire.h> + +#define COMPOSITE_NAME "Composite" +#define COMPOSITE_MAJOR 0 +#define COMPOSITE_MINOR 4 + +#define CompositeRedirectAutomatic 0 +#define CompositeRedirectManual 1 + +#define X_CompositeQueryVersion 0 +#define X_CompositeRedirectWindow 1 +#define X_CompositeRedirectSubwindows 2 +#define X_CompositeUnredirectWindow 3 +#define X_CompositeUnredirectSubwindows 4 +#define X_CompositeCreateRegionFromBorderClip 5 +#define X_CompositeNameWindowPixmap 6 +#define X_CompositeGetOverlayWindow 7 +#define X_CompositeReleaseOverlayWindow 8 + +#define CompositeNumberRequests (X_CompositeReleaseOverlayWindow + 1) + +#define CompositeNumberEvents 0 + +#endif /* _COMPOSITE_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/compositeproto.h b/ThirdParty/X11/Include/X11/extensions/compositeproto.h new file mode 100644 index 0000000..0417f2c --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/compositeproto.h @@ -0,0 +1,192 @@ +/* + * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ +/* + * Copyright © 2003 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _COMPOSITEPROTO_H_ +#define _COMPOSITEPROTO_H_ + +#include <X11/Xmd.h> +#include <X11/extensions/composite.h> + +#define Window CARD32 +#define Region CARD32 +#define Pixmap CARD32 + +/* + * requests and replies + */ +typedef struct { + CARD8 reqType; + CARD8 compositeReqType; + CARD16 length B16; + CARD32 majorVersion B32; + CARD32 minorVersion B32; +} xCompositeQueryVersionReq; + +#define sz_xCompositeQueryVersionReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 majorVersion B32; + CARD32 minorVersion B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xCompositeQueryVersionReply; + +#define sz_xCompositeQueryVersionReply 32 + +typedef struct { + CARD8 reqType; + CARD8 compositeReqType; + CARD16 length B16; + Window window B32; + CARD8 update; + CARD8 pad1; + CARD16 pad2 B16; +} xCompositeRedirectWindowReq; + +#define sz_xCompositeRedirectWindowReq 12 + +typedef struct { + CARD8 reqType; + CARD8 compositeReqType; + CARD16 length B16; + Window window B32; + CARD8 update; + CARD8 pad1; + CARD16 pad2 B16; +} xCompositeRedirectSubwindowsReq; + +#define sz_xCompositeRedirectSubwindowsReq 12 + +typedef struct { + CARD8 reqType; + CARD8 compositeReqType; + CARD16 length B16; + Window window B32; + CARD8 update; + CARD8 pad1; + CARD16 pad2 B16; +} xCompositeUnredirectWindowReq; + +#define sz_xCompositeUnredirectWindowReq 12 + +typedef struct { + CARD8 reqType; + CARD8 compositeReqType; + CARD16 length B16; + Window window B32; + CARD8 update; + CARD8 pad1; + CARD16 pad2 B16; +} xCompositeUnredirectSubwindowsReq; + +#define sz_xCompositeUnredirectSubwindowsReq 12 + +typedef struct { + CARD8 reqType; + CARD8 compositeReqType; + CARD16 length B16; + Region region B32; + Window window B32; +} xCompositeCreateRegionFromBorderClipReq; + +#define sz_xCompositeCreateRegionFromBorderClipReq 12 + +/* Version 0.2 additions */ + +typedef struct { + CARD8 reqType; + CARD8 compositeReqType; + CARD16 length; + Window window B32; + Pixmap pixmap B32; +} xCompositeNameWindowPixmapReq; + +#define sz_xCompositeNameWindowPixmapReq 12 + +/* Version 0.3 additions */ + +typedef struct { + CARD8 reqType; + CARD8 compositeReqType; + CARD16 length B16; + Window window B32; +} xCompositeGetOverlayWindowReq; + +#define sz_xCompositeGetOverlayWindowReq sizeof(xCompositeGetOverlayWindowReq) + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + Window overlayWin B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xCompositeGetOverlayWindowReply; + +#define sz_xCompositeGetOverlayWindowReply sizeof(xCompositeGetOverlayWindowReply) + +typedef struct { + CARD8 reqType; + CARD8 compositeReqType; + CARD16 length B16; + Window window B32; +} xCompositeReleaseOverlayWindowReq; + +#define sz_xCompositeReleaseOverlayWindowReq sizeof(xCompositeReleaseOverlayWindowReq) + +#undef Window +#undef Region +#undef Pixmap + +#endif /* _COMPOSITEPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/cup.h b/ThirdParty/X11/Include/X11/extensions/cup.h new file mode 100644 index 0000000..cbbc34b --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/cup.h @@ -0,0 +1,38 @@ +/* + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _CUP_H_ +#define _CUP_H_ + +#define XCUPNAME "TOG-CUP" + +#define XCUP_MAJOR_VERSION 1 /* current version numbers */ +#define XCUP_MINOR_VERSION 0 + +#define XcupNumberErrors 0 + +#endif /* _CUP_H_ */ + diff --git a/ThirdParty/X11/Include/X11/extensions/cupproto.h b/ThirdParty/X11/Include/X11/extensions/cupproto.h new file mode 100644 index 0000000..f61c9f0 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/cupproto.h @@ -0,0 +1,105 @@ +/* + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _XCUPPROTO_H_ /* { */ +#define _XCUPPROTO_H_ + +#include <X11/extensions/cup.h> + +#define X_XcupQueryVersion 0 +#define X_XcupGetReservedColormapEntries 1 +#define X_XcupStoreColors 2 + +typedef struct _XcupQueryVersion { + CARD8 reqType; /* always XcupReqCode */ + CARD8 xcupReqType; /* always X_XcupQueryVersion */ + CARD16 length B16; + CARD16 client_major_version B16; + CARD16 client_minor_version B16; +} xXcupQueryVersionReq; +#define sz_xXcupQueryVersionReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequence_number B16; + CARD32 length B32; + CARD16 server_major_version B16; + CARD16 server_minor_version B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXcupQueryVersionReply; +#define sz_xXcupQueryVersionReply 32 + +typedef struct _XcupGetReservedColormapEntries { + CARD8 reqType; /* always XcupReqCode */ + CARD8 xcupReqType; /* always X_XcupGetReservedColormapEntries */ + CARD16 length B16; + CARD32 screen B32; +} xXcupGetReservedColormapEntriesReq; +#define sz_xXcupGetReservedColormapEntriesReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequence_number B16; + CARD32 length B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; +} xXcupGetReservedColormapEntriesReply; +#define sz_xXcupGetReservedColormapEntriesReply 32 + +typedef struct _XcupStoreColors { + CARD8 reqType; /* always XcupReqCode */ + CARD8 xcupReqType; /* always X_XcupStoreColors */ + CARD16 length B16; + CARD32 cmap B32; +} xXcupStoreColorsReq; +#define sz_xXcupStoreColorsReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequence_number B16; + CARD32 length B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; +} xXcupStoreColorsReply; +#define sz_xXcupStoreColorsReply 32 + +#endif /* } _XCUPPROTO_H_ */ + diff --git a/ThirdParty/X11/Include/X11/extensions/damageproto.h b/ThirdParty/X11/Include/X11/extensions/damageproto.h new file mode 100644 index 0000000..107e192 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/damageproto.h @@ -0,0 +1,158 @@ +/* + * Copyright © 2003 Keith Packard + * Copyright © 2007 Eric Anholt + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _DAMAGEPROTO_H_ +#define _DAMAGEPROTO_H_ + +#include <X11/Xmd.h> +#include <X11/extensions/xfixesproto.h> +#include <X11/extensions/damagewire.h> + +#define Window CARD32 +#define Drawable CARD32 +#define Font CARD32 +#define Pixmap CARD32 +#define Cursor CARD32 +#define Colormap CARD32 +#define GContext CARD32 +#define Atom CARD32 +#define VisualID CARD32 +#define Time CARD32 +#define KeyCode CARD8 +#define KeySym CARD32 +#define Picture CARD32 +#define Region CARD32 +#define Damage CARD32 + +/************** Version 0 ******************/ + +typedef struct { + CARD8 reqType; + CARD8 damageReqType; + CARD16 length B16; +} xDamageReq; + +/* + * requests and replies + */ + +typedef struct { + CARD8 reqType; + CARD8 damageReqType; + CARD16 length B16; + CARD32 majorVersion B32; + CARD32 minorVersion B32; +} xDamageQueryVersionReq; + +#define sz_xDamageQueryVersionReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 majorVersion B32; + CARD32 minorVersion B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xDamageQueryVersionReply; + +#define sz_xDamageQueryVersionReply 32 + +typedef struct { + CARD8 reqType; + CARD8 damageReqType; + CARD16 length B16; + Damage damage B32; + Drawable drawable B32; + CARD8 level; + CARD8 pad1; + CARD16 pad2 B16; +} xDamageCreateReq; + +#define sz_xDamageCreateReq 16 + +typedef struct { + CARD8 reqType; + CARD8 damageReqType; + CARD16 length B16; + Damage damage B32; +} xDamageDestroyReq; + +#define sz_xDamageDestroyReq 8 + +typedef struct { + CARD8 reqType; + CARD8 damageReqType; + CARD16 length B16; + Damage damage B32; + Region repair B32; + Region parts B32; +} xDamageSubtractReq; + +#define sz_xDamageSubtractReq 16 + +typedef struct { + CARD8 reqType; + CARD8 damageReqType; + CARD16 length B16; + Drawable drawable B32; + Region region B32; +} xDamageAddReq; + +#define sz_xDamageAddReq 12 + +/* Events */ + +#define DamageNotifyMore 0x80 + +typedef struct { + CARD8 type; + CARD8 level; + CARD16 sequenceNumber B16; + Drawable drawable B32; + Damage damage B32; + Time timestamp B32; + xRectangle area; + xRectangle geometry; +} xDamageNotifyEvent; + +#undef Damage +#undef Region +#undef Picture +#undef Window +#undef Drawable +#undef Font +#undef Pixmap +#undef Cursor +#undef Colormap +#undef GContext +#undef Atom +#undef VisualID +#undef Time +#undef KeyCode +#undef KeySym + +#endif /* _DAMAGEPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/damagewire.h b/ThirdParty/X11/Include/X11/extensions/damagewire.h new file mode 100644 index 0000000..d90a0dd --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/damagewire.h @@ -0,0 +1,56 @@ +/* + * Copyright © 2003 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _DAMAGEWIRE_H_ +#define _DAMAGEWIRE_H_ + +#define DAMAGE_NAME "DAMAGE" +#define DAMAGE_MAJOR 1 +#define DAMAGE_MINOR 1 + +/************* Version 1 ****************/ + +/* Constants */ +#define XDamageReportRawRectangles 0 +#define XDamageReportDeltaRectangles 1 +#define XDamageReportBoundingBox 2 +#define XDamageReportNonEmpty 3 + +/* Requests */ +#define X_DamageQueryVersion 0 +#define X_DamageCreate 1 +#define X_DamageDestroy 2 +#define X_DamageSubtract 3 +#define X_DamageAdd 4 + +#define XDamageNumberRequests (X_DamageAdd + 1) + +/* Events */ +#define XDamageNotify 0 + +#define XDamageNumberEvents (XDamageNotify + 1) + +/* Errors */ +#define BadDamage 0 +#define XDamageNumberErrors (BadDamage + 1) + +#endif /* _DAMAGEWIRE_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/dbe.h b/ThirdParty/X11/Include/X11/extensions/dbe.h new file mode 100644 index 0000000..7968552 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/dbe.h @@ -0,0 +1,57 @@ +/****************************************************************************** + * + * Copyright (c) 1994, 1995 Hewlett-Packard Company + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR + * THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * Except as contained in this notice, the name of the Hewlett-Packard + * Company shall not be used in advertising or otherwise to promote the + * sale, use or other dealings in this Software without prior written + * authorization from the Hewlett-Packard Company. + * + * Header file for Xlib-related DBE + * + *****************************************************************************/ + +#ifndef DBE_H +#define DBE_H + +/* Values for swap_action field of XdbeSwapInfo structure */ +#define XdbeUndefined 0 +#define XdbeBackground 1 +#define XdbeUntouched 2 +#define XdbeCopied 3 + +/* Errors */ +#define XdbeBadBuffer 0 + +#define DBE_PROTOCOL_NAME "DOUBLE-BUFFER" + +/* Current version numbers */ +#define DBE_MAJOR_VERSION 1 +#define DBE_MINOR_VERSION 0 + +/* Used when adding extension; also used in Xdbe macros */ +#define DbeNumberEvents 0 +#define DbeBadBuffer 0 +#define DbeNumberErrors (DbeBadBuffer + 1) + +#endif /* DBE_H */ + diff --git a/ThirdParty/X11/Include/X11/extensions/dbeproto.h b/ThirdParty/X11/Include/X11/extensions/dbeproto.h new file mode 100644 index 0000000..784926e --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/dbeproto.h @@ -0,0 +1,224 @@ +/****************************************************************************** + * + * Copyright (c) 1994, 1995 Hewlett-Packard Company + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR + * THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * Except as contained in this notice, the name of the Hewlett-Packard + * Company shall not be used in advertising or otherwise to promote the + * sale, use or other dealings in this Software without prior written + * authorization from the Hewlett-Packard Company. + * + * Header file for Xlib-related DBE + * + *****************************************************************************/ + +#ifndef DBE_PROTO_H +#define DBE_PROTO_H + +#include <X11/extensions/dbe.h> + +/* Request values used in (S)ProcDbeDispatch() */ +#define X_DbeGetVersion 0 +#define X_DbeAllocateBackBufferName 1 +#define X_DbeDeallocateBackBufferName 2 +#define X_DbeSwapBuffers 3 +#define X_DbeBeginIdiom 4 +#define X_DbeEndIdiom 5 +#define X_DbeGetVisualInfo 6 +#define X_DbeGetBackBufferAttributes 7 + +typedef CARD8 xDbeSwapAction; +typedef CARD32 xDbeBackBuffer; + +/* TYPEDEFS */ + +/* Protocol data types */ + +typedef struct +{ + CARD32 window B32; /* window */ + xDbeSwapAction swapAction; /* swap action */ + CARD8 pad1; /* unused */ + CARD16 pad2 B16; + +} xDbeSwapInfo; + +typedef struct +{ + CARD32 visualID B32; /* associated visual */ + CARD8 depth; /* depth of visual */ + CARD8 perfLevel; /* performance level hint */ + CARD16 pad1 B16; + +} xDbeVisInfo; +#define sz_xDbeVisInfo 8 + +typedef struct +{ + CARD32 n B32; /* number of visual info items in list */ + +} xDbeScreenVisInfo; /* followed by n xDbeVisInfo items */ + +typedef struct +{ + CARD32 window B32; /* window */ + +} xDbeBufferAttributes; + + +/* Requests and replies */ + +typedef struct +{ + CARD8 reqType; /* major-opcode: always codes->major_opcode */ + CARD8 dbeReqType; /* minor-opcode: always X_DbeGetVersion (0) */ + CARD16 length B16; /* request length: (2) */ + CARD8 majorVersion; /* client-major-version */ + CARD8 minorVersion; /* client-minor-version */ + CARD16 unused B16; /* unused */ + +} xDbeGetVersionReq; +#define sz_xDbeGetVersionReq 8 + +typedef struct +{ + BYTE type; /* Reply: X_Reply (1) */ + CARD8 unused; /* unused */ + CARD16 sequenceNumber B16; /* sequence number */ + CARD32 length B32; /* reply length: (0) */ + CARD8 majorVersion; /* server-major-version */ + CARD8 minorVersion; /* server-minor-version */ + CARD16 pad1 B16; /* unused */ + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + +} xDbeGetVersionReply; +#define sz_xDbeGetVersionReply 32 + +typedef struct +{ + CARD8 reqType; /* major-opcode: codes->major_opcode */ + CARD8 dbeReqType; /* X_DbeAllocateBackBufferName (1) */ + CARD16 length B16; /* request length: (4) */ + CARD32 window B32; /* window */ + xDbeBackBuffer buffer B32; /* back buffer name */ + xDbeSwapAction swapAction; /* swap action hint */ + CARD8 pad1; /* unused */ + CARD16 pad2 B16; + +} xDbeAllocateBackBufferNameReq; +#define sz_xDbeAllocateBackBufferNameReq 16 + +typedef struct +{ + CARD8 reqType; /* major-opcode: codes->major_opcode */ + CARD8 dbeReqType; /* X_DbeDeallocateBackBufferName (2) */ + CARD16 length B16; /* request length: (2) */ + xDbeBackBuffer buffer B32; /* back buffer name */ + +} xDbeDeallocateBackBufferNameReq; +#define sz_xDbeDeallocateBackBufferNameReq 8 + +typedef struct +{ + CARD8 reqType; /* major-opcode: always codes->major_opcode */ + CARD8 dbeReqType; /* minor-opcode: always X_DbeSwapBuffers (3) */ + CARD16 length B16; /* request length: (2+2n) */ + CARD32 n B32; /* n, number of window/swap action pairs */ + +} xDbeSwapBuffersReq; /* followed by n window/swap action pairs */ +#define sz_xDbeSwapBuffersReq 8 + +typedef struct +{ + CARD8 reqType; /* major-opcode: always codes->major_opcode */ + CARD8 dbeReqType; /* minor-opcode: always X_DbeBeginIdom (4) */ + CARD16 length B16; /* request length: (1) */ + +} xDbeBeginIdiomReq; +#define sz_xDbeBeginIdiomReq 4 + +typedef struct +{ + CARD8 reqType; /* major-opcode: always codes->major_opcode */ + CARD8 dbeReqType; /* minor-opcode: always X_DbeEndIdom (5) */ + CARD16 length B16; /* request length: (1) */ + +} xDbeEndIdiomReq; +#define sz_xDbeEndIdiomReq 4 + +typedef struct +{ + CARD8 reqType; /* always codes->major_opcode */ + CARD8 dbeReqType; /* always X_DbeGetVisualInfo (6) */ + CARD16 length B16; /* request length: (2+n) */ + CARD32 n B32; /* n, number of drawables in list */ + +} xDbeGetVisualInfoReq; /* followed by n drawables */ +#define sz_xDbeGetVisualInfoReq 8 + +typedef struct +{ + BYTE type; /* Reply: X_Reply (1) */ + CARD8 unused; /* unused */ + CARD16 sequenceNumber B16; /* sequence number */ + CARD32 length B32; /* reply length */ + CARD32 m; /* m, number of visual infos in list */ + CARD32 pad1 B32; /* unused */ + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + +} xDbeGetVisualInfoReply; /* followed by m visual infos */ +#define sz_xDbeGetVisualInfoReply 32 + +typedef struct +{ + CARD8 reqType; /* always codes->major_opcode */ + CARD8 dbeReqType; /* X_DbeGetBackBufferAttributes (7) */ + CARD16 length B16; /* request length: (2) */ + xDbeBackBuffer buffer B32; /* back buffer name */ + +} xDbeGetBackBufferAttributesReq; +#define sz_xDbeGetBackBufferAttributesReq 8 + +typedef struct +{ + BYTE type; /* Reply: X_Reply (1) */ + CARD8 unused; /* unused */ + CARD16 sequenceNumber B16; /* sequence number */ + CARD32 length B32; /* reply length: (0) */ + CARD32 attributes; /* attributes */ + CARD32 pad1 B32; /* unused */ + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + +} xDbeGetBackBufferAttributesReply; +#define sz_xDbeGetBackBufferAttributesReply 32 + +#endif /* DBE_PROTO_H */ + diff --git a/ThirdParty/X11/Include/X11/extensions/dmx.h b/ThirdParty/X11/Include/X11/extensions/dmx.h new file mode 100644 index 0000000..8cbd4d3 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/dmx.h @@ -0,0 +1,68 @@ +/* + * Copyright 2002-2004 Red Hat Inc., Durham, North Carolina. + * + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation on the rights to use, copy, modify, merge, + * publish, distribute, sublicense, and/or sell copies of the Software, + * and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +/* + * Authors: + * Rickard E. (Rik) Faith <faith@redhat.com> + * + */ + +/** \file + * This file describes the interface to the client-side libdmx.a + * library. All DMX-aware client-side applications should include this + * file. */ + +#ifndef _DMX_H_ +#define _DMX_H_ + +/* These values must be larger than LastExtensionError. + The values in dmxext.h and dmxproto.h *MUST* match. */ +#define DmxBadXinerama 1001 +#define DmxBadValue 1002 +#define DmxBadReply 1003 + +#define DMXScreenWindowWidth (1L<<0) +#define DMXScreenWindowHeight (1L<<1) +#define DMXScreenWindowXoffset (1L<<2) +#define DMXScreenWindowYoffset (1L<<3) +#define DMXRootWindowWidth (1L<<4) +#define DMXRootWindowHeight (1L<<5) +#define DMXRootWindowXoffset (1L<<6) +#define DMXRootWindowYoffset (1L<<7) +#define DMXRootWindowXorigin (1L<<8) +#define DMXRootWindowYorigin (1L<<9) + +#define DMXDesktopWidth (1L<<0) +#define DMXDesktopHeight (1L<<1) +#define DMXDesktopShiftX (1L<<2) +#define DMXDesktopShiftY (1L<<3) + +#define DMXInputType (1L<<0) +#define DMXInputPhysicalScreen (1L<<1) +#define DMXInputSendsCore (1L<<2) + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/dmxproto.h b/ThirdParty/X11/Include/X11/extensions/dmxproto.h new file mode 100644 index 0000000..4bb160e --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/dmxproto.h @@ -0,0 +1,445 @@ +/* + * Copyright 2002-2004 Red Hat Inc., Durham, North Carolina. + * + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation on the rights to use, copy, modify, merge, + * publish, distribute, sublicense, and/or sell copies of the Software, + * and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +/* + * Authors: + * Rickard E. (Rik) Faith <faith@redhat.com> + * + */ + +/** \file + * This file describes the structures necessary to implement the wire + * protocol for the DMX protocol extension. It should be included only + * in files that implement the client-side (or server-side) part of the + * protocol (i.e., client-side applications should \b not include this + * file). */ + +#ifndef _DMXSTR_H_ +#define _DMXSTR_H_ + +#define DMX_EXTENSION_NAME "DMX" +#define DMX_EXTENSION_MAJOR 2 +#define DMX_EXTENSION_MINOR 2 +#define DMX_EXTENSION_PATCH 20040604 + +/* These values must be larger than LastExtensionError. + The values in dmxext.h and dmxproto.h *MUST* match. */ +#define DMX_BAD_XINERAMA 1001 +#define DMX_BAD_VALUE 1002 + +#define X_DMXQueryVersion 0 +#define X_DMXGetScreenCount 1 +#define X_DMXGetScreenInformationDEPRECATED 2 +#define X_DMXGetWindowAttributes 3 +#define X_DMXGetInputCount 4 +#define X_DMXGetInputAttributes 5 +#define X_DMXForceWindowCreationDEPRECATED 6 +#define X_DMXReconfigureScreenDEPRECATED 7 +#define X_DMXSync 8 +#define X_DMXForceWindowCreation 9 +#define X_DMXGetScreenAttributes 10 +#define X_DMXChangeScreensAttributes 11 +#define X_DMXAddScreen 12 +#define X_DMXRemoveScreen 13 +#define X_DMXGetDesktopAttributes 14 +#define X_DMXChangeDesktopAttributes 15 +#define X_DMXAddInput 16 +#define X_DMXRemoveInput 17 + +/** Wire-level description of DMXQueryVersion protocol request. */ +typedef struct { + CARD8 reqType; /* dmxcode */ + CARD8 dmxReqType; /* X_DMXQueryVersion */ + CARD16 length B16; +} xDMXQueryVersionReq; +#define sz_xDMXQueryVersionReq 4 + +/** Wire-level description of DMXQueryVersion protocol reply. */ +typedef struct { + BYTE type; /* X_Reply */ + CARD8 ununsed; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 majorVersion B32; + CARD32 minorVersion B32; + CARD32 patchVersion B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; +} xDMXQueryVersionReply; +#define sz_xDMXQueryVersionReply 32 + +/** Wire-level description of DMXSync protocol request. */ +typedef struct { + CARD8 reqType; /* DMXCode */ + CARD8 dmxReqType; /* X_DMXSync */ + CARD16 length B16; +} xDMXSyncReq; +#define sz_xDMXSyncReq 4 + +/** Wire-level description of DMXSync protocol reply. */ +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 status B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xDMXSyncReply; +#define sz_xDMXSyncReply 32 + +/** Wire-level description of DMXForceWindowCreation protocol request. */ +typedef struct { + CARD8 reqType; /* DMXCode */ + CARD8 dmxReqType; /* X_DMXForceWindowCreation */ + CARD16 length B16; + CARD32 window B32; +} xDMXForceWindowCreationReq; +#define sz_xDMXForceWindowCreationReq 8 + +/** Wire-level description of DMXForceWindowCreation protocol reply. */ +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 status B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xDMXForceWindowCreationReply; +#define sz_xDMXForceWindowCreationReply 32 + +/** Wire-level description of DMXGetScreenCount protocol request. */ +typedef struct { + CARD8 reqType; /* DMXCode */ + CARD8 dmxReqType; /* X_DMXGetScreenCount */ + CARD16 length B16; +} xDMXGetScreenCountReq; +#define sz_xDMXGetScreenCountReq 4 + +/** Wire-level description of DMXGetScreenCount protocol reply. */ +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 screenCount B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xDMXGetScreenCountReply; +#define sz_xDMXGetScreenCountReply 32 + +/** Wire-level description of DMXGetScreenAttributes protocol request. */ +typedef struct { + CARD8 reqType; /* DMXCode */ + CARD8 dmxReqType; /* X_DMXGetScreenAttributes */ + CARD16 length B16; + CARD32 physicalScreen B32; +} xDMXGetScreenAttributesReq; +#define sz_xDMXGetScreenAttributesReq 8 + +/** Wire-level description of DMXGetScreenAttributes protocol reply. */ +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 displayNameLength B32; + CARD32 logicalScreen B32; + + CARD16 screenWindowWidth B16; + CARD16 screenWindowHeight B16; + INT16 screenWindowXoffset B16; + INT16 screenWindowYoffset B16; + + CARD16 rootWindowWidth B16; + CARD16 rootWindowHeight B16; + INT16 rootWindowXoffset B16; + INT16 rootWindowYoffset B16; + INT16 rootWindowXorigin B16; + INT16 rootWindowYorigin B16; +} xDMXGetScreenAttributesReply; +#define sz_xDMXGetScreenAttributesReply 36 + +/** Wire-level description of DMXChangeScreensAttributes protocol request. */ +typedef struct { + CARD8 reqType; /* DMXCode */ + CARD8 dmxReqType; /* X_DMXChangeScreensAttributes */ + CARD16 length B16; + CARD32 screenCount B32; + CARD32 maskCount B32; +} xDMXChangeScreensAttributesReq; +#define sz_xDMXChangeScreensAttributesReq 12 + +/** Wire-level description of DMXChangeScreensAttributes protocol reply. */ +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 status B32; + CARD32 errorScreen B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xDMXChangeScreensAttributesReply; +#define sz_xDMXChangeScreensAttributesReply 32 + +/** Wire-level description of DMXAddScreen protocol request. */ +typedef struct { + CARD8 reqType; /* DMXCode */ + CARD8 dmxReqType; /* X_DMXAddScreen */ + CARD16 length B16; + CARD32 displayNameLength B32; + CARD32 physicalScreen B32; + CARD32 valueMask B32; +} xDMXAddScreenReq; +#define sz_xDMXAddScreenReq 16 + +/** Wire-level description of DMXAddScreen protocol reply. */ +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 status B32; + CARD32 physicalScreen B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xDMXAddScreenReply; +#define sz_xDMXAddScreenReply 32 + +/** Wire-level description of DMXRemoveScreen protocol request. */ +typedef struct { + CARD8 reqType; /* DMXCode */ + CARD8 dmxReqType; /* X_DMXRemoveScreen */ + CARD16 length B16; + CARD32 physicalScreen B32; +} xDMXRemoveScreenReq; +#define sz_xDMXRemoveScreenReq 8 + +/** Wire-level description of DMXRemoveScreen protocol reply. */ +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 status B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xDMXRemoveScreenReply; +#define sz_xDMXRemoveScreenReply 32 + +/** Wire-level description of DMXGetWindowAttributes protocol request. */ +typedef struct { + CARD8 reqType; /* DMXCode */ + CARD8 dmxReqType; /* X_DMXGetWindowAttributes */ + CARD16 length B16; + CARD32 window B32; +} xDMXGetWindowAttributesReq; +#define sz_xDMXGetWindowAttributesReq 8 + +/** Wire-level description of DMXGetWindowAttributes protocol reply. */ +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 screenCount B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xDMXGetWindowAttributesReply; +#define sz_xDMXGetWindowAttributesReply 32 + +/** Wire-level description of DMXGetDesktopAttributes protocol request. */ +typedef struct { + CARD8 reqType; /* DMXCode */ + CARD8 dmxReqType; /* X_DMXGetDesktopAttributes */ + CARD16 length B16; +} xDMXGetDesktopAttributesReq; +#define sz_xDMXGetDesktopAttributesReq 4 + +/** Wire-level description of DMXGetDesktopAttributes protocol reply. */ +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + INT16 width; + INT16 height; + INT16 shiftX; + INT16 shiftY; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xDMXGetDesktopAttributesReply; +#define sz_xDMXGetDesktopAttributesReply 32 + +/** Wire-level description of DMXChangeDesktopAttributes protocol request. */ +typedef struct { + CARD8 reqType; /* DMXCode */ + CARD8 dmxReqType; /* X_DMXChangeDesktopAttributes */ + CARD16 length B16; + CARD32 valueMask B32; +} xDMXChangeDesktopAttributesReq; +#define sz_xDMXChangeDesktopAttributesReq 8 + +/** Wire-level description of DMXChangeDesktopAttributes protocol reply. */ +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 status B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xDMXChangeDesktopAttributesReply; +#define sz_xDMXChangeDesktopAttributesReply 32 + +/** Wire-level description of DMXGetInputCount protocol request. */ +typedef struct { + CARD8 reqType; /* DMXCode */ + CARD8 dmxReqType; /* X_DMXGetInputCount */ + CARD16 length B16; +} xDMXGetInputCountReq; +#define sz_xDMXGetInputCountReq 4 + +/** Wire-level description of DMXGetInputCount protocol reply. */ +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 inputCount B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xDMXGetInputCountReply; +#define sz_xDMXGetInputCountReply 32 + +/** Wire-level description of DMXGetInputAttributes protocol request. */ +typedef struct { + CARD8 reqType; /* DMXCode */ + CARD8 dmxReqType; /* X_DMXGetInputAttributes */ + CARD16 length B16; + CARD32 deviceId B32; +} xDMXGetInputAttributesReq; +#define sz_xDMXGetInputAttributesReq 8 + +/** Wire-level description of DMXGetInputAttributes protocol reply. */ +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 inputType B32; + CARD32 physicalScreen B32; + CARD32 physicalId B32; + CARD32 nameLength B32; + BOOL isCore; + BOOL sendsCore; + BOOL detached; + CARD8 pad0; + CARD32 pad1 B32; +} xDMXGetInputAttributesReply; +#define sz_xDMXGetInputAttributesReply 32 + +/** Wire-level description of DMXAddInput protocol request. */ +typedef struct { + CARD8 reqType; /* DMXCode */ + CARD8 dmxReqType; /* X_DMXAddInput */ + CARD16 length B16; + CARD32 displayNameLength B32; + CARD32 valueMask; +} xDMXAddInputReq; +#define sz_xDMXAddInputReq 12 + +/** Wire-level description of DMXAddInput protocol reply. */ +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 status B32; + CARD32 physicalId B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xDMXAddInputReply; +#define sz_xDMXAddInputReply 32 + +/** Wire-level description of DMXRemoveInput protocol request. */ +typedef struct { + CARD8 reqType; /* DMXCode */ + CARD8 dmxReqType; /* X_DMXRemoveInput */ + CARD16 length B16; + CARD32 physicalId B32; +} xDMXRemoveInputReq; +#define sz_xDMXRemoveInputReq 8 + +/** Wire-level description of DMXRemoveInput protocol reply. */ +typedef struct { + BYTE type; + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 status B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xDMXRemoveInputReply; +#define sz_xDMXRemoveInputReply 32 + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/dpms.h b/ThirdParty/X11/Include/X11/extensions/dpms.h new file mode 100644 index 0000000..f85e6a7 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/dpms.h @@ -0,0 +1,53 @@ +/***************************************************************** + +Copyright (c) 1996 Digital Equipment Corporation, Maynard, Massachusetts. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING, +BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of Digital Equipment Corporation +shall not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from Digital +Equipment Corporation. + +******************************************************************/ + +#ifndef _X11_EXTENSIONS_DPMS_H +#define _X11_EXTENSIONS_DPMS_H 1 + +#include <X11/X.h> +#include <X11/Xmd.h> +#include <X11/extensions/dpmsconst.h> + +#ifndef DPMS_SERVER +_XFUNCPROTOBEGIN + +extern Bool DPMSQueryExtension(Display *, int *, int *); +extern Status DPMSGetVersion(Display *, int *, int *); +extern Bool DPMSCapable(Display *); +extern Status DPMSSetTimeouts(Display *, CARD16, CARD16, CARD16); +extern Bool DPMSGetTimeouts(Display *, CARD16 *, CARD16 *, CARD16 *); +extern Status DPMSEnable(Display *); +extern Status DPMSDisable(Display *); +extern Status DPMSForceLevel(Display *, CARD16); +extern Status DPMSInfo(Display *, CARD16 *, BOOL *); + +_XFUNCPROTOEND +#endif + +#endif /* !_X11_EXTENSIONS_DPMS_H */ + diff --git a/ThirdParty/X11/Include/X11/extensions/dpmsconst.h b/ThirdParty/X11/Include/X11/extensions/dpmsconst.h new file mode 100644 index 0000000..75f0586 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/dpmsconst.h @@ -0,0 +1,43 @@ +/***************************************************************** + +Copyright (c) 1996 Digital Equipment Corporation, Maynard, Massachusetts. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING, +BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of Digital Equipment Corporation +shall not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from Digital +Equipment Corporation. + +******************************************************************/ + +#ifndef _DPMSCONST_H +#define _DPMSCONST_H 1 + +#define DPMSMajorVersion 1 +#define DPMSMinorVersion 1 + +#define DPMSExtensionName "DPMS" + +#define DPMSModeOn 0 +#define DPMSModeStandby 1 +#define DPMSModeSuspend 2 +#define DPMSModeOff 3 + +#endif /* !_DPMSCONST_H */ + diff --git a/ThirdParty/X11/Include/X11/extensions/dpmsproto.h b/ThirdParty/X11/Include/X11/extensions/dpmsproto.h new file mode 100644 index 0000000..63fd3fc --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/dpmsproto.h @@ -0,0 +1,175 @@ +/***************************************************************** + +Copyright (c) 1996 Digital Equipment Corporation, Maynard, Massachusetts. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING, +BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of Digital Equipment Corporation +shall not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from Digital +Equipment Corporation. + +******************************************************************/ + +#ifndef _DPMSPROTO_H_ +#define _DPMSPROTO_H_ + +#include <X11/extensions/dpmsconst.h> + +#define X_DPMSGetVersion 0 +#define X_DPMSCapable 1 +#define X_DPMSGetTimeouts 2 +#define X_DPMSSetTimeouts 3 +#define X_DPMSEnable 4 +#define X_DPMSDisable 5 +#define X_DPMSForceLevel 6 +#define X_DPMSInfo 7 + +#define DPMSNumberEvents 0 + +#define DPMSNumberErrors 0 + + +typedef struct { + CARD8 reqType; /* always DPMSCode */ + CARD8 dpmsReqType; /* always X_DPMSGetVersion */ + CARD16 length B16; + CARD16 majorVersion B16; + CARD16 minorVersion B16; +} xDPMSGetVersionReq; +#define sz_xDPMSGetVersionReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 majorVersion B16; + CARD16 minorVersion B16; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xDPMSGetVersionReply; +#define sz_xDPMSGetVersionReply 32 + +typedef struct { + CARD8 reqType; /* always DPMSCode */ + CARD8 dpmsReqType; /* always X_DPMSCapable */ + CARD16 length B16; +} xDPMSCapableReq; +#define sz_xDPMSCapableReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + BOOL capable; + CARD8 pad1; + CARD16 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; +} xDPMSCapableReply; +#define sz_xDPMSCapableReply 32 + +typedef struct { + CARD8 reqType; /* always DPMSCode */ + CARD8 dpmsReqType; /* always X_DPMSGetTimeouts */ + CARD16 length B16; +} xDPMSGetTimeoutsReq; +#define sz_xDPMSGetTimeoutsReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 standby B16; + CARD16 suspend B16; + CARD16 off B16; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xDPMSGetTimeoutsReply; +#define sz_xDPMSGetTimeoutsReply 32 + +typedef struct { + CARD8 reqType; /* always DPMSCode */ + CARD8 dpmsReqType; /* always X_DPMSSetTimeouts */ + CARD16 length B16; + CARD16 standby B16; + CARD16 suspend B16; + CARD16 off B16; + CARD16 pad0 B16; +} xDPMSSetTimeoutsReq; +#define sz_xDPMSSetTimeoutsReq 12 + +typedef struct { + CARD8 reqType; /* always DPMSCode */ + CARD8 dpmsReqType; /* always X_DPMSEnable */ + CARD16 length B16; +} xDPMSEnableReq; +#define sz_xDPMSEnableReq 4 + +typedef struct { + CARD8 reqType; /* always DPMSCode */ + CARD8 dpmsReqType; /* always X_DPMSDisable */ + CARD16 length B16; +} xDPMSDisableReq; +#define sz_xDPMSDisableReq 4 + +typedef struct { + CARD8 reqType; /* always DPMSCode */ + CARD8 dpmsReqType; /* always X_DPMSForceLevel */ + CARD16 length B16; + CARD16 level B16; /* power level requested */ + CARD16 pad0 B16; +} xDPMSForceLevelReq; +#define sz_xDPMSForceLevelReq 8 + +typedef struct { + CARD8 reqType; /* always DPMSCode */ + CARD8 dpmsReqType; /* always X_DPMSInfo */ + CARD16 length B16; +} xDPMSInfoReq; +#define sz_xDPMSInfoReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 power_level B16; + BOOL state; + CARD8 pad1; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xDPMSInfoReply; +#define sz_xDPMSInfoReply 32 + +#endif /* _DPMSPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/dri2proto.h b/ThirdParty/X11/Include/X11/extensions/dri2proto.h new file mode 100644 index 0000000..128b807 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/dri2proto.h @@ -0,0 +1,357 @@ +/* + * Copyright © 2008 Red Hat, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Soft- + * ware"), to deal in the Software without restriction, including without + * limitation the rights to use, copy, modify, merge, publish, distribute, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, provided that the above copyright + * notice(s) and this permission notice appear in all copies of the Soft- + * ware and that both the above copyright notice(s) and this permission + * notice appear in supporting documentation. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- + * ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY + * RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN + * THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSE- + * QUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFOR- + * MANCE OF THIS SOFTWARE. + * + * Except as contained in this notice, the name of a copyright holder shall + * not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization of + * the copyright holder. + * + * Authors: + * Kristian Høgsberg (krh@redhat.com) + */ + +#ifndef _DRI2_PROTO_H_ +#define _DRI2_PROTO_H_ + +#define DRI2_NAME "DRI2" +#define DRI2_MAJOR 1 +#define DRI2_MINOR 4 + +#define DRI2NumberErrors 0 +#define DRI2NumberEvents 2 +#define DRI2NumberRequests 14 + +#define X_DRI2QueryVersion 0 +#define X_DRI2Connect 1 +#define X_DRI2Authenticate 2 +#define X_DRI2CreateDrawable 3 +#define X_DRI2DestroyDrawable 4 +#define X_DRI2GetBuffers 5 +#define X_DRI2CopyRegion 6 +#define X_DRI2GetBuffersWithFormat 7 +#define X_DRI2SwapBuffers 8 +#define X_DRI2GetMSC 9 +#define X_DRI2WaitMSC 10 +#define X_DRI2WaitSBC 11 +#define X_DRI2SwapInterval 12 +#define X_DRI2GetParam 13 + +/* + * Events + */ +#define DRI2_BufferSwapComplete 0 +#define DRI2_InvalidateBuffers 1 + +typedef struct { + CARD32 attachment B32; + CARD32 name B32; + CARD32 pitch B32; + CARD32 cpp B32; + CARD32 flags B32; +} xDRI2Buffer; + +typedef struct { + CARD8 reqType; + CARD8 dri2ReqType; + CARD16 length B16; + CARD32 majorVersion B32; + CARD32 minorVersion B32; +} xDRI2QueryVersionReq; +#define sz_xDRI2QueryVersionReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 majorVersion B32; + CARD32 minorVersion B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xDRI2QueryVersionReply; +#define sz_xDRI2QueryVersionReply 32 + +typedef struct { + CARD8 reqType; + CARD8 dri2ReqType; + CARD16 length B16; + CARD32 window B32; + CARD32 driverType B32; +} xDRI2ConnectReq; +#define sz_xDRI2ConnectReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 driverNameLength B32; + CARD32 deviceNameLength B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xDRI2ConnectReply; +#define sz_xDRI2ConnectReply 32 + +typedef struct { + CARD8 reqType; + CARD8 dri2ReqType; + CARD16 length B16; + CARD32 window B32; + CARD32 magic B32; +} xDRI2AuthenticateReq; +#define sz_xDRI2AuthenticateReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 authenticated B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xDRI2AuthenticateReply; +#define sz_xDRI2AuthenticateReply 32 + +typedef struct { + CARD8 reqType; + CARD8 dri2ReqType; + CARD16 length B16; + CARD32 drawable B32; +} xDRI2CreateDrawableReq; +#define sz_xDRI2CreateDrawableReq 8 + +typedef struct { + CARD8 reqType; + CARD8 dri2ReqType; + CARD16 length B16; + CARD32 drawable B32; +} xDRI2DestroyDrawableReq; +#define sz_xDRI2DestroyDrawableReq 8 + +typedef struct { + CARD8 reqType; + CARD8 dri2ReqType; + CARD16 length B16; + CARD32 drawable B32; + CARD32 count B32; +} xDRI2GetBuffersReq; +#define sz_xDRI2GetBuffersReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 width B32; + CARD32 height B32; + CARD32 count B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xDRI2GetBuffersReply; +#define sz_xDRI2GetBuffersReply 32 + +typedef struct { + CARD8 reqType; + CARD8 dri2ReqType; + CARD16 length B16; + CARD32 drawable B32; + CARD32 region B32; + CARD32 dest B32; + CARD32 src B32; +} xDRI2CopyRegionReq; +#define sz_xDRI2CopyRegionReq 20 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; +} xDRI2CopyRegionReply; +#define sz_xDRI2CopyRegionReply 32 + +typedef struct { + CARD8 reqType; + CARD8 dri2ReqType; + CARD16 length B16; + CARD32 drawable B32; + CARD32 target_msc_hi B32; + CARD32 target_msc_lo B32; + CARD32 divisor_hi B32; + CARD32 divisor_lo B32; + CARD32 remainder_hi B32; + CARD32 remainder_lo B32; +} xDRI2SwapBuffersReq; +#define sz_xDRI2SwapBuffersReq 32 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 swap_hi B32; + CARD32 swap_lo B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xDRI2SwapBuffersReply; +#define sz_xDRI2SwapBuffersReply 32 + +typedef struct { + CARD8 reqType; + CARD8 dri2ReqType; + CARD16 length B16; + CARD32 drawable B32; +} xDRI2GetMSCReq; +#define sz_xDRI2GetMSCReq 8 + +typedef struct { + CARD8 reqType; + CARD8 dri2ReqType; + CARD16 length B16; + CARD32 drawable B32; + CARD32 target_msc_hi B32; + CARD32 target_msc_lo B32; + CARD32 divisor_hi B32; + CARD32 divisor_lo B32; + CARD32 remainder_hi B32; + CARD32 remainder_lo B32; +} xDRI2WaitMSCReq; +#define sz_xDRI2WaitMSCReq 32 + +typedef struct { + CARD8 reqType; + CARD8 dri2ReqType; + CARD16 length B16; + CARD32 drawable B32; + CARD32 target_sbc_hi B32; + CARD32 target_sbc_lo B32; +} xDRI2WaitSBCReq; +#define sz_xDRI2WaitSBCReq 16 + +typedef struct { + CARD8 type; + CARD8 pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 ust_hi B32; + CARD32 ust_lo B32; + CARD32 msc_hi B32; + CARD32 msc_lo B32; + CARD32 sbc_hi B32; + CARD32 sbc_lo B32; +} xDRI2MSCReply; +#define sz_xDRI2MSCReply 32 + +typedef struct { + CARD8 reqType; + CARD8 dri2ReqType; + CARD16 length B16; + CARD32 drawable B32; + CARD32 interval B32; +} xDRI2SwapIntervalReq; +#define sz_xDRI2SwapIntervalReq 12 + +typedef struct { + CARD8 type; + CARD8 pad; + CARD16 sequenceNumber B16; + CARD16 event_type B16; + CARD16 pad2; + CARD32 drawable B32; + CARD32 ust_hi B32; + CARD32 ust_lo B32; + CARD32 msc_hi B32; + CARD32 msc_lo B32; + CARD32 sbc_hi B32; + CARD32 sbc_lo B32; +} xDRI2BufferSwapComplete; +#define sz_xDRI2BufferSwapComplete 32 + +typedef struct { + CARD8 type; + CARD8 pad; + CARD16 sequenceNumber B16; + CARD16 event_type B16; + CARD16 pad2; + CARD32 drawable B32; + CARD32 ust_hi B32; + CARD32 ust_lo B32; + CARD32 msc_hi B32; + CARD32 msc_lo B32; + CARD32 sbc B32; +} xDRI2BufferSwapComplete2; +#define sz_xDRI2BufferSwapComplete2 32 + +typedef struct { + CARD8 type; + CARD8 pad; + CARD16 sequenceNumber B16; + CARD32 drawable B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xDRI2InvalidateBuffers; +#define sz_xDRI2InvalidateBuffers 32 + +typedef struct { + CARD8 reqType; + CARD8 dri2ReqType; + CARD16 length B16; + CARD32 drawable B32; + CARD32 param B32; +} xDRI2GetParamReq; +#define sz_xDRI2GetParamReq 12 + +typedef struct { + BYTE type; /*X_Reply*/ + BOOL is_param_recognized; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 value_hi B32; + CARD32 value_lo B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xDRI2GetParamReply; +#define sz_xDRI2GetParamReply 32 + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/dri2tokens.h b/ThirdParty/X11/Include/X11/extensions/dri2tokens.h new file mode 100644 index 0000000..bdca866 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/dri2tokens.h @@ -0,0 +1,61 @@ +/* + * Copyright © 2008 Red Hat, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Soft- + * ware"), to deal in the Software without restriction, including without + * limitation the rights to use, copy, modify, merge, publish, distribute, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, provided that the above copyright + * notice(s) and this permission notice appear in all copies of the Soft- + * ware and that both the above copyright notice(s) and this permission + * notice appear in supporting documentation. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- + * ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY + * RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN + * THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSE- + * QUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFOR- + * MANCE OF THIS SOFTWARE. + * + * Except as contained in this notice, the name of a copyright holder shall + * not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization of + * the copyright holder. + * + * Authors: + * Kristian Høgsberg (krh@redhat.com) + */ + +#ifndef _DRI2_TOKENS_H_ +#define _DRI2_TOKENS_H_ + +#define DRI2BufferFrontLeft 0 +#define DRI2BufferBackLeft 1 +#define DRI2BufferFrontRight 2 +#define DRI2BufferBackRight 3 +#define DRI2BufferDepth 4 +#define DRI2BufferStencil 5 +#define DRI2BufferAccum 6 +#define DRI2BufferFakeFrontLeft 7 +#define DRI2BufferFakeFrontRight 8 +#define DRI2BufferDepthStencil 9 +#define DRI2BufferHiz 10 + +/* keep bits 16 and above for prime IDs */ +#define DRI2DriverPrimeMask 7 /* 0 - 7 - allows for 6 devices*/ +#define DRI2DriverPrimeShift 16 +#define DRI2DriverPrimeId(x) (((x) >> DRI2DriverPrimeShift) & (DRI2DriverPrimeMask)) + +#define DRI2DriverDRI 0 +#define DRI2DriverVDPAU 1 + +/* Event sub-types for the swap complete event */ +#define DRI2_EXCHANGE_COMPLETE 0x1 +#define DRI2_BLIT_COMPLETE 0x2 +#define DRI2_FLIP_COMPLETE 0x3 + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/dri3proto.h b/ThirdParty/X11/Include/X11/extensions/dri3proto.h new file mode 100644 index 0000000..ceddee8 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/dri3proto.h @@ -0,0 +1,167 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifndef _DRI3_PROTO_H_ +#define _DRI3_PROTO_H_ + +#define DRI3_NAME "DRI3" +#define DRI3_MAJOR 1 +#define DRI3_MINOR 0 + +#define DRI3NumberErrors 0 +#define DRI3NumberEvents 0 + +#define X_DRI3QueryVersion 0 +#define X_DRI3Open 1 +#define X_DRI3PixmapFromBuffer 2 +#define X_DRI3BufferFromPixmap 3 +#define X_DRI3FenceFromFD 4 +#define X_DRI3FDFromFence 5 + +#define DRI3NumberRequests 6 + +typedef struct { + CARD8 reqType; + CARD8 dri3ReqType; + CARD16 length B16; + CARD32 majorVersion B32; + CARD32 minorVersion B32; +} xDRI3QueryVersionReq; +#define sz_xDRI3QueryVersionReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 majorVersion B32; + CARD32 minorVersion B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xDRI3QueryVersionReply; +#define sz_xDRI3QueryVersionReply 32 + +typedef struct { + CARD8 reqType; + CARD8 dri3ReqType; + CARD16 length B16; + CARD32 drawable B32; + CARD32 provider B32; +} xDRI3OpenReq; +#define sz_xDRI3OpenReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 nfd; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; +} xDRI3OpenReply; +#define sz_xDRI3OpenReply 32 + +typedef struct { + CARD8 reqType; + CARD8 dri3ReqType; + CARD16 length B16; + CARD32 pixmap B32; + CARD32 drawable B32; + CARD32 size B32; + CARD16 width B16; + CARD16 height B16; + CARD16 stride B16; + CARD8 depth; + CARD8 bpp; +} xDRI3PixmapFromBufferReq; + +#define sz_xDRI3PixmapFromBufferReq 24 + +typedef struct { + CARD8 reqType; + CARD8 dri3ReqType; + CARD16 length B16; + CARD32 pixmap B32; +} xDRI3BufferFromPixmapReq; +#define sz_xDRI3BufferFromPixmapReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 nfd; /* Number of file descriptors returned (1) */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 size B32; + CARD16 width B16; + CARD16 height B16; + CARD16 stride B16; + CARD8 depth; + CARD8 bpp; + CARD32 pad20 B32; + CARD32 pad24 B32; + CARD32 pad28 B32; +} xDRI3BufferFromPixmapReply; +#define sz_xDRI3BufferFromPixmapReply 32 + +typedef struct { + CARD8 reqType; + CARD8 dri3ReqType; + CARD16 length B16; + CARD32 drawable B32; + CARD32 fence B32; + BOOL initially_triggered; + CARD8 pad13; + CARD16 pad14 B16; +} xDRI3FenceFromFDReq; + +#define sz_xDRI3FenceFromFDReq 16 + +typedef struct { + CARD8 reqType; + CARD8 dri3ReqType; + CARD16 length B16; + CARD32 drawable B32; + CARD32 fence B32; +} xDRI3FDFromFenceReq; + +#define sz_xDRI3FDFromFenceReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 nfd; /* Number of file descriptors returned (1) */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 pad08 B32; + CARD32 pad12 B32; + CARD32 pad16 B32; + CARD32 pad20 B32; + CARD32 pad24 B32; + CARD32 pad28 B32; +} xDRI3FDFromFenceReply; + +#define sz_xDRI3FDFromFenceReply 32 + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/evieproto.h b/ThirdParty/X11/Include/X11/extensions/evieproto.h new file mode 100644 index 0000000..649c91a --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/evieproto.h @@ -0,0 +1,156 @@ +/************************************************************ + +Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +************************************************************/ + +#ifndef _XEVIEPROTO_H_ +#define _XEVIEPROTO_H_ + +#define XEVIENAME "XEVIE" + +#define XEVIE_MAJOR_VERSION 1 +#define XEVIE_MINOR_VERSION 0 + +#define X_XevieQueryVersion 0 +#define X_XevieStart 1 +#define X_XevieEnd 2 +#define X_XevieSend 3 +#define X_XevieSelectInput 4 + +#define XevieNumberErrors 0 + +typedef struct _XevieQueryVersion { + CARD8 reqType; + CARD8 xevieReqType; + CARD16 length B16; + CARD16 client_major_version B16; + CARD16 client_minor_version B16; +} xXevieQueryVersionReq; +#define sz_xXevieQueryVersionReq 8 + +typedef struct { + BYTE type; + BOOL pad1; + CARD16 sequence_number B16; + CARD32 length B32; + CARD16 server_major_version B16; + CARD16 server_minor_version B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXevieQueryVersionReply; +#define sz_xXevieQueryVersionReply 32 + +typedef struct _XevieStart { + CARD8 reqType; + CARD8 xevieReqType; + CARD16 length B16; + CARD32 screen B32; +} xXevieStartReq; +#define sz_xXevieStartReq 8 + +typedef struct { + BYTE type; + BOOL pad1; + CARD16 sequence_number B16; + CARD32 length B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; +} xXevieStartReply; +#define sz_xXevieStartReply 32 + +typedef struct _XevieEnd { + CARD8 reqType; + CARD8 xevieReqType; + CARD16 length B16; + CARD32 cmap B32; +} xXevieEndReq; +#define sz_xXevieEndReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequence_number B16; + CARD32 length B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; +} xXevieEndReply; +#define sz_xXevieEndReply 32 + +typedef struct _XevieSend { + CARD8 reqType; + CARD8 xevieReqType; + CARD16 length B16; + xEvent event; + CARD32 dataType B32; +} xXevieSendReq; +#define sz_xXevieSendReq 104 + +typedef struct { + BYTE type; + BOOL pad1; + CARD16 sequence_number B16; + CARD32 length B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; +} xXevieSendReply; +#define sz_xXevieSendReply 32 + +typedef struct _XevieSelectInput { + CARD8 reqType; + CARD8 xevieReqType; + CARD16 length B16; + CARD32 event_mask B32; +} xXevieSelectInputReq; +#define sz_xXevieSelectInputReq 8 + +typedef struct { + BYTE type; + BOOL pad1; + CARD16 sequence_number B16; + CARD32 length B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; +} xXevieSelectInputReply; +#define sz_xXevieSelectInputReply 32 + +#endif /* } _XEVIEPROTO_H_ */ + diff --git a/ThirdParty/X11/Include/X11/extensions/extutil.h b/ThirdParty/X11/Include/X11/extensions/extutil.h new file mode 100644 index 0000000..b228430 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/extutil.h @@ -0,0 +1,190 @@ +/* + * +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + * + * Author: Jim Fulton, MIT The Open Group + * + * Xlib Extension-Writing Utilities + * + * This package contains utilities for writing the client API for various + * protocol extensions. THESE INTERFACES ARE NOT PART OF THE X STANDARD AND + * ARE SUBJECT TO CHANGE! + */ + +#ifndef _EXTUTIL_H_ +#define _EXTUTIL_H_ + +#include <X11/extensions/Xext.h> + +/* + * We need to keep a list of open displays since the Xlib display list isn't + * public. We also have to per-display info in a separate block since it isn't + * stored directly in the Display structure. + */ +typedef struct _XExtDisplayInfo { + struct _XExtDisplayInfo *next; /* keep a linked list */ + Display *display; /* which display this is */ + XExtCodes *codes; /* the extension protocol codes */ + XPointer data; /* extra data for extension to use */ +} XExtDisplayInfo; + +typedef struct _XExtensionInfo { + XExtDisplayInfo *head; /* start of list */ + XExtDisplayInfo *cur; /* most recently used */ + int ndisplays; /* number of displays */ +} XExtensionInfo; + +typedef struct _XExtensionHooks { + int (*create_gc)( + Display* /* display */, + GC /* gc */, + XExtCodes* /* codes */ +); + int (*copy_gc)( + Display* /* display */, + GC /* gc */, + XExtCodes* /* codes */ +); + int (*flush_gc)( + Display* /* display */, + GC /* gc */, + XExtCodes* /* codes */ +); + int (*free_gc)( + Display* /* display */, + GC /* gc */, + XExtCodes* /* codes */ +); + int (*create_font)( + Display* /* display */, + XFontStruct* /* fs */, + XExtCodes* /* codes */ +); + int (*free_font)( + Display* /* display */, + XFontStruct* /* fs */, + XExtCodes* /* codes */ +); + int (*close_display)( + Display* /* display */, + XExtCodes* /* codes */ +); + Bool (*wire_to_event)( + Display* /* display */, + XEvent* /* re */, + xEvent* /* event */ +); + Status (*event_to_wire)( + Display* /* display */, + XEvent* /* re */, + xEvent* /* event */ +); + int (*error)( + Display* /* display */, + xError* /* err */, + XExtCodes* /* codes */, + int* /* ret_code */ +); + char *(*error_string)( + Display* /* display */, + int /* code */, + XExtCodes* /* codes */, + char* /* buffer */, + int /* nbytes */ +); +} XExtensionHooks; + +extern XExtensionInfo *XextCreateExtension( + void +); +extern void XextDestroyExtension( + XExtensionInfo* /* info */ +); +extern XExtDisplayInfo *XextAddDisplay( + XExtensionInfo* /* extinfo */, + Display* /* dpy */, + _Xconst char* /* ext_name */, + XExtensionHooks* /* hooks */, + int /* nevents */, + XPointer /* data */ +); +extern int XextRemoveDisplay( + XExtensionInfo* /* extinfo */, + Display* /* dpy */ +); +extern XExtDisplayInfo *XextFindDisplay( + XExtensionInfo* /* extinfo */, + Display* /* dpy */ +); + +#define XextHasExtension(i) ((i) && ((i)->codes)) +#define XextCheckExtension(dpy,i,name,val) \ + if (!XextHasExtension(i)) { XMissingExtension (dpy, name); return val; } +#define XextSimpleCheckExtension(dpy,i,name) \ + if (!XextHasExtension(i)) { XMissingExtension (dpy, name); return; } + + +/* + * helper macros to generate code that is common to all extensions; caller + * should prefix it with static if extension source is in one file; this + * could be a utility function, but have to stack 6 unused arguments for + * something that is called many, many times would be bad. + */ +#define XEXT_GENERATE_FIND_DISPLAY(proc,extinfo,extname,hooks,nev,data) \ +XExtDisplayInfo *proc (Display *dpy) \ +{ \ + XExtDisplayInfo *dpyinfo; \ + if (!extinfo) { if (!(extinfo = XextCreateExtension())) return NULL; } \ + if (!(dpyinfo = XextFindDisplay (extinfo, dpy))) \ + dpyinfo = XextAddDisplay (extinfo,dpy,extname,hooks,nev,data); \ + return dpyinfo; \ +} + +#define XEXT_FIND_DISPLAY_PROTO(proc) \ + XExtDisplayInfo *proc(Display *dpy) + +#define XEXT_GENERATE_CLOSE_DISPLAY(proc,extinfo) \ +int proc (Display *dpy, XExtCodes *codes) \ +{ \ + return XextRemoveDisplay (extinfo, dpy); \ +} + +#define XEXT_CLOSE_DISPLAY_PROTO(proc) \ + int proc(Display *dpy, XExtCodes *codes) + +#define XEXT_GENERATE_ERROR_STRING(proc,extname,nerr,errl) \ +char *proc (Display *dpy, int code, XExtCodes *codes, char *buf, int n) \ +{ \ + code -= codes->first_error; \ + if (code >= 0 && code < nerr) { \ + char tmp[256]; \ + snprintf (tmp, sizeof(tmp), "%s.%d", extname, code); \ + XGetErrorDatabaseText (dpy, "XProtoError", tmp, errl[code], buf, n); \ + return buf; \ + } \ + return (char *)0; \ +} + +#define XEXT_ERROR_STRING_PROTO(proc) \ + char *proc(Display *dpy, int code, XExtCodes *codes, char *buf, int n) +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/ge.h b/ThirdParty/X11/Include/X11/extensions/ge.h new file mode 100644 index 0000000..aca1d8a --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/ge.h @@ -0,0 +1,60 @@ +/* + * Copyright © 2007-2008 Peter Hutterer + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: Peter Hutterer, University of South Australia, NICTA + * + */ + +#ifndef _GE_H_ +#define _GE_H_ + +#define GE_NAME "Generic Event Extension" +#define GE_MAJOR 1 +#define GE_MINOR 0 + +/********************************************************* + * + * Requests + * + */ + +#define X_GEQueryVersion 0 + +#define GENumberRequests (X_GEQueryVersion + 1) + +/********************************************************* + * + * Events + * + */ + +#define GENumberEvents 0 + +/********************************************************* + * + * Errors + * + */ + +#define GENumberErrors 0 + +#endif /* _GE_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/geproto.h b/ThirdParty/X11/Include/X11/extensions/geproto.h new file mode 100644 index 0000000..c8860dd --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/geproto.h @@ -0,0 +1,85 @@ +/* + * Copyright © 2007-2008 Peter Hutterer + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: Peter Hutterer, University of South Australia, NICTA + * + */ + +#ifndef _GEPROTO_H_ +#define _GEPROTO_H_ + +#include<X11/Xproto.h> +#include<X11/X.h> +#include<X11/extensions/ge.h> + + +/********************************************************* + * + * Protocol request constants + * + */ + +#define X_GEGetExtensionVersion 1 + +/********************************************************* + * + * XGE protocol requests/replies + * + */ + +/* generic request */ +typedef struct { + CARD8 reqType; + CARD8 ReqType; + CARD16 length B16; +} xGEReq; + + +/* QueryVersion */ +typedef struct { + CARD8 reqType; /* input extension major code */ + CARD8 ReqType; /* always X_GEQueryVersion */ + CARD16 length B16; + CARD16 majorVersion B16; + CARD16 minorVersion B16; +} xGEQueryVersionReq; + +#define sz_xGEQueryVersionReq 8 + +typedef struct { + CARD8 repType; /* X_Reply */ + CARD8 RepType; /* always X_GEQueryVersion */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 majorVersion B16; + CARD16 minorVersion B16; + CARD32 pad00 B32; + CARD32 pad01 B32; + CARD32 pad02 B32; + CARD32 pad03 B32; + CARD32 pad04 B32; +} xGEQueryVersionReply; + +#define sz_xGEQueryVersionReply 32 + +#endif /* _GEPROTO_H_ */ + diff --git a/ThirdParty/X11/Include/X11/extensions/lbx.h b/ThirdParty/X11/Include/X11/extensions/lbx.h new file mode 100644 index 0000000..ecd24ff --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/lbx.h @@ -0,0 +1,73 @@ +/* + * Copyright 1992 Network Computing Devices + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of NCD. not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. NCD. makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * NCD. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NCD. + * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + */ + +#ifndef _LBX_H_ +#define _LBX_H_ + +#define LBXNAME "LBX" + +#define LBX_MAJOR_VERSION 1 +#define LBX_MINOR_VERSION 0 + +#define LbxNumberReqs 44 +#define LbxEvent 0 +#define LbxQuickMotionDeltaEvent 1 +#define LbxNumberEvents 2 + +/* This is always the master client */ +#define LbxMasterClientIndex 0 + +/* LbxEvent lbxType sub-fields */ +#define LbxSwitchEvent 0 +#define LbxCloseEvent 1 +#define LbxDeltaEvent 2 +#define LbxInvalidateTagEvent 3 +#define LbxSendTagDataEvent 4 +#define LbxListenToOne 5 +#define LbxListenToAll 6 +#define LbxMotionDeltaEvent 7 +#define LbxReleaseCmapEvent 8 +#define LbxFreeCellsEvent 9 + +/* + * Lbx image compression methods + * + * No compression is always assigned the value of 0. + * + * The rest of the compression method opcodes are assigned dynamically + * at option negotiation time. + */ + +#define LbxImageCompressNone 0 + + +#define BadLbxClient 0 +#define LbxNumberErrors (BadLbxClient + 1) + +/* tagged data types */ +#define LbxTagTypeModmap 1 +#define LbxTagTypeKeymap 2 +#define LbxTagTypeProperty 3 +#define LbxTagTypeFont 4 +#define LbxTagTypeConnInfo 5 + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/lbxproto.h b/ThirdParty/X11/Include/X11/extensions/lbxproto.h new file mode 100644 index 0000000..a1ae62b --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/lbxproto.h @@ -0,0 +1,975 @@ +/* + * Copyright 1992 Network Computing Devices + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of NCD. not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. NCD. makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * NCD. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NCD. + * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + */ + +#ifndef _LBXPROTO_H_ +#define _LBXPROTO_H_ + +#include <X11/extensions/lbx.h> +/* + * NOTE: any changes or additions to the opcodes needs to be reflected + * in the lbxCacheable array in Xserver/lbx/lbxmain.c + */ + +#define X_LbxQueryVersion 0 +#define X_LbxStartProxy 1 +#define X_LbxStopProxy 2 +#define X_LbxSwitch 3 +#define X_LbxNewClient 4 +#define X_LbxCloseClient 5 +#define X_LbxModifySequence 6 +#define X_LbxAllowMotion 7 +#define X_LbxIncrementPixel 8 +#define X_LbxDelta 9 +#define X_LbxGetModifierMapping 10 +#define X_LbxInvalidateTag 12 +#define X_LbxPolyPoint 13 +#define X_LbxPolyLine 14 +#define X_LbxPolySegment 15 +#define X_LbxPolyRectangle 16 +#define X_LbxPolyArc 17 +#define X_LbxFillPoly 18 +#define X_LbxPolyFillRectangle 19 +#define X_LbxPolyFillArc 20 +#define X_LbxGetKeyboardMapping 21 +#define X_LbxQueryFont 22 +#define X_LbxChangeProperty 23 +#define X_LbxGetProperty 24 +#define X_LbxTagData 25 + +#define X_LbxCopyArea 26 +#define X_LbxCopyPlane 27 +#define X_LbxPolyText8 28 +#define X_LbxPolyText16 29 +#define X_LbxImageText8 30 +#define X_LbxImageText16 31 + +#define X_LbxQueryExtension 32 +#define X_LbxPutImage 33 +#define X_LbxGetImage 34 + +#define X_LbxBeginLargeRequest 35 +#define X_LbxLargeRequestData 36 +#define X_LbxEndLargeRequest 37 + +#define X_LbxInternAtoms 38 +#define X_LbxGetWinAttrAndGeom 39 + +#define X_LbxGrabCmap 40 +#define X_LbxReleaseCmap 41 +#define X_LbxAllocColor 42 + +#define X_LbxSync 43 + +/* + * Redefine some basic types used by structures defined herein. This removes + * any possibility on 64-bit architectures of one entity viewing communicated + * data as 32-bit quantities and another entity viewing the same data as 64-bit + * quantities. + */ +#define XID CARD32 +#define Atom CARD32 +#define Colormap CARD32 +#define Drawable CARD32 +#define VisualID CARD32 +#define Window CARD32 + +typedef struct { + BOOL success; /* TRUE */ + BOOL changeType; + CARD16 majorVersion B16, + minorVersion B16; + CARD16 length B16; /* 1/4 additional bytes in setup info */ + CARD32 tag B32; +} xLbxConnSetupPrefix; + +typedef struct _LbxQueryVersion { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxQueryVersion */ + CARD16 length B16; +} xLbxQueryVersionReq; +#define sz_xLbxQueryVersionReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 majorVersion B16; /* major version of LBX protocol */ + CARD16 minorVersion B16; /* minor version of LBX protocol */ + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xLbxQueryVersionReply; +#define sz_xLbxQueryVersionReply 32 + +typedef struct _LbxStartProxy { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxStartProxy */ + CARD16 length B16; +} xLbxStartProxyReq; +#define sz_xLbxStartProxyReq 4 + +typedef struct _LbxStopProxy { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxStopProxy */ + CARD16 length B16; +} xLbxStopProxyReq; +#define sz_xLbxStopProxyReq 4 + +typedef struct _LbxSwitch { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxSwitch */ + CARD16 length B16; + CARD32 client B32; /* new client */ +} xLbxSwitchReq; +#define sz_xLbxSwitchReq 8 + +typedef struct _LbxNewClient { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxNewClient */ + CARD16 length B16; + CARD32 client B32; /* new client */ +} xLbxNewClientReq; +#define sz_xLbxNewClientReq 8 + +typedef struct _LbxCloseClient { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxCloseClient */ + CARD16 length B16; + CARD32 client B32; /* new client */ +} xLbxCloseClientReq; +#define sz_xLbxCloseClientReq 8 + +typedef struct _LbxModifySequence { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxModifySequence */ + CARD16 length B16; + CARD32 adjust B32; +} xLbxModifySequenceReq; +#define sz_xLbxModifySequenceReq 8 + +typedef struct _LbxAllowMotion { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxAllowMotion */ + CARD16 length B16; + CARD32 num B32; +} xLbxAllowMotionReq; +#define sz_xLbxAllowMotionReq 8 + +typedef struct { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxGrabCmap */ + CARD16 length B16; + Colormap cmap B32; +} xLbxGrabCmapReq; +#define sz_xLbxGrabCmapReq 8 + +#define LBX_SMART_GRAB 0x80 +#define LBX_AUTO_RELEASE 0x40 +#define LBX_3CHANNELS 0x20 +#define LBX_2BYTE_PIXELS 0x10 +#define LBX_RGB_BITS_MASK 0x0f + +#define LBX_LIST_END 0 +#define LBX_PIXEL_PRIVATE 1 +#define LBX_PIXEL_SHARED 2 +#define LBX_PIXEL_RANGE_PRIVATE 3 +#define LBX_PIXEL_RANGE_SHARED 4 +#define LBX_NEXT_CHANNEL 5 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 flags; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 pad0 B16; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B16; +} xLbxGrabCmapReply; +#define sz_xLbxGrabCmapReply 32 +#define sz_xLbxGrabCmapReplyHdr 8 + + +typedef struct { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxReleaseCmap */ + CARD16 length B16; + Colormap cmap B32; +} xLbxReleaseCmapReq; +#define sz_xLbxReleaseCmapReq 8 + +typedef struct { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxAllocColor */ + CARD16 length B16; + Colormap cmap B32; + CARD32 pixel B32; + CARD16 red B16, green B16, blue B16; + CARD16 pad B16; +} xLbxAllocColorReq; +#define sz_xLbxAllocColorReq 20 + +typedef struct _LbxIncrementPixel { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxIncrementPixel */ + CARD16 length B16; + CARD32 cmap B32; + CARD32 pixel B32; +} xLbxIncrementPixelReq; +#define sz_xLbxIncrementPixelReq 12 + +typedef struct _LbxDelta { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxDelta */ + CARD16 length B16; + CARD8 diffs; /* number of diffs */ + CARD8 cindex; /* cache index */ + /* list of diffs follows */ +} xLbxDeltaReq; +#define sz_xLbxDeltaReq 6 + +typedef struct _LbxGetModifierMapping { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxGetModifierMapping */ + CARD16 length B16; +} xLbxGetModifierMappingReq; +#define sz_xLbxGetModifierMappingReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 keyspermod; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 tag B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xLbxGetModifierMappingReply; +#define sz_xLbxGetModifierMappingReply 32 + +typedef struct _LbxGetKeyboardMapping { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxGetKeyboardMapping */ + CARD16 length B16; + KeyCode firstKeyCode; + CARD8 count; + CARD16 pad1 B16; +} xLbxGetKeyboardMappingReq; +#define sz_xLbxGetKeyboardMappingReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 keysperkeycode; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 tag B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xLbxGetKeyboardMappingReply; +#define sz_xLbxGetKeyboardMappingReply 32 + +typedef struct _LbxQueryFont { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxQueryFont */ + CARD16 length B16; + CARD32 fid B32; +} xLbxQueryFontReq; +#define sz_xLbxQueryFontReq 8 + +typedef struct _LbxInternAtoms { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxInternAtoms */ + CARD16 length B16; + CARD16 num B16; +} xLbxInternAtomsReq; +#define sz_xLbxInternAtomsReq 6 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 atomsStart B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xLbxInternAtomsReply; +#define sz_xLbxInternAtomsReply 32 +#define sz_xLbxInternAtomsReplyHdr 8 + + +typedef struct _LbxGetWinAttrAndGeom { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxGetWinAttrAndGeom */ + CARD16 length B16; + CARD32 id B32; /* window id */ +} xLbxGetWinAttrAndGeomReq; +#define sz_xLbxGetWinAttrAndGeomReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 backingStore; + CARD16 sequenceNumber B16; + CARD32 length B32; /* NOT 0; this is an extra-large reply */ + VisualID visualID B32; +#if defined(__cplusplus) || defined(c_plusplus) + CARD16 c_class B16; +#else + CARD16 class B16; +#endif + CARD8 bitGravity; + CARD8 winGravity; + CARD32 backingBitPlanes B32; + CARD32 backingPixel B32; + BOOL saveUnder; + BOOL mapInstalled; + CARD8 mapState; + BOOL override; + Colormap colormap B32; + CARD32 allEventMasks B32; + CARD32 yourEventMask B32; + CARD16 doNotPropagateMask B16; + CARD16 pad1 B16; + Window root B32; + INT16 x B16, y B16; + CARD16 width B16, height B16; + CARD16 borderWidth B16; + CARD8 depth; + CARD8 pad2; +} xLbxGetWinAttrAndGeomReply; +#define sz_xLbxGetWinAttrAndGeomReply 60 + + +typedef struct { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxSync */ + CARD16 length B16; +} xLbxSyncReq; +#define sz_xLbxSyncReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xLbxSyncReply; +#define sz_xLbxSyncReply 32 + + +/* an LBX squished charinfo packs the data in a CARD32 as follows */ +#define LBX_WIDTH_SHIFT 26 +#define LBX_LEFT_SHIFT 20 +#define LBX_RIGHT_SHIFT 13 +#define LBX_ASCENT_SHIFT 7 +#define LBX_DESCENT_SHIFT 0 + +#define LBX_WIDTH_BITS 6 +#define LBX_LEFT_BITS 6 +#define LBX_RIGHT_BITS 7 +#define LBX_ASCENT_BITS 6 +#define LBX_DESCENT_BITS 7 + +#define LBX_WIDTH_MASK 0xfc000000 +#define LBX_LEFT_MASK 0x03f00000 +#define LBX_RIGHT_MASK 0x000fe000 +#define LBX_ASCENT_MASK 0x00001f80 +#define LBX_DESCENT_MASK 0x0000007f + +#define LBX_MASK_BITS(val, n) ((unsigned int) ((val) & ((1 << (n)) - 1))) + +typedef struct { + CARD32 metrics B32; +} xLbxCharInfo; + +/* note that this is identical to xQueryFontReply except for missing + * first 2 words + */ +typedef struct { + xCharInfo minBounds; +/* XXX do we need to leave this gunk? */ +#ifndef WORD64 + CARD32 walign1 B32; +#endif + xCharInfo maxBounds; +#ifndef WORD64 + CARD32 walign2 B32; +#endif + CARD16 minCharOrByte2 B16, maxCharOrByte2 B16; + CARD16 defaultChar B16; + CARD16 nFontProps B16; /* followed by this many xFontProp structures */ + CARD8 drawDirection; + CARD8 minByte1, maxByte1; + BOOL allCharsExist; + INT16 fontAscent B16, fontDescent B16; + CARD32 nCharInfos B32; /* followed by this many xLbxCharInfo structures */ +} xLbxFontInfo; + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 compression; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 tag B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + /* X_QueryFont sticks much of the data in the base reply packet, + * but we hope that it won't be needed, (and it won't fit in 32 bytes + * with the tag anyways) + * + * if any additional data is needed, its sent in a xLbxFontInfo + */ +} xLbxQueryFontReply; +#define sz_xLbxQueryFontReply 32 + +typedef struct _LbxChangeProperty { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxChangeProperty */ + CARD16 length B16; + Window window B32; + Atom property B32; + Atom type B32; + CARD8 format; + CARD8 mode; + BYTE pad[2]; + CARD32 nUnits B32; +} xLbxChangePropertyReq; +#define sz_xLbxChangePropertyReq 24 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 pad; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 tag B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xLbxChangePropertyReply; +#define sz_xLbxChangePropertyReply 32 + +typedef struct _LbxGetProperty { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxGetProperty */ + CARD16 length B16; + Window window B32; + Atom property B32; + Atom type B32; + CARD8 delete; + BYTE pad[3]; + CARD32 longOffset B32; + CARD32 longLength B32; +} xLbxGetPropertyReq; +#define sz_xLbxGetPropertyReq 28 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 format; + CARD16 sequenceNumber B16; + CARD32 length B32; + Atom propertyType B32; + CARD32 bytesAfter B32; + CARD32 nItems B32; + CARD32 tag B32; + CARD32 pad1 B32; + CARD32 pad2 B32; +} xLbxGetPropertyReply; +#define sz_xLbxGetPropertyReply 32 + +typedef struct _LbxTagData { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxTagData */ + CARD16 length B16; + XID tag B32; + CARD32 real_length B32; + /* data */ +} xLbxTagDataReq; +#define sz_xLbxTagDataReq 12 + +typedef struct _LbxInvalidateTag { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxInvalidateTag */ + CARD16 length B16; + CARD32 tag B32; +} xLbxInvalidateTagReq; +#define sz_xLbxInvalidateTagReq 8 + +typedef struct _LbxPutImage { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxPutImage */ + CARD16 length B16; + CARD8 compressionMethod; + CARD8 cacheEnts; + CARD8 bitPacked; + /* rest is variable */ +} xLbxPutImageReq; +#define sz_xLbxPutImageReq 7 + +typedef struct { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxGetImage */ + CARD16 length B16; + Drawable drawable B32; + INT16 x B16, y B16; + CARD16 width B16, height B16; + CARD32 planeMask B32; + CARD8 format; + CARD8 pad1; + CARD16 pad2 B16; +} xLbxGetImageReq; + +#define sz_xLbxGetImageReq 24 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 depth; + CARD16 sequenceNumber B16; + CARD32 lbxLength B32; + CARD32 xLength B32; + VisualID visual B32; + CARD8 compressionMethod; + CARD8 pad1; + CARD16 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xLbxGetImageReply; + +#define sz_xLbxGetImageReply 32 + +/* Following used for LbxPolyPoint, LbxPolyLine, LbxPolySegment, + LbxPolyRectangle, LbxPolyArc, LbxPolyFillRectangle and LbxPolyFillArc */ + +#define GFX_CACHE_SIZE 15 + +#define GFXdCacheEnt(e) ((e) & 0xf) +#define GFXgCacheEnt(e) (((e) >> 4) & 0xf) +#define GFXCacheEnts(d,g) (((d) & 0xf) | (((g) & 0xf) << 4)) + +#define GFXCacheNone 0xf + +typedef struct _LbxPolyPoint { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; + CARD16 length B16; + CARD8 cacheEnts; + CARD8 padBytes; +} xLbxPolyPointReq; + +#define sz_xLbxPolyPointReq 6 + +typedef xLbxPolyPointReq xLbxPolyLineReq; +typedef xLbxPolyPointReq xLbxPolySegmentReq; +typedef xLbxPolyPointReq xLbxPolyRectangleReq; +typedef xLbxPolyPointReq xLbxPolyArcReq; +typedef xLbxPolyPointReq xLbxPolyFillRectangleReq; +typedef xLbxPolyPointReq xLbxPolyFillArcReq; + +#define sz_xLbxPolyLineReq sz_xLbxPolyPointReq +#define sz_xLbxPolySegmentReq sz_xLbxPolyPointReq +#define sz_xLbxPolyRectangleReq sz_xLbxPolyPointReq +#define sz_xLbxPolyArcReq sz_xLbxPolyPointReq +#define sz_xLbxPolyFillRectangleReq sz_xLbxPolyPointReq +#define sz_xLbxPolyFillArc sz_xLbxPolyPointReq + +typedef struct _LbxFillPoly { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; + CARD16 length B16; + CARD8 cacheEnts; + BYTE shape; + CARD8 padBytes; +} xLbxFillPolyReq; +#define sz_xLbxFillPolyReq 7 + +typedef struct _LbxCopyArea { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; + CARD16 length B16; + CARD8 srcCache; /* source drawable */ + CARD8 cacheEnts; /* dest drawable and gc */ + /* followed by encoded src x, src y, dst x, dst y, width, height */ +} xLbxCopyAreaReq; + +#define sz_xLbxCopyAreaReq 6 + +typedef struct _LbxCopyPlane { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; + CARD16 length B16; + CARD32 bitPlane B32; + CARD8 srcCache; /* source drawable */ + CARD8 cacheEnts; /* dest drawable and gc */ + /* followed by encoded src x, src y, dst x, dst y, width, height */ +} xLbxCopyPlaneReq; + +#define sz_xLbxCopyPlaneReq 10 + +typedef struct _LbxPolyText { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; + CARD16 length B16; + CARD8 cacheEnts; + /* followed by encoded src x, src y coordinates and text elts */ +} xLbxPolyTextReq; + +#define sz_xLbxPolyTextReq 5 + +typedef xLbxPolyTextReq xLbxPolyText8Req; +typedef xLbxPolyTextReq xLbxPolyText16Req; + +#define sz_xLbxPolyTextReq 5 +#define sz_xLbxPolyText8Req 5 +#define sz_xLbxPolyText16Req 5 + +typedef struct _LbxImageText { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; + CARD16 length B16; + CARD8 cacheEnts; + CARD8 nChars; + /* followed by encoded src x, src y coordinates and string */ +} xLbxImageTextReq; + +typedef xLbxImageTextReq xLbxImageText8Req; +typedef xLbxImageTextReq xLbxImageText16Req; + +#define sz_xLbxImageTextReq 6 +#define sz_xLbxImageText8Req 6 +#define sz_xLbxImageText16Req 6 + +typedef struct { + CARD8 offset; + CARD8 diff; +} xLbxDiffItem; +#define sz_xLbxDiffItem 2 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 nOpts; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 optDataStart B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xLbxStartReply; +#define sz_xLbxStartReply 32 +#define sz_xLbxStartReplyHdr 8 + +typedef struct _LbxQueryExtension { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxQueryExtension */ + CARD16 length B16; + CARD32 nbytes B32; +} xLbxQueryExtensionReq; +#define sz_xLbxQueryExtensionReq 8 + +typedef struct _LbxQueryExtensionReply { + BYTE type; /* X_Reply */ + CARD8 numReqs; + CARD16 sequenceNumber B16; + CARD32 length B32; + BOOL present; + CARD8 major_opcode; + CARD8 first_event; + CARD8 first_error; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + + /* reply & event generating requests */ +} xLbxQueryExtensionReply; +#define sz_xLbxQueryExtensionReply 32 + + +typedef struct _LbxBeginLargeRequest { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxBeginLargeRequest */ + CARD16 length B16; + CARD32 largeReqLength B32; +} xLbxBeginLargeRequestReq; +#define sz_BeginLargeRequestReq 8 + +typedef struct _LbxLargeRequestData { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxLargeRequestData */ + CARD16 length B16; + /* followed by LISTofCARD8 data */ +} xLbxLargeRequestDataReq; +#define sz_LargeRequestDataReq 4 + +typedef struct _LbxEndLargeRequest { + CARD8 reqType; /* always LbxReqCode */ + CARD8 lbxReqType; /* always X_LbxEndLargeRequest */ + CARD16 length B16; +} xLbxEndLargeRequestReq; +#define sz_EndLargeRequestReq 4 + + + +typedef struct _LbxSwitchEvent { + BYTE type; /* always eventBase + LbxEvent */ + BYTE lbxType; /* LbxSwitchEvent */ + CARD16 pad B16; + CARD32 client B32; +} xLbxSwitchEvent; +#define sz_xLbxSwitchEvent 8 + +typedef struct _LbxCloseEvent { + BYTE type; /* always eventBase + LbxEvent */ + BYTE lbxType; /* LbxCloseEvent */ + CARD16 sequenceNumber B16; + CARD32 client B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xLbxCloseEvent; +#define sz_xLbxCloseEvent 32 + +typedef struct _LbxInvalidateTagEvent { + BYTE type; /* always eventBase + LbxEvent */ + BYTE lbxType; /* LbxInvalidateTagEvent */ + CARD16 sequenceNumber B16; + CARD32 tag B32; + CARD32 tagType B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xLbxInvalidateTagEvent; +#define sz_xLbxInvalidateTagEvent 32 + +typedef struct _LbxSendTagDataEvent { + BYTE type; /* always eventBase + LbxEvent */ + BYTE lbxType; /* LbxSendTagDataEvent */ + CARD16 sequenceNumber B16; + CARD32 tag B32; + CARD32 tagType B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xLbxSendTagDataEvent; +#define sz_xLbxSendTagDataEvent 32 + +typedef struct _LbxListenToOneEvent { + BYTE type; /* always eventBase + LbxEvent */ + BYTE lbxType; /* LbxListenToOneEvent */ + CARD16 sequenceNumber B16; + CARD32 client B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xLbxListenToOneEvent; +#define sz_xLbxListenToOneEvent 32 + +typedef struct _LbxListenToAllEvent { + BYTE type; /* always eventBase + LbxEvent */ + BYTE lbxType; /* LbxListenToAllEvent */ + CARD16 sequenceNumber B16; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; +} xLbxListenToAllEvent; +#define sz_xLbxListenToOneEvent 32 + +typedef struct _LbxReleaseCmapEvent { + BYTE type; /* always eventBase + LbxEvent */ + BYTE lbxType; /* LbxReleaseCmapEvent */ + CARD16 sequenceNumber B16; + Colormap colormap B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xLbxReleaseCmapEvent; +#define sz_xLbxReleaseCmapEvent 32 + + +typedef struct _LbxFreeCellsEvent { + BYTE type; /* always eventBase + LbxEvent */ + BYTE lbxType; /* LbxFreeCellsEvent */ + CARD16 sequenceNumber B16; + Colormap colormap B32; + CARD32 pixelStart B32; + CARD32 pixelEnd B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xLbxFreeCellsEvent; +#define sz_xLbxFreeCellsEvent 32 + + +/* + * squished X event sizes. If these change, be sure to update lbxquish.c + * and unsquish.c appropriately + * + * lbxsz_* is the padded squished length + * lbxupsz_* is the unpadded squished length + */ + +#define lbxsz_KeyButtonEvent 32 +#define lbxupsz_KeyButtonEvent 31 + +#define lbxsz_EnterLeaveEvent 32 +#define lbxupsz_EnterLeaveEvent 32 + +#define lbxsz_FocusEvent 12 +#define lbxupsz_FocusEvent 9 + +#define lbxsz_KeymapEvent 32 +#define lbxupsz_KeymapEvent 32 + +#define lbxsz_ExposeEvent 20 +#define lbxupsz_ExposeEvent 18 + +#define lbxsz_GfxExposeEvent 24 +#define lbxupsz_GfxExposeEvent 21 + +#define lbxsz_NoExposeEvent 12 +#define lbxupsz_NoExposeEvent 11 + +#define lbxsz_VisibilityEvent 12 +#define lbxupsz_VisibilityEvent 9 + +#define lbxsz_CreateNotifyEvent 24 +#define lbxupsz_CreateNotifyEvent 23 + +#define lbxsz_DestroyNotifyEvent 12 +#define lbxupsz_DestroyNotifyEvent 12 + +#define lbxsz_UnmapNotifyEvent 16 +#define lbxupsz_UnmapNotifyEvent 13 + +#define lbxsz_MapNotifyEvent 16 +#define lbxupsz_MapNotifyEvent 13 + +#define lbxsz_MapRequestEvent 12 +#define lbxupsz_MapRequestEvent 12 + +#define lbxsz_ReparentEvent 24 +#define lbxupsz_ReparentEvent 21 + +#define lbxsz_ConfigureNotifyEvent 28 +#define lbxupsz_ConfigureNotifyEvent 27 + +#define lbxsz_ConfigureRequestEvent 28 +#define lbxupsz_ConfigureRequestEvent 28 + +#define lbxsz_GravityEvent 16 +#define lbxupsz_GravityEvent 16 + +#define lbxsz_ResizeRequestEvent 12 +#define lbxupsz_ResizeRequestEvent 12 + +#define lbxsz_CirculateEvent 20 +#define lbxupsz_CirculateEvent 17 + +#define lbxsz_PropertyEvent 20 +#define lbxupsz_PropertyEvent 17 + +#define lbxsz_SelectionClearEvent 16 +#define lbxupsz_SelectionClearEvent 16 + +#define lbxsz_SelectionRequestEvent 28 +#define lbxupsz_SelectionRequestEvent 28 + +#define lbxsz_SelectionNotifyEvent 24 +#define lbxupsz_SelectionNotifyEvent 24 + +#define lbxsz_ColormapEvent 16 +#define lbxupsz_ColormapEvent 14 + +#define lbxsz_MappingNotifyEvent 8 +#define lbxupsz_MappingNotifyEvent 7 + +#define lbxsz_ClientMessageEvent 32 +#define lbxupsz_ClientMessageEvent 32 + +#define lbxsz_UnknownEvent 32 + +#ifdef DEBUG + +#define DBG_SWITCH 0x00000001 +#define DBG_CLOSE 0x00000002 +#define DBG_IO 0x00000004 +#define DBG_READ_REQ 0x00000008 +#define DBG_LEN 0x00000010 +#define DBG_BLOCK 0x00000020 +#define DBG_CLIENT 0x00000040 +#define DBG_DELTA 0x00000080 +#endif +/* + * Cancel the previous redefinition of the basic types, thus restoring their + * X.h definitions. + */ + +#undef XID +#undef Atom +#undef Colormap +#undef Drawable +#undef VisualID +#undef Window + +#endif /* _LBXPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/mitmiscconst.h b/ThirdParty/X11/Include/X11/extensions/mitmiscconst.h new file mode 100644 index 0000000..adc5f94 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/mitmiscconst.h @@ -0,0 +1,38 @@ +/************************************************************ + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +********************************************************/ + +/* RANDOM CRUFT! THIS HAS NO OFFICIAL X CONSORTIUM OR X PROJECT TEAM BLESSING */ + + +#ifndef _MITMISCCONST_H_ +#define _MITMISCCONST_H_ + +#define MITMiscNumberEvents 0 +#define MITMiscNumberErrors 0 + +#define MITMISCNAME "MIT-SUNDRY-NONSTANDARD" + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/mitmiscproto.h b/ThirdParty/X11/Include/X11/extensions/mitmiscproto.h new file mode 100644 index 0000000..18c202a --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/mitmiscproto.h @@ -0,0 +1,68 @@ +/************************************************************ + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +********************************************************/ + +/* RANDOM CRUFT! THIS HAS NO OFFICIAL X CONSORTIUM OR X PROJECT TEAM BLESSING */ + +#ifndef _MITMISCPROTO_H_ +#define _MITMISCPROTO_H_ + +#include <X11/extensions/mitmiscconst.h> + +#define X_MITSetBugMode 0 +#define X_MITGetBugMode 1 + +typedef struct _SetBugMode { + CARD8 reqType; /* always MITReqCode */ + CARD8 mitReqType; /* always X_MITSetBugMode */ + CARD16 length B16; + BOOL onOff; + BYTE pad0; + CARD16 pad1; +} xMITSetBugModeReq; +#define sz_xMITSetBugModeReq 8 + +typedef struct _GetBugMode { + CARD8 reqType; /* always MITReqCode */ + CARD8 mitReqType; /* always X_MITGetBugMode */ + CARD16 length B16; +} xMITGetBugModeReq; +#define sz_xMITGetBugModeReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL onOff; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xMITGetBugModeReply; +#define sz_xMITGetBugModeReply 32 + +#endif /* _MITMISCPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/multibuf.h b/ThirdParty/X11/Include/X11/extensions/multibuf.h new file mode 100644 index 0000000..27165f0 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/multibuf.h @@ -0,0 +1,207 @@ +/* + * +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + */ + +#ifndef _MULTIBUF_H_ +#define _MULTIBUF_H_ + +#include <X11/Xfuncproto.h> + +#include <X11/extensions/multibufconst.h> + +#define MbufGetReq(name,req,info) GetReq (name, req); \ + req->reqType = info->codes->major_opcode; \ + req->mbufReqType = X_##name; + +/* + * Extra definitions that will only be needed in the client + */ +typedef XID Multibuffer; + +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + int send_event; /* true if this came frome a SendEvent request */ + Display *display; /* Display the event was read from */ + Multibuffer buffer; /* buffer of event */ + int state; /* see Clobbered constants above */ +} XmbufClobberNotifyEvent; + +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + int send_event; /* true if this came frome a SendEvent request */ + Display *display; /* Display the event was read from */ + Multibuffer buffer; /* buffer of event */ +} XmbufUpdateNotifyEvent; + + +/* + * per-window attributes that can be got + */ +typedef struct { + int displayed_index; /* which buffer is being displayed */ + int update_action; /* Undefined, Background, Untouched, Copied */ + int update_hint; /* Frequent, Intermittent, Static */ + int window_mode; /* Mono, Stereo */ + int nbuffers; /* Number of buffers */ + Multibuffer *buffers; /* Buffers */ +} XmbufWindowAttributes; + +/* + * per-window attributes that can be set + */ +typedef struct { + int update_hint; /* Frequent, Intermittent, Static */ +} XmbufSetWindowAttributes; + + +/* + * per-buffer attributes that can be got + */ +typedef struct { + Window window; /* which window this belongs to */ + unsigned long event_mask; /* events that have been selected */ + int buffer_index; /* which buffer is this */ + int side; /* Mono, Left, Right */ +} XmbufBufferAttributes; + +/* + * per-buffer attributes that can be set + */ +typedef struct { + unsigned long event_mask; /* events that have been selected */ +} XmbufSetBufferAttributes; + + +/* + * per-screen buffer info (there will be lists of them) + */ +typedef struct { + VisualID visualid; /* visual usuable at this depth */ + int max_buffers; /* most buffers for this visual */ + int depth; /* depth of buffers to be created */ +} XmbufBufferInfo; + +_XFUNCPROTOBEGIN + +extern Bool XmbufQueryExtension( + Display* /* dpy */, + int* /* event_base_return */, + int* /* error_base_return */ +); + +extern Status XmbufGetVersion( + Display* /* dpy */, + int* /* major_version_return */, + int* /* minor_version_return */ +); + +extern int XmbufCreateBuffers( + Display* /* dpy */, + Window /* w */, + int /* count */, + int /* update_action */, + int /* update_hint */, + Multibuffer* /* buffers */ +); + +extern void XmbufDestroyBuffers( + Display* /* dpy */, + Window /* window */ +); + +extern void XmbufDisplayBuffers( + Display* /* dpy */, + int /* count */, + Multibuffer* /* buffers */, + int /* min_delay */, + int /* max_delay */ +); + +extern Status XmbufGetWindowAttributes( + Display* /* dpy */, + Window /* w */, + XmbufWindowAttributes* /* attr */ +); + +extern void XmbufChangeWindowAttributes( + Display* /* dpy */, + Window /* w */, + unsigned long /* valuemask */, + XmbufSetWindowAttributes* /* attr */ +); + +extern Status XmbufGetBufferAttributes( + Display* /* dpy */, + Multibuffer /* b */, + XmbufBufferAttributes* /* attr */ +); + +extern void XmbufChangeBufferAttributes( + Display* /* dpy */, + Multibuffer /* b */, + unsigned long /* valuemask */, + XmbufSetBufferAttributes* /* attr */ +); + +extern Status XmbufGetScreenInfo( + Display* /* dpy */, + Drawable /* d */, + int* /* nmono_return */, + XmbufBufferInfo** /* mono_info_return */, + int* /* nstereo_return */, + XmbufBufferInfo** /* stereo_info_return */ +); + +extern Window XmbufCreateStereoWindow( + Display* /* dpy */, + Window /* parent */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int /* border_width */, + int /* depth */, + unsigned int /* class */, + Visual* /* visual */, + unsigned long /* valuemask */, + XSetWindowAttributes* /* attr */, + Multibuffer* /* leftp */, + Multibuffer* /* rightp */ +); + +extern void XmbufClearBufferArea( + Display* /* dpy */, + Multibuffer /* buffer */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + Bool /* exposures */ +); + +_XFUNCPROTOEND + +#endif /* _MULTIBUF_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/multibufconst.h b/ThirdParty/X11/Include/X11/extensions/multibufconst.h new file mode 100644 index 0000000..2d1238c --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/multibufconst.h @@ -0,0 +1,83 @@ +/* +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + */ + +#ifndef _MULTIBUFCONST_H_ +#define _MULTIBUFCONST_H_ + +#define MULTIBUFFER_PROTOCOL_NAME "Multi-Buffering" + +#define MULTIBUFFER_MAJOR_VERSION 1 /* current version numbers */ +#define MULTIBUFFER_MINOR_VERSION 1 /* has ClearImageBufferArea */ + +/* + * update_action field + */ +#define MultibufferUpdateActionUndefined 0 +#define MultibufferUpdateActionBackground 1 +#define MultibufferUpdateActionUntouched 2 +#define MultibufferUpdateActionCopied 3 + +/* + * update_hint field + */ +#define MultibufferUpdateHintFrequent 0 +#define MultibufferUpdateHintIntermittent 1 +#define MultibufferUpdateHintStatic 2 + +/* + * valuemask fields + */ +#define MultibufferWindowUpdateHint (1L << 0) +#define MultibufferBufferEventMask (1L << 0) + +/* + * mono vs. stereo and left vs. right + */ +#define MultibufferModeMono 0 +#define MultibufferModeStereo 1 +#define MultibufferSideMono 0 +#define MultibufferSideLeft 1 +#define MultibufferSideRight 2 + +/* + * clobber state + */ +#define MultibufferUnclobbered 0 +#define MultibufferPartiallyClobbered 1 +#define MultibufferFullyClobbered 2 + +/* + * event stuff + */ +#define MultibufferClobberNotifyMask 0x02000000 +#define MultibufferUpdateNotifyMask 0x04000000 + +#define MultibufferClobberNotify 0 +#define MultibufferUpdateNotify 1 +#define MultibufferNumberEvents (MultibufferUpdateNotify + 1) + +#define MultibufferBadBuffer 0 +#define MultibufferNumberErrors (MultibufferBadBuffer + 1) + +#endif /* _MULTIBUFCONST_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/multibufproto.h b/ThirdParty/X11/Include/X11/extensions/multibufproto.h new file mode 100644 index 0000000..e2184d3 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/multibufproto.h @@ -0,0 +1,295 @@ +/* +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + */ + +#ifndef _MULTIBUFPROTO_H_ +#define _MULTIBUFPROTO_H_ + +#include <X11/extensions/multibufconst.h> + +/* + * Protocol requests constants and alignment values + */ + +#define Window CARD32 +#define Drawable CARD32 +#define VisualID CARD32 +#define Multibuffer CARD32 + +#define X_MbufGetBufferVersion 0 +#define X_MbufCreateImageBuffers 1 +#define X_MbufDestroyImageBuffers 2 +#define X_MbufDisplayImageBuffers 3 +#define X_MbufSetMBufferAttributes 4 +#define X_MbufGetMBufferAttributes 5 +#define X_MbufSetBufferAttributes 6 +#define X_MbufGetBufferAttributes 7 +#define X_MbufGetBufferInfo 8 +#define X_MbufCreateStereoWindow 9 +#define X_MbufClearImageBufferArea 10 + + +typedef struct xMbufBufferInfo { + CARD32 visualID B32; /* associated visual */ + CARD16 maxBuffers B16; /* maximum supported buffers */ + CARD8 depth; /* depth of visual (redundant) */ + CARD8 unused; +} xMbufBufferInfo; +#define sz_xMbufBufferInfo 8 + +typedef struct { + BYTE type; + BYTE unused; + CARD16 sequenceNumber B16; + CARD32 buffer B32; /* affected buffer */ + BYTE state; /* current status */ + CARD8 unused1; + CARD16 unused2 B16; + CARD32 unused3 B32; + CARD32 unused4 B32; + CARD32 unused5 B32; + CARD32 unused6 B32; + CARD32 unused7 B32; +} xMbufClobberNotifyEvent; + +typedef struct { + BYTE type; + BYTE unused; + CARD16 sequenceNumber B16; + CARD32 buffer B32; /* affected buffer */ + CARD32 timeStamp B32; /* update time */ + CARD32 unused1 B32; + CARD32 unused2 B32; + CARD32 unused3 B32; + CARD32 unused4 B32; + CARD32 unused5 B32; + CARD32 unused6 B32; +} xMbufUpdateNotifyEvent; + +typedef struct { + CARD8 reqType; /* always codes->major_opcode */ + CARD8 mbufReqType; /* always X_MbufGetBufferVersion */ + CARD16 length B16; +} xMbufGetBufferVersionReq; +#define sz_xMbufGetBufferVersionReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; /* not used */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD8 majorVersion; /* major version of Multi-Buffering protocol */ + CARD8 minorVersion; /* minor version of Multi-Buffering protocol */ + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xMbufGetBufferVersionReply; +#define sz_xMbufGetBufferVersionReply 32 + +typedef struct { + CARD8 reqType; /* always codes->major_opcode */ + CARD8 mbufReqType; /* always X_MbufCreateImageBuffers */ + CARD16 length B16; + CARD32 window B32; /* associated window */ + CARD8 updateAction; /* action at update */ + CARD8 updateHint; /* hint as to frequency of updates */ + CARD16 unused; +} xMbufCreateImageBuffersReq; /* followed by buffer ids */ +#define sz_xMbufCreateImageBuffersReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; /* not used */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 numberBuffer B16; /* number successfully allocated */ + CARD16 unused1 B16; + CARD32 unused2 B32; + CARD32 unused3 B32; + CARD32 unused4 B32; + CARD32 unused5 B32; + CARD32 unused6 B32; +} xMbufCreateImageBuffersReply; +#define sz_xMbufCreateImageBuffersReply 32 + +typedef struct { + CARD8 reqType; /* always codes->major_opcode */ + CARD8 mbufReqType; /* always X_MbufDestroyImageBuffers */ + CARD16 length B16; + CARD32 window B32; /* associated window */ +} xMbufDestroyImageBuffersReq; +#define sz_xMbufDestroyImageBuffersReq 8 + +typedef struct { + CARD8 reqType; /* always codes->major_opcode */ + CARD8 mbufReqType; /* always X_MbufDisplayImageBuffers */ + CARD16 length B16; + CARD16 minDelay B16; /* minimum time between last update and now */ + CARD16 maxDelay B16; /* maximum time between last update and now */ +} xMbufDisplayImageBuffersReq; /* followed by list of buffers */ +#define sz_xMbufDisplayImageBuffersReq 8 + +typedef struct { + CARD8 reqType; /* always codes->major_opcode */ + CARD8 mbufReqType; /* always X_MbufSetMBufferAttributes */ + CARD16 length B16; + CARD32 window B32; /* associated window */ + CARD32 valueMask B32; /* modified entries */ +} xMbufSetMBufferAttributesReq; /* followed by values */ +#define sz_xMbufSetMBufferAttributesReq 12 + +typedef struct { + CARD8 reqType; /* always codes->major_opcode */ + CARD8 mbufReqType; /* always X_MbufGetMBufferAttributes */ + CARD16 length B16; + CARD32 window B32; /* associated window */ +} xMbufGetMBufferAttributesReq; +#define sz_xMbufGetMBufferAttributesReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; /* not used */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 displayedBuffer B16; /* currently visible buffer */ + CARD8 updateAction; + CARD8 updateHint; + CARD8 windowMode; + CARD8 unused0; + CARD16 unused1 B16; + CARD32 unused2 B32; + CARD32 unused3 B32; + CARD32 unused4 B32; + CARD32 unused5 B32; +} xMbufGetMBufferAttributesReply; +#define sz_xMbufGetMBufferAttributesReply 32 + +typedef struct { + CARD8 reqType; /* always codes->major_opcode */ + CARD8 mbufReqType; /* always X_MbufSetBufferAttributes */ + CARD16 length B16; + CARD32 buffer B32; + CARD32 valueMask B32; +} xMbufSetBufferAttributesReq; /* followed by values */ +#define sz_xMbufSetBufferAttributesReq 12 + +typedef struct { + CARD8 reqType; /* always codes->major_opcode */ + CARD8 mbufReqType; /* always X_MbufGetBufferAttributes */ + CARD16 length B16; + CARD32 buffer B32; +} xMbufGetBufferAttributesReq; +#define sz_xMbufGetBufferAttributesReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; /* not used */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 window B32; + CARD32 eventMask B32; + CARD16 bufferIndex B16; + CARD8 side; + CARD8 unused0; + CARD32 unused1 B32; + CARD32 unused2 B32; + CARD32 unused3 B32; +} xMbufGetBufferAttributesReply; +#define sz_xMbufGetBufferAttributesReply 32 + +typedef struct { + CARD8 reqType; /* always codes->major_opcode */ + CARD8 mbufReqType; /* always X_MbufGetBufferInfo */ + CARD16 length B16; + Drawable drawable B32; +} xMbufGetBufferInfoReq; +#define sz_xMbufGetBufferInfoReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; /* not used */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 normalInfo B16; + CARD16 stereoInfo B16; + CARD32 unused1 B32; + CARD32 unused2 B32; + CARD32 unused3 B32; + CARD32 unused4 B32; + CARD32 unused5 B32; +} xMbufGetBufferInfoReply; /* followed by buffer infos */ +#define sz_xMbufGetBufferInfoReply 32 + + +typedef struct { + CARD8 reqType; /* always codes->major_opcode */ + CARD8 mbufReqType; /* always X_MbufCreateStereoWindow */ + CARD16 length B16; + CARD8 unused0; + CARD8 unused1; + CARD8 unused2; + CARD8 depth; + Window wid B32; + Window parent B32; + Multibuffer left B32; /* associated buffers */ + Multibuffer right B32; + INT16 x B16; + INT16 y B16; + CARD16 width B16; + CARD16 height B16; + CARD16 borderWidth B16; +#if defined(__cplusplus) || defined(c_plusplus) + CARD16 c_class B16; +#else + CARD16 class B16; +#endif + VisualID visual B32; + CARD32 mask B32; +} xMbufCreateStereoWindowReq; /* followed by value list */ +#define sz_xMbufCreateStereoWindowReq 44 + +typedef struct { + CARD8 reqType; /* always codes->major_opcode */ + CARD8 mbufReqType; /* always X_MbufClearImageBufferArea */ + CARD16 length B16; + Multibuffer buffer B32; + INT16 x B16; + INT16 y B16; + CARD16 width B16; + CARD16 height B16; + CARD8 unused0; + CARD8 unused1; + CARD8 unused2; + BOOL exposures; +} xMbufClearImageBufferAreaReq; +#define sz_xMbufClearImageBufferAreaReq 20 + +#undef Window +#undef Drawable +#undef VisualID +#undef Multibuffer + +#endif /* _MULTIBUFPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/panoramiXext.h b/ThirdParty/X11/Include/X11/extensions/panoramiXext.h new file mode 100644 index 0000000..8312a17 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/panoramiXext.h @@ -0,0 +1,85 @@ +/***************************************************************** +Copyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING, +BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of Digital Equipment Corporation +shall not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from Digital +Equipment Corporation. +******************************************************************/ +/* + * PanoramiX definitions + */ + +/* THIS IS NOT AN X PROJECT TEAM SPECIFICATION */ + +#ifndef _panoramiXext_h +#define _panoramiXext_h + +#include <X11/Xfuncproto.h> + +typedef struct { + Window window; /* PanoramiX window - may not exist */ + int screen; + int State; /* PanoramiXOff, PanoramiXOn */ + int width; /* width of this screen */ + int height; /* height of this screen */ + int ScreenCount; /* real physical number of screens */ + XID eventMask; /* selected events for this client */ +} XPanoramiXInfo; + +_XFUNCPROTOBEGIN + +extern Bool XPanoramiXQueryExtension ( + Display * /* dpy */, + int * /* event_base_return */, + int * /* error_base_return */ +); + +extern Status XPanoramiXQueryVersion( + Display * /* dpy */, + int * /* major_version_return */, + int * /* minor_version_return */ +); + +extern XPanoramiXInfo *XPanoramiXAllocInfo ( + void +); + +extern Status XPanoramiXGetState ( + Display * /* dpy */, + Drawable /* drawable */, + XPanoramiXInfo * /* panoramiX_info */ +); + +extern Status XPanoramiXGetScreenCount ( + Display * /* dpy */, + Drawable /* drawable */, + XPanoramiXInfo * /* panoramiX_info */ +); + +extern Status XPanoramiXGetScreenSize ( + Display * /* dpy */, + Drawable /* drawable */, + int /* screen_num */, + XPanoramiXInfo * /* panoramiX_info */ +); + +_XFUNCPROTOEND + +#endif /* _panoramiXext_h */ diff --git a/ThirdParty/X11/Include/X11/extensions/panoramiXproto.h b/ThirdParty/X11/Include/X11/extensions/panoramiXproto.h new file mode 100644 index 0000000..6fd1a02 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/panoramiXproto.h @@ -0,0 +1,193 @@ +/***************************************************************** +Copyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING, +BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of Digital Equipment Corporation +shall not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from Digital +Equipment Corporation. +******************************************************************/ + +/* THIS IS NOT AN X PROJECT TEAM SPECIFICATION */ + +#ifndef _PANORAMIXPROTO_H_ +#define _PANORAMIXPROTO_H_ + +#define PANORAMIX_MAJOR_VERSION 1 /* current version number */ +#define PANORAMIX_MINOR_VERSION 1 + +#define PANORAMIX_PROTOCOL_NAME "XINERAMA" + +#define X_PanoramiXQueryVersion 0 +#define X_PanoramiXGetState 1 +#define X_PanoramiXGetScreenCount 2 +#define X_PanoramiXGetScreenSize 3 + +#define X_XineramaIsActive 4 +#define X_XineramaQueryScreens 5 + +typedef struct _PanoramiXQueryVersion { + CARD8 reqType; /* always PanoramiXReqCode */ + CARD8 panoramiXReqType; /* always X_PanoramiXQueryVersion */ + CARD16 length B16; + CARD8 clientMajor; + CARD8 clientMinor; + CARD16 unused B16; +} xPanoramiXQueryVersionReq; + +#define sz_xPanoramiXQueryVersionReq 8 + +typedef struct { + CARD8 type; /* must be X_Reply */ + CARD8 pad1; /* unused */ + CARD16 sequenceNumber B16; /* last sequence number */ + CARD32 length B32; /* 0 */ + CARD16 majorVersion B16; + CARD16 minorVersion B16; + CARD32 pad2 B32; /* unused */ + CARD32 pad3 B32; /* unused */ + CARD32 pad4 B32; /* unused */ + CARD32 pad5 B32; /* unused */ + CARD32 pad6 B32; /* unused */ +} xPanoramiXQueryVersionReply; + +#define sz_xPanoramiXQueryVersionReply 32 + + +typedef struct _PanoramiXGetState { + CARD8 reqType; /* always PanoramiXReqCode */ + CARD8 panoramiXReqType; /* always X_PanoramiXGetState */ + CARD16 length B16; + CARD32 window B32; +} xPanoramiXGetStateReq; +#define sz_xPanoramiXGetStateReq 8 + +typedef struct { + BYTE type; + BYTE state; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 window B32; + CARD32 pad1 B32; /* unused */ + CARD32 pad2 B32; /* unused */ + CARD32 pad3 B32; /* unused */ + CARD32 pad4 B32; /* unused */ + CARD32 pad5 B32; /* unused */ +} xPanoramiXGetStateReply; + +#define sz_panoramiXGetStateReply 32 + +typedef struct _PanoramiXGetScreenCount { + CARD8 reqType; /* always PanoramiXReqCode */ + CARD8 panoramiXReqType; /* always X_PanoramiXGetScreenCount */ + CARD16 length B16; + CARD32 window B32; +} xPanoramiXGetScreenCountReq; +#define sz_xPanoramiXGetScreenCountReq 8 + +typedef struct { + BYTE type; + BYTE ScreenCount; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 window B32; + CARD32 pad1 B32; /* unused */ + CARD32 pad2 B32; /* unused */ + CARD32 pad3 B32; /* unused */ + CARD32 pad4 B32; /* unused */ + CARD32 pad5 B32; /* unused */ +} xPanoramiXGetScreenCountReply; +#define sz_panoramiXGetScreenCountReply 32 + +typedef struct _PanoramiXGetScreenSize { + CARD8 reqType; /* always PanoramiXReqCode */ + CARD8 panoramiXReqType; /* always X_PanoramiXGetState */ + CARD16 length B16; + CARD32 window B32; + CARD32 screen B32; +} xPanoramiXGetScreenSizeReq; +#define sz_xPanoramiXGetScreenSizeReq 12 + +typedef struct { + BYTE type; + CARD8 pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 width B32; + CARD32 height B32; + CARD32 window B32; + CARD32 screen B32; + CARD32 pad2 B32; /* unused */ + CARD32 pad3 B32; /* unused */ +} xPanoramiXGetScreenSizeReply; +#define sz_panoramiXGetScreenSizeReply 32 + +/************ Alternate protocol ******************/ + +typedef struct { + CARD8 reqType; + CARD8 panoramiXReqType; + CARD16 length B16; +} xXineramaIsActiveReq; +#define sz_xXineramaIsActiveReq 4 + +typedef struct { + BYTE type; + CARD8 pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 state B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXineramaIsActiveReply; +#define sz_XineramaIsActiveReply 32 + + +typedef struct { + CARD8 reqType; + CARD8 panoramiXReqType; + CARD16 length B16; +} xXineramaQueryScreensReq; +#define sz_xXineramaQueryScreensReq 4 + +typedef struct { + BYTE type; + CARD8 pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 number B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXineramaQueryScreensReply; +#define sz_XineramaQueryScreensReply 32 + +typedef struct { + INT16 x_org B16; + INT16 y_org B16; + CARD16 width B16; + CARD16 height B16; +} xXineramaScreenInfo; +#define sz_XineramaScreenInfo 8 + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/presentproto.h b/ThirdParty/X11/Include/X11/extensions/presentproto.h new file mode 100644 index 0000000..ee65fa4 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/presentproto.h @@ -0,0 +1,246 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifndef _PRESENT_PROTO_H_ +#define _PRESENT_PROTO_H_ + +#include <X11/extensions/presenttokens.h> + +#define Window CARD32 +#define Pixmap CARD32 +#define Region CARD32 +#define XSyncFence CARD32 +#define EventID CARD32 + +typedef struct { + Window window B32; + CARD32 serial B32; +} xPresentNotify; +#define sz_xPresentNotify 8 + +typedef struct { + CARD8 reqType; + CARD8 presentReqType; + CARD16 length B16; + CARD32 majorVersion B32; + CARD32 minorVersion B32; +} xPresentQueryVersionReq; +#define sz_xPresentQueryVersionReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 majorVersion B32; + CARD32 minorVersion B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xPresentQueryVersionReply; +#define sz_xPresentQueryVersionReply 32 + +typedef struct { + CARD8 reqType; + CARD8 presentReqType; + CARD16 length B16; + Window window B32; + + Pixmap pixmap B32; + CARD32 serial B32; + + Region valid B32; + Region update B32; + + INT16 x_off B16; + INT16 y_off B16; + CARD32 target_crtc B32; + + XSyncFence wait_fence B32; + XSyncFence idle_fence B32; + + CARD32 options B32; + CARD32 pad1 B32; + + CARD64 target_msc; + CARD64 divisor; + CARD64 remainder; + /* followed by a LISTofPRESENTNOTIFY */ +} xPresentPixmapReq; +#define sz_xPresentPixmapReq 72 + +typedef struct { + CARD8 reqType; + CARD8 presentReqType; + CARD16 length B16; + Window window B32; + + CARD32 serial B32; + CARD32 pad0 B32; + + CARD64 target_msc; + CARD64 divisor; + CARD64 remainder; +} xPresentNotifyMSCReq; +#define sz_xPresentNotifyMSCReq 40 + +typedef struct { + CARD8 reqType; + CARD8 presentReqType; + CARD16 length B16; + CARD32 eid B32; + CARD32 window B32; + CARD32 eventMask B32; +} xPresentSelectInputReq; +#define sz_xPresentSelectInputReq 16 + +typedef struct { + CARD8 reqType; + CARD8 presentReqType; + CARD16 length B16; + CARD32 target B32; +} xPresentQueryCapabilitiesReq; +#define sz_xPresentQueryCapabilitiesReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 capabilities B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; +} xPresentQueryCapabilitiesReply; +#define sz_xPresentQueryCapabilitiesReply 32 + +/* + * Events + * + * All Present events are X Generic Events + */ + +typedef struct { + CARD8 type; + CARD8 extension; + CARD16 sequenceNumber B16; + CARD32 length; + CARD16 evtype B16; + CARD16 pad2; + CARD32 eid B32; + CARD32 window B32; + INT16 x B16; + INT16 y B16; + CARD16 width B16; + CARD16 height B16; + INT16 off_x B16; + INT16 off_y B16; + + CARD16 pixmap_width B16; + CARD16 pixmap_height B16; + CARD32 pixmap_flags B32; +} xPresentConfigureNotify; +#define sz_xPresentConfigureNotify 40 + +typedef struct { + CARD8 type; + CARD8 extension; + CARD16 sequenceNumber B16; + CARD32 length; + CARD16 evtype B16; + CARD8 kind; + CARD8 mode; + CARD32 eid B32; + Window window B32; + CARD32 serial B32; + CARD64 ust; + + CARD64 msc; +} xPresentCompleteNotify; +#define sz_xPresentCompleteNotify 40 + +typedef struct { + CARD8 type; + CARD8 extension; + CARD16 sequenceNumber B16; + CARD32 length; + CARD16 evtype B16; + CARD16 pad2 B16; + CARD32 eid B32; + Window window B32; + CARD32 serial B32; + Pixmap pixmap B32; + CARD32 idle_fence B32; +} xPresentIdleNotify; +#define sz_xPresentIdleNotify 32 + +typedef struct { + CARD8 type; + CARD8 extension; + CARD16 sequenceNumber B16; + CARD32 length; + CARD16 evtype B16; + CARD8 update_window; + CARD8 pad1; + CARD32 eid B32; + Window event_window B32; + Window window B32; + Pixmap pixmap B32; + CARD32 serial B32; + + /* 32-byte boundary */ + + Region valid_region B32; + Region update_region B32; + + xRectangle valid_rect; + + xRectangle update_rect; + + INT16 x_off B16; + INT16 y_off B16; + CARD32 target_crtc B32; + + XSyncFence wait_fence B32; + XSyncFence idle_fence B32; + + CARD32 options B32; + CARD32 pad2 B32; + + CARD64 target_msc; + CARD64 divisor; + CARD64 remainder; + +} xPresentRedirectNotify; + +#define sz_xPresentRedirectNotify 104 + +#undef Window +#undef Pixmap +#undef Region +#undef XSyncFence +#undef EventID + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/presenttokens.h b/ThirdParty/X11/Include/X11/extensions/presenttokens.h new file mode 100644 index 0000000..807dbcf --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/presenttokens.h @@ -0,0 +1,91 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifndef _PRESENT_TOKENS_H_ +#define _PRESENT_TOKENS_H_ + +#define PRESENT_NAME "Present" +#define PRESENT_MAJOR 1 +#define PRESENT_MINOR 0 + +#define PresentNumberErrors 0 +#define PresentNumberEvents 0 + +/* Requests */ +#define X_PresentQueryVersion 0 +#define X_PresentPixmap 1 +#define X_PresentNotifyMSC 2 +#define X_PresentSelectInput 3 +#define X_PresentQueryCapabilities 4 + +#define PresentNumberRequests 5 + +/* Present operation options */ +#define PresentOptionNone 0 +#define PresentOptionAsync (1 << 0) +#define PresentOptionCopy (1 << 1) +#define PresentOptionUST (1 << 2) + +#define PresentAllOptions (PresentOptionAsync | \ + PresentOptionCopy | \ + PresentOptionUST) + +/* Present capabilities */ + +#define PresentCapabilityNone 0 +#define PresentCapabilityAsync 1 +#define PresentCapabilityFence 2 +#define PresentCapabilityUST 4 + +#define PresentAllCapabilities (PresentCapabilityAsync | \ + PresentCapabilityFence | \ + PresentCapabilityUST) + +/* Events */ +#define PresentConfigureNotify 0 +#define PresentCompleteNotify 1 +#define PresentIdleNotify 2 +#define PresentRedirectNotify 3 + +/* Event Masks */ +#define PresentConfigureNotifyMask 1 +#define PresentCompleteNotifyMask 2 +#define PresentIdleNotifyMask 4 +#define PresentRedirectNotifyMask 8 + +#define PresentAllEvents (PresentConfigureNotifyMask | \ + PresentCompleteNotifyMask | \ + PresentIdleNotifyMask | \ + PresentRedirectNotifyMask) + +/* Complete Kinds */ + +#define PresentCompleteKindPixmap 0 +#define PresentCompleteKindNotifyMSC 1 + +/* Complete Modes */ + +#define PresentCompleteModeCopy 0 +#define PresentCompleteModeFlip 1 +#define PresentCompleteModeSkip 2 + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/randr.h b/ThirdParty/X11/Include/X11/extensions/randr.h new file mode 100644 index 0000000..6fcda87 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/randr.h @@ -0,0 +1,198 @@ +/* + * Copyright © 2000 Compaq Computer Corporation + * Copyright © 2002 Hewlett Packard Company + * Copyright © 2006 Intel Corporation + * Copyright © 2008 Red Hat, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + * + * Author: Jim Gettys, HP Labs, Hewlett-Packard, Inc. + * Keith Packard, Intel Corporation + */ + +#ifndef _RANDR_H_ +#define _RANDR_H_ + +typedef unsigned short Rotation; +typedef unsigned short SizeID; +typedef unsigned short SubpixelOrder; +typedef unsigned short Connection; +typedef unsigned short XRandrRotation; +typedef unsigned short XRandrSizeID; +typedef unsigned short XRandrSubpixelOrder; +typedef unsigned long XRandrModeFlags; + +#define RANDR_NAME "RANDR" +#define RANDR_MAJOR 1 +#define RANDR_MINOR 5 + +#define RRNumberErrors 4 +#define RRNumberEvents 2 +#define RRNumberRequests 45 + +#define X_RRQueryVersion 0 +/* we skip 1 to make old clients fail pretty immediately */ +#define X_RROldGetScreenInfo 1 +#define X_RR1_0SetScreenConfig 2 +/* V1.0 apps share the same set screen config request id */ +#define X_RRSetScreenConfig 2 +#define X_RROldScreenChangeSelectInput 3 +/* 3 used to be ScreenChangeSelectInput; deprecated */ +#define X_RRSelectInput 4 +#define X_RRGetScreenInfo 5 + +/* V1.2 additions */ +#define X_RRGetScreenSizeRange 6 +#define X_RRSetScreenSize 7 +#define X_RRGetScreenResources 8 +#define X_RRGetOutputInfo 9 +#define X_RRListOutputProperties 10 +#define X_RRQueryOutputProperty 11 +#define X_RRConfigureOutputProperty 12 +#define X_RRChangeOutputProperty 13 +#define X_RRDeleteOutputProperty 14 +#define X_RRGetOutputProperty 15 +#define X_RRCreateMode 16 +#define X_RRDestroyMode 17 +#define X_RRAddOutputMode 18 +#define X_RRDeleteOutputMode 19 +#define X_RRGetCrtcInfo 20 +#define X_RRSetCrtcConfig 21 +#define X_RRGetCrtcGammaSize 22 +#define X_RRGetCrtcGamma 23 +#define X_RRSetCrtcGamma 24 + +/* V1.3 additions */ +#define X_RRGetScreenResourcesCurrent 25 +#define X_RRSetCrtcTransform 26 +#define X_RRGetCrtcTransform 27 +#define X_RRGetPanning 28 +#define X_RRSetPanning 29 +#define X_RRSetOutputPrimary 30 +#define X_RRGetOutputPrimary 31 + +#define RRTransformUnit (1L << 0) +#define RRTransformScaleUp (1L << 1) +#define RRTransformScaleDown (1L << 2) +#define RRTransformProjective (1L << 3) + +/* v1.4 */ +#define X_RRGetProviders 32 +#define X_RRGetProviderInfo 33 +#define X_RRSetProviderOffloadSink 34 +#define X_RRSetProviderOutputSource 35 +#define X_RRListProviderProperties 36 +#define X_RRQueryProviderProperty 37 +#define X_RRConfigureProviderProperty 38 +#define X_RRChangeProviderProperty 39 +#define X_RRDeleteProviderProperty 40 +#define X_RRGetProviderProperty 41 + +/* v1.5 */ +#define X_RRGetMonitors 42 +#define X_RRSetMonitor 43 +#define X_RRDeleteMonitor 44 + +/* Event selection bits */ +#define RRScreenChangeNotifyMask (1L << 0) +/* V1.2 additions */ +#define RRCrtcChangeNotifyMask (1L << 1) +#define RROutputChangeNotifyMask (1L << 2) +#define RROutputPropertyNotifyMask (1L << 3) +/* V1.4 additions */ +#define RRProviderChangeNotifyMask (1L << 4) +#define RRProviderPropertyNotifyMask (1L << 5) +#define RRResourceChangeNotifyMask (1L << 6) + +/* Event codes */ +#define RRScreenChangeNotify 0 +/* V1.2 additions */ +#define RRNotify 1 +/* RRNotify Subcodes */ +#define RRNotify_CrtcChange 0 +#define RRNotify_OutputChange 1 +#define RRNotify_OutputProperty 2 +#define RRNotify_ProviderChange 3 +#define RRNotify_ProviderProperty 4 +#define RRNotify_ResourceChange 5 +/* used in the rotation field; rotation and reflection in 0.1 proto. */ +#define RR_Rotate_0 1 +#define RR_Rotate_90 2 +#define RR_Rotate_180 4 +#define RR_Rotate_270 8 + +/* new in 1.0 protocol, to allow reflection of screen */ + +#define RR_Reflect_X 16 +#define RR_Reflect_Y 32 + +#define RRSetConfigSuccess 0 +#define RRSetConfigInvalidConfigTime 1 +#define RRSetConfigInvalidTime 2 +#define RRSetConfigFailed 3 + +/* new in 1.2 protocol */ + +#define RR_HSyncPositive 0x00000001 +#define RR_HSyncNegative 0x00000002 +#define RR_VSyncPositive 0x00000004 +#define RR_VSyncNegative 0x00000008 +#define RR_Interlace 0x00000010 +#define RR_DoubleScan 0x00000020 +#define RR_CSync 0x00000040 +#define RR_CSyncPositive 0x00000080 +#define RR_CSyncNegative 0x00000100 +#define RR_HSkewPresent 0x00000200 +#define RR_BCast 0x00000400 +#define RR_PixelMultiplex 0x00000800 +#define RR_DoubleClock 0x00001000 +#define RR_ClockDivideBy2 0x00002000 + +#define RR_Connected 0 +#define RR_Disconnected 1 +#define RR_UnknownConnection 2 + +#define BadRROutput 0 +#define BadRRCrtc 1 +#define BadRRMode 2 +#define BadRRProvider 3 + +/* Conventional RandR output properties */ + +#define RR_PROPERTY_BACKLIGHT "Backlight" +#define RR_PROPERTY_RANDR_EDID "EDID" +#define RR_PROPERTY_SIGNAL_FORMAT "SignalFormat" +#define RR_PROPERTY_SIGNAL_PROPERTIES "SignalProperties" +#define RR_PROPERTY_CONNECTOR_TYPE "ConnectorType" +#define RR_PROPERTY_CONNECTOR_NUMBER "ConnectorNumber" +#define RR_PROPERTY_COMPATIBILITY_LIST "CompatibilityList" +#define RR_PROPERTY_CLONE_LIST "CloneList" +#define RR_PROPERTY_BORDER "Border" +#define RR_PROPERTY_BORDER_DIMENSIONS "BorderDimensions" +#define RR_PROPERTY_GUID "GUID" +#define RR_PROPERTY_RANDR_TILE "TILE" + +/* roles this device can carry out */ +#define RR_Capability_None 0 +#define RR_Capability_SourceOutput 1 +#define RR_Capability_SinkOutput 2 +#define RR_Capability_SourceOffload 4 +#define RR_Capability_SinkOffload 8 + +#endif /* _RANDR_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/randrproto.h b/ThirdParty/X11/Include/X11/extensions/randrproto.h new file mode 100644 index 0000000..114a624 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/randrproto.h @@ -0,0 +1,1096 @@ +/* + * Copyright © 2000 Compaq Computer Corporation + * Copyright © 2002 Hewlett-Packard Company + * Copyright © 2006 Intel Corporation + * Copyright © 2008 Red Hat, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + * + * Author: Jim Gettys, Hewlett-Packard Company, Inc. + * Keith Packard, Intel Corporation + */ + +/* note that RANDR 1.0 is incompatible with version 0.0, or 0.1 */ +/* V1.0 removes depth switching from the protocol */ +#ifndef _XRANDRP_H_ +#define _XRANDRP_H_ + +#include <X11/extensions/randr.h> +#include <X11/extensions/renderproto.h> + +#define Window CARD32 +#define Drawable CARD32 +#define Font CARD32 +#define Pixmap CARD32 +#define Cursor CARD32 +#define Colormap CARD32 +#define GContext CARD32 +#define Atom CARD32 +#define Time CARD32 +#define KeyCode CARD8 +#define KeySym CARD32 +#define RROutput CARD32 +#define RRMode CARD32 +#define RRCrtc CARD32 +#define RRProvider CARD32 +#define RRModeFlags CARD32 +#define Atom CARD32 + +#define Rotation CARD16 +#define SizeID CARD16 +#define SubpixelOrder CARD16 + +/* + * data structures + */ + +typedef struct { + CARD16 widthInPixels B16; + CARD16 heightInPixels B16; + CARD16 widthInMillimeters B16; + CARD16 heightInMillimeters B16; +} xScreenSizes; +#define sz_xScreenSizes 8 + +/* + * requests and replies + */ + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + CARD32 majorVersion B32; + CARD32 minorVersion B32; +} xRRQueryVersionReq; +#define sz_xRRQueryVersionReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 majorVersion B32; + CARD32 minorVersion B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xRRQueryVersionReply; +#define sz_xRRQueryVersionReply 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + Window window B32; +} xRRGetScreenInfoReq; +#define sz_xRRGetScreenInfoReq 8 + +/* + * the xRRScreenInfoReply structure is followed by: + * + * the size information + */ + + +typedef struct { + BYTE type; /* X_Reply */ + BYTE setOfRotations; + CARD16 sequenceNumber B16; + CARD32 length B32; + Window root B32; + Time timestamp B32; + Time configTimestamp B32; + CARD16 nSizes B16; + SizeID sizeID B16; + Rotation rotation B16; + CARD16 rate B16; + CARD16 nrateEnts B16; + CARD16 pad B16; +} xRRGetScreenInfoReply; +#define sz_xRRGetScreenInfoReply 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + Drawable drawable B32; + Time timestamp B32; + Time configTimestamp B32; + SizeID sizeID B16; + Rotation rotation B16; +} xRR1_0SetScreenConfigReq; +#define sz_xRR1_0SetScreenConfigReq 20 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + Drawable drawable B32; + Time timestamp B32; + Time configTimestamp B32; + SizeID sizeID B16; + Rotation rotation B16; + CARD16 rate B16; + CARD16 pad B16; +} xRRSetScreenConfigReq; +#define sz_xRRSetScreenConfigReq 24 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 status; + CARD16 sequenceNumber B16; + CARD32 length B32; + Time newTimestamp B32; + Time newConfigTimestamp B32; + Window root; + CARD16 subpixelOrder B16; + CARD16 pad4 B16; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xRRSetScreenConfigReply; +#define sz_xRRSetScreenConfigReply 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + Window window B32; + CARD16 enable B16; + CARD16 pad2 B16; +} xRRSelectInputReq; +#define sz_xRRSelectInputReq 12 + +/* + * Additions for version 1.2 + */ + +typedef struct _xRRModeInfo { + RRMode id B32; + CARD16 width B16; + CARD16 height B16; + CARD32 dotClock B32; + CARD16 hSyncStart B16; + CARD16 hSyncEnd B16; + CARD16 hTotal B16; + CARD16 hSkew B16; + CARD16 vSyncStart B16; + CARD16 vSyncEnd B16; + CARD16 vTotal B16; + CARD16 nameLength B16; + RRModeFlags modeFlags B32; +} xRRModeInfo; +#define sz_xRRModeInfo 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + Window window B32; +} xRRGetScreenSizeRangeReq; +#define sz_xRRGetScreenSizeRangeReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 pad; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 minWidth B16; + CARD16 minHeight B16; + CARD16 maxWidth B16; + CARD16 maxHeight B16; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xRRGetScreenSizeRangeReply; +#define sz_xRRGetScreenSizeRangeReply 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + Window window B32; + CARD16 width B16; + CARD16 height B16; + CARD32 widthInMillimeters B32; + CARD32 heightInMillimeters B32; +} xRRSetScreenSizeReq; +#define sz_xRRSetScreenSizeReq 20 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + Window window B32; +} xRRGetScreenResourcesReq; +#define sz_xRRGetScreenResourcesReq 8 + +typedef struct { + BYTE type; + CARD8 pad; + CARD16 sequenceNumber B16; + CARD32 length B32; + Time timestamp B32; + Time configTimestamp B32; + CARD16 nCrtcs B16; + CARD16 nOutputs B16; + CARD16 nModes B16; + CARD16 nbytesNames B16; + CARD32 pad1 B32; + CARD32 pad2 B32; +} xRRGetScreenResourcesReply; +#define sz_xRRGetScreenResourcesReply 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RROutput output B32; + Time configTimestamp B32; +} xRRGetOutputInfoReq; +#define sz_xRRGetOutputInfoReq 12 + +typedef struct { + BYTE type; + CARD8 status; + CARD16 sequenceNumber B16; + CARD32 length B32; + Time timestamp B32; + RRCrtc crtc B32; + CARD32 mmWidth B32; + CARD32 mmHeight B32; + CARD8 connection; + CARD8 subpixelOrder; + CARD16 nCrtcs B16; + CARD16 nModes B16; + CARD16 nPreferred B16; + CARD16 nClones B16; + CARD16 nameLength B16; +} xRRGetOutputInfoReply; +#define sz_xRRGetOutputInfoReply 36 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RROutput output B32; +} xRRListOutputPropertiesReq; +#define sz_xRRListOutputPropertiesReq 8 + +typedef struct { + BYTE type; + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 nAtoms B16; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xRRListOutputPropertiesReply; +#define sz_xRRListOutputPropertiesReply 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RROutput output B32; + Atom property B32; +} xRRQueryOutputPropertyReq; +#define sz_xRRQueryOutputPropertyReq 12 + +typedef struct { + BYTE type; + BYTE pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + BOOL pending; + BOOL range; + BOOL immutable; + BYTE pad1; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xRRQueryOutputPropertyReply; +#define sz_xRRQueryOutputPropertyReply 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RROutput output B32; + Atom property B32; + BOOL pending; + BOOL range; + CARD16 pad B16; +} xRRConfigureOutputPropertyReq; +#define sz_xRRConfigureOutputPropertyReq 16 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RROutput output B32; + Atom property B32; + Atom type B32; + CARD8 format; + CARD8 mode; + CARD16 pad; + CARD32 nUnits B32; +} xRRChangeOutputPropertyReq; +#define sz_xRRChangeOutputPropertyReq 24 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RROutput output B32; + Atom property B32; +} xRRDeleteOutputPropertyReq; +#define sz_xRRDeleteOutputPropertyReq 12 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RROutput output B32; + Atom property B32; + Atom type B32; + CARD32 longOffset B32; + CARD32 longLength B32; +#ifdef __cplusplus + BOOL _delete; +#else + BOOL delete; +#endif + BOOL pending; + CARD16 pad1 B16; +} xRRGetOutputPropertyReq; +#define sz_xRRGetOutputPropertyReq 28 + +typedef struct { + BYTE type; + CARD8 format; + CARD16 sequenceNumber B16; + CARD32 length B32; + Atom propertyType B32; + CARD32 bytesAfter B32; + CARD32 nItems B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xRRGetOutputPropertyReply; +#define sz_xRRGetOutputPropertyReply 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + Window window B32; + xRRModeInfo modeInfo; +} xRRCreateModeReq; +#define sz_xRRCreateModeReq 40 + +typedef struct { + BYTE type; + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + RRMode mode B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xRRCreateModeReply; +#define sz_xRRCreateModeReply 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRMode mode B32; +} xRRDestroyModeReq; +#define sz_xRRDestroyModeReq 8 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RROutput output B32; + RRMode mode B32; +} xRRAddOutputModeReq; +#define sz_xRRAddOutputModeReq 12 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RROutput output B32; + RRMode mode B32; +} xRRDeleteOutputModeReq; +#define sz_xRRDeleteOutputModeReq 12 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRCrtc crtc B32; + Time configTimestamp B32; +} xRRGetCrtcInfoReq; +#define sz_xRRGetCrtcInfoReq 12 + +typedef struct { + BYTE type; + CARD8 status; + CARD16 sequenceNumber B16; + CARD32 length B32; + Time timestamp B32; + INT16 x B16; + INT16 y B16; + CARD16 width B16; + CARD16 height B16; + RRMode mode B32; + Rotation rotation B16; + Rotation rotations B16; + CARD16 nOutput B16; + CARD16 nPossibleOutput B16; +} xRRGetCrtcInfoReply; +#define sz_xRRGetCrtcInfoReply 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRCrtc crtc B32; + Time timestamp B32; + Time configTimestamp B32; + INT16 x B16; + INT16 y B16; + RRMode mode B32; + Rotation rotation B16; + CARD16 pad B16; +} xRRSetCrtcConfigReq; +#define sz_xRRSetCrtcConfigReq 28 + +typedef struct { + BYTE type; + CARD8 status; + CARD16 sequenceNumber B16; + CARD32 length B32; + Time newTimestamp B32; + CARD32 pad1 B32; + CARD32 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xRRSetCrtcConfigReply; +#define sz_xRRSetCrtcConfigReply 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRCrtc crtc B32; +} xRRGetCrtcGammaSizeReq; +#define sz_xRRGetCrtcGammaSizeReq 8 + +typedef struct { + BYTE type; + CARD8 status; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 size B16; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xRRGetCrtcGammaSizeReply; +#define sz_xRRGetCrtcGammaSizeReply 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRCrtc crtc B32; +} xRRGetCrtcGammaReq; +#define sz_xRRGetCrtcGammaReq 8 + +typedef struct { + BYTE type; + CARD8 status; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 size B16; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xRRGetCrtcGammaReply; +#define sz_xRRGetCrtcGammaReply 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRCrtc crtc B32; + CARD16 size B16; + CARD16 pad1 B16; +} xRRSetCrtcGammaReq; +#define sz_xRRSetCrtcGammaReq 12 + +/* + * Additions for V1.3 + */ + +typedef xRRGetScreenResourcesReq xRRGetScreenResourcesCurrentReq; + +#define sz_xRRGetScreenResourcesCurrentReq sz_xRRGetScreenResourcesReq + +typedef xRRGetScreenResourcesReply xRRGetScreenResourcesCurrentReply; +#define sz_xRRGetScreenResourcesCurrentReply sz_xRRGetScreenResourcesReply + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRCrtc crtc B32; + xRenderTransform transform; + CARD16 nbytesFilter; /* number of bytes in filter name */ + CARD16 pad B16; +} xRRSetCrtcTransformReq; + +#define sz_xRRSetCrtcTransformReq 48 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRCrtc crtc B32; +} xRRGetCrtcTransformReq; + +#define sz_xRRGetCrtcTransformReq 8 + +typedef struct { + BYTE type; + CARD8 status; + CARD16 sequenceNumber B16; + CARD32 length B32; + xRenderTransform pendingTransform; + BYTE hasTransforms; + CARD8 pad0; + CARD16 pad1 B16; + xRenderTransform currentTransform; + CARD32 pad2 B32; + CARD16 pendingNbytesFilter B16; /* number of bytes in filter name */ + CARD16 pendingNparamsFilter B16; /* number of filter params */ + CARD16 currentNbytesFilter B16; /* number of bytes in filter name */ + CARD16 currentNparamsFilter B16; /* number of filter params */ +} xRRGetCrtcTransformReply; + +#define sz_xRRGetCrtcTransformReply 96 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + Window window B32; + RROutput output B32; +} xRRSetOutputPrimaryReq; +#define sz_xRRSetOutputPrimaryReq 12 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + Window window B32; +} xRRGetOutputPrimaryReq; +#define sz_xRRGetOutputPrimaryReq 8 + +typedef struct { + BYTE type; + CARD8 pad; + CARD16 sequenceNumber B16; + CARD32 length B32; + RROutput output B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xRRGetOutputPrimaryReply; +#define sz_xRRGetOutputPrimaryReply 32 + +/* + * Additions for V1.4 + */ + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + Window window B32; +} xRRGetProvidersReq; +#define sz_xRRGetProvidersReq 8 + +typedef struct { + BYTE type; + CARD8 pad; + CARD16 sequenceNumber B16; + CARD32 length B32; + Time timestamp B32; + CARD16 nProviders; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xRRGetProvidersReply; +#define sz_xRRGetProvidersReply 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRProvider provider B32; + Time configTimestamp B32; +} xRRGetProviderInfoReq; +#define sz_xRRGetProviderInfoReq 12 + +typedef struct { + BYTE type; + CARD8 status; + CARD16 sequenceNumber B16; + CARD32 length B32; + Time timestamp B32; + CARD32 capabilities B32; + CARD16 nCrtcs B16; + CARD16 nOutputs B16; + CARD16 nAssociatedProviders B16; + CARD16 nameLength B16; + CARD32 pad1 B32; + CARD32 pad2 B32; +} xRRGetProviderInfoReply; +#define sz_xRRGetProviderInfoReply 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRProvider provider B32; + RRProvider source_provider B32; + Time configTimestamp B32; +} xRRSetProviderOutputSourceReq; +#define sz_xRRSetProviderOutputSourceReq 16 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRProvider provider B32; + RRProvider sink_provider B32; + Time configTimestamp B32; +} xRRSetProviderOffloadSinkReq; +#define sz_xRRSetProviderOffloadSinkReq 16 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRProvider provider B32; +} xRRListProviderPropertiesReq; +#define sz_xRRListProviderPropertiesReq 8 + +typedef struct { + BYTE type; + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 nAtoms B16; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xRRListProviderPropertiesReply; +#define sz_xRRListProviderPropertiesReply 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRProvider provider B32; + Atom property B32; +} xRRQueryProviderPropertyReq; +#define sz_xRRQueryProviderPropertyReq 12 + +typedef struct { + BYTE type; + BYTE pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + BOOL pending; + BOOL range; + BOOL immutable; + BYTE pad1; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xRRQueryProviderPropertyReply; +#define sz_xRRQueryProviderPropertyReply 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRProvider provider B32; + Atom property B32; + BOOL pending; + BOOL range; + CARD16 pad B16; +} xRRConfigureProviderPropertyReq; +#define sz_xRRConfigureProviderPropertyReq 16 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRProvider provider B32; + Atom property B32; + Atom type B32; + CARD8 format; + CARD8 mode; + CARD16 pad; + CARD32 nUnits B32; +} xRRChangeProviderPropertyReq; +#define sz_xRRChangeProviderPropertyReq 24 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRProvider provider B32; + Atom property B32; +} xRRDeleteProviderPropertyReq; +#define sz_xRRDeleteProviderPropertyReq 12 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRProvider provider B32; + Atom property B32; + Atom type B32; + CARD32 longOffset B32; + CARD32 longLength B32; +#ifdef __cplusplus + BOOL _delete; +#else + BOOL delete; +#endif + BOOL pending; + CARD16 pad1 B16; +} xRRGetProviderPropertyReq; +#define sz_xRRGetProviderPropertyReq 28 + +typedef struct { + BYTE type; + CARD8 format; + CARD16 sequenceNumber B16; + CARD32 length B32; + Atom propertyType B32; + CARD32 bytesAfter B32; + CARD32 nItems B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xRRGetProviderPropertyReply; +#define sz_xRRGetProviderPropertyReply 32 + +/* + * event + */ +typedef struct { + CARD8 type; /* always evBase + ScreenChangeNotify */ + CARD8 rotation; /* new rotation */ + CARD16 sequenceNumber B16; + Time timestamp B32; /* time screen was changed */ + Time configTimestamp B32; /* time config data was changed */ + Window root B32; /* root window */ + Window window B32; /* window requesting notification */ + SizeID sizeID B16; /* new size ID */ + CARD16 subpixelOrder B16; /* subpixel order */ + CARD16 widthInPixels B16; /* new size */ + CARD16 heightInPixels B16; + CARD16 widthInMillimeters B16; + CARD16 heightInMillimeters B16; +} xRRScreenChangeNotifyEvent; +#define sz_xRRScreenChangeNotifyEvent 32 + +typedef struct { + CARD8 type; /* always evBase + RRNotify */ + CARD8 subCode; /* RRNotify_CrtcChange */ + CARD16 sequenceNumber B16; + Time timestamp B32; /* time crtc was changed */ + Window window B32; /* window requesting notification */ + RRCrtc crtc B32; /* affected CRTC */ + RRMode mode B32; /* current mode */ + CARD16 rotation B16; /* rotation and reflection */ + CARD16 pad1 B16; /* unused */ + INT16 x B16; /* new location */ + INT16 y B16; + CARD16 width B16; /* new size */ + CARD16 height B16; +} xRRCrtcChangeNotifyEvent; +#define sz_xRRCrtcChangeNotifyEvent 32 + +typedef struct { + CARD8 type; /* always evBase + RRNotify */ + CARD8 subCode; /* RRNotify_OutputChange */ + CARD16 sequenceNumber B16; + Time timestamp B32; /* time output was changed */ + Time configTimestamp B32; /* time config was changed */ + Window window B32; /* window requesting notification */ + RROutput output B32; /* affected output */ + RRCrtc crtc B32; /* current crtc */ + RRMode mode B32; /* current mode */ + CARD16 rotation B16; /* rotation and reflection */ + CARD8 connection; /* connection status */ + CARD8 subpixelOrder; /* subpixel order */ +} xRROutputChangeNotifyEvent; +#define sz_xRROutputChangeNotifyEvent 32 + +typedef struct { + CARD8 type; /* always evBase + RRNotify */ + CARD8 subCode; /* RRNotify_OutputProperty */ + CARD16 sequenceNumber B16; + Window window B32; /* window requesting notification */ + RROutput output B32; /* affected output */ + Atom atom B32; /* property name */ + Time timestamp B32; /* time crtc was changed */ + CARD8 state; /* NewValue or Deleted */ + CARD8 pad1; + CARD16 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xRROutputPropertyNotifyEvent; +#define sz_xRROutputPropertyNotifyEvent 32 + +typedef struct { + CARD8 type; /* always evBase + RRNotify */ + CARD8 subCode; /* RRNotify_ProviderChange */ + CARD16 sequenceNumber B16; + Time timestamp B32; /* time provider was changed */ + Window window B32; /* window requesting notification */ + RRProvider provider B32; /* affected provider */ + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xRRProviderChangeNotifyEvent; +#define sz_xRRProviderChangeNotifyEvent 32 + +typedef struct { + CARD8 type; /* always evBase + RRNotify */ + CARD8 subCode; /* RRNotify_ProviderProperty */ + CARD16 sequenceNumber B16; + Window window B32; /* window requesting notification */ + RRProvider provider B32; /* affected provider */ + Atom atom B32; /* property name */ + Time timestamp B32; /* time provider was changed */ + CARD8 state; /* NewValue or Deleted */ + CARD8 pad1; + CARD16 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xRRProviderPropertyNotifyEvent; +#define sz_xRRProviderPropertyNotifyEvent 32 + +typedef struct { + CARD8 type; /* always evBase + RRNotify */ + CARD8 subCode; /* RRNotify_ResourceChange */ + CARD16 sequenceNumber B16; + Time timestamp B32; /* time resource was changed */ + Window window B32; /* window requesting notification */ + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xRRResourceChangeNotifyEvent; +#define sz_xRRResourceChangeNotifyEvent 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRCrtc crtc B32; +} xRRGetPanningReq; +#define sz_xRRGetPanningReq 8 + +typedef struct { + BYTE type; + CARD8 status; + CARD16 sequenceNumber B16; + CARD32 length B32; + Time timestamp B32; + CARD16 left B16; + CARD16 top B16; + CARD16 width B16; + CARD16 height B16; + CARD16 track_left B16; + CARD16 track_top B16; + CARD16 track_width B16; + CARD16 track_height B16; + INT16 border_left B16; + INT16 border_top B16; + INT16 border_right B16; + INT16 border_bottom B16; +} xRRGetPanningReply; +#define sz_xRRGetPanningReply 36 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRCrtc crtc B32; + Time timestamp B32; + CARD16 left B16; + CARD16 top B16; + CARD16 width B16; + CARD16 height B16; + CARD16 track_left B16; + CARD16 track_top B16; + CARD16 track_width B16; + CARD16 track_height B16; + INT16 border_left B16; + INT16 border_top B16; + INT16 border_right B16; + INT16 border_bottom B16; +} xRRSetPanningReq; +#define sz_xRRSetPanningReq 36 + +typedef struct { + BYTE type; + CARD8 status; + CARD16 sequenceNumber B16; + CARD32 length B32; + Time newTimestamp B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xRRSetPanningReply; +#define sz_xRRSetPanningReply 32 + +typedef struct { + Atom name B32; + BOOL primary; + BOOL automatic; + CARD16 noutput B16; + INT16 x B16; + INT16 y B16; + CARD16 width B16; + CARD16 height B16; + CARD32 widthInMillimeters B32; + CARD32 heightInMillimeters B32; +} xRRMonitorInfo; +#define sz_xRRMonitorInfo 24 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + Window window B32; + BOOL get_active; + CARD8 pad; + CARD16 pad2; +} xRRGetMonitorsReq; +#define sz_xRRGetMonitorsReq 12 + +typedef struct { + BYTE type; + CARD8 status; + CARD16 sequenceNumber B16; + CARD32 length B32; + Time timestamp B32; + CARD32 nmonitors B32; + CARD32 noutputs B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xRRGetMonitorsReply; +#define sz_xRRGetMonitorsReply 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + Window window B32; + xRRMonitorInfo monitor; +} xRRSetMonitorReq; +#define sz_xRRSetMonitorReq 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + Window window B32; + Atom name B32; +} xRRDeleteMonitorReq; +#define sz_xRRDeleteMonitorReq 12 + +#undef RRModeFlags +#undef RRCrtc +#undef RRMode +#undef RROutput +#undef RRMode +#undef RRCrtc +#undef RRProvider +#undef Drawable +#undef Window +#undef Font +#undef Pixmap +#undef Cursor +#undef Colormap +#undef GContext +#undef Atom +#undef Time +#undef KeyCode +#undef KeySym +#undef Rotation +#undef SizeID +#undef SubpixelOrder +#undef Atom + +#endif /* _XRANDRP_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/record.h b/ThirdParty/X11/Include/X11/extensions/record.h new file mode 100644 index 0000000..e82b06c --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/record.h @@ -0,0 +1,183 @@ +/*************************************************************************** + * Copyright 1995 Network Computing Devices + * + * Permission to use, copy, modify, distribute, and sell this software and + * its documentation for any purpose is hereby granted without fee, provided + * that the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Network Computing Devices + * not be used in advertising or publicity pertaining to distribution + * of the software without specific, written prior permission. + * + * NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE + * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING + * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + **************************************************************************/ + +#ifndef _RECORD_H_ +#define _RECORD_H_ + +#include <X11/extensions/recordconst.h> + +typedef unsigned long XRecordClientSpec; +typedef unsigned long XRecordContext; + +typedef struct +{ + unsigned char first; + unsigned char last; +} XRecordRange8; + +typedef struct +{ + unsigned short first; + unsigned short last; +} XRecordRange16; + +typedef struct +{ + XRecordRange8 ext_major; + XRecordRange16 ext_minor; +} XRecordExtRange; + +typedef struct +{ + XRecordRange8 core_requests; /* core X requests */ + XRecordRange8 core_replies; /* core X replies */ + XRecordExtRange ext_requests; /* extension requests */ + XRecordExtRange ext_replies; /* extension replies */ + XRecordRange8 delivered_events; /* delivered core and ext events */ + XRecordRange8 device_events; /* all core and ext device events */ + XRecordRange8 errors; /* core X and ext errors */ + Bool client_started; /* connection setup reply */ + Bool client_died; /* notice of client disconnect */ +} XRecordRange; + +typedef struct +{ + XRecordClientSpec client; + unsigned long nranges; + XRecordRange **ranges; +} XRecordClientInfo; + +typedef struct +{ + Bool enabled; + int datum_flags; + unsigned long nclients; + XRecordClientInfo **client_info; +} XRecordState; + +typedef struct +{ + XID id_base; + Time server_time; + unsigned long client_seq; + int category; + Bool client_swapped; + unsigned char *data; + unsigned long data_len; /* in 4-byte units */ +} XRecordInterceptData; + +_XFUNCPROTOBEGIN + +/********************************************************* + * + * Prototypes + * + */ + +XID XRecordIdBaseMask( + Display *dpy +); + +extern Status XRecordQueryVersion( + Display* /* dpy */, + int* /* cmajor_return */, + int* /* cminor_return */ +); + +extern XRecordContext XRecordCreateContext( + Display* /* dpy */, + int /* datum_flags */, + XRecordClientSpec* /* clients */, + int /* nclients */, + XRecordRange** /* ranges */, + int /* nranges */ +); + +extern XRecordRange *XRecordAllocRange( + void +); + +extern Status XRecordRegisterClients( + Display* /* dpy */, + XRecordContext /* context */, + int /* datum_flags */, + XRecordClientSpec* /* clients */, + int /* nclients */, + XRecordRange** /* ranges */, + int /* nranges */ +); + +extern Status XRecordUnregisterClients( + Display* /* dpy */, + XRecordContext /* context */, + XRecordClientSpec* /* clients */, + int /* nclients */ +); + +extern Status XRecordGetContext( + Display* /* dpy */, + XRecordContext /* context */, + XRecordState** /* state_return */ +); + +extern void XRecordFreeState( +XRecordState* /* state */ +); + +typedef void (*XRecordInterceptProc) ( + XPointer /* closure */, + XRecordInterceptData* /* recorded_data */ +); + +extern Status XRecordEnableContext( + Display* /* dpy */, + XRecordContext /* context */, + XRecordInterceptProc /* callback */, + XPointer /* closure */ +); + +extern Status XRecordEnableContextAsync( + Display* /* dpy */, + XRecordContext /* context */, + XRecordInterceptProc /* callback */, + XPointer /* closure */ +); + +extern void XRecordProcessReplies( + Display* /* dpy */ +); + +extern void XRecordFreeData( +XRecordInterceptData* /* data */ +); + +extern Status XRecordDisableContext( + Display* /* dpy */, + XRecordContext /* context */ +); + +extern Status XRecordFreeContext( + Display* /* dpy */, + XRecordContext /* context */ +); + +_XFUNCPROTOEND + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/recordconst.h b/ThirdParty/X11/Include/X11/extensions/recordconst.h new file mode 100644 index 0000000..4819de7 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/recordconst.h @@ -0,0 +1,54 @@ +/*************************************************************************** + * Copyright 1995 Network Computing Devices + * + * Permission to use, copy, modify, distribute, and sell this software and + * its documentation for any purpose is hereby granted without fee, provided + * that the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Network Computing Devices + * not be used in advertising or publicity pertaining to distribution + * of the software without specific, written prior permission. + * + * NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE + * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING + * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + **************************************************************************/ + +#ifndef _RECORDCONST_H_ +#define _RECORDCONST_H_ + +#define RECORD_NAME "RECORD" +#define RECORD_MAJOR_VERSION 1 +#define RECORD_MINOR_VERSION 13 +#define RECORD_LOWEST_MAJOR_VERSION 1 +#define RECORD_LOWEST_MINOR_VERSION 12 + +#define XRecordBadContext 0 /* Not a valid RC */ + +#define RecordNumErrors (XRecordBadContext + 1) +#define RecordNumEvents 0L + +/* + * Constants for arguments of various requests + */ +#define XRecordFromServerTime 0x01 +#define XRecordFromClientTime 0x02 +#define XRecordFromClientSequence 0x04 + +#define XRecordCurrentClients 1 +#define XRecordFutureClients 2 +#define XRecordAllClients 3 + +#define XRecordFromServer 0 +#define XRecordFromClient 1 +#define XRecordClientStarted 2 +#define XRecordClientDied 3 +#define XRecordStartOfData 4 +#define XRecordEndOfData 5 + + +#endif /* _RECORD_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/recordproto.h b/ThirdParty/X11/Include/X11/extensions/recordproto.h new file mode 100644 index 0000000..01bc952 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/recordproto.h @@ -0,0 +1,306 @@ +/*************************************************************************** + * Copyright 1995 Network Computing Devices + * + * Permission to use, copy, modify, distribute, and sell this software and + * its documentation for any purpose is hereby granted without fee, provided + * that the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Network Computing Devices + * not be used in advertising or publicity pertaining to distribution + * of the software without specific, written prior permission. + * + * NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE + * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING + * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + **************************************************************************/ + +#ifndef _RECORDPROTO_H_ +#define _RECORDPROTO_H_ + +#include <X11/extensions/recordconst.h> + +/* only difference between 1.12 and 1.13 is byte order of device events, + which the library doesn't deal with. */ + +/********************************************************* + * + * Protocol request constants + * + */ +#define X_RecordQueryVersion 0 /* First request from client */ +#define X_RecordCreateContext 1 /* Create client RC */ +#define X_RecordRegisterClients 2 /* Add to client RC */ +#define X_RecordUnregisterClients 3 /* Delete from client RC */ +#define X_RecordGetContext 4 /* Query client RC */ +#define X_RecordEnableContext 5 /* Enable interception and reporting */ +#define X_RecordDisableContext 6 /* Disable interception and reporting */ +#define X_RecordFreeContext 7 /* Free client RC */ + +#define sz_XRecordRange 32 +#define sz_XRecordClientInfo 12 +#define sz_XRecordState 16 +#define sz_XRecordDatum 32 + + +#define XRecordGlobaldef +#define XRecordGlobalref extern + +#define RecordMaxEvent (128L-1L) +#define RecordMinDeviceEvent (2L) +#define RecordMaxDeviceEvent (6L) +#define RecordMaxError (256L-1L) +#define RecordMaxCoreRequest (128L-1L) +#define RecordMaxExtRequest (256L-1L) +#define RecordMinExtRequest (129L-1L) + +#define RECORD_RC CARD32 +#define RECORD_XIDBASE CARD32 +#define RECORD_CLIENTSPEC CARD32 +#define RECORD_ELEMENT_HEADER CARD8 + +typedef RECORD_CLIENTSPEC RecordClientSpec, *RecordClientSpecPtr; + +typedef struct +{ + CARD8 first; + CARD8 last; +} RECORD_RANGE8; + +typedef struct +{ + CARD16 first B16; + CARD16 last B16; +} RECORD_RANGE16; + +typedef struct +{ + RECORD_RANGE8 majorCode; + RECORD_RANGE16 minorCode; +} RECORD_EXTRANGE; + +typedef struct +{ + RECORD_RANGE8 coreRequests; + RECORD_RANGE8 coreReplies; + RECORD_EXTRANGE extRequests; + RECORD_EXTRANGE extReplies; + RECORD_RANGE8 deliveredEvents; + RECORD_RANGE8 deviceEvents; + RECORD_RANGE8 errors; + BOOL clientStarted; + BOOL clientDied; +} RECORDRANGE; +#define sz_RECORDRANGE 24 + +/* typedef RECORDRANGE xRecordRange, *xRecordRangePtr; +#define sz_xRecordRange 24 */ + +/* Cannot have structures within structures going over the wire */ +typedef struct +{ + CARD8 coreRequestsFirst; + CARD8 coreRequestsLast; + CARD8 coreRepliesFirst; + CARD8 coreRepliesLast; + CARD8 extRequestsMajorFirst; + CARD8 extRequestsMajorLast; + CARD16 extRequestsMinorFirst B16; + CARD16 extRequestsMinorLast B16; + CARD8 extRepliesMajorFirst; + CARD8 extRepliesMajorLast; + CARD16 extRepliesMinorFirst B16; + CARD16 extRepliesMinorLast B16; + CARD8 deliveredEventsFirst; + CARD8 deliveredEventsLast; + CARD8 deviceEventsFirst; + CARD8 deviceEventsLast; + CARD8 errorsFirst; + CARD8 errorsLast; + BOOL clientStarted; + BOOL clientDied; +} xRecordRange; +#define sz_xRecordRange 24 + +typedef struct +{ + RECORD_CLIENTSPEC clientResource B32; + CARD32 nRanges B32; +/* LISTofRECORDRANGE */ +} RECORD_CLIENT_INFO; + +typedef RECORD_CLIENT_INFO xRecordClientInfo; + +/* + * Initialize + */ +typedef struct { + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + CARD16 majorVersion B16; + CARD16 minorVersion B16; +} xRecordQueryVersionReq; +#define sz_xRecordQueryVersionReq 8 + +typedef struct +{ + CARD8 type; + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 majorVersion B16; + CARD16 minorVersion B16; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + } xRecordQueryVersionReply; +#define sz_xRecordQueryVersionReply 32 + +/* + * Create RC + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; + RECORD_ELEMENT_HEADER elementHeader; + CARD8 pad; + CARD16 pad0 B16; + CARD32 nClients B32; + CARD32 nRanges B32; +/* LISTofRECORD_CLIENTSPEC */ +/* LISTofRECORDRANGE */ +} xRecordCreateContextReq; +#define sz_xRecordCreateContextReq 20 + +/* + * Add to RC + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; + RECORD_ELEMENT_HEADER elementHeader; + CARD8 pad; + CARD16 pad0 B16; + CARD32 nClients B32; + CARD32 nRanges B32; +/* LISTofRECORD_CLIENTSPEC */ +/* LISTofRECORDRANGE */ +} xRecordRegisterClientsReq; +#define sz_xRecordRegisterClientsReq 20 + +/* + * Delete from RC + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; + CARD32 nClients B32; +/* LISTofRECORD_CLIENTSPEC */ +} xRecordUnregisterClientsReq; +#define sz_xRecordUnregisterClientsReq 12 + +/* + * Query RC + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; +} xRecordGetContextReq; +#define sz_xRecordGetContextReq 8 + +typedef struct +{ + CARD8 type; + BOOL enabled; + CARD16 sequenceNumber B16; + CARD32 length B32; + RECORD_ELEMENT_HEADER elementHeader; + CARD8 pad; + CARD16 pad0 B16; + CARD32 nClients B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +/* LISTofCLIENT_INFO */ /* intercepted-clients */ +} xRecordGetContextReply; +#define sz_xRecordGetContextReply 32 + +/* + * Enable data interception + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; +} xRecordEnableContextReq; +#define sz_xRecordEnableContextReq 8 + +typedef struct +{ + CARD8 type; + CARD8 category; + CARD16 sequenceNumber B16; + CARD32 length B32; + RECORD_ELEMENT_HEADER elementHeader; + BOOL clientSwapped; + CARD16 pad1 B16; + RECORD_XIDBASE idBase B32; + CARD32 serverTime B32; + CARD32 recordedSequenceNumber B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + /* BYTE data; */ +} xRecordEnableContextReply; +#define sz_xRecordEnableContextReply 32 + +/* + * Disable data interception + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; +} xRecordDisableContextReq; +#define sz_xRecordDisableContextReq 8 + +/* + * Free RC + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; +} xRecordFreeContextReq; +#define sz_xRecordFreeContextReq 8 + +#undef RECORD_RC +#undef RECORD_XIDBASE +#undef RECORD_ELEMENT_HEADER +#undef RECORD_CLIENTSPEC + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/recordstr.h b/ThirdParty/X11/Include/X11/extensions/recordstr.h new file mode 100644 index 0000000..7f269b7 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/recordstr.h @@ -0,0 +1,4 @@ +#warning "recordstr.h is obsolete and may be removed in the future." +#warning "include <X11/extensions/record.h> for the library interfaces." +#warning "include <X11/extensions/recordproto.h> for the protocol defines." +#include <X11/extensions/recordproto.h> diff --git a/ThirdParty/X11/Include/X11/extensions/render.h b/ThirdParty/X11/Include/X11/extensions/render.h new file mode 100644 index 0000000..7e35bd6 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/render.h @@ -0,0 +1,212 @@ +/* + * $XFree86: xc/include/extensions/render.h,v 1.10 2002/11/06 22:47:49 keithp Exp $ + * + * Copyright © 2000 SuSE, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of SuSE not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. SuSE makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE + * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: Keith Packard, SuSE, Inc. + */ + +#ifndef _RENDER_H_ +#define _RENDER_H_ + +#include <X11/Xdefs.h> + +typedef XID Glyph; +typedef XID GlyphSet; +typedef XID Picture; +typedef XID PictFormat; + +#define RENDER_NAME "RENDER" +#define RENDER_MAJOR 0 +#define RENDER_MINOR 11 + +#define X_RenderQueryVersion 0 +#define X_RenderQueryPictFormats 1 +#define X_RenderQueryPictIndexValues 2 /* 0.7 */ +#define X_RenderQueryDithers 3 +#define X_RenderCreatePicture 4 +#define X_RenderChangePicture 5 +#define X_RenderSetPictureClipRectangles 6 +#define X_RenderFreePicture 7 +#define X_RenderComposite 8 +#define X_RenderScale 9 +#define X_RenderTrapezoids 10 +#define X_RenderTriangles 11 +#define X_RenderTriStrip 12 +#define X_RenderTriFan 13 +#define X_RenderColorTrapezoids 14 +#define X_RenderColorTriangles 15 +/* #define X_RenderTransform 16 */ +#define X_RenderCreateGlyphSet 17 +#define X_RenderReferenceGlyphSet 18 +#define X_RenderFreeGlyphSet 19 +#define X_RenderAddGlyphs 20 +#define X_RenderAddGlyphsFromPicture 21 +#define X_RenderFreeGlyphs 22 +#define X_RenderCompositeGlyphs8 23 +#define X_RenderCompositeGlyphs16 24 +#define X_RenderCompositeGlyphs32 25 +#define X_RenderFillRectangles 26 +/* 0.5 */ +#define X_RenderCreateCursor 27 +/* 0.6 */ +#define X_RenderSetPictureTransform 28 +#define X_RenderQueryFilters 29 +#define X_RenderSetPictureFilter 30 +/* 0.8 */ +#define X_RenderCreateAnimCursor 31 +/* 0.9 */ +#define X_RenderAddTraps 32 +/* 0.10 */ +#define X_RenderCreateSolidFill 33 +#define X_RenderCreateLinearGradient 34 +#define X_RenderCreateRadialGradient 35 +#define X_RenderCreateConicalGradient 36 +#define RenderNumberRequests (X_RenderCreateConicalGradient+1) + +#define BadPictFormat 0 +#define BadPicture 1 +#define BadPictOp 2 +#define BadGlyphSet 3 +#define BadGlyph 4 +#define RenderNumberErrors (BadGlyph+1) + +#define PictTypeIndexed 0 +#define PictTypeDirect 1 + +#define PictOpMinimum 0 +#define PictOpClear 0 +#define PictOpSrc 1 +#define PictOpDst 2 +#define PictOpOver 3 +#define PictOpOverReverse 4 +#define PictOpIn 5 +#define PictOpInReverse 6 +#define PictOpOut 7 +#define PictOpOutReverse 8 +#define PictOpAtop 9 +#define PictOpAtopReverse 10 +#define PictOpXor 11 +#define PictOpAdd 12 +#define PictOpSaturate 13 +#define PictOpMaximum 13 + +/* + * Operators only available in version 0.2 + */ +#define PictOpDisjointMinimum 0x10 +#define PictOpDisjointClear 0x10 +#define PictOpDisjointSrc 0x11 +#define PictOpDisjointDst 0x12 +#define PictOpDisjointOver 0x13 +#define PictOpDisjointOverReverse 0x14 +#define PictOpDisjointIn 0x15 +#define PictOpDisjointInReverse 0x16 +#define PictOpDisjointOut 0x17 +#define PictOpDisjointOutReverse 0x18 +#define PictOpDisjointAtop 0x19 +#define PictOpDisjointAtopReverse 0x1a +#define PictOpDisjointXor 0x1b +#define PictOpDisjointMaximum 0x1b + +#define PictOpConjointMinimum 0x20 +#define PictOpConjointClear 0x20 +#define PictOpConjointSrc 0x21 +#define PictOpConjointDst 0x22 +#define PictOpConjointOver 0x23 +#define PictOpConjointOverReverse 0x24 +#define PictOpConjointIn 0x25 +#define PictOpConjointInReverse 0x26 +#define PictOpConjointOut 0x27 +#define PictOpConjointOutReverse 0x28 +#define PictOpConjointAtop 0x29 +#define PictOpConjointAtopReverse 0x2a +#define PictOpConjointXor 0x2b +#define PictOpConjointMaximum 0x2b + +/* + * Operators only available in version 0.11 + */ +#define PictOpBlendMinimum 0x30 +#define PictOpMultiply 0x30 +#define PictOpScreen 0x31 +#define PictOpOverlay 0x32 +#define PictOpDarken 0x33 +#define PictOpLighten 0x34 +#define PictOpColorDodge 0x35 +#define PictOpColorBurn 0x36 +#define PictOpHardLight 0x37 +#define PictOpSoftLight 0x38 +#define PictOpDifference 0x39 +#define PictOpExclusion 0x3a +#define PictOpHSLHue 0x3b +#define PictOpHSLSaturation 0x3c +#define PictOpHSLColor 0x3d +#define PictOpHSLLuminosity 0x3e +#define PictOpBlendMaximum 0x3e + +#define PolyEdgeSharp 0 +#define PolyEdgeSmooth 1 + +#define PolyModePrecise 0 +#define PolyModeImprecise 1 + +#define CPRepeat (1 << 0) +#define CPAlphaMap (1 << 1) +#define CPAlphaXOrigin (1 << 2) +#define CPAlphaYOrigin (1 << 3) +#define CPClipXOrigin (1 << 4) +#define CPClipYOrigin (1 << 5) +#define CPClipMask (1 << 6) +#define CPGraphicsExposure (1 << 7) +#define CPSubwindowMode (1 << 8) +#define CPPolyEdge (1 << 9) +#define CPPolyMode (1 << 10) +#define CPDither (1 << 11) +#define CPComponentAlpha (1 << 12) +#define CPLastBit 12 + +/* Filters included in 0.6 */ +#define FilterNearest "nearest" +#define FilterBilinear "bilinear" +/* Filters included in 0.10 */ +#define FilterConvolution "convolution" + +#define FilterFast "fast" +#define FilterGood "good" +#define FilterBest "best" + +#define FilterAliasNone -1 + +/* Subpixel orders included in 0.6 */ +#define SubPixelUnknown 0 +#define SubPixelHorizontalRGB 1 +#define SubPixelHorizontalBGR 2 +#define SubPixelVerticalRGB 3 +#define SubPixelVerticalBGR 4 +#define SubPixelNone 5 + +/* Extended repeat attributes included in 0.10 */ +#define RepeatNone 0 +#define RepeatNormal 1 +#define RepeatPad 2 +#define RepeatReflect 3 + +#endif /* _RENDER_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/renderproto.h b/ThirdParty/X11/Include/X11/extensions/renderproto.h new file mode 100644 index 0000000..ffe0639 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/renderproto.h @@ -0,0 +1,663 @@ +/* + * $XFree86: xc/include/extensions/renderproto.h,v 1.12 2002/09/26 02:56:48 keithp Exp $ + * + * Copyright © 2000 SuSE, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of SuSE not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. SuSE makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE + * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: Keith Packard, SuSE, Inc. + */ + +#ifndef _XRENDERP_H_ +#define _XRENDERP_H_ + +#include <X11/Xmd.h> +#include <X11/extensions/render.h> + +#define Window CARD32 +#define Drawable CARD32 +#define Font CARD32 +#define Pixmap CARD32 +#define Cursor CARD32 +#define Colormap CARD32 +#define GContext CARD32 +#define Atom CARD32 +#define VisualID CARD32 +#define Time CARD32 +#define KeyCode CARD8 +#define KeySym CARD32 + +#define Picture CARD32 +#define PictFormat CARD32 +#define Fixed INT32 +#define Glyphset CARD32 + +/* + * data structures + */ + +typedef struct { + CARD16 red B16; + CARD16 redMask B16; + CARD16 green B16; + CARD16 greenMask B16; + CARD16 blue B16; + CARD16 blueMask B16; + CARD16 alpha B16; + CARD16 alphaMask B16; +} xDirectFormat; + +#define sz_xDirectFormat 16 + +typedef struct { + PictFormat id B32; + CARD8 type; + CARD8 depth; + CARD16 pad1 B16; + xDirectFormat direct; + Colormap colormap; +} xPictFormInfo; + +#define sz_xPictFormInfo 28 + +typedef struct { + VisualID visual; + PictFormat format; +} xPictVisual; + +#define sz_xPictVisual 8 + +typedef struct { + CARD8 depth; + CARD8 pad1; + CARD16 nPictVisuals B16; + CARD32 pad2 B32; +} xPictDepth; + +#define sz_xPictDepth 8 + +typedef struct { + CARD32 nDepth B32; + PictFormat fallback B32; +} xPictScreen; + +#define sz_xPictScreen 8 + +typedef struct { + CARD32 pixel B32; + CARD16 red B16; + CARD16 green B16; + CARD16 blue B16; + CARD16 alpha B16; +} xIndexValue; + +#define sz_xIndexValue 12 + +typedef struct { + CARD16 red B16; + CARD16 green B16; + CARD16 blue B16; + CARD16 alpha B16; +} xRenderColor; + +#define sz_xRenderColor 8 + +typedef struct { + Fixed x B32; + Fixed y B32; +} xPointFixed; + +#define sz_xPointFixed 8 + +typedef struct { + xPointFixed p1; + xPointFixed p2; +} xLineFixed; + +#define sz_xLineFixed 16 + +typedef struct { + xPointFixed p1, p2, p3; +} xTriangle; + +#define sz_xTriangle 24 + +typedef struct { + Fixed top B32; + Fixed bottom B32; + xLineFixed left; + xLineFixed right; +} xTrapezoid; + +#define sz_xTrapezoid 40 + +typedef struct { + CARD16 width B16; + CARD16 height B16; + INT16 x B16; + INT16 y B16; + INT16 xOff B16; + INT16 yOff B16; +} xGlyphInfo; + +#define sz_xGlyphInfo 12 + +typedef struct { + CARD8 len; + CARD8 pad1; + CARD16 pad2; + INT16 deltax; + INT16 deltay; +} xGlyphElt; + +#define sz_xGlyphElt 8 + +typedef struct { + Fixed l, r, y; +} xSpanFix; + +#define sz_xSpanFix 12 + +typedef struct { + xSpanFix top, bot; +} xTrap; + +#define sz_xTrap 24 + +/* + * requests and replies + */ +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + CARD32 majorVersion B32; + CARD32 minorVersion B32; +} xRenderQueryVersionReq; + +#define sz_xRenderQueryVersionReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 majorVersion B32; + CARD32 minorVersion B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xRenderQueryVersionReply; + +#define sz_xRenderQueryVersionReply 32 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; +} xRenderQueryPictFormatsReq; + +#define sz_xRenderQueryPictFormatsReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 numFormats B32; + CARD32 numScreens B32; + CARD32 numDepths B32; + CARD32 numVisuals B32; + CARD32 numSubpixel B32; /* Version 0.6 */ + CARD32 pad5 B32; +} xRenderQueryPictFormatsReply; + +#define sz_xRenderQueryPictFormatsReply 32 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + PictFormat format B32; +} xRenderQueryPictIndexValuesReq; + +#define sz_xRenderQueryPictIndexValuesReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 numIndexValues; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xRenderQueryPictIndexValuesReply; + +#define sz_xRenderQueryPictIndexValuesReply 32 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + Picture pid B32; + Drawable drawable B32; + PictFormat format B32; + CARD32 mask B32; +} xRenderCreatePictureReq; + +#define sz_xRenderCreatePictureReq 20 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + Picture picture B32; + CARD32 mask B32; +} xRenderChangePictureReq; + +#define sz_xRenderChangePictureReq 12 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + Picture picture B32; + INT16 xOrigin B16; + INT16 yOrigin B16; +} xRenderSetPictureClipRectanglesReq; + +#define sz_xRenderSetPictureClipRectanglesReq 12 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + Picture picture B32; +} xRenderFreePictureReq; + +#define sz_xRenderFreePictureReq 8 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + CARD8 op; + CARD8 pad1; + CARD16 pad2 B16; + Picture src B32; + Picture mask B32; + Picture dst B32; + INT16 xSrc B16; + INT16 ySrc B16; + INT16 xMask B16; + INT16 yMask B16; + INT16 xDst B16; + INT16 yDst B16; + CARD16 width B16; + CARD16 height B16; +} xRenderCompositeReq; + +#define sz_xRenderCompositeReq 36 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + Picture src B32; + Picture dst B32; + CARD32 colorScale B32; + CARD32 alphaScale B32; + INT16 xSrc B16; + INT16 ySrc B16; + INT16 xDst B16; + INT16 yDst B16; + CARD16 width B16; + CARD16 height B16; +} xRenderScaleReq; + +#define sz_xRenderScaleReq 32 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + CARD8 op; + CARD8 pad1; + CARD16 pad2 B16; + Picture src B32; + Picture dst B32; + PictFormat maskFormat B32; + INT16 xSrc B16; + INT16 ySrc B16; +} xRenderTrapezoidsReq; + +#define sz_xRenderTrapezoidsReq 24 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + CARD8 op; + CARD8 pad1; + CARD16 pad2 B16; + Picture src B32; + Picture dst B32; + PictFormat maskFormat B32; + INT16 xSrc B16; + INT16 ySrc B16; +} xRenderTrianglesReq; + +#define sz_xRenderTrianglesReq 24 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + CARD8 op; + CARD8 pad1; + CARD16 pad2 B16; + Picture src B32; + Picture dst B32; + PictFormat maskFormat B32; + INT16 xSrc B16; + INT16 ySrc B16; +} xRenderTriStripReq; + +#define sz_xRenderTriStripReq 24 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + CARD8 op; + CARD8 pad1; + CARD16 pad2 B16; + Picture src B32; + Picture dst B32; + PictFormat maskFormat B32; + INT16 xSrc B16; + INT16 ySrc B16; +} xRenderTriFanReq; + +#define sz_xRenderTriFanReq 24 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + Glyphset gsid B32; + PictFormat format B32; +} xRenderCreateGlyphSetReq; + +#define sz_xRenderCreateGlyphSetReq 12 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + Glyphset gsid B32; + Glyphset existing B32; +} xRenderReferenceGlyphSetReq; + +#define sz_xRenderReferenceGlyphSetReq 24 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + Glyphset glyphset B32; +} xRenderFreeGlyphSetReq; + +#define sz_xRenderFreeGlyphSetReq 8 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + Glyphset glyphset B32; + CARD32 nglyphs; +} xRenderAddGlyphsReq; + +#define sz_xRenderAddGlyphsReq 12 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + Glyphset glyphset B32; +} xRenderFreeGlyphsReq; + +#define sz_xRenderFreeGlyphsReq 8 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + CARD8 op; + CARD8 pad1; + CARD16 pad2 B16; + Picture src B32; + Picture dst B32; + PictFormat maskFormat B32; + Glyphset glyphset B32; + INT16 xSrc B16; + INT16 ySrc B16; +} xRenderCompositeGlyphsReq, xRenderCompositeGlyphs8Req, +xRenderCompositeGlyphs16Req, xRenderCompositeGlyphs32Req; + +#define sz_xRenderCompositeGlyphs8Req 28 +#define sz_xRenderCompositeGlyphs16Req 28 +#define sz_xRenderCompositeGlyphs32Req 28 + +/* 0.1 and higher */ + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + CARD8 op; + CARD8 pad1; + CARD16 pad2 B16; + Picture dst B32; + xRenderColor color; +} xRenderFillRectanglesReq; + +#define sz_xRenderFillRectanglesReq 20 + +/* 0.5 and higher */ + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + Cursor cid B32; + Picture src B32; + CARD16 x B16; + CARD16 y B16; +} xRenderCreateCursorReq; + +#define sz_xRenderCreateCursorReq 16 + +/* 0.6 and higher */ + +/* + * This can't use an array because 32-bit values may be in bitfields + */ +typedef struct { + Fixed matrix11 B32; + Fixed matrix12 B32; + Fixed matrix13 B32; + Fixed matrix21 B32; + Fixed matrix22 B32; + Fixed matrix23 B32; + Fixed matrix31 B32; + Fixed matrix32 B32; + Fixed matrix33 B32; +} xRenderTransform; + +#define sz_xRenderTransform 36 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + Picture picture B32; + xRenderTransform transform; +} xRenderSetPictureTransformReq; + +#define sz_xRenderSetPictureTransformReq 44 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + Drawable drawable B32; +} xRenderQueryFiltersReq; + +#define sz_xRenderQueryFiltersReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 numAliases B32; /* LISTofCARD16 */ + CARD32 numFilters B32; /* LISTofSTRING8 */ + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xRenderQueryFiltersReply; + +#define sz_xRenderQueryFiltersReply 32 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + Picture picture B32; + CARD16 nbytes B16; /* number of bytes in name */ + CARD16 pad B16; +} xRenderSetPictureFilterReq; + +#define sz_xRenderSetPictureFilterReq 12 + +/* 0.8 and higher */ + +typedef struct { + Cursor cursor B32; + CARD32 delay B32; +} xAnimCursorElt; + +#define sz_xAnimCursorElt 8 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + Cursor cid B32; +} xRenderCreateAnimCursorReq; + +#define sz_xRenderCreateAnimCursorReq 8 + +/* 0.9 and higher */ + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + Picture picture; + INT16 xOff B16; + INT16 yOff B16; +} xRenderAddTrapsReq; + +#define sz_xRenderAddTrapsReq 12 + +/* 0.10 and higher */ + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + Picture pid B32; + xRenderColor color; +} xRenderCreateSolidFillReq; + +#define sz_xRenderCreateSolidFillReq 16 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + Picture pid B32; + xPointFixed p1; + xPointFixed p2; + CARD32 nStops; +} xRenderCreateLinearGradientReq; + +#define sz_xRenderCreateLinearGradientReq 28 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + Picture pid B32; + xPointFixed inner; + xPointFixed outer; + Fixed inner_radius; + Fixed outer_radius; + CARD32 nStops; +} xRenderCreateRadialGradientReq; + +#define sz_xRenderCreateRadialGradientReq 36 + +typedef struct { + CARD8 reqType; + CARD8 renderReqType; + CARD16 length B16; + Picture pid B32; + xPointFixed center; + Fixed angle; /* in degrees */ + CARD32 nStops; +} xRenderCreateConicalGradientReq; + +#define sz_xRenderCreateConicalGradientReq 24 + +#undef Window +#undef Drawable +#undef Font +#undef Pixmap +#undef Cursor +#undef Colormap +#undef GContext +#undef Atom +#undef VisualID +#undef Time +#undef KeyCode +#undef KeySym + +#undef Picture +#undef PictFormat +#undef Fixed +#undef Glyphset + +#endif /* _XRENDERP_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/saver.h b/ThirdParty/X11/Include/X11/extensions/saver.h new file mode 100644 index 0000000..e8da625 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/saver.h @@ -0,0 +1,52 @@ +/* +Copyright (c) 1992 X Consortium + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of the X Consortium shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from the X Consortium. + * + * Author: Keith Packard, MIT X Consortium + */ + +#ifndef _SAVER_H_ +#define _SAVER_H_ + +#define ScreenSaverName "MIT-SCREEN-SAVER" +#define ScreenSaverPropertyName "_MIT_SCREEN_SAVER_ID" + +#define ScreenSaverNotifyMask 0x00000001 +#define ScreenSaverCycleMask 0x00000002 + +#define ScreenSaverMajorVersion 1 +#define ScreenSaverMinorVersion 1 + +#define ScreenSaverOff 0 +#define ScreenSaverOn 1 +#define ScreenSaverCycle 2 +#define ScreenSaverDisabled 3 + +#define ScreenSaverBlanked 0 +#define ScreenSaverInternal 1 +#define ScreenSaverExternal 2 + +#define ScreenSaverNotify 0 +#define ScreenSaverNumberEvents 1 + +#endif /* _SAVER_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/saverproto.h b/ThirdParty/X11/Include/X11/extensions/saverproto.h new file mode 100644 index 0000000..7197084 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/saverproto.h @@ -0,0 +1,175 @@ +/* +Copyright (c) 1992 X Consortium + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of the X Consortium shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from the X Consortium. + * + * Author: Keith Packard, MIT X Consortium + */ + +#ifndef _SAVERPROTO_H_ +#define _SAVERPROTO_H_ + +#include <X11/extensions/saver.h> + +#define Window CARD32 +#define Drawable CARD32 +#define Font CARD32 +#define Pixmap CARD32 +#define Cursor CARD32 +#define Colormap CARD32 +#define GContext CARD32 +#define Atom CARD32 +#define VisualID CARD32 +#define Time CARD32 +#define KeyCode CARD8 +#define KeySym CARD32 + +#define X_ScreenSaverQueryVersion 0 + +typedef struct _ScreenSaverQueryVersion { + CARD8 reqType; /* always ScreenSaverReqCode */ + CARD8 saverReqType; /* always X_ScreenSaverQueryVersion */ + CARD16 length B16; + CARD8 clientMajor; + CARD8 clientMinor; + CARD16 unused B16; +} xScreenSaverQueryVersionReq; +#define sz_xScreenSaverQueryVersionReq 8 + +typedef struct { + CARD8 type; /* X_Reply */ + CARD8 unused; /* not used */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 majorVersion B16; /* major version of protocol */ + CARD16 minorVersion B16; /* minor version of protocol */ + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xScreenSaverQueryVersionReply; +#define sz_xScreenSaverQueryVersionReply 32 + +#define X_ScreenSaverQueryInfo 1 + +typedef struct _ScreenSaverQueryInfo { + CARD8 reqType; /* always ScreenSaverReqCode */ + CARD8 saverReqType; /* always X_ScreenSaverQueryInfo */ + CARD16 length B16; + Drawable drawable B32; +} xScreenSaverQueryInfoReq; +#define sz_xScreenSaverQueryInfoReq 8 + +typedef struct { + CARD8 type; /* X_Reply */ + BYTE state; /* Off, On */ + CARD16 sequenceNumber B16; + CARD32 length B32; + Window window B32; + CARD32 tilOrSince B32; + CARD32 idle B32; + CARD32 eventMask B32; + BYTE kind; /* Blanked, Internal, External */ + CARD8 pad0; + CARD16 pad1 B16; + CARD32 pad2 B32; +} xScreenSaverQueryInfoReply; +#define sz_xScreenSaverQueryInfoReply 32 + +#define X_ScreenSaverSelectInput 2 + +typedef struct _ScreenSaverSelectInput { + CARD8 reqType; /* always ScreenSaverReqCode */ + CARD8 saverReqType; /* always X_ScreenSaverSelectInput */ + CARD16 length B16; + Drawable drawable B32; + CARD32 eventMask B32; +} xScreenSaverSelectInputReq; +#define sz_xScreenSaverSelectInputReq 12 + +#define X_ScreenSaverSetAttributes 3 + +typedef struct _ScreenSaverSetAttributes { + CARD8 reqType; /* always ScreenSaverReqCode */ + CARD8 saverReqType; /* always X_ScreenSaverSetAttributes */ + CARD16 length B16; + Drawable drawable B32; + INT16 x B16, y B16; + CARD16 width B16, height B16, borderWidth B16; + BYTE c_class; + CARD8 depth; + VisualID visualID B32; + CARD32 mask B32; +} xScreenSaverSetAttributesReq; +#define sz_xScreenSaverSetAttributesReq 28 + +#define X_ScreenSaverUnsetAttributes 4 + +typedef struct _ScreenSaverUnsetAttributes { + CARD8 reqType; /* always ScreenSaverReqCode */ + CARD8 saverReqType; /* always X_ScreenSaverUnsetAttributes */ + CARD16 length B16; + Drawable drawable B32; +} xScreenSaverUnsetAttributesReq; +#define sz_xScreenSaverUnsetAttributesReq 8 + +#define X_ScreenSaverSuspend 5 + +typedef struct _ScreenSaverSuspend { + CARD8 reqType; + CARD8 saverReqType; + CARD16 length B16; + Bool suspend B32; +} xScreenSaverSuspendReq; +#define sz_xScreenSaverSuspendReq 8 + +typedef struct _ScreenSaverNotify { + CARD8 type; /* always eventBase + ScreenSaverNotify */ + BYTE state; /* off, on, cycle */ + CARD16 sequenceNumber B16; + Time timestamp B32; + Window root B32; + Window window B32; /* screen saver window */ + BYTE kind; /* blanked, internal, external */ + BYTE forced; + CARD16 pad0 B16; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xScreenSaverNotifyEvent; +#define sz_xScreenSaverNotifyEvent 32 + +#undef Window +#undef Drawable +#undef Font +#undef Pixmap +#undef Cursor +#undef Colormap +#undef GContext +#undef Atom +#undef VisualID +#undef Time +#undef KeyCode +#undef KeySym + +#endif /* _SAVERPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/scrnsaver.h b/ThirdParty/X11/Include/X11/extensions/scrnsaver.h new file mode 100644 index 0000000..654aef6 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/scrnsaver.h @@ -0,0 +1,134 @@ +/* + * +Copyright (c) 1992 X Consortium + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of the X Consortium shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from the X Consortium. + * + * Author: Keith Packard, MIT X Consortium + */ + +#ifndef _SCRNSAVER_H_ +#define _SCRNSAVER_H_ + +#include <X11/Xfuncproto.h> +#include <X11/Xlib.h> +#include <X11/extensions/saver.h> + +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came frome a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* screen saver window */ + Window root; /* root window of event screen */ + int state; /* ScreenSaverOff, ScreenSaverOn, ScreenSaverCycle*/ + int kind; /* ScreenSaverBlanked, ...Internal, ...External */ + Bool forced; /* extents of new region */ + Time time; /* event timestamp */ +} XScreenSaverNotifyEvent; + +typedef struct { + Window window; /* screen saver window - may not exist */ + int state; /* ScreenSaverOff, ScreenSaverOn, ScreenSaverDisabled*/ + int kind; /* ScreenSaverBlanked, ...Internal, ...External */ + unsigned long til_or_since; /* time til or since screen saver */ + unsigned long idle; /* total time since last user input */ + unsigned long eventMask; /* currently selected events for this client */ +} XScreenSaverInfo; + +_XFUNCPROTOBEGIN + +extern Bool XScreenSaverQueryExtension ( + Display* /* display */, + int* /* event_base */, + int* /* error_base */ +); + +extern Status XScreenSaverQueryVersion ( + Display* /* display */, + int* /* major_version */, + int* /* minor_version */ +); + +extern XScreenSaverInfo *XScreenSaverAllocInfo ( + void +); + +extern Status XScreenSaverQueryInfo ( + Display* /* display */, + Drawable /* drawable */, + XScreenSaverInfo* /* info */ +); + +extern void XScreenSaverSelectInput ( + Display* /* display */, + Drawable /* drawable */, + unsigned long /* eventMask */ +); + +extern void XScreenSaverSetAttributes ( + Display* /* display */, + Drawable /* drawable */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int /* border_width */, + int /* depth */, + unsigned int /* class */, + Visual * /* visual */, + unsigned long /* valuemask */, + XSetWindowAttributes * /* attributes */ +); + +extern void XScreenSaverUnsetAttributes ( + Display* /* display */, + Drawable /* drawable */ +); + +extern Status XScreenSaverRegister ( + Display* /* display */, + int /* screen */, + XID /* xid */, + Atom /* type */ +); + +extern Status XScreenSaverUnregister ( + Display* /* display */, + int /* screen */ +); + +extern Status XScreenSaverGetRegistered ( + Display* /* display */, + int /* screen */, + XID* /* xid */, + Atom* /* type */ +); + +extern void XScreenSaverSuspend ( + Display* /* display */, + Bool /* suspend */ +); + +_XFUNCPROTOEND + +#endif /* _SCRNSAVER_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/secur.h b/ThirdParty/X11/Include/X11/extensions/secur.h new file mode 100644 index 0000000..ca27b29 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/secur.h @@ -0,0 +1,61 @@ +/* +Copyright 1996, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. +*/ + +#ifndef _SECUR_H +#define _SECUR_H + +#define SECURITY_EXTENSION_NAME "SECURITY" +#define SECURITY_MAJOR_VERSION 1 +#define SECURITY_MINOR_VERSION 0 + +#define XSecurityNumberEvents 1 +#define XSecurityNumberErrors 2 +#define XSecurityBadAuthorization 0 +#define XSecurityBadAuthorizationProtocol 1 + +/* trust levels */ +#define XSecurityClientTrusted 0 +#define XSecurityClientUntrusted 1 + +/* authorization attribute masks */ +#define XSecurityTimeout (1<<0) +#define XSecurityTrustLevel (1<<1) +#define XSecurityGroup (1<<2) +#define XSecurityEventMask (1<<3) +#define XSecurityAllAuthorizationAttributes \ + (XSecurityTimeout | XSecurityTrustLevel | XSecurityGroup | XSecurityEventMask) + +/* event masks */ +#define XSecurityAuthorizationRevokedMask (1<<0) +#define XSecurityAllEventMasks XSecurityAuthorizationRevokedMask + +/* event offsets */ +#define XSecurityAuthorizationRevoked 0 + +#define XSecurityAuthorizationName "XC-QUERY-SECURITY-1" +#define XSecurityAuthorizationNameLen 19 + +#endif /* _SECUR_H */ diff --git a/ThirdParty/X11/Include/X11/extensions/security.h b/ThirdParty/X11/Include/X11/extensions/security.h new file mode 100644 index 0000000..f554131 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/security.h @@ -0,0 +1,77 @@ +/* +Copyright 1996, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. +*/ + +#ifndef _SECURITY_H +#define _SECURITY_H + +#define _XAUTH_STRUCT_ONLY +#include <X11/Xauth.h> + +#include <X11/extensions/secur.h> + +_XFUNCPROTOBEGIN + +Status XSecurityQueryExtension ( + Display *dpy, + int *major_version_return, + int *minor_version_return); + +Xauth *XSecurityAllocXauth(void); + +void XSecurityFreeXauth(Xauth *auth); + +/* type for returned auth ids */ +typedef unsigned long XSecurityAuthorization; + +typedef struct { + unsigned int timeout; + unsigned int trust_level; + XID group; + long event_mask; +} XSecurityAuthorizationAttributes; + +Xauth *XSecurityGenerateAuthorization( + Display *dpy, + Xauth *auth_in, + unsigned long valuemask, + XSecurityAuthorizationAttributes *attributes, + XSecurityAuthorization *auth_id_return); + +Status XSecurityRevokeAuthorization( + Display *dpy, + XSecurityAuthorization auth_id); + +_XFUNCPROTOEND + +typedef struct { + int type; /* event base + XSecurityAuthorizationRevoked */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + XSecurityAuthorization auth_id; /* revoked authorization id */ +} XSecurityAuthorizationRevokedEvent; + +#endif /* _SECURITY_H */ diff --git a/ThirdParty/X11/Include/X11/extensions/securproto.h b/ThirdParty/X11/Include/X11/extensions/securproto.h new file mode 100644 index 0000000..409a4c5 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/securproto.h @@ -0,0 +1,110 @@ +/* +Copyright 1996, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. +*/ + +#ifndef _SECURPROTO_H +#define _SECURPROTO_H + +#include <X11/extensions/secur.h> + +#define X_SecurityQueryVersion 0 +#define X_SecurityGenerateAuthorization 1 +#define X_SecurityRevokeAuthorization 2 + +typedef struct { + CARD8 reqType; + CARD8 securityReqType; + CARD16 length B16; + CARD16 majorVersion B16; + CARD16 minorVersion B16; +} xSecurityQueryVersionReq; +#define sz_xSecurityQueryVersionReq 8 + +typedef struct { + CARD8 type; + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 majorVersion B16; + CARD16 minorVersion B16; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + } xSecurityQueryVersionReply; +#define sz_xSecurityQueryVersionReply 32 + +typedef struct { + CARD8 reqType; + CARD8 securityReqType; + CARD16 length B16; + CARD16 nbytesAuthProto B16; + CARD16 nbytesAuthData B16; + CARD32 valueMask B32; + /* auth protocol name padded to 4 bytes */ + /* auth protocol data padded to 4 bytes */ + /* list of CARD32 values, if any */ +} xSecurityGenerateAuthorizationReq; +#define sz_xSecurityGenerateAuthorizationReq 12 + +typedef struct { + CARD8 type; + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 authId B32; + CARD16 dataLength B16; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + } xSecurityGenerateAuthorizationReply; +#define sz_xSecurityGenerateAuthorizationReply 32 + +typedef struct { + CARD8 reqType; + CARD8 securityReqType; + CARD16 length B16; + CARD32 authId B32; +} xSecurityRevokeAuthorizationReq; +#define sz_xSecurityRevokeAuthorizationReq 8 + +typedef struct _xSecurityAuthorizationRevokedEvent { + BYTE type; + BYTE detail; + CARD16 sequenceNumber B16; + CARD32 authId B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xSecurityAuthorizationRevokedEvent; +#define sz_xSecurityAuthorizationRevokedEvent 32 + +#endif /* _SECURPROTO_H */ diff --git a/ThirdParty/X11/Include/X11/extensions/shape.h b/ThirdParty/X11/Include/X11/extensions/shape.h new file mode 100644 index 0000000..66af5b1 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/shape.h @@ -0,0 +1,152 @@ +/************************************************************ + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +********************************************************/ + +#ifndef _SHAPE_H_ +#define _SHAPE_H_ + +#include <X11/Xfuncproto.h> +#include <X11/extensions/shapeconst.h> + +#ifndef _SHAPE_SERVER_ +#include <X11/Xutil.h> + +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came frome a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* window of event */ + int kind; /* ShapeBounding or ShapeClip */ + int x, y; /* extents of new region */ + unsigned width, height; + Time time; /* server timestamp when region changed */ + Bool shaped; /* true if the region exists */ +} XShapeEvent; + +_XFUNCPROTOBEGIN + +extern Bool XShapeQueryExtension ( + Display* /* display */, + int* /* event_base */, + int* /* error_base */ +); + +extern Status XShapeQueryVersion ( + Display* /* display */, + int* /* major_version */, + int* /* minor_version */ +); + +extern void XShapeCombineRegion ( + Display* /* display */, + Window /* dest */, + int /* dest_kind */, + int /* x_off */, + int /* y_off */, + Region /* region */, + int /* op */ +); + +extern void XShapeCombineRectangles ( + Display* /* display */, + Window /* dest */, + int /* dest_kind */, + int /* x_off */, + int /* y_off */, + XRectangle* /* rectangles */, + int /* n_rects */, + int /* op */, + int /* ordering */ +); + +extern void XShapeCombineMask ( + Display* /* display */, + Window /* dest */, + int /* dest_kind */, + int /* x_off */, + int /* y_off */, + Pixmap /* src */, + int /* op */ +); + +extern void XShapeCombineShape ( + Display* /* display */, + Window /* dest */, + int /* dest_kind */, + int /* x_off */, + int /* y_off */, + Window /* src */, + int /* src_kind */, + int /* op */ +); + +extern void XShapeOffsetShape ( + Display* /* display */, + Window /* dest */, + int /* dest_kind */, + int /* x_off */, + int /* y_off */ +); + +extern Status XShapeQueryExtents ( + Display* /* display */, + Window /* window */, + Bool* /* bounding_shaped */, + int* /* x_bounding */, + int* /* y_bounding */, + unsigned int* /* w_bounding */, + unsigned int* /* h_bounding */, + Bool* /* clip_shaped */, + int* /* x_clip */, + int* /* y_clip */, + unsigned int* /* w_clip */, + unsigned int* /* h_clip */ +); + +extern void XShapeSelectInput ( + Display* /* display */, + Window /* window */, + unsigned long /* mask */ +); + +extern unsigned long XShapeInputSelected ( + Display* /* display */, + Window /* window */ +); + +extern XRectangle *XShapeGetRectangles ( + Display* /* display */, + Window /* window */, + int /* kind */, + int* /* count */, + int* /* ordering */ +); + +_XFUNCPROTOEND + +#endif /* !_SHAPE_SERVER_ */ + +#endif /* _SHAPE_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/shapeconst.h b/ThirdParty/X11/Include/X11/extensions/shapeconst.h new file mode 100644 index 0000000..9088956 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/shapeconst.h @@ -0,0 +1,55 @@ +/************************************************************ + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +********************************************************/ + +#ifndef _SHAPECONST_H_ +#define _SHAPECONST_H_ + +/* + * Protocol requests constants and alignment values + * These would really be in SHAPE's X.h and Xproto.h equivalents + */ + +#define SHAPENAME "SHAPE" + +#define SHAPE_MAJOR_VERSION 1 /* current version numbers */ +#define SHAPE_MINOR_VERSION 1 + +#define ShapeSet 0 +#define ShapeUnion 1 +#define ShapeIntersect 2 +#define ShapeSubtract 3 +#define ShapeInvert 4 + +#define ShapeBounding 0 +#define ShapeClip 1 +#define ShapeInput 2 + +#define ShapeNotifyMask (1L << 0) +#define ShapeNotify 0 + +#define ShapeNumberEvents (ShapeNotify + 1) + +#endif /* _SHAPECONST_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/shapeproto.h b/ThirdParty/X11/Include/X11/extensions/shapeproto.h new file mode 100644 index 0000000..49bd1a1 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/shapeproto.h @@ -0,0 +1,237 @@ +/************************************************************ + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +********************************************************/ + +#ifndef _SHAPEPROTO_H_ +#define _SHAPEPROTO_H_ + +#include <X11/extensions/shapeconst.h> + +/* + * Protocol requests constants and alignment values + * These would really be in SHAPE's X.h and Xproto.h equivalents + */ + +#define Window CARD32 +#define Time CARD32 + +#define X_ShapeQueryVersion 0 +#define X_ShapeRectangles 1 +#define X_ShapeMask 2 +#define X_ShapeCombine 3 +#define X_ShapeOffset 4 +#define X_ShapeQueryExtents 5 +#define X_ShapeSelectInput 6 +#define X_ShapeInputSelected 7 +#define X_ShapeGetRectangles 8 + +typedef struct _ShapeQueryVersion { + CARD8 reqType; /* always ShapeReqCode */ + CARD8 shapeReqType; /* always X_ShapeQueryVersion */ + CARD16 length B16; +} xShapeQueryVersionReq; +#define sz_xShapeQueryVersionReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; /* not used */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 majorVersion B16; /* major version of SHAPE protocol */ + CARD16 minorVersion B16; /* minor version of SHAPE protocol */ + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xShapeQueryVersionReply; +#define sz_xShapeQueryVersionReply 32 + +typedef struct _ShapeRectangles { + CARD8 reqType; /* always ShapeReqCode */ + CARD8 shapeReqType; /* always X_ShapeRectangles */ + CARD16 length B16; + CARD8 op; /* Set, ... */ + CARD8 destKind; /* ShapeBounding or ShapeClip */ + CARD8 ordering; /* UnSorted, YSorted, YXSorted, YXBanded */ + CARD8 pad0; /* not used */ + Window dest B32; + INT16 xOff B16; + INT16 yOff B16; +} xShapeRectanglesReq; /* followed by xRects */ +#define sz_xShapeRectanglesReq 16 + +typedef struct _ShapeMask { + CARD8 reqType; /* always ShapeReqCode */ + CARD8 shapeReqType; /* always X_ShapeMask */ + CARD16 length B16; + + CARD8 op; /* Set, ... */ + CARD8 destKind; /* ShapeBounding or ShapeClip */ + CARD16 junk B16; /* not used */ + + Window dest B32; + INT16 xOff B16; + INT16 yOff B16; + CARD32 src B32; /* 1 bit pixmap */ +} xShapeMaskReq; +#define sz_xShapeMaskReq 20 + +typedef struct _ShapeCombine { + CARD8 reqType; /* always ShapeReqCode */ + CARD8 shapeReqType; /* always X_ShapeCombine */ + CARD16 length B16; + CARD8 op; /* Set, ... */ + CARD8 destKind; /* ShapeBounding or ShapeClip */ + CARD8 srcKind; /* ShapeBounding or ShapeClip */ + CARD8 junk; /* not used */ + Window dest B32; + INT16 xOff B16; + INT16 yOff B16; + Window src B32; +} xShapeCombineReq; +#define sz_xShapeCombineReq 20 + +typedef struct _ShapeOffset { + CARD8 reqType; /* always ShapeReqCode */ + CARD8 shapeReqType; /* always X_ShapeOffset */ + CARD16 length B16; + CARD8 destKind; /* ShapeBounding or ShapeClip */ + CARD8 junk1; /* not used */ + CARD16 junk2 B16; /* not used */ + Window dest B32; + INT16 xOff B16; + INT16 yOff B16; +} xShapeOffsetReq; +#define sz_xShapeOffsetReq 16 + +typedef struct _ShapeQueryExtents { + CARD8 reqType; /* always ShapeReqCode */ + CARD8 shapeReqType; /* always X_ShapeQueryExtents */ + CARD16 length B16; + Window window B32; +} xShapeQueryExtentsReq; +#define sz_xShapeQueryExtentsReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; /* not used */ + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + CARD8 boundingShaped; /* window has bounding shape */ + CARD8 clipShaped; /* window has clip shape */ + CARD16 unused1 B16; + INT16 xBoundingShape B16; /* extents of bounding shape */ + INT16 yBoundingShape B16; + CARD16 widthBoundingShape B16; + CARD16 heightBoundingShape B16; + INT16 xClipShape B16; /* extents of clip shape */ + INT16 yClipShape B16; + CARD16 widthClipShape B16; + CARD16 heightClipShape B16; + CARD32 pad1 B32; +} xShapeQueryExtentsReply; +#define sz_xShapeQueryExtentsReply 32 + +typedef struct _ShapeSelectInput { + CARD8 reqType; /* always ShapeReqCode */ + CARD8 shapeReqType; /* always X_ShapeSelectInput */ + CARD16 length B16; + Window window B32; + BYTE enable; /* xTrue -> send events */ + BYTE pad1; + CARD16 pad2 B16; +} xShapeSelectInputReq; +#define sz_xShapeSelectInputReq 12 + +typedef struct _ShapeNotify { + BYTE type; /* always eventBase + ShapeNotify */ + BYTE kind; /* either ShapeBounding or ShapeClip */ + CARD16 sequenceNumber B16; + Window window B32; + INT16 x B16; + INT16 y B16; /* extents of new shape */ + CARD16 width B16; + CARD16 height B16; + Time time B32; /* time of change */ + BYTE shaped; /* set when a shape actual exists */ + BYTE pad0; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xShapeNotifyEvent; +#define sz_xShapeNotifyEvent 32 + +typedef struct _ShapeInputSelected { + CARD8 reqType; /* always ShapeReqCode */ + CARD8 shapeReqType; /* always X_ShapeInputSelected */ + CARD16 length B16; + Window window B32; +} xShapeInputSelectedReq; +#define sz_xShapeInputSelectedReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 enabled; /* current status */ + CARD16 sequenceNumber B16; + CARD32 length B32; /* 0 */ + CARD32 pad1 B32; /* unused */ + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xShapeInputSelectedReply; +#define sz_xShapeInputSelectedReply 32 + +typedef struct _ShapeGetRectangles { + CARD8 reqType; /* always ShapeReqCode */ + CARD8 shapeReqType; /* always X_ShapeGetRectangles */ + CARD16 length B16; + Window window B32; + CARD8 kind; /* ShapeBounding or ShapeClip */ + CARD8 junk1; + CARD16 junk2 B16; +} xShapeGetRectanglesReq; +#define sz_xShapeGetRectanglesReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 ordering; /* UnSorted, YSorted, YXSorted, YXBanded */ + CARD16 sequenceNumber B16; + CARD32 length B32; /* not zero */ + CARD32 nrects B32; /* number of rectangles */ + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xShapeGetRectanglesReply; /* followed by xRectangles */ +#define sz_xShapeGetRectanglesReply 32 + +#undef Window +#undef Time + +#endif /* _SHAPEPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/shapestr.h b/ThirdParty/X11/Include/X11/extensions/shapestr.h new file mode 100644 index 0000000..20fde1d --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/shapestr.h @@ -0,0 +1,8 @@ +#ifndef _SHAPESTR_H_ +#define _SHAPESTR_H_ + +#warning "shapestr.h is obsolete and may be removed in the future." +#warning "include <X11/extensions/shapeproto.h> for the protocol defines." +#include <X11/extensions/shapeproto.h> + +#endif /* _SHAPESTR_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/shm.h b/ThirdParty/X11/Include/X11/extensions/shm.h new file mode 100644 index 0000000..be49f5e --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/shm.h @@ -0,0 +1,44 @@ +/************************************************************ + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +********************************************************/ + +/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */ + +#ifndef _SHM_H_ +#define _SHM_H_ + +#define SHMNAME "MIT-SHM" + +#define SHM_MAJOR_VERSION 1 /* current version numbers */ +#define SHM_MINOR_VERSION 2 + +#define ShmCompletion 0 +#define ShmNumberEvents (ShmCompletion + 1) + +#define BadShmSeg 0 +#define ShmNumberErrors (BadShmSeg + 1) + + +#endif /* _SHM_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/shmproto.h b/ThirdParty/X11/Include/X11/extensions/shmproto.h new file mode 100644 index 0000000..8136aa9 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/shmproto.h @@ -0,0 +1,229 @@ +/************************************************************ + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +********************************************************/ + +/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */ + +#ifndef _SHMPROTO_H_ +#define _SHMPROTO_H_ + +#include <X11/extensions/shm.h> + +#define ShmSeg CARD32 +#define Drawable CARD32 +#define VisualID CARD32 +#define GContext CARD32 +#define Pixmap CARD32 + +#define X_ShmQueryVersion 0 +#define X_ShmAttach 1 +#define X_ShmDetach 2 +#define X_ShmPutImage 3 +#define X_ShmGetImage 4 +#define X_ShmCreatePixmap 5 +#define X_ShmAttachFd 6 +#define X_ShmCreateSegment 7 + +typedef struct _ShmQueryVersion { + CARD8 reqType; /* always ShmReqCode */ + CARD8 shmReqType; /* always X_ShmQueryVersion */ + CARD16 length B16; +} xShmQueryVersionReq; +#define sz_xShmQueryVersionReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL sharedPixmaps; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 majorVersion B16; /* major version of SHM protocol */ + CARD16 minorVersion B16; /* minor version of SHM protocol */ + CARD16 uid B16; + CARD16 gid B16; + CARD8 pixmapFormat; + CARD8 pad0; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xShmQueryVersionReply; +#define sz_xShmQueryVersionReply 32 + +typedef struct _ShmAttach { + CARD8 reqType; /* always ShmReqCode */ + CARD8 shmReqType; /* always X_ShmAttach */ + CARD16 length B16; + ShmSeg shmseg B32; + CARD32 shmid B32; + BOOL readOnly; + BYTE pad0; + CARD16 pad1 B16; +} xShmAttachReq; +#define sz_xShmAttachReq 16 + +typedef struct _ShmDetach { + CARD8 reqType; /* always ShmReqCode */ + CARD8 shmReqType; /* always X_ShmDetach */ + CARD16 length B16; + ShmSeg shmseg B32; +} xShmDetachReq; +#define sz_xShmDetachReq 8 + +typedef struct _ShmPutImage { + CARD8 reqType; /* always ShmReqCode */ + CARD8 shmReqType; /* always X_ShmPutImage */ + CARD16 length B16; + Drawable drawable B32; + GContext gc B32; + CARD16 totalWidth B16; + CARD16 totalHeight B16; + CARD16 srcX B16; + CARD16 srcY B16; + CARD16 srcWidth B16; + CARD16 srcHeight B16; + INT16 dstX B16; + INT16 dstY B16; + CARD8 depth; + CARD8 format; + CARD8 sendEvent; + CARD8 bpad; + ShmSeg shmseg B32; + CARD32 offset B32; +} xShmPutImageReq; +#define sz_xShmPutImageReq 40 + +typedef struct _ShmGetImage { + CARD8 reqType; /* always ShmReqCode */ + CARD8 shmReqType; /* always X_ShmGetImage */ + CARD16 length B16; + Drawable drawable B32; + INT16 x B16; + INT16 y B16; + CARD16 width B16; + CARD16 height B16; + CARD32 planeMask B32; + CARD8 format; + CARD8 pad0; + CARD8 pad1; + CARD8 pad2; + ShmSeg shmseg B32; + CARD32 offset B32; +} xShmGetImageReq; +#define sz_xShmGetImageReq 32 + +typedef struct _ShmGetImageReply { + BYTE type; /* X_Reply */ + CARD8 depth; + CARD16 sequenceNumber B16; + CARD32 length B32; + VisualID visual B32; + CARD32 size B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xShmGetImageReply; +#define sz_xShmGetImageReply 32 + +typedef struct _ShmCreatePixmap { + CARD8 reqType; /* always ShmReqCode */ + CARD8 shmReqType; /* always X_ShmCreatePixmap */ + CARD16 length B16; + Pixmap pid B32; + Drawable drawable B32; + CARD16 width B16; + CARD16 height B16; + CARD8 depth; + CARD8 pad0; + CARD8 pad1; + CARD8 pad2; + ShmSeg shmseg B32; + CARD32 offset B32; +} xShmCreatePixmapReq; +#define sz_xShmCreatePixmapReq 28 + +typedef struct _ShmCompletion { + BYTE type; /* always eventBase + ShmCompletion */ + BYTE bpad0; + CARD16 sequenceNumber B16; + Drawable drawable B32; + CARD16 minorEvent B16; + BYTE majorEvent; + BYTE bpad1; + ShmSeg shmseg B32; + CARD32 offset B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; +} xShmCompletionEvent; +#define sz_xShmCompletionEvent 32 + +/* Version 1.2 additions */ +typedef struct _ShmAttachFd { + CARD8 reqType; /* always ShmReqCode */ + CARD8 shmReqType; /* always X_ShmAttachFd */ + CARD16 length B16; + ShmSeg shmseg B32; + BOOL readOnly; + BYTE pad0; + CARD16 pad1 B16; +} xShmAttachFdReq; +/* File descriptor is passed with this request */ +#define sz_xShmAttachFdReq 12 + +typedef struct _ShmCreateSegment { + CARD8 reqType; /* always ShmReqCode */ + CARD8 shmReqType; /* always X_ShmAttachFd */ + CARD16 length B16; + ShmSeg shmseg B32; + CARD32 size B32; + BOOL readOnly; + BYTE pad0; + CARD16 pad1 B16; +} xShmCreateSegmentReq; +#define sz_xShmCreateSegmentReq 16 + +typedef struct { + CARD8 type; /* must be X_Reply */ + CARD8 nfd; /* must be 1 */ + CARD16 sequenceNumber B16; /* last sequence number */ + CARD32 length B32; /* 0 */ + CARD32 pad2 B32; /* unused */ + CARD32 pad3 B32; /* unused */ + CARD32 pad4 B32; /* unused */ + CARD32 pad5 B32; /* unused */ + CARD32 pad6 B32; /* unused */ + CARD32 pad7 B32; /* unused */ +} xShmCreateSegmentReply; +/* File descriptor is passed with this reply */ +#define sz_xShmCreateSegmentReply 32 + +#undef ShmSeg +#undef Drawable +#undef VisualID +#undef GContext +#undef Pixmap + +#endif /* _SHMPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/shmstr.h b/ThirdParty/X11/Include/X11/extensions/shmstr.h new file mode 100644 index 0000000..78f3759 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/shmstr.h @@ -0,0 +1,63 @@ +/************************************************************ + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +********************************************************/ + +/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */ + +#ifndef _SHMSTR_H_ +#define _SHMSTR_H_ + +#include <X11/extensions/shmproto.h> + +#ifdef _XSHM_SERVER_ +#define XSHM_PUT_IMAGE_ARGS \ + DrawablePtr /* dst */, \ + GCPtr /* pGC */, \ + int /* depth */, \ + unsigned int /* format */, \ + int /* w */, \ + int /* h */, \ + int /* sx */, \ + int /* sy */, \ + int /* sw */, \ + int /* sh */, \ + int /* dx */, \ + int /* dy */, \ + char * /* data */ + +#define XSHM_CREATE_PIXMAP_ARGS \ + ScreenPtr /* pScreen */, \ + int /* width */, \ + int /* height */, \ + int /* depth */, \ + char * /* addr */ + +typedef struct _ShmFuncs { + PixmapPtr (* CreatePixmap)(XSHM_CREATE_PIXMAP_ARGS); + void (* PutImage)(XSHM_PUT_IMAGE_ARGS); +} ShmFuncs, *ShmFuncsPtr; +#endif + +#endif /* _SHMSTR_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/sync.h b/ThirdParty/X11/Include/X11/extensions/sync.h new file mode 100644 index 0000000..31b1be0 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/sync.h @@ -0,0 +1,375 @@ +/* + +Copyright 1991, 1993, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/*********************************************************** +Copyright 1991,1993 by Digital Equipment Corporation, Maynard, Massachusetts, +and Olivetti Research Limited, Cambridge, England. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the names of Digital or Olivetti +not be used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL AND OLIVETTI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL THEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF +USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +******************************************************************/ + +#ifndef _SYNC_H_ +#define _SYNC_H_ + +#include <X11/Xfuncproto.h> +#include <X11/extensions/syncconst.h> + +#ifdef _SYNC_SERVER +#include <X11/extensions/syncproto.h> +#else + +_XFUNCPROTOBEGIN +/* get rid of macros so we can define corresponding functions */ +#undef XSyncIntToValue +#undef XSyncIntsToValue +#undef XSyncValueGreaterThan +#undef XSyncValueLessThan +#undef XSyncValueGreaterOrEqual +#undef XSyncValueLessOrEqual +#undef XSyncValueEqual +#undef XSyncValueIsNegative +#undef XSyncValueIsZero +#undef XSyncValueIsPositive +#undef XSyncValueLow32 +#undef XSyncValueHigh32 +#undef XSyncValueAdd +#undef XSyncValueSubtract +#undef XSyncMaxValue +#undef XSyncMinValue + +extern void XSyncIntToValue( + XSyncValue* /*pv*/, + int /*i*/ +); + +extern void XSyncIntsToValue( + XSyncValue* /*pv*/, + unsigned int /*l*/, + int /*h*/ +); + +extern Bool XSyncValueGreaterThan( + XSyncValue /*a*/, + XSyncValue /*b*/ +); + +extern Bool XSyncValueLessThan( + XSyncValue /*a*/, + XSyncValue /*b*/ +); + +extern Bool XSyncValueGreaterOrEqual( + XSyncValue /*a*/, + XSyncValue /*b*/ +); + +extern Bool XSyncValueLessOrEqual( + XSyncValue /*a*/, + XSyncValue /*b*/ +); + +extern Bool XSyncValueEqual( + XSyncValue /*a*/, + XSyncValue /*b*/ +); + +extern Bool XSyncValueIsNegative( + XSyncValue /*v*/ +); + +extern Bool XSyncValueIsZero( + XSyncValue /*a*/ +); + +extern Bool XSyncValueIsPositive( + XSyncValue /*v*/ +); + +extern unsigned int XSyncValueLow32( + XSyncValue /*v*/ +); + +extern int XSyncValueHigh32( + XSyncValue /*v*/ +); + +extern void XSyncValueAdd( + XSyncValue* /*presult*/, + XSyncValue /*a*/, + XSyncValue /*b*/, + int* /*poverflow*/ +); + +extern void XSyncValueSubtract( + XSyncValue* /*presult*/, + XSyncValue /*a*/, + XSyncValue /*b*/, + int* /*poverflow*/ +); + +extern void XSyncMaxValue( + XSyncValue* /*pv*/ +); + +extern void XSyncMinValue( + XSyncValue* /*pv*/ +); + +_XFUNCPROTOEND + + +typedef struct _XSyncSystemCounter { + char *name; /* null-terminated name of system counter */ + XSyncCounter counter; /* counter id of this system counter */ + XSyncValue resolution; /* resolution of this system counter */ +} XSyncSystemCounter; + + +typedef struct { + XSyncCounter counter; /* counter to trigger on */ + XSyncValueType value_type; /* absolute/relative */ + XSyncValue wait_value; /* value to compare counter to */ + XSyncTestType test_type; /* pos/neg comparison/transtion */ +} XSyncTrigger; + +typedef struct { + XSyncTrigger trigger; /* trigger for await */ + XSyncValue event_threshold; /* send event if past threshold */ +} XSyncWaitCondition; + + +typedef struct { + XSyncTrigger trigger; + XSyncValue delta; + Bool events; + XSyncAlarmState state; +} XSyncAlarmAttributes; + +/* + * Events + */ + +typedef struct { + int type; /* event base + XSyncCounterNotify */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + XSyncCounter counter; /* counter involved in await */ + XSyncValue wait_value; /* value being waited for */ + XSyncValue counter_value; /* counter value when this event was sent */ + Time time; /* milliseconds */ + int count; /* how many more events to come */ + Bool destroyed; /* True if counter was destroyed */ +} XSyncCounterNotifyEvent; + +typedef struct { + int type; /* event base + XSyncAlarmNotify */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + XSyncAlarm alarm; /* alarm that triggered */ + XSyncValue counter_value; /* value that triggered the alarm */ + XSyncValue alarm_value; /* test value of trigger in alarm */ + Time time; /* milliseconds */ + XSyncAlarmState state; /* new state of alarm */ +} XSyncAlarmNotifyEvent; + +/* + * Errors + */ + +typedef struct { + int type; + Display *display; /* Display the event was read from */ + XSyncAlarm alarm; /* resource id */ + unsigned long serial; /* serial number of failed request */ + unsigned char error_code; /* error base + XSyncBadAlarm */ + unsigned char request_code; /* Major op-code of failed request */ + unsigned char minor_code; /* Minor op-code of failed request */ +} XSyncAlarmError; + +typedef struct { + int type; + Display *display; /* Display the event was read from */ + XSyncCounter counter; /* resource id */ + unsigned long serial; /* serial number of failed request */ + unsigned char error_code; /* error base + XSyncBadCounter */ + unsigned char request_code; /* Major op-code of failed request */ + unsigned char minor_code; /* Minor op-code of failed request */ +} XSyncCounterError; + +/* + * Prototypes + */ + +_XFUNCPROTOBEGIN + +extern Status XSyncQueryExtension( + Display* /*dpy*/, + int* /*event_base_return*/, + int* /*error_base_return*/ +); + +extern Status XSyncInitialize( + Display* /*dpy*/, + int* /*major_version_return*/, + int* /*minor_version_return*/ +); + +extern XSyncSystemCounter *XSyncListSystemCounters( + Display* /*dpy*/, + int* /*n_counters_return*/ +); + +extern void XSyncFreeSystemCounterList( + XSyncSystemCounter* /*list*/ +); + +extern XSyncCounter XSyncCreateCounter( + Display* /*dpy*/, + XSyncValue /*initial_value*/ +); + +extern Status XSyncSetCounter( + Display* /*dpy*/, + XSyncCounter /*counter*/, + XSyncValue /*value*/ +); + +extern Status XSyncChangeCounter( + Display* /*dpy*/, + XSyncCounter /*counter*/, + XSyncValue /*value*/ +); + +extern Status XSyncDestroyCounter( + Display* /*dpy*/, + XSyncCounter /*counter*/ +); + +extern Status XSyncQueryCounter( + Display* /*dpy*/, + XSyncCounter /*counter*/, + XSyncValue* /*value_return*/ +); + +extern Status XSyncAwait( + Display* /*dpy*/, + XSyncWaitCondition* /*wait_list*/, + int /*n_conditions*/ +); + +extern XSyncAlarm XSyncCreateAlarm( + Display* /*dpy*/, + unsigned long /*values_mask*/, + XSyncAlarmAttributes* /*values*/ +); + +extern Status XSyncDestroyAlarm( + Display* /*dpy*/, + XSyncAlarm /*alarm*/ +); + +extern Status XSyncQueryAlarm( + Display* /*dpy*/, + XSyncAlarm /*alarm*/, + XSyncAlarmAttributes* /*values_return*/ +); + +extern Status XSyncChangeAlarm( + Display* /*dpy*/, + XSyncAlarm /*alarm*/, + unsigned long /*values_mask*/, + XSyncAlarmAttributes* /*values*/ +); + +extern Status XSyncSetPriority( + Display* /*dpy*/, + XID /*client_resource_id*/, + int /*priority*/ +); + +extern Status XSyncGetPriority( + Display* /*dpy*/, + XID /*client_resource_id*/, + int* /*return_priority*/ +); + +extern XSyncFence XSyncCreateFence( + Display* /*dpy*/, + Drawable /*d*/, + Bool /*initially_triggered*/ +); + +extern Bool XSyncTriggerFence( + Display* /*dpy*/, + XSyncFence /*fence*/ +); + +extern Bool XSyncResetFence( + Display* /*dpy*/, + XSyncFence /*fence*/ +); + +extern Bool XSyncDestroyFence( + Display* /*dpy*/, + XSyncFence /*fence*/ +); + +extern Bool XSyncQueryFence( + Display* /*dpy*/, + XSyncFence /*fence*/, + Bool* /*triggered*/ +); + +extern Bool XSyncAwaitFence( + Display* /*dpy*/, + const XSyncFence* /*fence_list*/, + int /*n_fences*/ +); + +_XFUNCPROTOEND + +#endif /* _SYNC_SERVER */ + +#endif /* _SYNC_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/syncconst.h b/ThirdParty/X11/Include/X11/extensions/syncconst.h new file mode 100644 index 0000000..3acc387 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/syncconst.h @@ -0,0 +1,181 @@ +/* + +Copyright 1991, 1993, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/*********************************************************** +Copyright 1991,1993 by Digital Equipment Corporation, Maynard, Massachusetts, +and Olivetti Research Limited, Cambridge, England. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the names of Digital or Olivetti +not be used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL AND OLIVETTI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL THEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF +USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +******************************************************************/ + +#ifndef _SYNCCONST_H_ +#define _SYNCCONST_H_ + +#define SYNC_NAME "SYNC" + +#define SYNC_MAJOR_VERSION 3 +#define SYNC_MINOR_VERSION 1 + + +#define XSyncCounterNotify 0 +#define XSyncAlarmNotify 1 +#define XSyncAlarmNotifyMask (1L << XSyncAlarmNotify) + +#define XSyncNumberEvents 2L + +#define XSyncBadCounter 0L +#define XSyncBadAlarm 1L +#define XSyncBadFence 2L +#define XSyncNumberErrors (XSyncBadFence + 1) + +/* + * Flags for Alarm Attributes + */ +#define XSyncCACounter (1L<<0) +#define XSyncCAValueType (1L<<1) +#define XSyncCAValue (1L<<2) +#define XSyncCATestType (1L<<3) +#define XSyncCADelta (1L<<4) +#define XSyncCAEvents (1L<<5) + +/* The _XSync macros below are for library internal use only. They exist + * so that if we have to make a fix, we can change it in this one place + * and have both the macro and function variants inherit the fix. + */ + +#define _XSyncIntToValue(pv, i) ((pv)->hi=((i<0)?~0:0),(pv)->lo=(i)) +#define _XSyncIntsToValue(pv, l, h) ((pv)->lo = (l), (pv)->hi = (h)) +#define _XSyncValueGreaterThan(a, b)\ + ((a).hi>(b).hi || ((a).hi==(b).hi && (a).lo>(b).lo)) +#define _XSyncValueLessThan(a, b)\ + ((a).hi<(b).hi || ((a).hi==(b).hi && (a).lo<(b).lo)) +#define _XSyncValueGreaterOrEqual(a, b)\ + ((a).hi>(b).hi || ((a).hi==(b).hi && (a).lo>=(b).lo)) +#define _XSyncValueLessOrEqual(a, b)\ + ((a).hi<(b).hi || ((a).hi==(b).hi && (a).lo<=(b).lo)) +#define _XSyncValueEqual(a, b) ((a).lo==(b).lo && (a).hi==(b).hi) +#define _XSyncValueIsNegative(v) (((v).hi & 0x80000000) ? 1 : 0) +#define _XSyncValueIsZero(a) ((a).lo==0 && (a).hi==0) +#define _XSyncValueIsPositive(v) (((v).hi & 0x80000000) ? 0 : 1) +#define _XSyncValueLow32(v) ((v).lo) +#define _XSyncValueHigh32(v) ((v).hi) +#define _XSyncValueAdd(presult,a,b,poverflow) {\ + int t = (a).lo;\ + Bool signa = XSyncValueIsNegative(a);\ + Bool signb = XSyncValueIsNegative(b);\ + ((presult)->lo = (a).lo + (b).lo);\ + ((presult)->hi = (a).hi + (b).hi);\ + if (t>(presult)->lo) (presult)->hi++;\ + *poverflow = ((signa == signb) && !(signa == XSyncValueIsNegative(*presult)));\ + } +#define _XSyncValueSubtract(presult,a,b,poverflow) {\ + int t = (a).lo;\ + Bool signa = XSyncValueIsNegative(a);\ + Bool signb = XSyncValueIsNegative(b);\ + ((presult)->lo = (a).lo - (b).lo);\ + ((presult)->hi = (a).hi - (b).hi);\ + if (t<(presult)->lo) (presult)->hi--;\ + *poverflow = ((signa == signb) && !(signa == XSyncValueIsNegative(*presult)));\ + } +#define _XSyncMaxValue(pv) ((pv)->hi = 0x7fffffff, (pv)->lo = 0xffffffff) +#define _XSyncMinValue(pv) ((pv)->hi = 0x80000000, (pv)->lo = 0) + +/* + * These are the publically usable macros. If you want the function version + * of one of these, just #undef the macro to uncover the function. + * (This is the same convention that the ANSI C library uses.) + */ + +#define XSyncIntToValue(pv, i) _XSyncIntToValue(pv, i) +#define XSyncIntsToValue(pv, l, h) _XSyncIntsToValue(pv, l, h) +#define XSyncValueGreaterThan(a, b) _XSyncValueGreaterThan(a, b) +#define XSyncValueLessThan(a, b) _XSyncValueLessThan(a, b) +#define XSyncValueGreaterOrEqual(a, b) _XSyncValueGreaterOrEqual(a, b) +#define XSyncValueLessOrEqual(a, b) _XSyncValueLessOrEqual(a, b) +#define XSyncValueEqual(a, b) _XSyncValueEqual(a, b) +#define XSyncValueIsNegative(v) _XSyncValueIsNegative(v) +#define XSyncValueIsZero(a) _XSyncValueIsZero(a) +#define XSyncValueIsPositive(v) _XSyncValueIsPositive(v) +#define XSyncValueLow32(v) _XSyncValueLow32(v) +#define XSyncValueHigh32(v) _XSyncValueHigh32(v) +#define XSyncValueAdd(presult,a,b,poverflow) _XSyncValueAdd(presult,a,b,poverflow) +#define XSyncValueSubtract(presult,a,b,poverflow) _XSyncValueSubtract(presult,a,b,poverflow) +#define XSyncMaxValue(pv) _XSyncMaxValue(pv) +#define XSyncMinValue(pv) _XSyncMinValue(pv) + +/* + * Constants for the value_type argument of various requests + */ +typedef enum { + XSyncAbsolute, + XSyncRelative +} XSyncValueType; + +/* + * Alarm Test types + */ +typedef enum { + XSyncPositiveTransition, + XSyncNegativeTransition, + XSyncPositiveComparison, + XSyncNegativeComparison +} XSyncTestType; + +/* + * Alarm state constants + */ +typedef enum { + XSyncAlarmActive, + XSyncAlarmInactive, + XSyncAlarmDestroyed +} XSyncAlarmState; + + +typedef XID XSyncCounter; +typedef XID XSyncAlarm; +typedef XID XSyncFence; +typedef struct _XSyncValue { + int hi; + unsigned int lo; +} XSyncValue; +#endif /* _SYNCCONST_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/syncproto.h b/ThirdParty/X11/Include/X11/extensions/syncproto.h new file mode 100644 index 0000000..1453e44 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/syncproto.h @@ -0,0 +1,474 @@ +/* + +Copyright 1991, 1993, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/*********************************************************** +Copyright 1991,1993 by Digital Equipment Corporation, Maynard, Massachusetts, +and Olivetti Research Limited, Cambridge, England. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the names of Digital or Olivetti +not be used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL AND OLIVETTI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL THEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF +USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +******************************************************************/ + +#ifndef _SYNCPROTO_H_ +#define _SYNCPROTO_H_ + +#include <X11/extensions/syncconst.h> + +#define X_SyncInitialize 0 +#define X_SyncListSystemCounters 1 +#define X_SyncCreateCounter 2 +#define X_SyncSetCounter 3 +#define X_SyncChangeCounter 4 +#define X_SyncQueryCounter 5 +#define X_SyncDestroyCounter 6 +#define X_SyncAwait 7 +#define X_SyncCreateAlarm 8 +#define X_SyncChangeAlarm 9 +#define X_SyncQueryAlarm 10 +#define X_SyncDestroyAlarm 11 +#define X_SyncSetPriority 12 +#define X_SyncGetPriority 13 +#define X_SyncCreateFence 14 +#define X_SyncTriggerFence 15 +#define X_SyncResetFence 16 +#define X_SyncDestroyFence 17 +#define X_SyncQueryFence 18 +#define X_SyncAwaitFence 19 + +/* cover up types from sync.h to make sure they're the right size for + * protocol packaging. These will be undef'ed after all the protocol + * structures are defined. + */ +#define XSyncCounter CARD32 +#define XSyncAlarm CARD32 +#define XSyncFence CARD32 +#define Drawable CARD32 + +/* + * Initialize + */ +typedef struct _xSyncInitialize { + CARD8 reqType; + CARD8 syncReqType; + CARD16 length B16; + CARD8 majorVersion; + CARD8 minorVersion; + CARD16 pad B16; +} xSyncInitializeReq; +#define sz_xSyncInitializeReq 8 + +typedef struct { + BYTE type; + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD8 majorVersion; + CARD8 minorVersion; + CARD16 pad B16; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xSyncInitializeReply; +#define sz_xSyncInitializeReply 32 + +/* + * ListSystemCounters + */ +typedef struct _xSyncListSystemCounters +{ + CARD8 reqType; + CARD8 syncReqType; + CARD16 length B16; +} xSyncListSystemCountersReq; +#define sz_xSyncListSystemCountersReq 4 + +typedef struct { + BYTE type; + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + INT32 nCounters B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xSyncListSystemCountersReply; +#define sz_xSyncListSystemCountersReply 32 + +typedef struct { + XSyncCounter counter B32; + INT32 resolution_hi B32; + CARD32 resolution_lo B32; + CARD16 name_length B16; +} xSyncSystemCounter; +#define sz_xSyncSystemCounter 14 + +/* + * Create Counter + */ +typedef struct _xSyncCreateCounterReq { + CARD8 reqType; + CARD8 syncReqType; + CARD16 length B16; + XSyncCounter cid B32; + INT32 initial_value_hi B32; + CARD32 initial_value_lo B32; +} xSyncCreateCounterReq; +#define sz_xSyncCreateCounterReq 16 + +/* + * Change Counter + */ +typedef struct _xSyncChangeCounterReq { + CARD8 reqType; + CARD8 syncReqType; + CARD16 length B16; + XSyncCounter cid B32; + INT32 value_hi B32; + CARD32 value_lo B32; +} xSyncChangeCounterReq; +#define sz_xSyncChangeCounterReq 16 + +/* + * Set Counter + */ +typedef struct _xSyncSetCounterReq { + CARD8 reqType; + CARD8 syncReqType; + CARD16 length B16; + XSyncCounter cid B32; + INT32 value_hi B32; + CARD32 value_lo B32; +} xSyncSetCounterReq; +#define sz_xSyncSetCounterReq 16 + +/* + * Destroy Counter + */ +typedef struct _xSyncDestroyCounterReq { + CARD8 reqType; + CARD8 syncReqType; + CARD16 length B16; + XSyncCounter counter B32; +} xSyncDestroyCounterReq; +#define sz_xSyncDestroyCounterReq 8 + +/* + * Query Counter + */ +typedef struct _xSyncQueryCounterReq { + CARD8 reqType; + CARD8 syncReqType; + CARD16 length B16; + XSyncCounter counter B32; +} xSyncQueryCounterReq; +#define sz_xSyncQueryCounterReq 8 + + +typedef struct { + BYTE type; + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + INT32 value_hi B32; + CARD32 value_lo B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xSyncQueryCounterReply; +#define sz_xSyncQueryCounterReply 32 + +/* + * Await + */ +typedef struct _xSyncAwaitReq { + CARD8 reqType; + CARD8 syncReqType; + CARD16 length B16; +} xSyncAwaitReq; +#define sz_xSyncAwaitReq 4 + +typedef struct _xSyncWaitCondition { + XSyncCounter counter B32; + CARD32 value_type B32; + INT32 wait_value_hi B32; + CARD32 wait_value_lo B32; + CARD32 test_type B32; + INT32 event_threshold_hi B32; + CARD32 event_threshold_lo B32; +} xSyncWaitCondition; +#define sz_xSyncWaitCondition 28 + +/* + * Create Alarm + */ +typedef struct _xSyncCreateAlarmReq { + CARD8 reqType; + CARD8 syncReqType; + CARD16 length B16; + XSyncAlarm id B32; + CARD32 valueMask B32; +} xSyncCreateAlarmReq; +#define sz_xSyncCreateAlarmReq 12 + +/* + * Destroy Alarm + */ +typedef struct _xSyncDestroyAlarmReq { + CARD8 reqType; + CARD8 syncReqType; + CARD16 length B16; + XSyncAlarm alarm B32; +} xSyncDestroyAlarmReq; +#define sz_xSyncDestroyAlarmReq 8 + +/* + * Query Alarm + */ +typedef struct _xSyncQueryAlarmReq { + CARD8 reqType; + CARD8 syncReqType; + CARD16 length B16; + XSyncAlarm alarm B32; +} xSyncQueryAlarmReq; +#define sz_xSyncQueryAlarmReq 8 + +typedef struct { + BYTE type; + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + XSyncCounter counter B32; + CARD32 value_type B32; + INT32 wait_value_hi B32; + CARD32 wait_value_lo B32; + CARD32 test_type B32; + INT32 delta_hi B32; + CARD32 delta_lo B32; + BOOL events; + BYTE state; + BYTE pad0; + BYTE pad1; +} xSyncQueryAlarmReply; +#define sz_xSyncQueryAlarmReply 40 + +/* + * Change Alarm + */ +typedef struct _xSyncChangeAlarmReq { + CARD8 reqType; + CARD8 syncReqType; + CARD16 length B16; + XSyncAlarm alarm B32; + CARD32 valueMask B32; +} xSyncChangeAlarmReq; +#define sz_xSyncChangeAlarmReq 12 + +/* + * SetPriority + */ +typedef struct _xSyncSetPriority{ + CARD8 reqType; + CARD8 syncReqType; + CARD16 length B16; + CARD32 id B32; + INT32 priority B32; +} xSyncSetPriorityReq; +#define sz_xSyncSetPriorityReq 12 + +/* + * Get Priority + */ +typedef struct _xSyncGetPriority{ + CARD8 reqType; + CARD8 syncReqType; + CARD16 length B16; + CARD32 id B32; /*XXX XID? */ +} xSyncGetPriorityReq; +#define sz_xSyncGetPriorityReq 8 + +typedef struct { + BYTE type; + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + INT32 priority B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xSyncGetPriorityReply; +#define sz_xSyncGetPriorityReply 32 + +/* + * Create Fence + */ +typedef struct _xSyncCreateFenceReq { + CARD8 reqType; + CARD8 syncReqType; + CARD16 length B16; + Drawable d B32; + XSyncFence fid B32; + BOOL initially_triggered; + CARD8 pad0; + CARD16 pad1; +} xSyncCreateFenceReq; +#define sz_xSyncCreateFenceReq 16 + +/* + * Put a fence object in the "triggered" state. + */ +typedef struct _xSyncTriggerFenceReq { + CARD8 reqType; + CARD8 syncReqType; + CARD16 length B16; + XSyncFence fid B32; +} xSyncTriggerFenceReq; +#define sz_xSyncTriggerFenceReq 8 + +/* + * Put a fence in the "untriggered" state. + */ +typedef struct _xSyncResetFenceReq { + CARD8 reqType; + CARD8 syncReqType; + CARD16 length B16; + XSyncFence fid B32; +} xSyncResetFenceReq; +#define sz_xSyncResetFenceReq 8 + +/* + * Destroy a fence object + */ +typedef struct _xSyncDestroyFenceReq { + CARD8 reqType; + CARD8 syncReqType; + CARD16 length B16; + XSyncFence fid B32; +} xSyncDestroyFenceReq; +#define sz_xSyncDestroyFenceReq 8 + +/* + * Query a fence object + */ +typedef struct _xSyncQueryFenceReq { + CARD8 reqType; + CARD8 syncReqType; + CARD16 length B16; + XSyncFence fid B32; +} xSyncQueryFenceReq; +#define sz_xSyncQueryFenceReq 8 + +/* + * Wait for any of a list of fence sync objects + * to reach the "triggered" state. + */ +typedef struct _xSyncAwaitFenceReq { + CARD8 reqType; + CARD8 syncReqType; + CARD16 length B16; +} xSyncAwaitFenceReq; +#define sz_xSyncAwaitFenceReq 4 + +typedef struct { + BYTE type; + CARD8 unused; + CARD16 sequenceNumber B16; + CARD32 length B32; + BOOL triggered; + BYTE pad0; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xSyncQueryFenceReply; +#define sz_xSyncQueryFenceReply 32 + +/* + * Events + */ + +typedef struct _xSyncCounterNotifyEvent { + BYTE type; + BYTE kind; + CARD16 sequenceNumber B16; + XSyncCounter counter B32; + INT32 wait_value_hi B32; + CARD32 wait_value_lo B32; + INT32 counter_value_hi B32; + CARD32 counter_value_lo B32; + CARD32 time B32; + CARD16 count B16; + BOOL destroyed; + BYTE pad0; +} xSyncCounterNotifyEvent; + +typedef struct _xSyncAlarmNotifyEvent { + BYTE type; + BYTE kind; + CARD16 sequenceNumber B16; + XSyncAlarm alarm B32; + INT32 counter_value_hi B32; + CARD32 counter_value_lo B32; + INT32 alarm_value_hi B32; + CARD32 alarm_value_lo B32; + CARD32 time B32; + CARD8 state; + BYTE pad0; + BYTE pad1; + BYTE pad2; +} xSyncAlarmNotifyEvent; + +#undef XSyncCounter +#undef XSyncAlarm +#undef XSyncFence +#undef Drawable + + +#endif /* _SYNCPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/syncstr.h b/ThirdParty/X11/Include/X11/extensions/syncstr.h new file mode 100644 index 0000000..25a4827 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/syncstr.h @@ -0,0 +1,182 @@ +/* + +Copyright 1991, 1993, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/*********************************************************** +Copyright 1991,1993 by Digital Equipment Corporation, Maynard, Massachusetts, +and Olivetti Research Limited, Cambridge, England. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the names of Digital or Olivetti +not be used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL AND OLIVETTI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL THEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF +USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +******************************************************************/ + +#ifndef _SYNCSTR_H_ +#define _SYNCSTR_H_ + +#include <X11/extensions/syncproto.h> + +#ifdef _SYNC_SERVER + +#define CARD64 XSyncValue /* XXX temporary! need real 64 bit values for Alpha */ + +typedef struct _SyncCounter { + ClientPtr client; /* Owning client. 0 for system counters */ + XSyncCounter id; /* resource ID */ + CARD64 value; /* counter value */ + struct _SyncTriggerList *pTriglist; /* list of triggers */ + Bool beingDestroyed; /* in process of going away */ + struct _SysCounterInfo *pSysCounterInfo; /* NULL if not a system counter */ +} SyncCounter; + +/* + * The System Counter interface + */ + +typedef enum { + XSyncCounterNeverChanges, + XSyncCounterNeverIncreases, + XSyncCounterNeverDecreases, + XSyncCounterUnrestricted +} SyncCounterType; + +typedef struct _SysCounterInfo { + char *name; + CARD64 resolution; + CARD64 bracket_greater; + CARD64 bracket_less; + SyncCounterType counterType; /* how can this counter change */ + void (*QueryValue)( + pointer /*pCounter*/, + CARD64 * /*freshvalue*/ +); + void (*BracketValues)( + pointer /*pCounter*/, + CARD64 * /*lessthan*/, + CARD64 * /*greaterthan*/ +); +} SysCounterInfo; + + + +typedef struct _SyncTrigger { + SyncCounter *pCounter; + CARD64 wait_value; /* wait value */ + unsigned int value_type; /* Absolute or Relative */ + unsigned int test_type; /* transition or Comparision type */ + CARD64 test_value; /* trigger event threshold value */ + Bool (*CheckTrigger)( + struct _SyncTrigger * /*pTrigger*/, + CARD64 /*newval*/ + ); + void (*TriggerFired)( + struct _SyncTrigger * /*pTrigger*/ + ); + void (*CounterDestroyed)( + struct _SyncTrigger * /*pTrigger*/ + ); +} SyncTrigger; + +typedef struct _SyncTriggerList { + SyncTrigger *pTrigger; + struct _SyncTriggerList *next; +} SyncTriggerList; + +typedef struct _SyncAlarmClientList { + ClientPtr client; + XID delete_id; + struct _SyncAlarmClientList *next; +} SyncAlarmClientList; + +typedef struct _SyncAlarm { + SyncTrigger trigger; + ClientPtr client; + XSyncAlarm alarm_id; + CARD64 delta; + int events; + int state; + SyncAlarmClientList *pEventClients; +} SyncAlarm; + +typedef struct { + ClientPtr client; + CARD32 delete_id; + int num_waitconditions; +} SyncAwaitHeader; + +typedef struct { + SyncTrigger trigger; + CARD64 event_threshold; + SyncAwaitHeader *pHeader; +} SyncAwait; + +typedef union { + SyncAwaitHeader header; + SyncAwait await; +} SyncAwaitUnion; + + +extern pointer SyncCreateSystemCounter( + char * /* name */, + CARD64 /* inital_value */, + CARD64 /* resolution */, + SyncCounterType /* change characterization */, + void (* /*QueryValue*/ ) ( + pointer /* pCounter */, + CARD64 * /* pValue_return */), /* XXX prototype */ + void (* /*BracketValues*/) ( + pointer /* pCounter */, + CARD64 * /* pbracket_less */, + CARD64 * /* pbracket_greater */) +); + +extern void SyncChangeCounter( + SyncCounter * /* pCounter*/, + CARD64 /* new_value */ +); + +extern void SyncDestroySystemCounter( + pointer pCounter +); +extern void InitServertime(void); + +#endif /* _SYNC_SERVER */ + +#endif /* _SYNCSTR_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/vldXvMC.h b/ThirdParty/X11/Include/X11/extensions/vldXvMC.h new file mode 100644 index 0000000..fbd251e --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/vldXvMC.h @@ -0,0 +1,174 @@ +/***************************************************************************** + * VLD XvMC Nonstandard extension API. + * + * Copyright (c) 2004 The Unichrome Project. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHOR(S) OR COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Author: Thomas Hellström, 2004. + */ + + +#ifndef _VLDXVMC_H +#define _VLDXVMC_H + +#include <X11/Xlib.h> +#include <X11/extensions/XvMC.h> + +/* + * New "Motion compensation type". + */ + +#define XVMC_VLD 0x0020000 + +/* + * Below Flags to be passed in the XvMCMpegControl structure 'flag' field. + */ + +#define XVMC_PROGRESSIVE_SEQUENCE 0x00000010 + +/* + * Zig-Zag Scan / Alternative Scan. + */ + +#define XVMC_ZIG_ZAG_SCAN 0x00000000 +#define XVMC_ALTERNATE_SCAN 0x00000100 + +/* + * Frame DCT and frame prediction are used. / + * Field prediction + */ + +#define XVMC_PRED_DCT_FRAME 0x00000040 +#define XVMC_PRED_DCT_FIELD 0x00000000 + +/* + * Top / Bottom field first + */ + +#define XVMC_TOP_FIELD_FIRST 0x00000080 +#define XVMC_BOTTOM_FIELD_FIRST 0x00000000 + +/* + * Motion vectors coded in intra macroblocks + */ + +#define XVMC_CONCEALMENT_MOTION_VECTORS 0x00000200 + +/* + * Which of two mappings between quantiser_scale_code + * and quantiser_scale shall apply. + */ + +#define XVMC_Q_SCALE_TYPE 0x00000400 + +/* + * Intra VLC Format: Bit = 0, Bit = 1 + * Intra blocks B-14 B-15 + * Non-intra blocks B-14 B-14 + */ +#define XVMC_INTRA_VLC_FORMAT 0x00000800 + +/* + * Also XVMC_SECOND_FIELD should be set in flags if active. + */ + +#define XVMC_I_PICTURE 1 +#define XVMC_P_PICTURE 2 +#define XVMC_B_PICTURE 3 + +typedef struct _XvMCMpegControl{ + unsigned + BVMV_range, /* Backward vertical motion vector range */ + BHMV_range, /* Backward horizontal motion vector range */ + FVMV_range, /* Forward vertical motion vector range */ + FHMV_range, /* Forward horizontal motion vector range */ + picture_structure, /* XVMC_TOP_FIELD, XVMC_BOTTOM_FIELD, + * XVMC_FRAME_PICTURE + */ + intra_dc_precision, /* 0x00 - 0x03 corresponds to 8 to 11 bits prec. */ + picture_coding_type,/* XVMC_X_PICTURE */ + mpeg_coding, /* XVMC_MPEG_2 */ + flags; /* See above */ +}XvMCMpegControl; + + +/* + * The following function is called BEFORE starting sending slices to the + * lib. It grabs the decoder hardware and prepares it for coming slices. + * The function XvMCSyncSurface will release the hardware for other contexts + * in addition to it's current functionality. + */ + +extern Status XvMCBeginSurface(Display *display, + XvMCContext *context, + XvMCSurface *target_surface, + XvMCSurface *past_surface, + XvMCSurface *future_surface, + const XvMCMpegControl *control); + + +/* + * The quantizer matrix structure. This should be filled in by the user and + * uploaded whenever a change is needed. The lib initializes with + * default matrices and will automatically load the hardware with new matrices + * on decoder context switches. To load data, set the corresponding load flag + * to true and fill in the values. The VIA MPEG2 engine only uses the + * intra_quantiser_matrix and the non_intra_quantiser_matrix. + */ + +typedef struct _XvMCQMatrix { + int load_intra_quantiser_matrix; + int load_non_intra_quantiser_matrix; + int load_chroma_intra_quantiser_matrix; + int load_chroma_non_intra_quantiser_matrix; + unsigned char intra_quantiser_matrix[64]; + unsigned char non_intra_quantiser_matrix[64]; + unsigned char chroma_intra_quantiser_matrix[64]; + unsigned char chroma_non_intra_quantiser_matrix[64]; +} XvMCQMatrix; + +/* + * Upload a XvMCQMatrix structure to the clientlib. + * The hardware will start using it the next XvMCBeginSurface. + */ + +extern Status XvMCLoadQMatrix(Display *display, XvMCContext *context, + const XvMCQMatrix *qmx); + + +/* + * Put a slice to the decoder. The hardware will start processing it + * immediately. + */ + +extern Status XvMCPutSlice(Display *display,XvMCContext *context, + char *slice, int nBytes); +/* + * Put a slice without the slice start code to the decoder. + * The hardware will start processing it + * immediately. This function is for client optimization. + * XvMCPutSlice(display,context,slice,nBytes) is equivalent to + * XvMCPutSlice2(display,context,slice+4,nBytes-4,slice[3]); + */ + +extern Status XvMCPutSlice2(Display *display,XvMCContext *context, + char *slice, int nBytes, int sliceCode); + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/xcmiscproto.h b/ThirdParty/X11/Include/X11/extensions/xcmiscproto.h new file mode 100644 index 0000000..482c2dc --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xcmiscproto.h @@ -0,0 +1,110 @@ +/* + +Copyright 1993, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _XCMISCPROTO_H_ +#define _XCMISCPROTO_H_ + +#define X_XCMiscGetVersion 0 +#define X_XCMiscGetXIDRange 1 +#define X_XCMiscGetXIDList 2 + +#define XCMiscNumberEvents 0 + +#define XCMiscNumberErrors 0 + +#define XCMiscMajorVersion 1 +#define XCMiscMinorVersion 1 + +#define XCMiscExtensionName "XC-MISC" + +typedef struct { + CARD8 reqType; /* always XCMiscCode */ + CARD8 miscReqType; /* always X_XCMiscGetVersion */ + CARD16 length B16; + CARD16 majorVersion B16; + CARD16 minorVersion B16; +} xXCMiscGetVersionReq; +#define sz_xXCMiscGetVersionReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 majorVersion B16; + CARD16 minorVersion B16; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXCMiscGetVersionReply; +#define sz_xXCMiscGetVersionReply 32 + +typedef struct { + CARD8 reqType; /* always XCMiscCode */ + CARD8 miscReqType; /* always X_XCMiscGetXIDRange */ + CARD16 length B16; +} xXCMiscGetXIDRangeReq; +#define sz_xXCMiscGetXIDRangeReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 start_id B32; + CARD32 count B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xXCMiscGetXIDRangeReply; +#define sz_xXCMiscGetXIDRangeReply 32 + +typedef struct { + CARD8 reqType; /* always XCMiscCode */ + CARD8 miscReqType; /* always X_XCMiscGetXIDList */ + CARD16 length B16; + CARD32 count B32; /* number of IDs requested */ +} xXCMiscGetXIDListReq; +#define sz_xXCMiscGetXIDListReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 count B32; /* number of IDs requested */ + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXCMiscGetXIDListReply; +#define sz_xXCMiscGetXIDListReply 32 + +#endif /* _XCMISCPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/xcmiscstr.h b/ThirdParty/X11/Include/X11/extensions/xcmiscstr.h new file mode 100644 index 0000000..c2b6433 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xcmiscstr.h @@ -0,0 +1,3 @@ +#warning "xcmiscstr.h is obsolete and may be removed in the future." +#warning "include <X11/extensions/xcmiscproto.h> for the protocol defines." +#include <X11/extensions/xcmiscproto.h> diff --git a/ThirdParty/X11/Include/X11/extensions/xf86bigfont.h b/ThirdParty/X11/Include/X11/extensions/xf86bigfont.h new file mode 100644 index 0000000..1bf47e9 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xf86bigfont.h @@ -0,0 +1,20 @@ +/* + * Declarations for the BIGFONT extension. + * + * Copyright (c) 1999-2000 Bruno Haible + * Copyright (c) 1999-2000 The XFree86 Project, Inc. + */ + +/* THIS IS NOT AN X CONSORTIUM STANDARD */ + +#ifndef _XF86BIGFONT_H_ +#define _XF86BIGFONT_H_ + +#define X_XF86BigfontQueryVersion 0 +#define X_XF86BigfontQueryFont 1 + +#define XF86BigfontNumberEvents 0 + +#define XF86BigfontNumberErrors 0 + +#endif /* _XF86BIGFONT_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/xf86bigfproto.h b/ThirdParty/X11/Include/X11/extensions/xf86bigfproto.h new file mode 100644 index 0000000..c041c9a --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xf86bigfproto.h @@ -0,0 +1,92 @@ +/* + * Declarations of request structures for the BIGFONT extension. + * + * Copyright (c) 1999-2000 Bruno Haible + * Copyright (c) 1999-2000 The XFree86 Project, Inc. + */ + +/* THIS IS NOT AN X CONSORTIUM STANDARD */ + +#ifndef _XF86BIGFPROTO_H_ +#define _XF86BIGFPROTO_H_ + +#include <X11/extensions/xf86bigfont.h> + +#define XF86BIGFONTNAME "XFree86-Bigfont" + +#define XF86BIGFONT_MAJOR_VERSION 1 /* current version numbers */ +#define XF86BIGFONT_MINOR_VERSION 1 + +typedef struct _XF86BigfontQueryVersion { + CARD8 reqType; /* always XF86BigfontReqCode */ + CARD8 xf86bigfontReqType; /* always X_XF86BigfontQueryVersion */ + CARD16 length B16; +} xXF86BigfontQueryVersionReq; +#define sz_xXF86BigfontQueryVersionReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 capabilities; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 majorVersion B16; /* major version of XFree86-Bigfont */ + CARD16 minorVersion B16; /* minor version of XFree86-Bigfont */ + CARD32 uid B32; + CARD32 gid B32; + CARD32 signature B32; + CARD32 pad1 B32; + CARD32 pad2 B32; +} xXF86BigfontQueryVersionReply; +#define sz_xXF86BigfontQueryVersionReply 32 + +/* Bit masks that can be set in the capabilities */ +#define XF86Bigfont_CAP_LocalShm 1 + +typedef struct _XF86BigfontQueryFont { + CARD8 reqType; /* always XF86BigfontReqCode */ + CARD8 xf86bigfontReqType; /* always X_XF86BigfontQueryFont */ + CARD16 length B16; + CARD32 id B32; + CARD32 flags B32; +} xXF86BigfontQueryFontReq; +#define sz_xXF86BigfontQueryFontReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + xCharInfo minBounds; +#ifndef WORD64 + CARD32 walign1 B32; +#endif + xCharInfo maxBounds; +#ifndef WORD64 + CARD32 walign2 B32; +#endif + CARD16 minCharOrByte2 B16; + CARD16 maxCharOrByte2 B16; + CARD16 defaultChar B16; + CARD16 nFontProps B16; + CARD8 drawDirection; + CARD8 minByte1; + CARD8 maxByte1; + BOOL allCharsExist; + INT16 fontAscent B16; + INT16 fontDescent B16; + CARD32 nCharInfos B32; + CARD32 nUniqCharInfos B32; + CARD32 shmid B32; + CARD32 shmsegoffset B32; + /* followed by nFontProps xFontProp structures */ + /* and if nCharInfos > 0 && shmid == -1, + followed by nUniqCharInfos xCharInfo structures + and then by nCharInfos CARD16 indices (each >= 0, < nUniqCharInfos) + and then, if nCharInfos is odd, one more CARD16 for padding. */ +} xXF86BigfontQueryFontReply; +#define sz_xXF86BigfontQueryFontReply 72 + +/* Bit masks that can be set in the flags */ +#define XF86Bigfont_FLAGS_Shm 1 + +#endif /* _XF86BIGFPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/xf86bigfstr.h b/ThirdParty/X11/Include/X11/extensions/xf86bigfstr.h new file mode 100644 index 0000000..cf6735d --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xf86bigfstr.h @@ -0,0 +1,3 @@ +#warning "xf86bigfstr.h is obsolete and may be removed in the future." +#warning "include <X11/extensions/xf86bigfproto.h> for the protocol defines." +#include <X11/extensions/xf86bigfproto.h> diff --git a/ThirdParty/X11/Include/X11/extensions/xf86dga.h b/ThirdParty/X11/Include/X11/extensions/xf86dga.h new file mode 100644 index 0000000..7b5d635 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xf86dga.h @@ -0,0 +1,13 @@ +#ifdef _XF86DGA_SERVER_ + +#warning "xf86dga.h is obsolete and may be removed in the future." +#warning "include <X11/extensions/xf86dgaconst.h> instead." +#include <X11/extensions/xf86dgaconst.h> + +#else + +#warning "xf86dga.h is obsolete and may be removed in the future." +#warning "include <X11/extensions/Xxf86dga.h> instead." +#include <X11/extensions/Xxf86dga.h> + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/xf86dga1const.h b/ThirdParty/X11/Include/X11/extensions/xf86dga1const.h new file mode 100644 index 0000000..eca06f6 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xf86dga1const.h @@ -0,0 +1,36 @@ +/* + +Copyright (c) 1995 Jon Tombs +Copyright (c) 1995 XFree86 Inc + +*/ + +/************************************************************************ + + THIS IS THE OLD DGA API AND IS OBSOLETE. PLEASE DO NOT USE IT ANYMORE + +************************************************************************/ + +#ifndef _XF86DGA1CONST_H_ +#define _XF86DGA1CONST_H_ + +#define X_XF86DGAQueryVersion 0 +#define X_XF86DGAGetVideoLL 1 +#define X_XF86DGADirectVideo 2 +#define X_XF86DGAGetViewPortSize 3 +#define X_XF86DGASetViewPort 4 +#define X_XF86DGAGetVidPage 5 +#define X_XF86DGASetVidPage 6 +#define X_XF86DGAInstallColormap 7 +#define X_XF86DGAQueryDirectVideo 8 +#define X_XF86DGAViewPortChanged 9 + +#define XF86DGADirectPresent 0x0001 +#define XF86DGADirectGraphics 0x0002 +#define XF86DGADirectMouse 0x0004 +#define XF86DGADirectKeyb 0x0008 +#define XF86DGAHasColormap 0x0100 +#define XF86DGADirectColormap 0x0200 + + +#endif /* _XF86DGA1CONST_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/xf86dga1proto.h b/ThirdParty/X11/Include/X11/extensions/xf86dga1proto.h new file mode 100644 index 0000000..5c53cb2 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xf86dga1proto.h @@ -0,0 +1,195 @@ +/* + +Copyright (c) 1995 Jon Tombs +Copyright (c) 1995 XFree86 Inc. + +*/ + +#ifndef _XF86DGAPROTO1_H_ +#define _XF86DGAPROTO1_H_ + +#include <X11/extensions/xf86dga1const.h> + +typedef struct _XF86DGAQueryVersion { + CARD8 reqType; /* always DGAReqCode */ + CARD8 dgaReqType; /* always X_DGAQueryVersion */ + CARD16 length B16; +} xXF86DGAQueryVersionReq; +#define sz_xXF86DGAQueryVersionReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 majorVersion B16; /* major version of DGA protocol */ + CARD16 minorVersion B16; /* minor version of DGA protocol */ + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXF86DGAQueryVersionReply; +#define sz_xXF86DGAQueryVersionReply 32 + +typedef struct _XF86DGAGetVideoLL { + CARD8 reqType; /* always DGAReqCode */ + CARD8 dgaReqType; /* always X_XF86DGAGetVideoLL */ + CARD16 length B16; + CARD16 screen B16; + CARD16 pad B16; +} xXF86DGAGetVideoLLReq; +#define sz_xXF86DGAGetVideoLLReq 8 + +typedef struct _XF86DGAInstallColormap{ + CARD8 reqType; + CARD8 dgaReqType; + CARD16 length B16; + CARD16 screen B16; + CARD16 pad2; + CARD32 id B32; /* colormap. */ +} xXF86DGAInstallColormapReq; +#define sz_xXF86DGAInstallColormapReq 12 + + +typedef struct { + BYTE type; + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 offset B32; + CARD32 width B32; + CARD32 bank_size B32; + CARD32 ram_size B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXF86DGAGetVideoLLReply; +#define sz_xXF86DGAGetVideoLLReply 32 + +typedef struct _XF86DGADirectVideo { + CARD8 reqType; /* always DGAReqCode */ + CARD8 dgaReqType; /* always X_XF86DGADirectVideo */ + CARD16 length B16; + CARD16 screen B16; + CARD16 enable B16; +} xXF86DGADirectVideoReq; +#define sz_xXF86DGADirectVideoReq 8 + + +typedef struct _XF86DGAGetViewPortSize { + CARD8 reqType; /* always DGAReqCode */ + CARD8 dgaReqType; /* always X_XF86DGAGetViewPort */ + CARD16 length B16; + CARD16 screen B16; + CARD16 pad B16; +} xXF86DGAGetViewPortSizeReq; +#define sz_xXF86DGAGetViewPortSizeReq 8 + +typedef struct { + BYTE type; + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 width B32; + CARD32 height B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXF86DGAGetViewPortSizeReply; +#define sz_xXF86DGAGetViewPortSizeReply 32 + +typedef struct _XF86DGASetViewPort { + CARD8 reqType; /* always DGAReqCode */ + CARD8 dgaReqType; /* always X_XF86DGASetViewPort */ + CARD16 length B16; + CARD16 screen B16; + CARD16 pad B16; + CARD32 x B32; + CARD32 y B32; +} xXF86DGASetViewPortReq; +#define sz_xXF86DGASetViewPortReq 16 + +typedef struct _XF86DGAGetVidPage { + CARD8 reqType; /* always DGAReqCode */ + CARD8 dgaReqType; /* always X_XF86DGAGetVidPage */ + CARD16 length B16; + CARD16 screen B16; + CARD16 pad B16; +} xXF86DGAGetVidPageReq; +#define sz_xXF86DGAGetVidPageReq 8 + +typedef struct { + BYTE type; + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 vpage B32; + CARD32 pad B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXF86DGAGetVidPageReply; +#define sz_xXF86DGAGetVidPageReply 32 + + +typedef struct _XF86DGASetVidPage { + CARD8 reqType; /* always DGAReqCode */ + CARD8 dgaReqType; /* always X_XF86DGASetVidPage */ + CARD16 length B16; + CARD16 screen B16; + CARD16 vpage B16; +} xXF86DGASetVidPageReq; +#define sz_xXF86DGASetVidPageReq 8 + + +typedef struct _XF86DGAQueryDirectVideo { + CARD8 reqType; /* always DGAReqCode */ + CARD8 dgaReqType; /* always X_DGAQueryVersion */ + CARD16 length B16; + CARD16 screen B16; + CARD16 pad B16; +} xXF86DGAQueryDirectVideoReq; +#define sz_xXF86DGAQueryDirectVideoReq 8 + +typedef struct { + BYTE type; + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 flags B32; + CARD32 pad B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXF86DGAQueryDirectVideoReply; +#define sz_xXF86DGAQueryDirectVideoReply 32 + + +typedef struct _XF86DGAViewPortChanged { + CARD8 reqType; /* always DGAReqCode */ + CARD8 dgaReqType; /* always X_DGAQueryVersion */ + CARD16 length B16; + CARD16 screen B16; + CARD16 n B16; +} xXF86DGAViewPortChangedReq; +#define sz_xXF86DGAViewPortChangedReq 8 + +typedef struct { + BYTE type; + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 result B32; + CARD32 pad B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXF86DGAViewPortChangedReply; +#define sz_xXF86DGAViewPortChangedReply 32 + +#endif /* _XF86DGAPROTO1_H_ */ + diff --git a/ThirdParty/X11/Include/X11/extensions/xf86dga1str.h b/ThirdParty/X11/Include/X11/extensions/xf86dga1str.h new file mode 100644 index 0000000..d8e73e8 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xf86dga1str.h @@ -0,0 +1,3 @@ +#warning "xf86dga1str.h is obsolete and may be removed in the future." +#warning "include <X11/extensions/xf86dga1proto.h> for the protocol defines." +#include <X11/extensions/xf86dga1proto.h> diff --git a/ThirdParty/X11/Include/X11/extensions/xf86dgaconst.h b/ThirdParty/X11/Include/X11/extensions/xf86dgaconst.h new file mode 100644 index 0000000..63829bc --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xf86dgaconst.h @@ -0,0 +1,96 @@ +/* + Copyright (c) 1999 XFree86 Inc +*/ + +#ifndef _XF86DGACONST_H_ +#define _XF86DGACONST_H_ + +#include <X11/extensions/xf86dga1const.h> + +#define X_XDGAQueryVersion 0 + +/* 1 through 9 are in xf86dga1.h */ + +/* 10 and 11 are reserved to avoid conflicts with rogue DGA extensions */ + +#define X_XDGAQueryModes 12 +#define X_XDGASetMode 13 +#define X_XDGASetViewport 14 +#define X_XDGAInstallColormap 15 +#define X_XDGASelectInput 16 +#define X_XDGAFillRectangle 17 +#define X_XDGACopyArea 18 +#define X_XDGACopyTransparentArea 19 +#define X_XDGAGetViewportStatus 20 +#define X_XDGASync 21 +#define X_XDGAOpenFramebuffer 22 +#define X_XDGACloseFramebuffer 23 +#define X_XDGASetClientVersion 24 +#define X_XDGAChangePixmapMode 25 +#define X_XDGACreateColormap 26 + + +#define XDGAConcurrentAccess 0x00000001 +#define XDGASolidFillRect 0x00000002 +#define XDGABlitRect 0x00000004 +#define XDGABlitTransRect 0x00000008 +#define XDGAPixmap 0x00000010 + +#define XDGAInterlaced 0x00010000 +#define XDGADoublescan 0x00020000 + +#define XDGAFlipImmediate 0x00000001 +#define XDGAFlipRetrace 0x00000002 + +#define XDGANeedRoot 0x00000001 + +#define XF86DGANumberEvents 7 + +#define XDGAPixmapModeLarge 0 +#define XDGAPixmapModeSmall 1 + +#define XF86DGAClientNotLocal 0 +#define XF86DGANoDirectVideoMode 1 +#define XF86DGAScreenNotActive 2 +#define XF86DGADirectNotActivated 3 +#define XF86DGAOperationNotSupported 4 +#define XF86DGANumberErrors (XF86DGAOperationNotSupported + 1) + + +typedef struct { + int num; /* A unique identifier for the mode (num > 0) */ + char *name; /* name of mode given in the XF86Config */ + float verticalRefresh; + int flags; /* DGA_CONCURRENT_ACCESS, etc... */ + int imageWidth; /* linear accessible portion (pixels) */ + int imageHeight; + int pixmapWidth; /* Xlib accessible portion (pixels) */ + int pixmapHeight; /* both fields ignored if no concurrent access */ + int bytesPerScanline; + int byteOrder; /* MSBFirst, LSBFirst */ + int depth; + int bitsPerPixel; + unsigned long redMask; + unsigned long greenMask; + unsigned long blueMask; + short visualClass; + int viewportWidth; + int viewportHeight; + int xViewportStep; /* viewport position granularity */ + int yViewportStep; + int maxViewportX; /* max viewport origin */ + int maxViewportY; + int viewportFlags; /* types of page flipping possible */ + int reserved1; + int reserved2; +} XDGAMode; + + +typedef struct { + XDGAMode mode; + unsigned char *data; + Pixmap pixmap; +} XDGADevice; + + +#endif /* _XF86DGACONST_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/xf86dgaproto.h b/ThirdParty/X11/Include/X11/extensions/xf86dgaproto.h new file mode 100644 index 0000000..8b7f13d --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xf86dgaproto.h @@ -0,0 +1,344 @@ +/* + +Copyright (c) 1995 Jon Tombs +Copyright (c) 1995 XFree86 Inc. + +*/ + +#ifndef _XF86DGAPROTO_H_ +#define _XF86DGAPROTO_H_ + +#include <X11/extensions/xf86dga1proto.h> +#include <X11/extensions/xf86dgaconst.h> + +#define XF86DGANAME "XFree86-DGA" + +#define XDGA_MAJOR_VERSION 2 /* current version numbers */ +#define XDGA_MINOR_VERSION 0 + + +typedef struct _XDGAQueryVersion { + CARD8 reqType; /* always DGAReqCode */ + CARD8 dgaReqType; /* always X_DGAQueryVersion */ + CARD16 length B16; +} xXDGAQueryVersionReq; +#define sz_xXDGAQueryVersionReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 majorVersion B16; /* major version of DGA protocol */ + CARD16 minorVersion B16; /* minor version of DGA protocol */ + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXDGAQueryVersionReply; +#define sz_xXDGAQueryVersionReply 32 + +typedef struct _XDGAQueryModes { + CARD8 reqType; + CARD8 dgaReqType; + CARD16 length B16; + CARD32 screen B32; +} xXDGAQueryModesReq; +#define sz_xXDGAQueryModesReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 number B32; /* number of modes available */ + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXDGAQueryModesReply; +#define sz_xXDGAQueryModesReply 32 + + +typedef struct _XDGASetMode { + CARD8 reqType; + CARD8 dgaReqType; + CARD16 length B16; + CARD32 screen B32; + CARD32 mode B32; /* mode number to init */ + CARD32 pid B32; /* Pixmap descriptor */ +} xXDGASetModeReq; +#define sz_xXDGASetModeReq 16 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 offset B32; /* offset into framebuffer map */ + CARD32 flags B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXDGASetModeReply; +#define sz_xXDGASetModeReply 32 + +typedef struct { + CARD8 byte_order; + CARD8 depth; + CARD16 num B16; + CARD16 bpp B16; + CARD16 name_size B16; + CARD32 vsync_num B32; + CARD32 vsync_den B32; + CARD32 flags B32; + CARD16 image_width B16; + CARD16 image_height B16; + CARD16 pixmap_width B16; + CARD16 pixmap_height B16; + CARD32 bytes_per_scanline B32; + CARD32 red_mask B32; + CARD32 green_mask B32; + CARD32 blue_mask B32; + CARD16 visual_class B16; + CARD16 pad1 B16; + CARD16 viewport_width B16; + CARD16 viewport_height B16; + CARD16 viewport_xstep B16; + CARD16 viewport_ystep B16; + CARD16 viewport_xmax B16; + CARD16 viewport_ymax B16; + CARD32 viewport_flags B32; + CARD32 reserved1 B32; + CARD32 reserved2 B32; +} xXDGAModeInfo; +#define sz_xXDGAModeInfo 72 + +typedef struct _XDGAOpenFramebuffer { + CARD8 reqType; + CARD8 dgaReqType; + CARD16 length B16; + CARD32 screen B32; +} xXDGAOpenFramebufferReq; +#define sz_xXDGAOpenFramebufferReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; /* device name size if there is one */ + CARD32 mem1 B32; /* physical memory */ + CARD32 mem2 B32; /* spillover for _alpha_ */ + CARD32 size B32; /* size of map in bytes */ + CARD32 offset B32; /* optional offset into device */ + CARD32 extra B32; /* extra info associated with the map */ + CARD32 pad2 B32; +} xXDGAOpenFramebufferReply; +#define sz_xXDGAOpenFramebufferReply 32 + + +typedef struct _XDGACloseFramebuffer { + CARD8 reqType; + CARD8 dgaReqType; + CARD16 length B16; + CARD32 screen B32; +} xXDGACloseFramebufferReq; +#define sz_xXDGACloseFramebufferReq 8 + + +typedef struct _XDGASetViewport { + CARD8 reqType; + CARD8 dgaReqType; + CARD16 length B16; + CARD32 screen B32; + CARD16 x B16; + CARD16 y B16; + CARD32 flags B32; +} xXDGASetViewportReq; +#define sz_xXDGASetViewportReq 16 + + +typedef struct _XDGAInstallColormap { + CARD8 reqType; + CARD8 dgaReqType; + CARD16 length B16; + CARD32 screen B32; + CARD32 cmap B32; +} xXDGAInstallColormapReq; +#define sz_xXDGAInstallColormapReq 12 + +typedef struct _XDGASelectInput { + CARD8 reqType; + CARD8 dgaReqType; + CARD16 length B16; + CARD32 screen B32; + CARD32 mask B32; +} xXDGASelectInputReq; +#define sz_xXDGASelectInputReq 12 + +typedef struct _XDGAFillRectangle { + CARD8 reqType; + CARD8 dgaReqType; + CARD16 length B16; + CARD32 screen B32; + CARD16 x B16; + CARD16 y B16; + CARD16 width B16; + CARD16 height B16; + CARD32 color B32; +} xXDGAFillRectangleReq; +#define sz_xXDGAFillRectangleReq 20 + + +typedef struct _XDGACopyArea { + CARD8 reqType; + CARD8 dgaReqType; + CARD16 length B16; + CARD32 screen B32; + CARD16 srcx B16; + CARD16 srcy B16; + CARD16 width B16; + CARD16 height B16; + CARD16 dstx B16; + CARD16 dsty B16; +} xXDGACopyAreaReq; +#define sz_xXDGACopyAreaReq 20 + +typedef struct _XDGACopyTransparentArea { + CARD8 reqType; + CARD8 dgaReqType; + CARD16 length B16; + CARD32 screen B32; + CARD16 srcx B16; + CARD16 srcy B16; + CARD16 width B16; + CARD16 height B16; + CARD16 dstx B16; + CARD16 dsty B16; + CARD32 key B32; +} xXDGACopyTransparentAreaReq; +#define sz_xXDGACopyTransparentAreaReq 24 + + +typedef struct _XDGAGetViewportStatus { + CARD8 reqType; + CARD8 dgaReqType; + CARD16 length B16; + CARD32 screen B32; +} xXDGAGetViewportStatusReq; +#define sz_xXDGAGetViewportStatusReq 8 + +typedef struct { + BYTE type; + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 status B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXDGAGetViewportStatusReply; +#define sz_xXDGAGetViewportStatusReply 32 + +typedef struct _XDGASync { + CARD8 reqType; + CARD8 dgaReqType; + CARD16 length B16; + CARD32 screen B32; +} xXDGASyncReq; +#define sz_xXDGASyncReq 8 + +typedef struct { + BYTE type; + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; +} xXDGASyncReply; +#define sz_xXDGASyncReply 32 + +typedef struct _XDGASetClientVersion { + CARD8 reqType; + CARD8 dgaReqType; + CARD16 length B16; + CARD16 major B16; + CARD16 minor B16; +} xXDGASetClientVersionReq; +#define sz_xXDGASetClientVersionReq 8 + + +typedef struct { + CARD8 reqType; + CARD8 dgaReqType; + CARD16 length B16; + CARD32 screen B32; + CARD16 x B16; + CARD16 y B16; + CARD32 flags B32; +} xXDGAChangePixmapModeReq; +#define sz_xXDGAChangePixmapModeReq 16 + +typedef struct { + BYTE type; + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 x B16; + CARD16 y B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; + CARD32 pad7 B32; +} xXDGAChangePixmapModeReply; +#define sz_xXDGAChangePixmapModeReply 32 + +typedef struct _XDGACreateColormap { + CARD8 reqType; + CARD8 dgaReqType; + CARD16 length B16; + CARD32 screen B32; + CARD32 id B32; + CARD32 mode B32; + CARD8 alloc; + CARD8 pad1; + CARD16 pad2; +} xXDGACreateColormapReq; +#define sz_xXDGACreateColormapReq 20 + + +typedef struct { + union { + struct { + BYTE type; + BYTE detail; + CARD16 sequenceNumber B16; + } u; + struct { + CARD32 pad0 B32; + CARD32 time B32; + INT16 dx B16; + INT16 dy B16; + INT16 screen B16; + CARD16 state B16; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + } event; + } u; +} dgaEvent; + + +#endif /* _XF86DGAPROTO_H_ */ + diff --git a/ThirdParty/X11/Include/X11/extensions/xf86dgastr.h b/ThirdParty/X11/Include/X11/extensions/xf86dgastr.h new file mode 100644 index 0000000..f4809d1 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xf86dgastr.h @@ -0,0 +1,3 @@ +#warning "xf86dgastr.h is obsolete and may be removed in the future." +#warning "include <X11/extensions/xf86dgaproto.h> for the protocol defines." +#include <X11/extensions/xf86dgaproto.h> diff --git a/ThirdParty/X11/Include/X11/extensions/xf86misc.h b/ThirdParty/X11/Include/X11/extensions/xf86misc.h new file mode 100644 index 0000000..f5d7a56 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xf86misc.h @@ -0,0 +1,172 @@ +/* $XFree86: xc/include/extensions/xf86misc.h,v 3.16 2002/11/20 04:04:56 dawes Exp $ */ + +/* + * Copyright (c) 1995, 1996 The XFree86 Project, Inc + */ + +/* THIS IS NOT AN X CONSORTIUM STANDARD */ + +#ifndef _XF86MISC_H_ +#define _XF86MISC_H_ + +#include <X11/Xfuncproto.h> + +#define X_XF86MiscQueryVersion 0 +#ifdef _XF86MISC_SAVER_COMPAT_ +#define X_XF86MiscGetSaver 1 +#define X_XF86MiscSetSaver 2 +#endif +#define X_XF86MiscGetMouseSettings 3 +#define X_XF86MiscGetKbdSettings 4 +#define X_XF86MiscSetMouseSettings 5 +#define X_XF86MiscSetKbdSettings 6 +#define X_XF86MiscSetGrabKeysState 7 +#define X_XF86MiscSetClientVersion 8 +#define X_XF86MiscGetFilePaths 9 +#define X_XF86MiscPassMessage 10 + +#define XF86MiscNumberEvents 0 + +#define XF86MiscBadMouseProtocol 0 +#define XF86MiscBadMouseBaudRate 1 +#define XF86MiscBadMouseFlags 2 +#define XF86MiscBadMouseCombo 3 +#define XF86MiscBadKbdType 4 +#define XF86MiscModInDevDisabled 5 +#define XF86MiscModInDevClientNotLocal 6 +#define XF86MiscNoModule 7 +#define XF86MiscNumberErrors (XF86MiscNoModule + 1) + +/* Never renumber these */ +#define MTYPE_MICROSOFT 0 +#define MTYPE_MOUSESYS 1 +#define MTYPE_MMSERIES 2 +#define MTYPE_LOGITECH 3 +#define MTYPE_BUSMOUSE 4 +#define MTYPE_LOGIMAN 5 +#define MTYPE_PS_2 6 +#define MTYPE_MMHIT 7 +#define MTYPE_GLIDEPOINT 8 +#define MTYPE_IMSERIAL 9 +#define MTYPE_THINKING 10 +#define MTYPE_IMPS2 11 +#define MTYPE_THINKINGPS2 12 +#define MTYPE_MMANPLUSPS2 13 +#define MTYPE_GLIDEPOINTPS2 14 +#define MTYPE_NETPS2 15 +#define MTYPE_NETSCROLLPS2 16 +#define MTYPE_SYSMOUSE 17 +#define MTYPE_AUTOMOUSE 18 +#define MTYPE_ACECAD 19 +#define MTYPE_EXPPS2 20 + +#define MTYPE_XQUEUE 127 +#define MTYPE_OSMOUSE 126 +#define MTYPE_UNKNOWN 125 + +#define KTYPE_UNKNOWN 0 +#define KTYPE_84KEY 1 +#define KTYPE_101KEY 2 +#define KTYPE_OTHER 3 +#define KTYPE_XQUEUE 4 + +#define MF_CLEAR_DTR 1 +#define MF_CLEAR_RTS 2 +#define MF_REOPEN 128 + +#ifndef _XF86MISC_SERVER_ + +/* return values for XF86MiscSetGrabKeysState */ +#define MiscExtGrabStateSuccess 0 /* No errors */ +#define MiscExtGrabStateLocked 1 /* A client already requested that + * grabs cannot be removed/killed */ +#define MiscExtGrabStateAlready 2 /* Request for enabling/disabling + * grab removeal/kill already done */ + +_XFUNCPROTOBEGIN + +typedef struct { + char* device; + int type; + int baudrate; + int samplerate; + int resolution; + int buttons; + Bool emulate3buttons; + int emulate3timeout; + Bool chordmiddle; + int flags; +} XF86MiscMouseSettings; + +typedef struct { + int type; + int rate; + int delay; + Bool servnumlock; +} XF86MiscKbdSettings; + +typedef struct { + char* configfile; + char* modulepath; + char* logfile; +} XF86MiscFilePaths; + +Bool XF86MiscQueryVersion( + Display* /* dpy */, + int* /* majorVersion */, + int* /* minorVersion */ +); + +Bool XF86MiscQueryExtension( + Display* /* dpy */, + int* /* event_base */, + int* /* error_base */ +); + +Bool XF86MiscSetClientVersion( + Display *dpy /* dpy */ +); + +Status XF86MiscGetMouseSettings( + Display* /* dpy */, + XF86MiscMouseSettings* /* mouse info */ +); + +Status XF86MiscGetKbdSettings( + Display* /* dpy */, + XF86MiscKbdSettings* /* keyboard info */ +); + +Status XF86MiscSetMouseSettings( + Display* /* dpy */, + XF86MiscMouseSettings* /* mouse info */ +); + +Status XF86MiscSetKbdSettings( + Display* /* dpy */, + XF86MiscKbdSettings* /* keyboard info */ +); + +int XF86MiscSetGrabKeysState( + Display* /* dpy */, + Bool /* enabled */ +); + +Status XF86MiscGetFilePaths( + Display* /* dpy */, + XF86MiscFilePaths* /* file paths/locations */ +); + +Status XF86MiscPassMessage( + Display* /* dpy */, + int /* screen */, + const char* /* message name/type */, + const char* /* message contents/value */, + char ** /* returned message */ +); + +_XFUNCPROTOEND + +#endif + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/xf86mscstr.h b/ThirdParty/X11/Include/X11/extensions/xf86mscstr.h new file mode 100644 index 0000000..637d3a5 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xf86mscstr.h @@ -0,0 +1,238 @@ +/* $XFree86: xc/include/extensions/xf86mscstr.h,v 3.12 2002/11/20 04:04:56 dawes Exp $ */ + +/* + * Copyright (c) 1995, 1996 The XFree86 Project, Inc + */ + +/* THIS IS NOT AN X CONSORTIUM STANDARD */ + +#ifndef _XF86MISCSTR_H_ +#define _XF86MISCSTR_H_ + +#include <X11/extensions/xf86misc.h> + +#define XF86MISCNAME "XFree86-Misc" + +#define XF86MISC_MAJOR_VERSION 0 /* current version numbers */ +#define XF86MISC_MINOR_VERSION 9 + +typedef struct _XF86MiscQueryVersion { + CARD8 reqType; /* always XF86MiscReqCode */ + CARD8 xf86miscReqType; /* always X_XF86MiscQueryVersion */ + CARD16 length B16; +} xXF86MiscQueryVersionReq; +#define sz_xXF86MiscQueryVersionReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 majorVersion B16; /* major version of XFree86-Misc */ + CARD16 minorVersion B16; /* minor version of XFree86-Misc */ + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXF86MiscQueryVersionReply; +#define sz_xXF86MiscQueryVersionReply 32 + +#ifdef _XF86MISC_SAVER_COMPAT_ +typedef struct _XF86MiscGetSaver { + CARD8 reqType; /* always XF86MiscReqCode */ + CARD8 xf86miscReqType; /* always X_XF86MiscGetSaver */ + CARD16 length B16; + CARD16 screen B16; + CARD16 pad B16; +} xXF86MiscGetSaverReq; +#define sz_xXF86MiscGetSaverReq 8 + +typedef struct _XF86MiscSetSaver { + CARD8 reqType; /* always XF86MiscReqCode */ + CARD8 xf86miscReqType; /* always X_XF86MiscSetSaver */ + CARD16 length B16; + CARD16 screen B16; + CARD16 pad B16; + CARD32 suspendTime B32; + CARD32 offTime B32; +} xXF86MiscSetSaverReq; +#define sz_xXF86MiscSetSaverReq 16 + +typedef struct { + BYTE type; + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 suspendTime B32; + CARD32 offTime B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXF86MiscGetSaverReply; +#define sz_xXF86MiscGetSaverReply 32 +#endif + +typedef struct _XF86MiscGetMouseSettings { + CARD8 reqType; /* always XF86MiscReqCode */ + CARD8 xf86miscReqType; /* always X_XF86MiscGetMouseSettings */ + CARD16 length B16; +} xXF86MiscGetMouseSettingsReq; +#define sz_xXF86MiscGetMouseSettingsReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 mousetype B32; + CARD32 baudrate B32; + CARD32 samplerate B32; + CARD32 resolution B32; + CARD32 buttons B32; + BOOL emulate3buttons; + BOOL chordmiddle; + CARD16 pad2 B16; + CARD32 emulate3timeout B32; + CARD32 flags B32; + CARD32 devnamelen B32; /* strlen(device)+1 */ +} xXF86MiscGetMouseSettingsReply; +#define sz_xXF86MiscGetMouseSettingsReply 44 + +typedef struct _XF86MiscGetKbdSettings { + CARD8 reqType; /* always XF86MiscReqCode */ + CARD8 xf86miscReqType; /* always X_XF86MiscGetKbdSettings */ + CARD16 length B16; +} xXF86MiscGetKbdSettingsReq; +#define sz_xXF86MiscGetKbdSettingsReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 kbdtype B32; + CARD32 rate B32; + CARD32 delay B32; + BOOL servnumlock; + BOOL pad2; + CARD16 pad3 B16; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXF86MiscGetKbdSettingsReply; +#define sz_xXF86MiscGetKbdSettingsReply 32 + +typedef struct _XF86MiscSetMouseSettings { + CARD8 reqType; /* always XF86MiscReqCode */ + CARD8 xf86miscReqType; /* always X_XF86MiscSetMouseSettings */ + CARD16 length B16; + CARD32 mousetype B32; + CARD32 baudrate B32; + CARD32 samplerate B32; + CARD32 resolution B32; + CARD32 buttons B32; + BOOL emulate3buttons; + BOOL chordmiddle; + CARD16 devnamelen B16; + CARD32 emulate3timeout B32; + CARD32 flags B32; +} xXF86MiscSetMouseSettingsReq; +#define sz_xXF86MiscSetMouseSettingsReq 36 + +typedef struct _XF86MiscSetKbdSettings { + CARD8 reqType; /* always XF86MiscReqCode */ + CARD8 xf86miscReqType; /* always X_XF86MiscSetKbdSettings */ + CARD16 length B16; + CARD32 kbdtype B32; + CARD32 rate B32; + CARD32 delay B32; + BOOL servnumlock; + BOOL pad1; + CARD16 pad2 B16; +} xXF86MiscSetKbdSettingsReq; +#define sz_xXF86MiscSetKbdSettingsReq 20 + +typedef struct _XF86MiscSetGrabKeysState { + CARD8 reqType; /* always XF86MiscReqCode */ + CARD8 xf86miscReqType; /* always X_XF86MiscSetKbdSettings */ + CARD16 length B16; + BOOL enable; + BOOL pad1; + CARD16 pad2 B16; +} xXF86MiscSetGrabKeysStateReq; +#define sz_xXF86MiscSetGrabKeysStateReq 8 + +typedef struct { + BYTE type; + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 status B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXF86MiscSetGrabKeysStateReply; +#define sz_xXF86MiscSetGrabKeysStateReply 32 + +typedef struct _XF86MiscSetClientVersion { + CARD8 reqType; /* always XF86MiscReqCode */ + CARD8 xf86miscReqType; + CARD16 length B16; + CARD16 major B16; + CARD16 minor B16; +} xXF86MiscSetClientVersionReq; +#define sz_xXF86MiscSetClientVersionReq 8 + +typedef struct _XF86MiscGetFilePaths { + CARD8 reqType; /* always XF86MiscReqCode */ + CARD8 xf86miscReqType; /* always X_XF86MiscGetFilePaths */ + CARD16 length B16; +} xXF86MiscGetFilePathsReq; +#define sz_xXF86MiscGetFilePathsReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 configlen B16; + CARD16 modulelen B16; + CARD16 loglen B16; + CARD16 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXF86MiscGetFilePathsReply; +#define sz_xXF86MiscGetFilePathsReply 32 + +typedef struct _XF86MiscPassMessage { + CARD8 reqType; /* always XF86MiscReqCode */ + CARD8 xf86miscReqType; /* always X_XF86MiscPassMessage */ + CARD16 length B16; + CARD16 typelen B16; + CARD16 vallen B16; + CARD16 screen B16; + CARD16 pad B16; +} xXF86MiscPassMessageReq; +#define sz_xXF86MiscPassMessageReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 mesglen B16; + CARD16 pad2 B16; + CARD32 status B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXF86MiscPassMessageReply; +#define sz_xXF86MiscPassMessageReply 32 + +#endif /* _XF86MISCSTR_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/xf86vm.h b/ThirdParty/X11/Include/X11/extensions/xf86vm.h new file mode 100644 index 0000000..ddf4dac --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xf86vm.h @@ -0,0 +1,65 @@ +/* + +Copyright 1995 Kaleb S. KEITHLEY + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL Kaleb S. KEITHLEY BE LIABLE FOR ANY CLAIM, DAMAGES +OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of Kaleb S. KEITHLEY +shall not be used in advertising or otherwise to promote the sale, use +or other dealings in this Software without prior written authorization +from Kaleb S. KEITHLEY + +*/ + +/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */ + +#ifndef _XF86VM_H_ +#define _XF86VM_H_ + +#include <X11/Xmd.h> + + +#define CLKFLAG_PROGRAMABLE 1 + +#ifdef XF86VIDMODE_EVENTS +#define XF86VidModeNotify 0 +#define XF86VidModeNumberEvents (XF86VidModeNotify + 1) + +#define XF86VidModeNotifyMask 0x00000001 + +#define XF86VidModeNonEvent 0 +#define XF86VidModeModeChange 1 +#else +#define XF86VidModeNumberEvents 0 +#endif + +#define XF86VidModeBadClock 0 +#define XF86VidModeBadHTimings 1 +#define XF86VidModeBadVTimings 2 +#define XF86VidModeModeUnsuitable 3 +#define XF86VidModeExtensionDisabled 4 +#define XF86VidModeClientNotLocal 5 +#define XF86VidModeZoomLocked 6 +#define XF86VidModeNumberErrors (XF86VidModeZoomLocked + 1) + +#define XF86VM_READ_PERMISSION 1 +#define XF86VM_WRITE_PERMISSION 2 + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/xf86vmode.h b/ThirdParty/X11/Include/X11/extensions/xf86vmode.h new file mode 100644 index 0000000..a7a3c5d --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xf86vmode.h @@ -0,0 +1,298 @@ +/* + +Copyright 1995 Kaleb S. KEITHLEY + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL Kaleb S. KEITHLEY BE LIABLE FOR ANY CLAIM, DAMAGES +OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of Kaleb S. KEITHLEY +shall not be used in advertising or otherwise to promote the sale, use +or other dealings in this Software without prior written authorization +from Kaleb S. KEITHLEY + +*/ + +/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */ + +#ifndef _XF86VIDMODE_H_ +#define _XF86VIDMODE_H_ + +#include <X11/Xfuncproto.h> +#include <X11/Xmd.h> +#include <X11/extensions/xf86vm.h> + +#define CLKFLAG_PROGRAMABLE 1 + +#ifdef XF86VIDMODE_EVENTS +#define XF86VidModeNotify 0 +#define XF86VidModeNumberEvents (XF86VidModeNotify + 1) + +#define XF86VidModeNotifyMask 0x00000001 + +#define XF86VidModeNonEvent 0 +#define XF86VidModeModeChange 1 +#else +#define XF86VidModeNumberEvents 0 +#endif + +#define XF86VidModeBadClock 0 +#define XF86VidModeBadHTimings 1 +#define XF86VidModeBadVTimings 2 +#define XF86VidModeModeUnsuitable 3 +#define XF86VidModeExtensionDisabled 4 +#define XF86VidModeClientNotLocal 5 +#define XF86VidModeZoomLocked 6 +#define XF86VidModeNumberErrors (XF86VidModeZoomLocked + 1) + +#define XF86VM_READ_PERMISSION 1 +#define XF86VM_WRITE_PERMISSION 2 + +#ifndef _XF86VIDMODE_SERVER_ + +typedef struct { + unsigned short hdisplay; + unsigned short hsyncstart; + unsigned short hsyncend; + unsigned short htotal; + unsigned short hskew; + unsigned short vdisplay; + unsigned short vsyncstart; + unsigned short vsyncend; + unsigned short vtotal; + unsigned int flags; + int privsize; +#if defined(__cplusplus) || defined(c_plusplus) + /* private is a C++ reserved word */ + INT32 *c_private; +#else + INT32 *private; +#endif +} XF86VidModeModeLine; + +typedef struct { + unsigned int dotclock; + unsigned short hdisplay; + unsigned short hsyncstart; + unsigned short hsyncend; + unsigned short htotal; + unsigned short hskew; + unsigned short vdisplay; + unsigned short vsyncstart; + unsigned short vsyncend; + unsigned short vtotal; + unsigned int flags; + int privsize; +#if defined(__cplusplus) || defined(c_plusplus) + /* private is a C++ reserved word */ + INT32 *c_private; +#else + INT32 *private; +#endif +} XF86VidModeModeInfo; + +typedef struct { + float hi; + float lo; +} XF86VidModeSyncRange; + +typedef struct { + char* vendor; + char* model; + float EMPTY; + unsigned char nhsync; + XF86VidModeSyncRange* hsync; + unsigned char nvsync; + XF86VidModeSyncRange* vsync; +} XF86VidModeMonitor; + +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent req */ + Display *display; /* Display the event was read from */ + Window root; /* root window of event screen */ + int state; /* What happened */ + int kind; /* What happened */ + Bool forced; /* extents of new region */ + Time time; /* event timestamp */ +} XF86VidModeNotifyEvent; + +typedef struct { + float red; /* Red Gamma value */ + float green; /* Green Gamma value */ + float blue; /* Blue Gamma value */ +} XF86VidModeGamma; + + +#define XF86VidModeSelectNextMode(disp, scr) \ + XF86VidModeSwitchMode(disp, scr, 1) +#define XF86VidModeSelectPrevMode(disp, scr) \ + XF86VidModeSwitchMode(disp, scr, -1) + +_XFUNCPROTOBEGIN + +Bool XF86VidModeQueryVersion( + Display* /* dpy */, + int* /* majorVersion */, + int* /* minorVersion */ +); + +Bool XF86VidModeQueryExtension( + Display* /* dpy */, + int* /* event_base */, + int* /* error_base */ +); + +Bool XF86VidModeSetClientVersion( + Display* /* dpy */ +); + +Bool XF86VidModeGetModeLine( + Display* /* dpy */, + int /* screen */, + int* /* dotclock */, + XF86VidModeModeLine* /* modeline */ +); + +Bool XF86VidModeGetAllModeLines( + Display* /* dpy */, + int /* screen */, + int* /* modecount */, + XF86VidModeModeInfo*** /* modelinesPtr */ +); + +Bool XF86VidModeAddModeLine( + Display* /* dpy */, + int /* screen */, + XF86VidModeModeInfo* /* new modeline */, + XF86VidModeModeInfo* /* after modeline */ +); + +Bool XF86VidModeDeleteModeLine( + Display* /* dpy */, + int /* screen */, + XF86VidModeModeInfo* /* modeline */ +); + +Bool XF86VidModeModModeLine( + Display* /* dpy */, + int /* screen */, + XF86VidModeModeLine* /* modeline */ +); + +Status XF86VidModeValidateModeLine( + Display* /* dpy */, + int /* screen */, + XF86VidModeModeInfo* /* modeline */ +); + +Bool XF86VidModeSwitchMode( + Display* /* dpy */, + int /* screen */, + int /* zoom */ +); + +Bool XF86VidModeSwitchToMode( + Display* /* dpy */, + int /* screen */, + XF86VidModeModeInfo* /* modeline */ +); + +Bool XF86VidModeLockModeSwitch( + Display* /* dpy */, + int /* screen */, + int /* lock */ +); + +Bool XF86VidModeGetMonitor( + Display* /* dpy */, + int /* screen */, + XF86VidModeMonitor* /* monitor */ +); + +Bool XF86VidModeGetViewPort( + Display* /* dpy */, + int /* screen */, + int* /* x return */, + int* /* y return */ +); + +Bool XF86VidModeSetViewPort( + Display* /* dpy */, + int /* screen */, + int /* x */, + int /* y */ +); + +Bool XF86VidModeGetDotClocks( + Display* /* dpy */, + int /* screen */, + int* /* flags return */, + int* /* number of clocks return */, + int* /* max dot clock return */, + int** /* clocks return */ +); + +Bool XF86VidModeGetGamma( + Display* /* dpy */, + int /* screen */, + XF86VidModeGamma* /* Gamma */ +); + +Bool XF86VidModeSetGamma( + Display* /* dpy */, + int /* screen */, + XF86VidModeGamma* /* Gamma */ +); + +Bool XF86VidModeSetGammaRamp( + Display* /* dpy */, + int /* screen */, + int /* size */, + unsigned short* /* red array */, + unsigned short* /* green array */, + unsigned short* /* blue array */ +); + +Bool XF86VidModeGetGammaRamp( + Display* /* dpy */, + int /* screen */, + int /* size */, + unsigned short* /* red array */, + unsigned short* /* green array */, + unsigned short* /* blue array */ +); + +Bool XF86VidModeGetGammaRampSize( + Display* /* dpy */, + int /* screen */, + int* /* size */ +); + +Bool XF86VidModeGetPermissions( + Display* /* dpy */, + int /* screen */, + int* /* permissions */ +); + +_XFUNCPROTOEND + +#endif + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/xf86vmproto.h b/ThirdParty/X11/Include/X11/extensions/xf86vmproto.h new file mode 100644 index 0000000..0d3955c --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xf86vmproto.h @@ -0,0 +1,583 @@ +/* + +Copyright 1995 Kaleb S. KEITHLEY + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL Kaleb S. KEITHLEY BE LIABLE FOR ANY CLAIM, DAMAGES +OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of Kaleb S. KEITHLEY +shall not be used in advertising or otherwise to promote the sale, use +or other dealings in this Software without prior written authorization +from Kaleb S. KEITHLEY + +*/ + +/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */ + +#ifndef _XF86VIDMODEPROTO_H_ +#define _XF86VIDMODEPROTO_H_ + +#include <X11/extensions/xf86vm.h> + +#define XF86VIDMODENAME "XFree86-VidModeExtension" + +#define XF86VIDMODE_MAJOR_VERSION 2 /* current version numbers */ +#define XF86VIDMODE_MINOR_VERSION 2 + +#define X_XF86VidModeQueryVersion 0 +#define X_XF86VidModeGetModeLine 1 +#define X_XF86VidModeModModeLine 2 +#define X_XF86VidModeSwitchMode 3 +#define X_XF86VidModeGetMonitor 4 +#define X_XF86VidModeLockModeSwitch 5 +#define X_XF86VidModeGetAllModeLines 6 +#define X_XF86VidModeAddModeLine 7 +#define X_XF86VidModeDeleteModeLine 8 +#define X_XF86VidModeValidateModeLine 9 +#define X_XF86VidModeSwitchToMode 10 +#define X_XF86VidModeGetViewPort 11 +#define X_XF86VidModeSetViewPort 12 +/* new for version 2.x of this extension */ +#define X_XF86VidModeGetDotClocks 13 +#define X_XF86VidModeSetClientVersion 14 +#define X_XF86VidModeSetGamma 15 +#define X_XF86VidModeGetGamma 16 +#define X_XF86VidModeGetGammaRamp 17 +#define X_XF86VidModeSetGammaRamp 18 +#define X_XF86VidModeGetGammaRampSize 19 +#define X_XF86VidModeGetPermissions 20 +/* + * major version 0 == uses parameter-to-wire functions in XFree86 libXxf86vm. + * major version 1 == uses parameter-to-wire functions hard-coded in xvidtune + * client. + * major version 2 == uses new protocol version in XFree86 4.0. + */ + +typedef struct _XF86VidModeQueryVersion { + CARD8 reqType; /* always XF86VidModeReqCode */ + CARD8 xf86vidmodeReqType; /* always X_XF86VidModeQueryVersion */ + CARD16 length B16; +} xXF86VidModeQueryVersionReq; +#define sz_xXF86VidModeQueryVersionReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 majorVersion B16; /* major version of XF86VidMode */ + CARD16 minorVersion B16; /* minor version of XF86VidMode */ + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXF86VidModeQueryVersionReply; +#define sz_xXF86VidModeQueryVersionReply 32 + +typedef struct _XF86VidModeGetModeLine { + CARD8 reqType; /* always XF86VidModeReqCode */ + CARD8 xf86vidmodeReqType; + CARD16 length B16; + CARD16 screen B16; + CARD16 pad B16; +} xXF86VidModeGetModeLineReq, + xXF86VidModeGetAllModeLinesReq, + xXF86VidModeGetMonitorReq, + xXF86VidModeGetViewPortReq, + xXF86VidModeGetDotClocksReq, + xXF86VidModeGetPermissionsReq; +#define sz_xXF86VidModeGetModeLineReq 8 +#define sz_xXF86VidModeGetAllModeLinesReq 8 +#define sz_xXF86VidModeGetMonitorReq 8 +#define sz_xXF86VidModeGetViewPortReq 8 +#define sz_xXF86VidModeGetDotClocksReq 8 +#define sz_xXF86VidModeGetPermissionsReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 dotclock B32; + CARD16 hdisplay B16; + CARD16 hsyncstart B16; + CARD16 hsyncend B16; + CARD16 htotal B16; + CARD16 hskew B16; + CARD16 vdisplay B16; + CARD16 vsyncstart B16; + CARD16 vsyncend B16; + CARD16 vtotal B16; + CARD16 pad2 B16; + CARD32 flags B32; + CARD32 reserved1 B32; + CARD32 reserved2 B32; + CARD32 reserved3 B32; + CARD32 privsize B32; +} xXF86VidModeGetModeLineReply; +#define sz_xXF86VidModeGetModeLineReply 52 + +/* 0.x version */ +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 dotclock B32; + CARD16 hdisplay B16; + CARD16 hsyncstart B16; + CARD16 hsyncend B16; + CARD16 htotal B16; + CARD16 vdisplay B16; + CARD16 vsyncstart B16; + CARD16 vsyncend B16; + CARD16 vtotal B16; + CARD32 flags B32; + CARD32 privsize B32; +} xXF86OldVidModeGetModeLineReply; +#define sz_xXF86OldVidModeGetModeLineReply 36 + +typedef struct { + CARD32 dotclock B32; + CARD16 hdisplay B16; + CARD16 hsyncstart B16; + CARD16 hsyncend B16; + CARD16 htotal B16; + CARD32 hskew B16; + CARD16 vdisplay B16; + CARD16 vsyncstart B16; + CARD16 vsyncend B16; + CARD16 vtotal B16; + CARD16 pad1 B16; + CARD32 flags B32; + CARD32 reserved1 B32; + CARD32 reserved2 B32; + CARD32 reserved3 B32; + CARD32 privsize B32; +} xXF86VidModeModeInfo; + +/* 0.x version */ +typedef struct { + CARD32 dotclock B32; + CARD16 hdisplay B16; + CARD16 hsyncstart B16; + CARD16 hsyncend B16; + CARD16 htotal B16; + CARD16 vdisplay B16; + CARD16 vsyncstart B16; + CARD16 vsyncend B16; + CARD16 vtotal B16; + CARD32 flags B32; + CARD32 privsize B32; +} xXF86OldVidModeModeInfo; + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 modecount B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXF86VidModeGetAllModeLinesReply; +#define sz_xXF86VidModeGetAllModeLinesReply 32 + +typedef struct _XF86VidModeAddModeLine { + CARD8 reqType; /* always XF86VidModeReqCode */ + CARD8 xf86vidmodeReqType; /* always X_XF86VidModeAddMode */ + CARD16 length B16; + CARD32 screen B32; /* could be CARD16 but need the pad */ + CARD32 dotclock B32; + CARD16 hdisplay B16; + CARD16 hsyncstart B16; + CARD16 hsyncend B16; + CARD16 htotal B16; + CARD16 hskew B16; + CARD16 vdisplay B16; + CARD16 vsyncstart B16; + CARD16 vsyncend B16; + CARD16 vtotal B16; + CARD16 pad1 B16; + CARD32 flags B32; + CARD32 reserved1 B32; + CARD32 reserved2 B32; + CARD32 reserved3 B32; + CARD32 privsize B32; + CARD32 after_dotclock B32; + CARD16 after_hdisplay B16; + CARD16 after_hsyncstart B16; + CARD16 after_hsyncend B16; + CARD16 after_htotal B16; + CARD16 after_hskew B16; + CARD16 after_vdisplay B16; + CARD16 after_vsyncstart B16; + CARD16 after_vsyncend B16; + CARD16 after_vtotal B16; + CARD16 pad2 B16; + CARD32 after_flags B32; + CARD32 reserved4 B32; + CARD32 reserved5 B32; + CARD32 reserved6 B32; +} xXF86VidModeAddModeLineReq; +#define sz_xXF86VidModeAddModeLineReq 92 + +/* 0.x version */ +typedef struct _XF86OldVidModeAddModeLine { + CARD8 reqType; /* always XF86VidModeReqCode */ + CARD8 xf86vidmodeReqType; /* always X_XF86VidModeAddMode */ + CARD16 length B16; + CARD32 screen B32; /* could be CARD16 but need the pad */ + CARD32 dotclock B32; + CARD16 hdisplay B16; + CARD16 hsyncstart B16; + CARD16 hsyncend B16; + CARD16 htotal B16; + CARD16 vdisplay B16; + CARD16 vsyncstart B16; + CARD16 vsyncend B16; + CARD16 vtotal B16; + CARD32 flags B32; + CARD32 privsize B32; + CARD32 after_dotclock B32; + CARD16 after_hdisplay B16; + CARD16 after_hsyncstart B16; + CARD16 after_hsyncend B16; + CARD16 after_htotal B16; + CARD16 after_vdisplay B16; + CARD16 after_vsyncstart B16; + CARD16 after_vsyncend B16; + CARD16 after_vtotal B16; + CARD32 after_flags B32; +} xXF86OldVidModeAddModeLineReq; +#define sz_xXF86OldVidModeAddModeLineReq 60 + +typedef struct _XF86VidModeModModeLine { + CARD8 reqType; /* always XF86VidModeReqCode */ + CARD8 xf86vidmodeReqType; /* always X_XF86VidModeModModeLine */ + CARD16 length B16; + CARD32 screen B32; /* could be CARD16 but need the pad */ + CARD16 hdisplay B16; + CARD16 hsyncstart B16; + CARD16 hsyncend B16; + CARD16 htotal B16; + CARD16 hskew B16; + CARD16 vdisplay B16; + CARD16 vsyncstart B16; + CARD16 vsyncend B16; + CARD16 vtotal B16; + CARD16 pad1 B16; + CARD32 flags B32; + CARD32 reserved1 B32; + CARD32 reserved2 B32; + CARD32 reserved3 B32; + CARD32 privsize B32; +} xXF86VidModeModModeLineReq; +#define sz_xXF86VidModeModModeLineReq 48 + +/* 0.x version */ +typedef struct _XF86OldVidModeModModeLine { + CARD8 reqType; /* always XF86OldVidModeReqCode */ + CARD8 xf86vidmodeReqType; /* always X_XF86OldVidModeModModeLine */ + CARD16 length B16; + CARD32 screen B32; /* could be CARD16 but need the pad */ + CARD16 hdisplay B16; + CARD16 hsyncstart B16; + CARD16 hsyncend B16; + CARD16 htotal B16; + CARD16 vdisplay B16; + CARD16 vsyncstart B16; + CARD16 vsyncend B16; + CARD16 vtotal B16; + CARD32 flags B32; + CARD32 privsize B32; +} xXF86OldVidModeModModeLineReq; +#define sz_xXF86OldVidModeModModeLineReq 32 + +typedef struct _XF86VidModeValidateModeLine { + CARD8 reqType; /* always XF86VidModeReqCode */ + CARD8 xf86vidmodeReqType; + CARD16 length B16; + CARD32 screen B32; /* could be CARD16 but need the pad */ + CARD32 dotclock B32; + CARD16 hdisplay B16; + CARD16 hsyncstart B16; + CARD16 hsyncend B16; + CARD16 htotal B16; + CARD16 hskew B16; + CARD16 vdisplay B16; + CARD16 vsyncstart B16; + CARD16 vsyncend B16; + CARD16 vtotal B16; + CARD16 pad1 B16; + CARD32 flags B32; + CARD32 reserved1 B32; + CARD32 reserved2 B32; + CARD32 reserved3 B32; + CARD32 privsize B32; +} xXF86VidModeDeleteModeLineReq, + xXF86VidModeValidateModeLineReq, + xXF86VidModeSwitchToModeReq; +#define sz_xXF86VidModeDeleteModeLineReq 52 +#define sz_xXF86VidModeValidateModeLineReq 52 +#define sz_xXF86VidModeSwitchToModeReq 52 + +/* 0.x version */ +typedef struct _XF86OldVidModeValidateModeLine { + CARD8 reqType; /* always XF86OldVidModeReqCode */ + CARD8 xf86vidmodeReqType; + CARD16 length B16; + CARD32 screen B32; /* could be CARD16 but need the pad */ + CARD32 dotclock B32; + CARD16 hdisplay B16; + CARD16 hsyncstart B16; + CARD16 hsyncend B16; + CARD16 htotal B16; + CARD16 vdisplay B16; + CARD16 vsyncstart B16; + CARD16 vsyncend B16; + CARD16 vtotal B16; + CARD32 flags B32; + CARD32 privsize B32; +} xXF86OldVidModeDeleteModeLineReq, + xXF86OldVidModeValidateModeLineReq, + xXF86OldVidModeSwitchToModeReq; +#define sz_xXF86OldVidModeDeleteModeLineReq 36 +#define sz_xXF86OldVidModeValidateModeLineReq 36 +#define sz_xXF86OldVidModeSwitchToModeReq 36 + +typedef struct _XF86VidModeSwitchMode { + CARD8 reqType; /* always XF86VidModeReqCode */ + CARD8 xf86vidmodeReqType; /* always X_XF86VidModeSwitchMode */ + CARD16 length B16; + CARD16 screen B16; + CARD16 zoom B16; +} xXF86VidModeSwitchModeReq; +#define sz_xXF86VidModeSwitchModeReq 8 + +typedef struct _XF86VidModeLockModeSwitch { + CARD8 reqType; /* always XF86VidModeReqCode */ + CARD8 xf86vidmodeReqType; /* always X_XF86VidModeLockModeSwitch */ + CARD16 length B16; + CARD16 screen B16; + CARD16 lock B16; +} xXF86VidModeLockModeSwitchReq; +#define sz_xXF86VidModeLockModeSwitchReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 status B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXF86VidModeValidateModeLineReply; +#define sz_xXF86VidModeValidateModeLineReply 32 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD8 vendorLength; + CARD8 modelLength; + CARD8 nhsync; + CARD8 nvsync; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXF86VidModeGetMonitorReply; +#define sz_xXF86VidModeGetMonitorReply 32 + +typedef struct { + BYTE type; + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 x B32; + CARD32 y B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXF86VidModeGetViewPortReply; +#define sz_xXF86VidModeGetViewPortReply 32 + +typedef struct _XF86VidModeSetViewPort { + CARD8 reqType; /* always VidModeReqCode */ + CARD8 xf86vidmodeReqType; /* always X_XF86VidModeSetViewPort */ + CARD16 length B16; + CARD16 screen B16; + CARD16 pad B16; + CARD32 x B32; + CARD32 y B32; +} xXF86VidModeSetViewPortReq; +#define sz_xXF86VidModeSetViewPortReq 16 + +typedef struct { + BYTE type; + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 flags B32; + CARD32 clocks B32; + CARD32 maxclocks B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xXF86VidModeGetDotClocksReply; +#define sz_xXF86VidModeGetDotClocksReply 32 + +typedef struct _XF86VidModeSetClientVersion { + CARD8 reqType; /* always XF86VidModeReqCode */ + CARD8 xf86vidmodeReqType; + CARD16 length B16; + CARD16 major B16; + CARD16 minor B16; +} xXF86VidModeSetClientVersionReq; +#define sz_xXF86VidModeSetClientVersionReq 8 + +typedef struct _XF86VidModeGetGamma { + CARD8 reqType; /* always XF86VidModeReqCode */ + CARD8 xf86vidmodeReqType; + CARD16 length B16; + CARD16 screen B16; + CARD16 pad B16; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXF86VidModeGetGammaReq; +#define sz_xXF86VidModeGetGammaReq 32 + +typedef struct { + BYTE type; + BOOL pad; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 red B32; + CARD32 green B32; + CARD32 blue B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xXF86VidModeGetGammaReply; +#define sz_xXF86VidModeGetGammaReply 32 + +typedef struct _XF86VidModeSetGamma { + CARD8 reqType; /* always XF86VidModeReqCode */ + CARD8 xf86vidmodeReqType; + CARD16 length B16; + CARD16 screen B16; + CARD16 pad B16; + CARD32 red B32; + CARD32 green B32; + CARD32 blue B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xXF86VidModeSetGammaReq; +#define sz_xXF86VidModeSetGammaReq 32 + + +typedef struct _XF86VidModeSetGammaRamp { + CARD8 reqType; /* always XF86VidModeReqCode */ + CARD8 xf86vidmodeReqType; + CARD16 length B16; + CARD16 screen B16; + CARD16 size B16; +} xXF86VidModeSetGammaRampReq; +#define sz_xXF86VidModeSetGammaRampReq 8 + +typedef struct _XF86VidModeGetGammaRamp { + CARD8 reqType; /* always XF86VidModeReqCode */ + CARD8 xf86vidmodeReqType; + CARD16 length B16; + CARD16 screen B16; + CARD16 size B16; +} xXF86VidModeGetGammaRampReq; +#define sz_xXF86VidModeGetGammaRampReq 8 + +typedef struct { + BYTE type; + BOOL pad; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 size B16; + CARD16 pad0 B16; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXF86VidModeGetGammaRampReply; +#define sz_xXF86VidModeGetGammaRampReply 32 + +typedef struct _XF86VidModeGetGammaRampSize { + CARD8 reqType; /* always XF86VidModeReqCode */ + CARD8 xf86vidmodeReqType; + CARD16 length B16; + CARD16 screen B16; + CARD16 pad B16; +} xXF86VidModeGetGammaRampSizeReq; +#define sz_xXF86VidModeGetGammaRampSizeReq 8 + +typedef struct { + BYTE type; + BOOL pad; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 size B16; + CARD16 pad0 B16; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXF86VidModeGetGammaRampSizeReply; +#define sz_xXF86VidModeGetGammaRampSizeReply 32 + +typedef struct { + BYTE type; + BOOL pad; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 permissions B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXF86VidModeGetPermissionsReply; +#define sz_xXF86VidModeGetPermissionsReply 32 + + +#endif /* _XF86VIDMODEPROTO_H_ */ + diff --git a/ThirdParty/X11/Include/X11/extensions/xf86vmstr.h b/ThirdParty/X11/Include/X11/extensions/xf86vmstr.h new file mode 100644 index 0000000..f521335 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xf86vmstr.h @@ -0,0 +1,3 @@ +#warning "xf86vmstr.h is obsolete and may be removed in the future." +#warning "include <X11/extensions/xf86vmproto.h> for the protocol defines." +#include <X11/extensions/xf86vmproto.h> diff --git a/ThirdParty/X11/Include/X11/extensions/xfixesproto.h b/ThirdParty/X11/Include/X11/extensions/xfixesproto.h new file mode 100644 index 0000000..fcf409a --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xfixesproto.h @@ -0,0 +1,551 @@ +/* + * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright 2010 Red Hat, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ +/* + * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _XFIXESPROTO_H_ +#define _XFIXESPROTO_H_ + +#include <X11/Xmd.h> +#include <X11/extensions/xfixeswire.h> +#include <X11/extensions/shapeconst.h> + +#define Window CARD32 +#define Drawable CARD32 +#define Font CARD32 +#define Pixmap CARD32 +#define Cursor CARD32 +#define Colormap CARD32 +#define GContext CARD32 +#define Atom CARD32 +#define VisualID CARD32 +#define Time CARD32 +#define KeyCode CARD8 +#define KeySym CARD32 +#define Picture CARD32 + +/*************** Version 1 ******************/ + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; +} xXFixesReq; + +/* + * requests and replies + */ +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + CARD32 majorVersion B32; + CARD32 minorVersion B32; +} xXFixesQueryVersionReq; + +#define sz_xXFixesQueryVersionReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 majorVersion B32; + CARD32 minorVersion B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXFixesQueryVersionReply; + +#define sz_xXFixesQueryVersionReply 32 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + BYTE mode; /* SetModeInsert/SetModeDelete*/ + BYTE target; /* SaveSetNearest/SaveSetRoot*/ + BYTE map; /* SaveSetMap/SaveSetUnmap */ + BYTE pad1; + Window window; +} xXFixesChangeSaveSetReq; + +#define sz_xXFixesChangeSaveSetReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Window window B32; + Atom selection B32; + CARD32 eventMask B32; +} xXFixesSelectSelectionInputReq; + +#define sz_xXFixesSelectSelectionInputReq 16 + +typedef struct { + CARD8 type; + CARD8 subtype; + CARD16 sequenceNumber B16; + Window window B32; + Window owner B32; + Atom selection B32; + Time timestamp B32; + Time selectionTimestamp B32; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xXFixesSelectionNotifyEvent; + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Window window B32; + CARD32 eventMask B32; +} xXFixesSelectCursorInputReq; + +#define sz_xXFixesSelectCursorInputReq 12 + +typedef struct { + CARD8 type; + CARD8 subtype; + CARD16 sequenceNumber B16; + Window window B32; + CARD32 cursorSerial B32; + Time timestamp; + Atom name B32; /* Version 2 */ + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xXFixesCursorNotifyEvent; + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; +} xXFixesGetCursorImageReq; + +#define sz_xXFixesGetCursorImageReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + INT16 x B16; + INT16 y B16; + CARD16 width B16; + CARD16 height B16; + CARD16 xhot B16; + CARD16 yhot B16; + CARD32 cursorSerial B32; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xXFixesGetCursorImageReply; + +#define sz_xXFixesGetCursorImageReply 32 + +/*************** Version 2 ******************/ + +#define Region CARD32 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region region B32; + /* LISTofRECTANGLE */ +} xXFixesCreateRegionReq; + +#define sz_xXFixesCreateRegionReq 8 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region region B32; + Pixmap bitmap B32; +} xXFixesCreateRegionFromBitmapReq; + +#define sz_xXFixesCreateRegionFromBitmapReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region region B32; + Window window B32; + CARD8 kind; + CARD8 pad1; + CARD16 pad2 B16; +} xXFixesCreateRegionFromWindowReq; + +#define sz_xXFixesCreateRegionFromWindowReq 16 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region region B32; + GContext gc B32; +} xXFixesCreateRegionFromGCReq; + +#define sz_xXFixesCreateRegionFromGCReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region region B32; + Picture picture B32; +} xXFixesCreateRegionFromPictureReq; + +#define sz_xXFixesCreateRegionFromPictureReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region region B32; +} xXFixesDestroyRegionReq; + +#define sz_xXFixesDestroyRegionReq 8 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region region B32; + /* LISTofRECTANGLE */ +} xXFixesSetRegionReq; + +#define sz_xXFixesSetRegionReq 8 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region source B32; + Region destination B32; +} xXFixesCopyRegionReq; + +#define sz_xXFixesCopyRegionReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region source1 B32; + Region source2 B32; + Region destination B32; +} xXFixesCombineRegionReq, + xXFixesUnionRegionReq, + xXFixesIntersectRegionReq, + xXFixesSubtractRegionReq; + +#define sz_xXFixesCombineRegionReq 16 +#define sz_xXFixesUnionRegionReq sz_xXFixesCombineRegionReq +#define sz_xXFixesIntersectRegionReq sz_xXFixesCombineRegionReq +#define sz_xXFixesSubtractRegionReq sz_xXFixesCombineRegionReq + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region source B32; + INT16 x B16, y B16; + CARD16 width B16, height B16; + Region destination B32; +} xXFixesInvertRegionReq; + +#define sz_xXFixesInvertRegionReq 20 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region region B32; + INT16 dx B16, dy B16; +} xXFixesTranslateRegionReq; + +#define sz_xXFixesTranslateRegionReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region source B32; + Region destination B32; +} xXFixesRegionExtentsReq; + +#define sz_xXFixesRegionExtentsReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region region B32; +} xXFixesFetchRegionReq; + +#define sz_xXFixesFetchRegionReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + INT16 x B16, y B16; + CARD16 width B16, height B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXFixesFetchRegionReply; + +#define sz_xXFixesFetchRegionReply 32 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + GContext gc B32; + Region region B32; + INT16 xOrigin B16, yOrigin B16; +} xXFixesSetGCClipRegionReq; + +#define sz_xXFixesSetGCClipRegionReq 16 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Window dest; + BYTE destKind; + CARD8 pad1; + CARD16 pad2 B16; + INT16 xOff B16, yOff B16; + Region region; +} xXFixesSetWindowShapeRegionReq; + +#define sz_xXFixesSetWindowShapeRegionReq 20 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Picture picture B32; + Region region B32; + INT16 xOrigin B16, yOrigin B16; +} xXFixesSetPictureClipRegionReq; + +#define sz_xXFixesSetPictureClipRegionReq 16 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Cursor cursor B32; + CARD16 nbytes B16; + CARD16 pad B16; +} xXFixesSetCursorNameReq; + +#define sz_xXFixesSetCursorNameReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Cursor cursor B32; +} xXFixesGetCursorNameReq; + +#define sz_xXFixesGetCursorNameReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + Atom atom B32; + CARD16 nbytes B16; + CARD16 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXFixesGetCursorNameReply; + +#define sz_xXFixesGetCursorNameReply 32 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; +} xXFixesGetCursorImageAndNameReq; + +#define sz_xXFixesGetCursorImageAndNameReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + INT16 x B16; + INT16 y B16; + CARD16 width B16; + CARD16 height B16; + CARD16 xhot B16; + CARD16 yhot B16; + CARD32 cursorSerial B32; + Atom cursorName B32; + CARD16 nbytes B16; + CARD16 pad B16; +} xXFixesGetCursorImageAndNameReply; + +#define sz_xXFixesGetCursorImageAndNameReply 32 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Cursor source B32; + Cursor destination B32; +} xXFixesChangeCursorReq; + +#define sz_xXFixesChangeCursorReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Cursor source B32; + CARD16 nbytes; + CARD16 pad; +} xXFixesChangeCursorByNameReq; + +#define sz_xXFixesChangeCursorByNameReq 12 + +/*************** Version 3 ******************/ + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region source B32; + Region destination B32; + CARD16 left B16; + CARD16 right B16; + CARD16 top B16; + CARD16 bottom B16; +} xXFixesExpandRegionReq; + +#define sz_xXFixesExpandRegionReq 20 + +/*************** Version 4.0 ******************/ + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Window window B32; +} xXFixesHideCursorReq; + +#define sz_xXFixesHideCursorReq sizeof(xXFixesHideCursorReq) + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Window window B32; +} xXFixesShowCursorReq; + +#define sz_xXFixesShowCursorReq sizeof(xXFixesShowCursorReq) + +/*************** Version 5.0 ******************/ + +#define Barrier CARD32 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Barrier barrier B32; + Window window B32; + INT16 x1 B16; + INT16 y1 B16; + INT16 x2 B16; + INT16 y2 B16; + CARD32 directions; + CARD16 pad B16; + CARD16 num_devices B16; + /* array of CARD16 devices */ +} xXFixesCreatePointerBarrierReq; + +#define sz_xXFixesCreatePointerBarrierReq 28 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Barrier barrier B32; +} xXFixesDestroyPointerBarrierReq; + +#define sz_xXFixesDestroyPointerBarrierReq 8 + +#undef Barrier +#undef Region +#undef Picture +#undef Window +#undef Drawable +#undef Font +#undef Pixmap +#undef Cursor +#undef Colormap +#undef GContext +#undef Atom +#undef VisualID +#undef Time +#undef KeyCode +#undef KeySym + +#endif /* _XFIXESPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/xfixeswire.h b/ThirdParty/X11/Include/X11/extensions/xfixeswire.h new file mode 100644 index 0000000..432349a --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xfixeswire.h @@ -0,0 +1,139 @@ +/* + * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright 2010 Red Hat, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ +/* + * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + + +#ifndef _XFIXESWIRE_H_ +#define _XFIXESWIRE_H_ + +#define XFIXES_NAME "XFIXES" +#define XFIXES_MAJOR 5 +#define XFIXES_MINOR 0 + +/*************** Version 1 ******************/ +#define X_XFixesQueryVersion 0 +#define X_XFixesChangeSaveSet 1 +#define X_XFixesSelectSelectionInput 2 +#define X_XFixesSelectCursorInput 3 +#define X_XFixesGetCursorImage 4 +/*************** Version 2 ******************/ +#define X_XFixesCreateRegion 5 +#define X_XFixesCreateRegionFromBitmap 6 +#define X_XFixesCreateRegionFromWindow 7 +#define X_XFixesCreateRegionFromGC 8 +#define X_XFixesCreateRegionFromPicture 9 +#define X_XFixesDestroyRegion 10 +#define X_XFixesSetRegion 11 +#define X_XFixesCopyRegion 12 +#define X_XFixesUnionRegion 13 +#define X_XFixesIntersectRegion 14 +#define X_XFixesSubtractRegion 15 +#define X_XFixesInvertRegion 16 +#define X_XFixesTranslateRegion 17 +#define X_XFixesRegionExtents 18 +#define X_XFixesFetchRegion 19 +#define X_XFixesSetGCClipRegion 20 +#define X_XFixesSetWindowShapeRegion 21 +#define X_XFixesSetPictureClipRegion 22 +#define X_XFixesSetCursorName 23 +#define X_XFixesGetCursorName 24 +#define X_XFixesGetCursorImageAndName 25 +#define X_XFixesChangeCursor 26 +#define X_XFixesChangeCursorByName 27 +/*************** Version 3 ******************/ +#define X_XFixesExpandRegion 28 +/*************** Version 4 ******************/ +#define X_XFixesHideCursor 29 +#define X_XFixesShowCursor 30 +/*************** Version 5 ******************/ +#define X_XFixesCreatePointerBarrier 31 +#define X_XFixesDestroyPointerBarrier 32 + +#define XFixesNumberRequests (X_XFixesDestroyPointerBarrier+1) + +/* Selection events share one event number */ +#define XFixesSelectionNotify 0 + +/* Within the selection, the 'subtype' field distinguishes */ +#define XFixesSetSelectionOwnerNotify 0 +#define XFixesSelectionWindowDestroyNotify 1 +#define XFixesSelectionClientCloseNotify 2 + +#define XFixesSetSelectionOwnerNotifyMask (1L << 0) +#define XFixesSelectionWindowDestroyNotifyMask (1L << 1) +#define XFixesSelectionClientCloseNotifyMask (1L << 2) + +/* There's only one cursor event so far */ +#define XFixesCursorNotify 1 + +#define XFixesDisplayCursorNotify 0 + +#define XFixesDisplayCursorNotifyMask (1L << 0) + +#define XFixesNumberEvents (2) + +/* errors */ +#define BadRegion 0 +#define BadBarrier 1 +#define XFixesNumberErrors (BadBarrier+1) + +#define SaveSetNearest 0 +#define SaveSetRoot 1 + +#define SaveSetMap 0 +#define SaveSetUnmap 1 + +/*************** Version 2 ******************/ + +#define WindowRegionBounding 0 +#define WindowRegionClip 1 + +/*************** Version 5 ******************/ + +#define BarrierPositiveX (1L << 0) +#define BarrierPositiveY (1L << 1) +#define BarrierNegativeX (1L << 2) +#define BarrierNegativeY (1L << 3) + +#endif /* _XFIXESWIRE_H_ */ diff --git a/ThirdParty/X11/Include/X11/extensions/xtestconst.h b/ThirdParty/X11/Include/X11/extensions/xtestconst.h new file mode 100644 index 0000000..e74b904 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xtestconst.h @@ -0,0 +1,41 @@ +/* + +Copyright 1992, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _XTEST_CONST_H_ +#define _XTEST_CONST_H_ + +#define XTestNumberEvents 0 + +#define XTestNumberErrors 0 + +#define XTestCurrentCursor ((Cursor)1) + +#define XTestMajorVersion 2 +#define XTestMinorVersion 2 + +#define XTestExtensionName "XTEST" + +#endif diff --git a/ThirdParty/X11/Include/X11/extensions/xtestext1.h b/ThirdParty/X11/Include/X11/extensions/xtestext1.h new file mode 100644 index 0000000..67d015b --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xtestext1.h @@ -0,0 +1,98 @@ +/* + * xtestext1.h + * + * X11 Input Synthesis Extension include file + */ + +/* + + +Copyright 1986, 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1986, 1987, 1988 by Hewlett-Packard Corporation + +Permission to use, copy, modify, and distribute this +software and its documentation for any purpose and without +fee is hereby granted, provided that the above copyright +notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting +documentation, and that the name of Hewlett-Packard not be used in +advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +Hewlett-Packard makes no representations about the +suitability of this software for any purpose. It is provided +"as is" without express or implied warranty. + +This software is not subject to any license of the American +Telephone and Telegraph Company or of the Regents of the +University of California. + +*/ + +#ifndef _XTESTEXT1_H +#define _XTESTEXT1_H +/* + * the typedefs for CARD8, CARD16, and CARD32 are defined in Xmd.h + */ + +#include <X11/extensions/xtestext1const.h> +/* + * This is the definition for the input action host format event structure. + * This is the form that a client using this extension will see when + * it receives an input action event. + */ +typedef struct { + int type; /* always XTestInputActionType */ + Display *display; + Window window; + CARD8 actions[XTestACTIONS_SIZE]; +} XTestInputActionEvent; + +/* + * This is the definition for the xTestFakeAck host format event structure. + * This is the form that a client using this extension will see when + * it receives an XTestFakeAck event. + */ +typedef struct { + int type; /* always XTestFakeAckType */ + Display *display; + Window window; +} XTestFakeAckEvent; + +_XFUNCPROTOBEGIN + +int XTestFakeInput(register Display *dpy, char *action_list_addr, int action_list_size, int ack_flag); +int XTestGetInput(register Display *dpy, int action_handling); +int XTestQueryInputSize(register Display *dpy, unsigned long *size_return); +int XTestPressKey(Display *display, int device_id, unsigned long delay, unsigned int keycode, unsigned int key_action); +int XTestPressButton(Display * display, int device_id, unsigned long delay, unsigned int button_number, unsigned int button_action); +int XTestMovePointer(Display *display, int device_id, unsigned long delay[], int x[], int y[], unsigned int count); +int XTestFlush(Display *display); +int XTestStopInput(register Display *dpy); +int XTestReset(register Display *dpy); + +_XFUNCPROTOEND + +#endif /* _XTESTEXT1_H */ diff --git a/ThirdParty/X11/Include/X11/extensions/xtestext1const.h b/ThirdParty/X11/Include/X11/extensions/xtestext1const.h new file mode 100644 index 0000000..656edc6 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xtestext1const.h @@ -0,0 +1,160 @@ +/* + * xtestext1.h + * + * X11 Input Synthesis Extension include file + */ + +/* + + +Copyright 1986, 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1986, 1987, 1988 by Hewlett-Packard Corporation + +Permission to use, copy, modify, and distribute this +software and its documentation for any purpose and without +fee is hereby granted, provided that the above copyright +notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting +documentation, and that the name of Hewlett-Packard not be used in +advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +Hewlett-Packard makes no representations about the +suitability of this software for any purpose. It is provided +"as is" without express or implied warranty. + +This software is not subject to any license of the American +Telephone and Telegraph Company or of the Regents of the +University of California. + +*/ + +#ifndef _XTESTEXT1CONST_H +#define _XTESTEXT1CONST_H 1 + +#define XTestMAX_ACTION_LIST_SIZE 64 +#define XTestACTIONS_SIZE 28 + + +/* + * used in the XTestPressButton and XTestPressKey functions + */ +#define XTestPRESS 1 << 0 +#define XTestRELEASE 1 << 1 +#define XTestSTROKE 1 << 2 + +/* + * When doing a key or button stroke, the number of milliseconds + * to delay between the press and the release of a key or button + * in the XTestPressButton and XTestPressKey functions. + */ + +#define XTestSTROKE_DELAY_TIME 10 + +/* + * used in the XTestGetInput function + */ +#define XTestEXCLUSIVE 1 << 0 +#define XTestPACKED_ACTIONS 1 << 1 +#define XTestPACKED_MOTION 1 << 2 + +/* + * used in the XTestFakeInput function + */ +#define XTestFAKE_ACK_NOT_NEEDED 0 +#define XTestFAKE_ACK_REQUEST 1 + +/* + * used in the XTest extension initialization routine + */ +#define XTestEXTENSION_NAME "XTestExtension1" +#define XTestEVENT_COUNT 2 + +/* + * This is the definition for the format of the header byte + * in the input action structures. + */ +#define XTestACTION_TYPE_MASK 0x03 /* bits 0 and 1 */ +#define XTestKEY_STATE_MASK 0x04 /* bit 2 (key action) */ +#define XTestX_SIGN_BIT_MASK 0x04 /* bit 2 (motion action) */ +#define XTestY_SIGN_BIT_MASK 0x08 /* bit 3 (motion action) */ +#define XTestDEVICE_ID_MASK 0xf0 /* bits 4 through 7 */ + +#define XTestMAX_DEVICE_ID 0x0f +#define XTestPackDeviceID(x) (((x) & XTestMAX_DEVICE_ID) << 4) +#define XTestUnpackDeviceID(x) (((x) & XTestDEVICE_ID_MASK) >> 4) + +/* + * These are the possible action types. + */ +#define XTestDELAY_ACTION 0 +#define XTestKEY_ACTION 1 +#define XTestMOTION_ACTION 2 +#define XTestJUMP_ACTION 3 + +/* + * These are the definitions for key/button motion input actions. + */ +#define XTestKEY_UP 0x04 +#define XTestKEY_DOWN 0x00 + +/* + * These are the definitions for pointer relative motion input + * actions. + * + * The sign bits for the x and y relative motions are contained + * in the header byte. The x and y relative motions are packed + * into one byte to make things fit in 32 bits. If the relative + * motion range is larger than +/-15, use the pointer jump action. + */ +#define XTestMOTION_MAX 15 +#define XTestMOTION_MIN -15 + +#define XTestX_NEGATIVE 0x04 +#define XTestY_NEGATIVE 0x08 + +#define XTestX_MOTION_MASK 0x0f +#define XTestY_MOTION_MASK 0xf0 + +#define XTestPackXMotionValue(x) ((x) & XTestX_MOTION_MASK) +#define XTestPackYMotionValue(x) (((x) << 4) & XTestY_MOTION_MASK) + +#define XTestUnpackXMotionValue(x) ((x) & XTestX_MOTION_MASK) +#define XTestUnpackYMotionValue(x) (((x) & XTestY_MOTION_MASK) >> 4) +/* + * These are the definitions for a long delay input action. It is + * used when more than XTestSHORT_DELAY_TIME milliseconds of delay + * (approximately one minute) is needed. + * + * The device ID for a delay is always set to XTestDELAY_DEVICE_ID. + * This guarantees that a header byte with a value of 0 is not + * a valid header, so it can be used as a flag to indicate that + * there are no more input actions in an XTestInputAction event. + */ + +#define XTestSHORT_DELAY_TIME 0xffff +#define XTestDELAY_DEVICE_ID 0x0f + +#endif /* _XTESTEXT1CONST_H */ diff --git a/ThirdParty/X11/Include/X11/extensions/xtestext1proto.h b/ThirdParty/X11/Include/X11/extensions/xtestext1proto.h new file mode 100644 index 0000000..e9bdee0 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xtestext1proto.h @@ -0,0 +1,221 @@ +/* + * xtestext1.h + * + * X11 Input Synthesis Extension include file + */ + +/* +Copyright 1986, 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1986, 1987, 1988 by Hewlett-Packard Corporation + +Permission to use, copy, modify, and distribute this +software and its documentation for any purpose and without +fee is hereby granted, provided that the above copyright +notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting +documentation, and that the name of Hewlett-Packard not be used in +advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +Hewlett-Packard makes no representations about the +suitability of this software for any purpose. It is provided +"as is" without express or implied warranty. + +This software is not subject to any license of the American +Telephone and Telegraph Company or of the Regents of the +University of California. + +*/ + +#ifndef _XTESTEXT1PROTO_H +#define _XTESTEXT1PROTO_H 1 + +#include <X11/extensions/xtestext1const.h> + +/* + * the typedefs for CARD8, CARD16, and CARD32 are defined in Xmd.h + */ + +/* + * XTest request type values + * + * used in the XTest extension protocol requests + */ +#define X_TestFakeInput 1 +#define X_TestGetInput 2 +#define X_TestStopInput 3 +#define X_TestReset 4 +#define X_TestQueryInputSize 5 + +/* + * This defines the maximum size of a list of input actions + * to be sent to the server. It should always be a multiple of + * 4 so that the entire xTestFakeInputReq structure size is a + * multiple of 4. + */ + +typedef struct { + CARD8 reqType; /* always XTestReqCode */ + CARD8 XTestReqType; /* always X_TestFakeInput */ + CARD16 length B16; /* 2 + XTestMAX_ACTION_LIST_SIZE/4 */ + CARD32 ack B32; + CARD8 action_list[XTestMAX_ACTION_LIST_SIZE]; +} xTestFakeInputReq; +#define sz_xTestFakeInputReq (XTestMAX_ACTION_LIST_SIZE + 8) + +typedef struct { + CARD8 reqType; /* always XTestReqCode */ + CARD8 XTestReqType; /* always X_TestGetInput */ + CARD16 length B16; /* 2 */ + CARD32 mode B32; +} xTestGetInputReq; +#define sz_xTestGetInputReq 8 + +typedef struct { + CARD8 reqType; /* always XTestReqCode */ + CARD8 XTestReqType; /* always X_TestStopInput */ + CARD16 length B32; /* 1 */ +} xTestStopInputReq; +#define sz_xTestStopInputReq 4 + +typedef struct { + CARD8 reqType; /* always XTestReqCode */ + CARD8 XTestReqType; /* always X_TestReset */ + CARD16 length B16; /* 1 */ +} xTestResetReq; +#define sz_xTestResetReq 4 + +typedef struct { + CARD8 reqType; /* always XTestReqCode */ + CARD8 XTestReqType; /* always X_TestQueryInputSize */ + CARD16 length B16; /* 1 */ +} xTestQueryInputSizeReq; +#define sz_xTestQueryInputSizeReq 4 + +/* + * This is the definition of the reply for the xTestQueryInputSize + * request. It should remain the same minimum size as other replies + * (32 bytes). + */ +typedef struct { + CARD8 type; /* always X_Reply */ + CARD8 pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; /* always 0 */ + CARD32 size_return B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xTestQueryInputSizeReply; + +/* + * This is the definition for the input action wire event structure. + * This event is sent to the client when the server has one or + * more user input actions to report to the client. It must + * remain the same size as all other wire events (32 bytes). + */ +typedef struct { + CARD8 type; /* always XTestInputActionType */ + CARD8 pad00; + CARD16 sequenceNumber B16; + CARD8 actions[XTestACTIONS_SIZE]; +} xTestInputActionEvent; + +/* + * This is the definition for the xTestFakeAck wire event structure. + * This event is sent to the client when the server has completely + * processed its input action buffer, and is ready for more. + * It must remain the same size as all other wire events (32 bytes). + */ +typedef struct { + CARD8 type; /* always XTestFakeAckType */ + CARD8 pad00; + CARD16 sequenceNumber B16; + CARD32 pad02 B32; + CARD32 pad03 B32; + CARD32 pad04 B32; + CARD32 pad05 B32; + CARD32 pad06 B32; + CARD32 pad07 B32; + CARD32 pad08 B32; +} xTestFakeAckEvent; + +/* + * These are the definitions for key/button motion input actions. + */ +typedef struct { + CARD8 header; /* which device, key up/down */ + CARD8 keycode; /* which key/button to move */ + CARD16 delay_time B16; /* how long to delay (in ms) */ +} XTestKeyInfo; + +/* + * This is the definition for pointer jump input actions. + */ +typedef struct { + CARD8 header; /* which pointer */ + CARD8 pad1; /* unused padding byte */ + CARD16 jumpx B16; /* x coord to jump to */ + CARD16 jumpy B16; /* y coord to jump to */ + CARD16 delay_time B16; /* how long to delay (in ms) */ +} XTestJumpInfo; + +/* + * These are the definitions for pointer relative motion input + * actions. + * + * The sign bits for the x and y relative motions are contained + * in the header byte. The x and y relative motions are packed + * into one byte to make things fit in 32 bits. If the relative + * motion range is larger than +/-15, use the pointer jump action. + */ + +typedef struct { + CARD8 header; /* which pointer */ + CARD8 motion_data; /* x,y relative motion */ + CARD16 delay_time B16; /* how long to delay (in ms) */ +} XTestMotionInfo; + +/* + * These are the definitions for a long delay input action. It is + * used when more than XTestSHORT_DELAY_TIME milliseconds of delay + * (approximately one minute) is needed. + * + * The device ID for a delay is always set to XTestDELAY_DEVICE_ID. + * This guarantees that a header byte with a value of 0 is not + * a valid header, so it can be used as a flag to indicate that + * there are no more input actions in an XTestInputAction event. + */ + +typedef struct { + CARD8 header; /* always XTestDELAY_DEVICE_ID */ + CARD8 pad1; /* unused padding byte */ + CARD16 pad2 B16; /* unused padding word */ + CARD32 delay_time B32; /* how long to delay (in ms) */ +} XTestDelayInfo; + +#endif /* _XTESTEXT1PROTO_H */ diff --git a/ThirdParty/X11/Include/X11/extensions/xtestproto.h b/ThirdParty/X11/Include/X11/extensions/xtestproto.h new file mode 100644 index 0000000..4f8db26 --- /dev/null +++ b/ThirdParty/X11/Include/X11/extensions/xtestproto.h @@ -0,0 +1,124 @@ +/* + +Copyright 1992, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _XTESTPROTO_H_ +#define _XTESTPROTO_H_ + +#include <X11/extensions/xtestconst.h> + +#define Window CARD32 +#define Time CARD32 +#define Cursor CARD32 + +#define X_XTestGetVersion 0 +#define X_XTestCompareCursor 1 +#define X_XTestFakeInput 2 +#define X_XTestGrabControl 3 + +typedef struct { + CARD8 reqType; /* always XTestReqCode */ + CARD8 xtReqType; /* always X_XTestGetVersion */ + CARD16 length B16; + CARD8 majorVersion; + CARD8 pad; + CARD16 minorVersion B16; +} xXTestGetVersionReq; +#define sz_xXTestGetVersionReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 majorVersion; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 minorVersion B16; + CARD16 pad0 B16; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXTestGetVersionReply; +#define sz_xXTestGetVersionReply 32 + +typedef struct { + CARD8 reqType; /* always XTestReqCode */ + CARD8 xtReqType; /* always X_XTestCompareCursor */ + CARD16 length B16; + Window window B32; + Cursor cursor B32; +} xXTestCompareCursorReq; +#define sz_xXTestCompareCursorReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL same; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 pad0 B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXTestCompareCursorReply; +#define sz_xXTestCompareCursorReply 32 + +/* used only on the client side */ +typedef struct { + CARD8 reqType; /* always XTestReqCode */ + CARD8 xtReqType; /* always X_XTestFakeInput */ + CARD16 length B16; + BYTE type; + BYTE detail; + CARD16 pad0 B16; + Time time B32; + Window root B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + INT16 rootX B16, rootY B16; + CARD32 pad3 B32; + CARD16 pad4 B16; + CARD8 pad5; + CARD8 deviceid; +} xXTestFakeInputReq; +#define sz_xXTestFakeInputReq 36 + +typedef struct { + CARD8 reqType; /* always XTestReqCode */ + CARD8 xtReqType; /* always X_XTestGrabControl */ + CARD16 length B16; + BOOL impervious; + CARD8 pad0; + CARD8 pad1; + CARD8 pad2; +} xXTestGrabControlReq; +#define sz_xXTestGrabControlReq 8 + +#undef Window +#undef Time +#undef Cursor + +#endif /* _XTESTPROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/fonts/FS.h b/ThirdParty/X11/Include/X11/fonts/FS.h new file mode 100644 index 0000000..605b5a8 --- /dev/null +++ b/ThirdParty/X11/Include/X11/fonts/FS.h @@ -0,0 +1,129 @@ +/* + * Copyright 1990, 1991 Network Computing Devices; + * Portions Copyright 1987 by Digital Equipment Corporation + * + * Permission to use, copy, modify, distribute, and sell this software and + * its documentation for any purpose is hereby granted without fee, provided + * that the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the names of Network Computing Devices or Digital + * not be used in advertising or publicity pertaining to distribution + * of the software without specific, written prior permission. + * Network Computing Devices and Digital make no representations + * about the suitability of this software for any purpose. It is provided + * "as is" without express or implied warranty. + * + * NETWORK COMPUTING DEVICES AND DIGITAL DISCLAIM ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES + * OR DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS + * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF + * THIS SOFTWARE. + */ + +/* + +Portions Copyright 1987, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +#ifndef _FS_H_ +#define _FS_H_ + +#include <X11/Xdefs.h> +#include <X11/fonts/fsmasks.h> + +#define FS_PROTOCOL 2 +#define FS_PROTOCOL_MINOR 0 + +#ifndef X_PROTOCOL +/* protocol familes */ +#define FamilyInternet 0 +#define FamilyDECnet 1 +#define FamilyChaos 2 +#define FamilyInternet6 6 + + +typedef unsigned int FSDrawDirection; +#endif + +#ifndef None +#define None 0L +#endif + +#define LeftToRightDrawDirection 0 +#define RightToLeftDrawDirection 1 + +/* font info flags */ +#define FontInfoAllCharsExist (1L << 0) +#define FontInfoInkInside (1L << 1) +#define FontInfoHorizontalOverlap (1L << 2) + +/* auth status flags */ +#define AuthSuccess 0 +#define AuthContinue 1 +#define AuthBusy 2 +#define AuthDenied 3 + +/* property types */ +#define PropTypeString 0 +#define PropTypeUnsigned 1 +#define PropTypeSigned 2 + +#ifndef LSBFirst +/* byte order */ +#define LSBFirst 0 +#define MSBFirst 1 +#endif + +/* event masks */ +#define CatalogueChangeNotifyMask (1L << 0) +#define FontChangeNotifyMask (1L << 1) + +/* errors */ +#define FSSuccess -1 +#define FSBadRequest 0 +#define FSBadFormat 1 +#define FSBadFont 2 +#define FSBadRange 3 +#define FSBadEventMask 4 +#define FSBadAccessContext 5 +#define FSBadIDChoice 6 +#define FSBadName 7 +#define FSBadResolution 8 +#define FSBadAlloc 9 +#define FSBadLength 10 +#define FSBadImplementation 11 + +#define FirstExtensionError 128 +#define LastExtensionError 255 + +/* events */ +#define KeepAlive 0 +#define CatalogueChangeNotify 1 +#define FontChangeNotify 2 +#define FSLASTEvent 3 + +#endif /* _FS_H_ */ diff --git a/ThirdParty/X11/Include/X11/fonts/FSproto.h b/ThirdParty/X11/Include/X11/fonts/FSproto.h new file mode 100644 index 0000000..028156f --- /dev/null +++ b/ThirdParty/X11/Include/X11/fonts/FSproto.h @@ -0,0 +1,814 @@ +/* + +Copyright 1990, 1991, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + * Copyright 1990, 1991 Network Computing Devices; + * Portions Copyright 1987 by Digital Equipment Corporation + * + * Permission to use, copy, modify, distribute, and sell this software and + * its documentation for any purpose is hereby granted without fee, provided + * that the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the names of Network Computing Devices, or Digital + * not be used in advertising or publicity pertaining to distribution + * of the software without specific, written prior permission. + * + * NETWORK COMPUTING DEVICES, AND DIGITAL DISCLAIM ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES, + * OR DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS + * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF + * THIS SOFTWARE. + */ + +#ifndef _FS_PROTO_H_ +#define _FS_PROTO_H_ + +#include <X11/fonts/FS.h> + +#define sz_fsPropOffset 20 +#define sz_fsPropInfo 8 +#define sz_fsResolution 6 + +#define sz_fsChar2b 2 +#define sz_fsChar2b_version1 2 +#define sz_fsOffset32 8 +#define sz_fsRange 4 + +#define sz_fsXCharInfo 12 +#define sz_fsXFontInfoHeader 40 + +#define sz_fsConnClientPrefix 8 +#define sz_fsConnSetup 12 +#define sz_fsConnSetupExtra 8 +#define sz_fsConnSetupAccept 12 + +/* request sizes */ +#define sz_fsReq 4 +#define sz_fsListExtensionsReq 4 +#define sz_fsResourceReq 8 + +#define sz_fsNoopReq 4 +#define sz_fsListExtensionReq 4 +#define sz_fsQueryExtensionReq 4 +#define sz_fsListCataloguesReq 12 +#define sz_fsSetCataloguesReq 4 +#define sz_fsGetCataloguesReq 4 +#define sz_fsSetEventMaskReq 8 +#define sz_fsGetEventMaskReq 4 +#define sz_fsCreateACReq 8 +#define sz_fsFreeACReq 8 +#define sz_fsSetAuthorizationReq 8 +#define sz_fsSetResolutionReq 4 +#define sz_fsGetResolutionReq 4 +#define sz_fsListFontsReq 12 +#define sz_fsListFontsWithXInfoReq 12 +#define sz_fsOpenBitmapFontReq 16 +#define sz_fsQueryXInfoReq 8 +#define sz_fsQueryXExtents8Req 12 +#define sz_fsQueryXExtents16Req 12 +#define sz_fsQueryXBitmaps8Req 16 +#define sz_fsQueryXBitmaps16Req 16 +#define sz_fsCloseReq 8 + +/* reply sizes */ +#define sz_fsReply 8 +#define sz_fsGenericReply 8 + +#define sz_fsListExtensionsReply 8 +#define sz_fsQueryExtensionReply 20 +#define sz_fsListCataloguesReply 16 +#define sz_fsGetCataloguesReply 8 +#define sz_fsGetEventMaskReply 12 +#define sz_fsCreateACReply 12 +#define sz_fsGetResolutionReply 8 +#define sz_fsListFontsReply 16 +#define sz_fsListFontsWithXInfoReply (12 + sz_fsXFontInfoHeader) +#define sz_fsOpenBitmapFontReply 16 +#define sz_fsQueryXInfoReply (8 + sz_fsXFontInfoHeader) +#define sz_fsQueryXExtents8Reply 12 +#define sz_fsQueryXExtents16Reply 12 +#define sz_fsQueryXBitmaps8Reply 20 +#define sz_fsQueryXBitmaps16Reply 20 + +#define sz_fsError 16 +#define sz_fsEvent 12 +#define sz_fsKeepAliveEvent 12 + +#define fsTrue 1 +#define fsFalse 0 + +/* temp decls */ +#define Mask CARD32 +#define Font CARD32 +#define AccContext CARD32 + +typedef CARD32 fsTimestamp; + +#ifdef NOTDEF /* in fsmasks.h */ +typedef CARD32 fsBitmapFormat; +typedef CARD32 fsBitmapFormatMask; +#endif + +#define sz_fsBitmapFormat 4 + +typedef struct { + INT16 left B16, + right B16; + INT16 width B16; + INT16 ascent B16, + descent B16; + CARD16 attributes B16; +} fsXCharInfo; + +typedef struct { + CARD8 high; + CARD8 low; +} fsChar2b; + +typedef struct { + CARD8 low; + CARD8 high; +} fsChar2b_version1; + +typedef struct { + CARD8 min_char_high; + CARD8 min_char_low; + CARD8 max_char_high; + CARD8 max_char_low; +} fsRange; + +typedef struct { + CARD32 position B32; + CARD32 length B32; +} fsOffset32; + +typedef struct { + fsOffset32 name; + fsOffset32 value; + CARD8 type; + BYTE pad0; + CARD16 pad1 B16; +} fsPropOffset; + +typedef struct { + CARD32 num_offsets B32; + CARD32 data_len B32; + /* offsets */ + /* data */ +} fsPropInfo; + +typedef struct { + CARD16 x_resolution B16; + CARD16 y_resolution B16; + CARD16 point_size B16; +} fsResolution; + + +typedef struct { + CARD32 flags B32; + CARD8 char_range_min_char_high; + CARD8 char_range_min_char_low; + CARD8 char_range_max_char_high; + CARD8 char_range_max_char_low; + + CARD8 draw_direction; + CARD8 pad; + CARD8 default_char_high; + CARD8 default_char_low; + INT16 min_bounds_left B16; + INT16 min_bounds_right B16; + + INT16 min_bounds_width B16; + INT16 min_bounds_ascent B16; + INT16 min_bounds_descent B16; + CARD16 min_bounds_attributes B16; + + INT16 max_bounds_left B16; + INT16 max_bounds_right B16; + INT16 max_bounds_width B16; + INT16 max_bounds_ascent B16; + + INT16 max_bounds_descent B16; + CARD16 max_bounds_attributes B16; + INT16 font_ascent B16; + INT16 font_descent B16; + /* propinfo */ +} fsXFontInfoHeader; + + +/* requests */ + +typedef struct { + BYTE byteOrder; + CARD8 num_auths; + CARD16 major_version B16; + CARD16 minor_version B16; + CARD16 auth_len B16; + /* auth data */ +} fsConnClientPrefix; + +typedef struct { + CARD16 status B16; + CARD16 major_version B16; + CARD16 minor_version B16; + CARD8 num_alternates; + CARD8 auth_index; + CARD16 alternate_len B16; + CARD16 auth_len B16; + /* alternates */ + /* auth data */ +} fsConnSetup; + +typedef struct { + CARD32 length B32; + CARD16 status B16; + CARD16 pad B16; + /* more auth data */ +} fsConnSetupExtra; + +typedef struct { + CARD32 length B32; + CARD16 max_request_len B16; + CARD16 vendor_len B16; + CARD32 release_number B32; + /* vendor string */ +} fsConnSetupAccept; + +typedef struct { + CARD8 reqType; + CARD8 data; + CARD16 length B16; +} fsReq; + +/* + * The fsFakeReq structure is never used in the protocol; it is prepended + * to incoming packets when setting up a connection so we can index + * through InitialVector. To avoid alignment problems, it is padded + * to the size of a word on the largest machine this code runs on. + * Hence no sz_fsFakeReq constant is necessary. + */ +typedef struct { + CARD8 reqType; + CARD8 data; + CARD16 length B16; + CARD32 pad B32; /* to fill out to multiple of 64 bits */ +} fsFakeReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Font id B32; +} fsResourceReq; + +typedef fsReq fsNoopReq; +typedef fsReq fsListExtensionsReq; + +typedef struct { + CARD8 reqType; + BYTE nbytes; + CARD16 length B16; + /* name */ +} fsQueryExtensionReq; + +typedef struct { + CARD8 reqType; + CARD8 data; + CARD16 length B16; + CARD32 maxNames B32; + CARD16 nbytes B16; + CARD16 pad2 B16; + /* pattern */ +} fsListCataloguesReq; + +typedef struct { + CARD8 reqType; + BYTE num_catalogues; + CARD16 length B16; + /* catalogues */ +} fsSetCataloguesReq; + +typedef fsReq fsGetCataloguesReq; + +typedef struct { + CARD8 reqType; + CARD8 ext_opcode; + CARD16 length B16; + Mask event_mask; +} fsSetEventMaskReq; + +typedef struct { + CARD8 reqType; + CARD8 ext_opcode; + CARD16 length B16; +} fsGetEventMaskReq; + +typedef struct { + CARD8 reqType; + BYTE num_auths; + CARD16 length B16; + AccContext acid B32; + /* auth protocols */ +} fsCreateACReq; + +typedef fsResourceReq fsFreeACReq; +typedef fsResourceReq fsSetAuthorizationReq; + +typedef struct { + CARD8 reqType; + BYTE num_resolutions; + CARD16 length B16; + /* resolutions */ +} fsSetResolutionReq; + +typedef fsReq fsGetResolutionReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + CARD32 maxNames B32; + CARD16 nbytes B16; + CARD16 pad2 B16; + /* pattern */ +} fsListFontsReq; + +typedef fsListFontsReq fsListFontsWithXInfoReq; + +typedef struct { + CARD8 reqType; + BYTE pad; + CARD16 length B16; + Font fid B32; + fsBitmapFormatMask format_mask B32; + fsBitmapFormat format_hint B32; + /* pattern */ +} fsOpenBitmapFontReq; + +typedef fsResourceReq fsQueryXInfoReq; + +typedef struct { + CARD8 reqType; + BOOL range; + CARD16 length B16; + Font fid B32; + CARD32 num_ranges B32; + /* list of chars */ +} fsQueryXExtents8Req; + +typedef fsQueryXExtents8Req fsQueryXExtents16Req; + +typedef struct { + CARD8 reqType; + BOOL range; + CARD16 length B16; + Font fid B32; + fsBitmapFormat format B32; + CARD32 num_ranges B32; + /* list of chars */ +} fsQueryXBitmaps8Req; + +typedef fsQueryXBitmaps8Req fsQueryXBitmaps16Req; + +typedef fsResourceReq fsCloseReq; + + +/* replies */ +typedef struct { + BYTE type; + BYTE data1; + CARD16 sequenceNumber B16; + CARD32 length B32; +} fsGenericReply; + +typedef struct { + BYTE type; + CARD8 nExtensions; + CARD16 sequenceNumber B16; + CARD32 length B32; + /* extension names */ +} fsListExtensionsReply; + +typedef struct { + BYTE type; + CARD8 present; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 major_version B16; + CARD16 minor_version B16; + CARD8 major_opcode; + CARD8 first_event; + CARD8 num_events; + CARD8 first_error; + CARD8 num_errors; + CARD8 pad1; + CARD16 pad2 B16; +} fsQueryExtensionReply; + +typedef struct { + BYTE type; + BYTE pad; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 num_replies B32; + CARD32 num_catalogues B32; + /* catalog names */ +} fsListCataloguesReply; + +typedef struct { + BYTE type; + CARD8 num_catalogues; + CARD16 sequenceNumber B16; + CARD32 length B32; + /* catalogue names */ +} fsGetCataloguesReply; + +typedef struct { + BYTE type; + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 event_mask B32; +} fsGetEventMaskReply; + +typedef struct { + BYTE type; + CARD8 auth_index; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 status B16; + CARD16 pad B16; + /* auth data */ +} fsCreateACReply; + +typedef struct { + CARD32 length B32; + CARD16 status B16; + CARD16 pad B16; + /* auth data */ +} fsCreateACExtraReply; + +typedef struct { + BYTE type; + CARD8 num_resolutions; + CARD16 sequenceNumber B16; + CARD32 length B32; + /* resolutions */ +} fsGetResolutionReply; + +typedef struct { + BYTE type; + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 following B32; + CARD32 nFonts B32; + /* font names */ +} fsListFontsReply; + +/* + * this one is messy. the reply itself is variable length (unknown + * number of replies) and the contents of each is variable (unknown + * number of properties) + * + */ + +typedef struct { + BYTE type; + CARD8 nameLength; /* 0 is end-of-reply */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 nReplies B32; + CARD32 font_header_flags B32; + CARD8 font_hdr_char_range_min_char_high; + CARD8 font_hdr_char_range_min_char_low; + CARD8 font_hdr_char_range_max_char_high; + CARD8 font_hdr_char_range_max_char_low; + CARD8 font_header_draw_direction; + CARD8 font_header_pad; + CARD8 font_header_default_char_high; + CARD8 font_header_default_char_low; + INT16 font_header_min_bounds_left B16; + INT16 font_header_min_bounds_right B16; + INT16 font_header_min_bounds_width B16; + INT16 font_header_min_bounds_ascent B16; + INT16 font_header_min_bounds_descent B16; + CARD16 font_header_min_bounds_attributes B16; + INT16 font_header_max_bounds_left B16; + INT16 font_header_max_bounds_right B16; + INT16 font_header_max_bounds_width B16; + INT16 font_header_max_bounds_ascent B16; + INT16 font_header_max_bounds_descent B16; + CARD16 font_header_max_bounds_attributes B16; + INT16 font_header_font_ascent B16; + INT16 font_header_font_descent B16; + /* propinfo */ + /* name */ +} fsListFontsWithXInfoReply; + +typedef struct { + BYTE type; + CARD8 otherid_valid; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 otherid B32; + BYTE cachable; + BYTE pad1; + CARD16 pad2 B16; +} fsOpenBitmapFontReply; + +typedef struct { + BYTE type; + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 font_header_flags B32; + CARD8 font_hdr_char_range_min_char_high; + CARD8 font_hdr_char_range_min_char_low; + CARD8 font_hdr_char_range_max_char_high; + CARD8 font_hdr_char_range_max_char_low; + CARD8 font_header_draw_direction; + CARD8 font_header_pad; + CARD8 font_header_default_char_high; + CARD8 font_header_default_char_low; + INT16 font_header_min_bounds_left B16; + INT16 font_header_min_bounds_right B16; + INT16 font_header_min_bounds_width B16; + INT16 font_header_min_bounds_ascent B16; + INT16 font_header_min_bounds_descent B16; + CARD16 font_header_min_bounds_attributes B16; + INT16 font_header_max_bounds_left B16; + INT16 font_header_max_bounds_right B16; + INT16 font_header_max_bounds_width B16; + INT16 font_header_max_bounds_ascent B16; + INT16 font_header_max_bounds_descent B16; + CARD16 font_header_max_bounds_attributes B16; + INT16 font_header_font_ascent B16; + INT16 font_header_font_descent B16; + /* propinfo */ +} fsQueryXInfoReply; + +typedef struct { + BYTE type; + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 num_extents B32; + /* extents */ +} fsQueryXExtents8Reply; + +typedef fsQueryXExtents8Reply fsQueryXExtents16Reply; + +typedef struct { + BYTE type; + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 replies_hint B32; + CARD32 num_chars B32; + CARD32 nbytes B32; + /* offsets */ + /* glyphs */ +} fsQueryXBitmaps8Reply; + +typedef fsQueryXBitmaps8Reply fsQueryXBitmaps16Reply; + +typedef union { + fsGenericReply generic; + fsListExtensionsReply extensions; + fsGetResolutionReply getres; +} fsReply; + +/* errors */ +typedef struct { + BYTE type; + BYTE request; + CARD16 sequenceNumber B16; + CARD32 length B32; + fsTimestamp timestamp; + CARD8 major_opcode; + CARD8 minor_opcode; + CARD16 pad B16; +} fsError; + +typedef struct { + BYTE type; + BYTE request; + CARD16 sequenceNumber B16; + CARD32 length B32; + fsTimestamp timestamp; + CARD8 major_opcode; + CARD8 minor_opcode; + CARD16 pad B16; +} fsRequestError; + +typedef struct { + BYTE type; + BYTE request; + CARD16 sequenceNumber B16; + CARD32 length B32; + fsTimestamp timestamp; + CARD8 major_opcode; + CARD8 minor_opcode; + CARD16 pad B16; + fsBitmapFormat format B32; +} fsFormatError; + +typedef struct { + BYTE type; + BYTE request; + CARD16 sequenceNumber B16; + CARD32 length B32; + fsTimestamp timestamp; + CARD8 major_opcode; + CARD8 minor_opcode; + CARD16 pad B16; + Font fontid; +} fsFontError; + +typedef struct { + BYTE type; + BYTE request; + CARD16 sequenceNumber B16; + CARD32 length B32; + fsTimestamp timestamp; + CARD8 major_opcode; + CARD8 minor_opcode; + CARD16 pad B16; + fsRange range; +} fsRangeError; + +typedef struct { + BYTE type; + BYTE request; + CARD16 sequenceNumber B16; + CARD32 length B32; + fsTimestamp timestamp; + CARD8 major_opcode; + CARD8 minor_opcode; + CARD16 pad B16; + Mask event_mask; +} fsEventMaskError; + +typedef struct { + BYTE type; + BYTE request; + CARD16 sequenceNumber B16; + CARD32 length B32; + fsTimestamp timestamp; + CARD8 major_opcode; + CARD8 minor_opcode; + CARD16 pad B16; + AccContext acid; +} fsAccessContextError; + +typedef struct { + BYTE type; + BYTE request; + CARD16 sequenceNumber B16; + CARD32 length B32; + fsTimestamp timestamp; + CARD8 major_opcode; + CARD8 minor_opcode; + CARD16 pad B16; + Font fontid; +} fsIDChoiceError; + +typedef struct { + BYTE type; + BYTE request; + CARD16 sequenceNumber B16; + CARD32 length B32; + fsTimestamp timestamp; + CARD8 major_opcode; + CARD8 minor_opcode; + CARD16 pad B16; +} fsNameError; + +typedef struct { + BYTE type; + BYTE request; + CARD16 sequenceNumber B16; + CARD32 length B32; + fsTimestamp timestamp; + CARD8 major_opcode; + CARD8 minor_opcode; + fsResolution resolution; +} fsResolutionError; + +typedef struct { + BYTE type; + BYTE request; + CARD16 sequenceNumber B16; + CARD32 length B32; + fsTimestamp timestamp; + CARD8 major_opcode; + CARD8 minor_opcode; + CARD16 pad B16; +} fsAllocError; + +typedef struct { + BYTE type; + BYTE request; + CARD16 sequenceNumber B16; + CARD32 length B32; + fsTimestamp timestamp; + CARD8 major_opcode; + CARD8 minor_opcode; + CARD16 pad B16; + CARD32 bad_length B32; +} fsLengthError; + +typedef struct { + BYTE type; + BYTE request; + CARD16 sequenceNumber B16; + CARD32 length B32; + fsTimestamp timestamp; + CARD8 major_opcode; + CARD8 minor_opcode; + CARD16 pad B16; +} fsImplementationError; + +/* events */ +typedef struct { + BYTE type; + BYTE event_code; + CARD16 sequenceNumber B16; + CARD32 length B32; + fsTimestamp timestamp; +} fsKeepAliveEvent; + +typedef struct { + BYTE type; + BYTE event_code; + CARD16 sequenceNumber B16; + CARD32 length B32; + fsTimestamp timestamp; + BOOL added; + BOOL deleted; + CARD16 pad B16; +} fsCatalogueChangeNotifyEvent; + +typedef fsCatalogueChangeNotifyEvent fsFontChangeNotifyEvent; + +typedef fsCatalogueChangeNotifyEvent fsEvent; + +/* reply codes */ +#define FS_Reply 0 /* normal reply */ +#define FS_Error 1 /* error */ +#define FS_Event 2 + +/* request codes */ +#define FS_Noop 0 +#define FS_ListExtensions 1 +#define FS_QueryExtension 2 +#define FS_ListCatalogues 3 +#define FS_SetCatalogues 4 +#define FS_GetCatalogues 5 +#define FS_SetEventMask 6 +#define FS_GetEventMask 7 +#define FS_CreateAC 8 +#define FS_FreeAC 9 +#define FS_SetAuthorization 10 +#define FS_SetResolution 11 +#define FS_GetResolution 12 +#define FS_ListFonts 13 +#define FS_ListFontsWithXInfo 14 +#define FS_OpenBitmapFont 15 +#define FS_QueryXInfo 16 +#define FS_QueryXExtents8 17 +#define FS_QueryXExtents16 18 +#define FS_QueryXBitmaps8 19 +#define FS_QueryXBitmaps16 20 +#define FS_CloseFont 21 + +/* restore decls */ +#undef Mask +#undef Font +#undef AccContext + +#endif /* _FS_PROTO_H_ */ diff --git a/ThirdParty/X11/Include/X11/fonts/font.h b/ThirdParty/X11/Include/X11/fonts/font.h new file mode 100644 index 0000000..a834655 --- /dev/null +++ b/ThirdParty/X11/Include/X11/fonts/font.h @@ -0,0 +1,166 @@ +/*********************************************************** +Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef FONT_H +#define FONT_H + +#ifndef BitmapFormatByteOrderMask +#include "fsmasks.h" +#endif + +/* data structures */ +#ifndef _XTYPEDEF_FONTPTR +typedef struct _Font *FontPtr; +#define _XTYPEDEF_FONTPTR +#endif + +typedef struct _FontInfo *FontInfoPtr; +typedef struct _FontProp *FontPropPtr; +typedef struct _ExtentInfo *ExtentInfoPtr; +typedef struct _FontPathElement *FontPathElementPtr; + +#ifndef _XTYPEDEF_CHARINFOPTR +typedef struct _CharInfo *CharInfoPtr; +#define _XTYPEDEF_CHARINFOPTR +#endif + +typedef struct _FontNames *FontNamesPtr; +typedef struct _FontResolution *FontResolutionPtr; + +#define NullCharInfo ((CharInfoPtr) 0) +#define NullFont ((FontPtr) 0) +#define NullFontInfo ((FontInfoPtr) 0) + + /* draw direction */ +#define LeftToRight 0 +#define RightToLeft 1 +#define BottomToTop 2 +#define TopToBottom 3 +typedef int DrawDirection; + +#define NO_SUCH_CHAR -1 + + +#define FontAliasType 0x1000 + +#define AllocError 80 +#define StillWorking 81 +#define FontNameAlias 82 +#define BadFontName 83 +#define Suspended 84 +#define Successful 85 +#define BadFontPath 86 +#define BadCharRange 87 +#define BadFontFormat 88 +#define FPEResetFailed 89 /* for when an FPE reset won't work */ + +/* OpenFont flags */ +#define FontLoadInfo 0x0001 +#define FontLoadProps 0x0002 +#define FontLoadMetrics 0x0004 +#define FontLoadBitmaps 0x0008 +#define FontLoadAll 0x000f +#define FontOpenSync 0x0010 +#define FontReopen 0x0020 + +/* Query flags */ +#define LoadAll 0x1 +#define FinishRamge 0x2 +#define EightBitFont 0x4 +#define SixteenBitFont 0x8 + +/* Glyph Caching Modes */ +#define CACHING_OFF 0 +#define CACHE_16_BIT_GLYPHS 1 +#define CACHE_ALL_GLYPHS 2 +#define DEFAULT_GLYPH_CACHING_MODE CACHE_16_BIT_GLYPHS +extern int glyphCachingMode; + +struct _Client; + +extern int StartListFontsWithInfo( + struct _Client * /*client*/, + int /*length*/, + unsigned char * /*pattern*/, + int /*max_names*/ +); + +extern FontNamesPtr MakeFontNamesRecord( + unsigned /* size */ +); + +extern void FreeFontNames( + FontNamesPtr /* pFN*/ +); + +extern int AddFontNamesName( + FontNamesPtr /* names */, + char * /* name */, + int /* length */ +); + +#if 0 /* unused */ +extern int FontToFSError(); +extern FontResolutionPtr GetClientResolution(); +#endif + +typedef struct _FontPatternCache *FontPatternCachePtr; + +extern FontPatternCachePtr MakeFontPatternCache ( + void +); + +extern void FreeFontPatternCache ( + FontPatternCachePtr /* cache */ +); + +extern void EmptyFontPatternCache ( + FontPatternCachePtr /* cache */ +); + +extern void CacheFontPattern ( + FontPatternCachePtr /* cache */, + const char * /* pattern */, + int /* patlen */, + FontPtr /* pFont */ +); +extern FontResolutionPtr GetClientResolutions( + int * /* num */ +); + +extern FontPtr FindCachedFontPattern ( + FontPatternCachePtr /* cache */, + const char * /* pattern */, + int /* patlen */ +); + +extern void RemoveCachedFontPattern ( + FontPatternCachePtr /* cache */, + FontPtr /* pFont */ +); + +typedef enum { + Linear8Bit, TwoD8Bit, Linear16Bit, TwoD16Bit +} FontEncoding; + +#endif /* FONT_H */ diff --git a/ThirdParty/X11/Include/X11/fonts/fontproto.h b/ThirdParty/X11/Include/X11/fonts/fontproto.h new file mode 100644 index 0000000..490629e --- /dev/null +++ b/ThirdParty/X11/Include/X11/fonts/fontproto.h @@ -0,0 +1,91 @@ +/*********************************************************** + +Copyright (c) 1999 The XFree86 Project Inc. + +All Rights Reserved. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The XFree86 Project +Inc. shall not be used in advertising or otherwise to promote the +sale, use or other dealings in this Software without prior written +authorization from The XFree86 Project Inc.. + +*/ +#ifndef _FONTPROTO_H +#define _FONTPROTO_H + +/* Externally provided functions required by libXfont */ + +extern int RegisterFPEFunctions ( NameCheckFunc name_func, + InitFpeFunc init_func, + FreeFpeFunc free_func, + ResetFpeFunc reset_func, + OpenFontFunc open_func, + CloseFontFunc close_func, + ListFontsFunc list_func, + StartLfwiFunc start_lfwi_func, + NextLfwiFunc next_lfwi_func, + WakeupFpeFunc wakeup_func, + ClientDiedFunc client_died, + LoadGlyphsFunc load_glyphs, + StartLaFunc start_list_alias_func, + NextLaFunc next_list_alias_func, + SetPathFunc set_path_func); + +extern int GetDefaultPointSize ( void ); + +extern int init_fs_handlers ( FontPathElementPtr fpe, + BlockHandlerProcPtr block_handler); +extern void remove_fs_handlers ( FontPathElementPtr fpe, + BlockHandlerProcPtr block_handler, + Bool all ); + +extern int client_auth_generation ( ClientPtr client ); + +#ifndef ___CLIENTSIGNAL_DEFINED___ +#define ___CLIENTSIGNAL_DEFINED___ +extern Bool ClientSignal ( ClientPtr client ); +#endif /* ___CLIENTSIGNAL_DEFINED___ */ + +extern void DeleteFontClientID ( Font id ); +extern Font GetNewFontClientID ( void ); +extern int StoreFontClientFont ( FontPtr pfont, Font id ); +extern void FontFileRegisterFpeFunctions ( void ); +extern void FontFileCheckRegisterFpeFunctions ( void ); + +extern Bool XpClientIsBitmapClient ( ClientPtr client ); +extern Bool XpClientIsPrintClient( ClientPtr client, FontPathElementPtr fpe ); +extern void PrinterFontRegisterFpeFunctions ( void ); + +extern void fs_register_fpe_functions ( void ); +extern void check_fs_register_fpe_functions ( void ); + +/* util/private.c */ +extern FontPtr CreateFontRec (void); +extern void DestroyFontRec (FontPtr font); +extern Bool _FontSetNewPrivate (FontPtr /* pFont */, + int /* n */, + void * /* ptr */); +extern int AllocateFontPrivateIndex (void); +extern void ResetFontPrivateIndex (void); + +/* Type1/t1funcs.c */ +extern void Type1RegisterFontFileFunctions(void); +extern void CIDRegisterFontFileFunctions(void); + +/* Speedo/spfuncs.c */ +extern void SpeedoRegisterFontFileFunctions(void); + +/* FreeType/ftfuncs.c */ +extern void FreeTypeRegisterFontFileFunctions(void); + +#endif diff --git a/ThirdParty/X11/Include/X11/fonts/fontstruct.h b/ThirdParty/X11/Include/X11/fonts/fontstruct.h new file mode 100644 index 0000000..55c89da --- /dev/null +++ b/ThirdParty/X11/Include/X11/fonts/fontstruct.h @@ -0,0 +1,297 @@ +/*********************************************************** +Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef FONTSTR_H +#define FONTSTR_H + +#include <X11/Xproto.h> +#include "font.h" +#include <X11/Xfuncproto.h> +#include <X11/Xdefs.h> + +/* + * This version of the server font data strucutre is only for describing + * the in memory data structure. The file structure is not necessarily a + * copy of this. That is up to the compiler and the OS layer font loading + * machinery. + */ + +#define GLYPHPADOPTIONS 4 /* 1, 2, 4, or 8 */ + +typedef struct _FontProp { + long name; + long value; /* assumes ATOM is not larger than INT32 */ +} FontPropRec; + +typedef struct _FontResolution { + unsigned short x_resolution; + unsigned short y_resolution; + unsigned short point_size; +} FontResolutionRec; + +typedef struct _ExtentInfo { + DrawDirection drawDirection; + int fontAscent; + int fontDescent; + int overallAscent; + int overallDescent; + int overallWidth; + int overallLeft; + int overallRight; +} ExtentInfoRec; + +typedef struct _CharInfo { + xCharInfo metrics; /* info preformatted for Queries */ + char *bits; /* pointer to glyph image */ +} CharInfoRec; + +/* + * Font is created at font load time. It is specific to a single encoding. + * e.g. not all of the glyphs in a font may be part of a single encoding. + */ + +typedef struct _FontInfo { + unsigned short firstCol; + unsigned short lastCol; + unsigned short firstRow; + unsigned short lastRow; + unsigned short defaultCh; + unsigned int noOverlap:1; + unsigned int terminalFont:1; + unsigned int constantMetrics:1; + unsigned int constantWidth:1; + unsigned int inkInside:1; + unsigned int inkMetrics:1; + unsigned int allExist:1; + unsigned int drawDirection:2; + unsigned int cachable:1; + unsigned int anamorphic:1; + short maxOverlap; + short pad; + xCharInfo maxbounds; + xCharInfo minbounds; + xCharInfo ink_maxbounds; + xCharInfo ink_minbounds; + short fontAscent; + short fontDescent; + int nprops; + FontPropPtr props; + char *isStringProp; +} FontInfoRec; + +typedef struct _Font { + int refcnt; + FontInfoRec info; + char bit; + char byte; + char glyph; + char scan; + fsBitmapFormat format; + int (*get_glyphs) (FontPtr /* font */, + unsigned long /* count */, + unsigned char * /* chars */, + FontEncoding /* encoding */, + unsigned long * /* count */, + CharInfoPtr * /* glyphs */); + int (*get_metrics) (FontPtr /* font */, + unsigned long /* count */, + unsigned char * /* chars */, + FontEncoding /* encoding */, + unsigned long * /* count */, + xCharInfo ** /* glyphs */); + void (*unload_font) (FontPtr /* font */); + void (*unload_glyphs) (FontPtr /* font */); + FontPathElementPtr fpe; + void *svrPrivate; + void *fontPrivate; + void *fpePrivate; + int maxPrivate; + void **devPrivates; +} FontRec; + +#define FontGetPrivate(pFont,n) ((n) > (pFont)->maxPrivate ? (void *) 0 : \ + (pFont)->devPrivates[n]) + +#define FontSetPrivate(pFont,n,ptr) ((n) > (pFont)->maxPrivate ? \ + _FontSetNewPrivate (pFont, n, ptr) : \ + ((((pFont)->devPrivates[n] = (ptr)) != 0) || TRUE)) + +typedef struct _FontNames { + int nnames; + int size; + int *length; + char **names; +} FontNamesRec; + + +/* External view of font paths */ +typedef struct _FontPathElement { + int name_length; +#if FONT_PATH_ELEMENT_NAME_CONST + const +#endif + char *name; + int type; + int refcount; + void *private; +} FontPathElementRec; + +typedef Bool (*NameCheckFunc) (const char *name); +typedef int (*InitFpeFunc) (FontPathElementPtr fpe); +typedef int (*FreeFpeFunc) (FontPathElementPtr fpe); +typedef int (*ResetFpeFunc) (FontPathElementPtr fpe); +typedef int (*OpenFontFunc) ( void *client, + FontPathElementPtr fpe, + Mask flags, + const char* name, + int namelen, + fsBitmapFormat format, + fsBitmapFormatMask fmask, + XID id, + FontPtr* pFont, + char** aliasName, + FontPtr non_cachable_font); +typedef void (*CloseFontFunc) (FontPathElementPtr fpe, FontPtr pFont); +typedef int (*ListFontsFunc) (void *client, + FontPathElementPtr fpe, + const char* pat, + int len, + int max, + FontNamesPtr names); + +typedef int (*StartLfwiFunc) (void *client, + FontPathElementPtr fpe, + const char* pat, + int len, + int max, + void ** privatep); + +typedef int (*NextLfwiFunc) (void *client, + FontPathElementPtr fpe, + char** name, + int* namelen, + FontInfoPtr* info, + int* numFonts, + void *private); + +typedef int (*WakeupFpeFunc) (FontPathElementPtr fpe, + unsigned long* LastSelectMask); + +typedef void (*ClientDiedFunc) (void *client, + FontPathElementPtr fpe); + +typedef int (*LoadGlyphsFunc) (void *client, + FontPtr pfont, + Bool range_flag, + unsigned int nchars, + int item_size, + unsigned char* data); + +typedef int (*StartLaFunc) (void *client, + FontPathElementPtr fpe, + const char* pat, + int len, + int max, + void ** privatep); + +typedef int (*NextLaFunc) (void *client, + FontPathElementPtr fpe, + char** namep, + int* namelenp, + char** resolvedp, + int* resolvedlenp, + void *private); + +typedef void (*SetPathFunc)(void); + +typedef struct _FPEFunctions { + NameCheckFunc name_check; + InitFpeFunc init_fpe; + ResetFpeFunc reset_fpe; + FreeFpeFunc free_fpe; + OpenFontFunc open_font; + CloseFontFunc close_font; + ListFontsFunc list_fonts; + StartLaFunc start_list_fonts_and_aliases; + NextLaFunc list_next_font_or_alias; + StartLfwiFunc start_list_fonts_with_info; + NextLfwiFunc list_next_font_with_info; + WakeupFpeFunc wakeup_fpe; + ClientDiedFunc client_died; + /* for load_glyphs, range_flag = 0 -> + nchars = # of characters in data + item_size = bytes/char + data = list of characters + range_flag = 1 -> + nchars = # of fsChar2b's in data + item_size is ignored + data = list of fsChar2b's */ + LoadGlyphsFunc load_glyphs; + SetPathFunc set_path_hook; +} FPEFunctionsRec, FPEFunctions; + +/* + * Various macros for computing values based on contents of + * the above structures + */ + +#define GLYPHWIDTHPIXELS(pci) \ + ((pci)->metrics.rightSideBearing - (pci)->metrics.leftSideBearing) + +#define GLYPHHEIGHTPIXELS(pci) \ + ((pci)->metrics.ascent + (pci)->metrics.descent) + +#define GLYPHWIDTHBYTES(pci) (((GLYPHWIDTHPIXELS(pci))+7) >> 3) + +#define GLYPHWIDTHPADDED(bc) (((bc)+7) & ~0x7) + +#define BYTES_PER_ROW(bits, nbytes) \ + ((nbytes) == 1 ? (((bits)+7)>>3) /* pad to 1 byte */ \ + :(nbytes) == 2 ? ((((bits)+15)>>3)&~1) /* pad to 2 bytes */ \ + :(nbytes) == 4 ? ((((bits)+31)>>3)&~3) /* pad to 4 bytes */ \ + :(nbytes) == 8 ? ((((bits)+63)>>3)&~7) /* pad to 8 bytes */ \ + : 0) + +#define BYTES_FOR_GLYPH(ci,pad) (GLYPHHEIGHTPIXELS(ci) * \ + BYTES_PER_ROW(GLYPHWIDTHPIXELS(ci),pad)) +/* + * Macros for computing different bounding boxes for fonts; from + * the font protocol + */ + +#define FONT_MAX_ASCENT(pi) ((pi)->fontAscent > (pi)->ink_maxbounds.ascent ? \ + (pi)->fontAscent : (pi)->ink_maxbounds.ascent) +#define FONT_MAX_DESCENT(pi) ((pi)->fontDescent > (pi)->ink_maxbounds.descent ? \ + (pi)->fontDescent : (pi)->ink_maxbounds.descent) +#define FONT_MAX_HEIGHT(pi) (FONT_MAX_ASCENT(pi) + FONT_MAX_DESCENT(pi)) +#define FONT_MIN_LEFT(pi) ((pi)->ink_minbounds.leftSideBearing < 0 ? \ + (pi)->ink_minbounds.leftSideBearing : 0) +#define FONT_MAX_RIGHT(pi) ((pi)->ink_maxbounds.rightSideBearing > \ + (pi)->ink_maxbounds.characterWidth ? \ + (pi)->ink_maxbounds.rightSideBearing : \ + (pi)->ink_maxbounds.characterWidth) +#define FONT_MAX_WIDTH(pi) (FONT_MAX_RIGHT(pi) - FONT_MIN_LEFT(pi)) + +#include "fontproto.h" + +#endif /* FONTSTR_H */ diff --git a/ThirdParty/X11/Include/X11/fonts/fsmasks.h b/ThirdParty/X11/Include/X11/fonts/fsmasks.h new file mode 100644 index 0000000..c86be83 --- /dev/null +++ b/ThirdParty/X11/Include/X11/fonts/fsmasks.h @@ -0,0 +1,97 @@ +/* + * Copyright 1990, 1991 Network Computing Devices; + * Portions Copyright 1987 by Digital Equipment Corporation + * + * Permission to use, copy, modify, distribute, and sell this software and + * its documentation for any purpose is hereby granted without fee, provided + * that the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the names of Network Computing Devices or Digital + * not be used in advertising or publicity pertaining to distribution + * of the software without specific, written prior permission. + * Network Computing Devices and Digital make no representations + * about the suitability of this software for any purpose. It is provided + * "as is" without express or implied warranty. + * + * NETWORK COMPUTING DEVICES AND DIGITAL DISCLAIM ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES + * OR DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS + * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF + * THIS SOFTWARE. + */ + +/* + +Portions Copyright 1987, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + + +/* + * masks & values used by the font lib and the font server + */ + +#ifndef _FSMASKS_H_ +#define _FSMASKS_H_ + +#include <X11/Xmd.h> + +/* font format macros */ +#define BitmapFormatByteOrderMask (1L << 0) +#define BitmapFormatBitOrderMask (1L << 1) +#define BitmapFormatImageRectMask (3L << 2) +#define BitmapFormatScanlinePadMask (3L << 8) +#define BitmapFormatScanlineUnitMask (3L << 12) + +#define BitmapFormatByteOrderLSB (0) +#define BitmapFormatByteOrderMSB (1L << 0) +#define BitmapFormatBitOrderLSB (0) +#define BitmapFormatBitOrderMSB (1L << 1) + +#define BitmapFormatImageRectMin (0L << 2) +#define BitmapFormatImageRectMaxWidth (1L << 2) +#define BitmapFormatImageRectMax (2L << 2) + +#define BitmapFormatScanlinePad8 (0L << 8) +#define BitmapFormatScanlinePad16 (1L << 8) +#define BitmapFormatScanlinePad32 (2L << 8) +#define BitmapFormatScanlinePad64 (3L << 8) + +#define BitmapFormatScanlineUnit8 (0L << 12) +#define BitmapFormatScanlineUnit16 (1L << 12) +#define BitmapFormatScanlineUnit32 (2L << 12) +#define BitmapFormatScanlineUnit64 (3L << 12) + +#define BitmapFormatMaskByte (1L << 0) +#define BitmapFormatMaskBit (1L << 1) +#define BitmapFormatMaskImageRectangle (1L << 2) +#define BitmapFormatMaskScanLinePad (1L << 3) +#define BitmapFormatMaskScanLineUnit (1L << 4) + +typedef CARD32 fsBitmapFormat; +typedef CARD32 fsBitmapFormatMask; + +#endif /* _FSMASKS_H_ */ diff --git a/ThirdParty/X11/Include/X11/keysym.h b/ThirdParty/X11/Include/X11/keysym.h new file mode 100644 index 0000000..4f58488 --- /dev/null +++ b/ThirdParty/X11/Include/X11/keysym.h @@ -0,0 +1,74 @@ +/*********************************************************** + +Copyright 1987, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +/* default keysyms */ +#define XK_MISCELLANY +#define XK_XKB_KEYS +#define XK_LATIN1 +#define XK_LATIN2 +#define XK_LATIN3 +#define XK_LATIN4 +#define XK_LATIN8 +#define XK_LATIN9 +#define XK_CAUCASUS +#define XK_GREEK +#define XK_KATAKANA +#define XK_ARABIC +#define XK_CYRILLIC +#define XK_HEBREW +#define XK_THAI +#define XK_KOREAN +#define XK_ARMENIAN +#define XK_GEORGIAN +#define XK_VIETNAMESE +#define XK_CURRENCY +#define XK_MATHEMATICAL +#define XK_BRAILLE +#define XK_SINHALA + +#include <X11/keysymdef.h> + diff --git a/ThirdParty/X11/Include/X11/keysymdef.h b/ThirdParty/X11/Include/X11/keysymdef.h new file mode 100644 index 0000000..147ecf5 --- /dev/null +++ b/ThirdParty/X11/Include/X11/keysymdef.h @@ -0,0 +1,2497 @@ +/*********************************************************** +Copyright 1987, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. + + +Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +/* + * The "X11 Window System Protocol" standard defines in Appendix A the + * keysym codes. These 29-bit integer values identify characters or + * functions associated with each key (e.g., via the visible + * engraving) of a keyboard layout. This file assigns mnemonic macro + * names for these keysyms. + * + * This file is also compiled (by src/util/makekeys.c in libX11) into + * hash tables that can be accessed with X11 library functions such as + * XStringToKeysym() and XKeysymToString(). + * + * Where a keysym corresponds one-to-one to an ISO 10646 / Unicode + * character, this is noted in a comment that provides both the U+xxxx + * Unicode position, as well as the official Unicode name of the + * character. + * + * Where the correspondence is either not one-to-one or semantically + * unclear, the Unicode position and name are enclosed in + * parentheses. Such legacy keysyms should be considered deprecated + * and are not recommended for use in future keyboard mappings. + * + * For any future extension of the keysyms with characters already + * found in ISO 10646 / Unicode, the following algorithm shall be + * used. The new keysym code position will simply be the character's + * Unicode number plus 0x01000000. The keysym values in the range + * 0x01000100 to 0x0110ffff are reserved to represent Unicode + * characters in the range U+0100 to U+10FFFF. + * + * While most newer Unicode-based X11 clients do already accept + * Unicode-mapped keysyms in the range 0x01000100 to 0x0110ffff, it + * will remain necessary for clients -- in the interest of + * compatibility with existing servers -- to also understand the + * existing legacy keysym values in the range 0x0100 to 0x20ff. + * + * Where several mnemonic names are defined for the same keysym in this + * file, all but the first one listed should be considered deprecated. + * + * Mnemonic names for keysyms are defined in this file with lines + * that match one of these Perl regular expressions: + * + * /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\* U+([0-9A-F]{4,6}) (.*) \*\/\s*$/ + * /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\*\(U+([0-9A-F]{4,6}) (.*)\)\*\/\s*$/ + * /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*(\/\*\s*(.*)\s*\*\/)?\s*$/ + * + * Before adding new keysyms, please do consider the following: In + * addition to the keysym names defined in this file, the + * XStringToKeysym() and XKeysymToString() functions will also handle + * any keysym string of the form "U0020" to "U007E" and "U00A0" to + * "U10FFFF" for all possible Unicode characters. In other words, + * every possible Unicode character has already a keysym string + * defined algorithmically, even if it is not listed here. Therefore, + * defining an additional keysym macro is only necessary where a + * non-hexadecimal mnemonic name is needed, or where the new keysym + * does not represent any existing Unicode character. + * + * When adding new keysyms to this file, do not forget to also update the + * following as needed: + * + * - the mappings in src/KeyBind.c in the repo + * git://anongit.freedesktop.org/xorg/lib/libX11.git + * + * - the protocol specification in specs/keysyms.xml + * in the repo git://anongit.freedesktop.org/xorg/proto/x11proto.git + * + */ + +#define XK_VoidSymbol 0xffffff /* Void symbol */ + +#ifdef XK_MISCELLANY +/* + * TTY function keys, cleverly chosen to map to ASCII, for convenience of + * programming, but could have been arbitrary (at the cost of lookup + * tables in client code). + */ + +#define XK_BackSpace 0xff08 /* Back space, back char */ +#define XK_Tab 0xff09 +#define XK_Linefeed 0xff0a /* Linefeed, LF */ +#define XK_Clear 0xff0b +#define XK_Return 0xff0d /* Return, enter */ +#define XK_Pause 0xff13 /* Pause, hold */ +#define XK_Scroll_Lock 0xff14 +#define XK_Sys_Req 0xff15 +#define XK_Escape 0xff1b +#define XK_Delete 0xffff /* Delete, rubout */ + + + +/* International & multi-key character composition */ + +#define XK_Multi_key 0xff20 /* Multi-key character compose */ +#define XK_Codeinput 0xff37 +#define XK_SingleCandidate 0xff3c +#define XK_MultipleCandidate 0xff3d +#define XK_PreviousCandidate 0xff3e + +/* Japanese keyboard support */ + +#define XK_Kanji 0xff21 /* Kanji, Kanji convert */ +#define XK_Muhenkan 0xff22 /* Cancel Conversion */ +#define XK_Henkan_Mode 0xff23 /* Start/Stop Conversion */ +#define XK_Henkan 0xff23 /* Alias for Henkan_Mode */ +#define XK_Romaji 0xff24 /* to Romaji */ +#define XK_Hiragana 0xff25 /* to Hiragana */ +#define XK_Katakana 0xff26 /* to Katakana */ +#define XK_Hiragana_Katakana 0xff27 /* Hiragana/Katakana toggle */ +#define XK_Zenkaku 0xff28 /* to Zenkaku */ +#define XK_Hankaku 0xff29 /* to Hankaku */ +#define XK_Zenkaku_Hankaku 0xff2a /* Zenkaku/Hankaku toggle */ +#define XK_Touroku 0xff2b /* Add to Dictionary */ +#define XK_Massyo 0xff2c /* Delete from Dictionary */ +#define XK_Kana_Lock 0xff2d /* Kana Lock */ +#define XK_Kana_Shift 0xff2e /* Kana Shift */ +#define XK_Eisu_Shift 0xff2f /* Alphanumeric Shift */ +#define XK_Eisu_toggle 0xff30 /* Alphanumeric toggle */ +#define XK_Kanji_Bangou 0xff37 /* Codeinput */ +#define XK_Zen_Koho 0xff3d /* Multiple/All Candidate(s) */ +#define XK_Mae_Koho 0xff3e /* Previous Candidate */ + +/* 0xff31 thru 0xff3f are under XK_KOREAN */ + +/* Cursor control & motion */ + +#define XK_Home 0xff50 +#define XK_Left 0xff51 /* Move left, left arrow */ +#define XK_Up 0xff52 /* Move up, up arrow */ +#define XK_Right 0xff53 /* Move right, right arrow */ +#define XK_Down 0xff54 /* Move down, down arrow */ +#define XK_Prior 0xff55 /* Prior, previous */ +#define XK_Page_Up 0xff55 +#define XK_Next 0xff56 /* Next */ +#define XK_Page_Down 0xff56 +#define XK_End 0xff57 /* EOL */ +#define XK_Begin 0xff58 /* BOL */ + + +/* Misc functions */ + +#define XK_Select 0xff60 /* Select, mark */ +#define XK_Print 0xff61 +#define XK_Execute 0xff62 /* Execute, run, do */ +#define XK_Insert 0xff63 /* Insert, insert here */ +#define XK_Undo 0xff65 +#define XK_Redo 0xff66 /* Redo, again */ +#define XK_Menu 0xff67 +#define XK_Find 0xff68 /* Find, search */ +#define XK_Cancel 0xff69 /* Cancel, stop, abort, exit */ +#define XK_Help 0xff6a /* Help */ +#define XK_Break 0xff6b +#define XK_Mode_switch 0xff7e /* Character set switch */ +#define XK_script_switch 0xff7e /* Alias for mode_switch */ +#define XK_Num_Lock 0xff7f + +/* Keypad functions, keypad numbers cleverly chosen to map to ASCII */ + +#define XK_KP_Space 0xff80 /* Space */ +#define XK_KP_Tab 0xff89 +#define XK_KP_Enter 0xff8d /* Enter */ +#define XK_KP_F1 0xff91 /* PF1, KP_A, ... */ +#define XK_KP_F2 0xff92 +#define XK_KP_F3 0xff93 +#define XK_KP_F4 0xff94 +#define XK_KP_Home 0xff95 +#define XK_KP_Left 0xff96 +#define XK_KP_Up 0xff97 +#define XK_KP_Right 0xff98 +#define XK_KP_Down 0xff99 +#define XK_KP_Prior 0xff9a +#define XK_KP_Page_Up 0xff9a +#define XK_KP_Next 0xff9b +#define XK_KP_Page_Down 0xff9b +#define XK_KP_End 0xff9c +#define XK_KP_Begin 0xff9d +#define XK_KP_Insert 0xff9e +#define XK_KP_Delete 0xff9f +#define XK_KP_Equal 0xffbd /* Equals */ +#define XK_KP_Multiply 0xffaa +#define XK_KP_Add 0xffab +#define XK_KP_Separator 0xffac /* Separator, often comma */ +#define XK_KP_Subtract 0xffad +#define XK_KP_Decimal 0xffae +#define XK_KP_Divide 0xffaf + +#define XK_KP_0 0xffb0 +#define XK_KP_1 0xffb1 +#define XK_KP_2 0xffb2 +#define XK_KP_3 0xffb3 +#define XK_KP_4 0xffb4 +#define XK_KP_5 0xffb5 +#define XK_KP_6 0xffb6 +#define XK_KP_7 0xffb7 +#define XK_KP_8 0xffb8 +#define XK_KP_9 0xffb9 + + + +/* + * Auxiliary functions; note the duplicate definitions for left and right + * function keys; Sun keyboards and a few other manufacturers have such + * function key groups on the left and/or right sides of the keyboard. + * We've not found a keyboard with more than 35 function keys total. + */ + +#define XK_F1 0xffbe +#define XK_F2 0xffbf +#define XK_F3 0xffc0 +#define XK_F4 0xffc1 +#define XK_F5 0xffc2 +#define XK_F6 0xffc3 +#define XK_F7 0xffc4 +#define XK_F8 0xffc5 +#define XK_F9 0xffc6 +#define XK_F10 0xffc7 +#define XK_F11 0xffc8 +#define XK_L1 0xffc8 +#define XK_F12 0xffc9 +#define XK_L2 0xffc9 +#define XK_F13 0xffca +#define XK_L3 0xffca +#define XK_F14 0xffcb +#define XK_L4 0xffcb +#define XK_F15 0xffcc +#define XK_L5 0xffcc +#define XK_F16 0xffcd +#define XK_L6 0xffcd +#define XK_F17 0xffce +#define XK_L7 0xffce +#define XK_F18 0xffcf +#define XK_L8 0xffcf +#define XK_F19 0xffd0 +#define XK_L9 0xffd0 +#define XK_F20 0xffd1 +#define XK_L10 0xffd1 +#define XK_F21 0xffd2 +#define XK_R1 0xffd2 +#define XK_F22 0xffd3 +#define XK_R2 0xffd3 +#define XK_F23 0xffd4 +#define XK_R3 0xffd4 +#define XK_F24 0xffd5 +#define XK_R4 0xffd5 +#define XK_F25 0xffd6 +#define XK_R5 0xffd6 +#define XK_F26 0xffd7 +#define XK_R6 0xffd7 +#define XK_F27 0xffd8 +#define XK_R7 0xffd8 +#define XK_F28 0xffd9 +#define XK_R8 0xffd9 +#define XK_F29 0xffda +#define XK_R9 0xffda +#define XK_F30 0xffdb +#define XK_R10 0xffdb +#define XK_F31 0xffdc +#define XK_R11 0xffdc +#define XK_F32 0xffdd +#define XK_R12 0xffdd +#define XK_F33 0xffde +#define XK_R13 0xffde +#define XK_F34 0xffdf +#define XK_R14 0xffdf +#define XK_F35 0xffe0 +#define XK_R15 0xffe0 + +/* Modifiers */ + +#define XK_Shift_L 0xffe1 /* Left shift */ +#define XK_Shift_R 0xffe2 /* Right shift */ +#define XK_Control_L 0xffe3 /* Left control */ +#define XK_Control_R 0xffe4 /* Right control */ +#define XK_Caps_Lock 0xffe5 /* Caps lock */ +#define XK_Shift_Lock 0xffe6 /* Shift lock */ + +#define XK_Meta_L 0xffe7 /* Left meta */ +#define XK_Meta_R 0xffe8 /* Right meta */ +#define XK_Alt_L 0xffe9 /* Left alt */ +#define XK_Alt_R 0xffea /* Right alt */ +#define XK_Super_L 0xffeb /* Left super */ +#define XK_Super_R 0xffec /* Right super */ +#define XK_Hyper_L 0xffed /* Left hyper */ +#define XK_Hyper_R 0xffee /* Right hyper */ +#endif /* XK_MISCELLANY */ + +/* + * Keyboard (XKB) Extension function and modifier keys + * (from Appendix C of "The X Keyboard Extension: Protocol Specification") + * Byte 3 = 0xfe + */ + +#ifdef XK_XKB_KEYS +#define XK_ISO_Lock 0xfe01 +#define XK_ISO_Level2_Latch 0xfe02 +#define XK_ISO_Level3_Shift 0xfe03 +#define XK_ISO_Level3_Latch 0xfe04 +#define XK_ISO_Level3_Lock 0xfe05 +#define XK_ISO_Level5_Shift 0xfe11 +#define XK_ISO_Level5_Latch 0xfe12 +#define XK_ISO_Level5_Lock 0xfe13 +#define XK_ISO_Group_Shift 0xff7e /* Alias for mode_switch */ +#define XK_ISO_Group_Latch 0xfe06 +#define XK_ISO_Group_Lock 0xfe07 +#define XK_ISO_Next_Group 0xfe08 +#define XK_ISO_Next_Group_Lock 0xfe09 +#define XK_ISO_Prev_Group 0xfe0a +#define XK_ISO_Prev_Group_Lock 0xfe0b +#define XK_ISO_First_Group 0xfe0c +#define XK_ISO_First_Group_Lock 0xfe0d +#define XK_ISO_Last_Group 0xfe0e +#define XK_ISO_Last_Group_Lock 0xfe0f + +#define XK_ISO_Left_Tab 0xfe20 +#define XK_ISO_Move_Line_Up 0xfe21 +#define XK_ISO_Move_Line_Down 0xfe22 +#define XK_ISO_Partial_Line_Up 0xfe23 +#define XK_ISO_Partial_Line_Down 0xfe24 +#define XK_ISO_Partial_Space_Left 0xfe25 +#define XK_ISO_Partial_Space_Right 0xfe26 +#define XK_ISO_Set_Margin_Left 0xfe27 +#define XK_ISO_Set_Margin_Right 0xfe28 +#define XK_ISO_Release_Margin_Left 0xfe29 +#define XK_ISO_Release_Margin_Right 0xfe2a +#define XK_ISO_Release_Both_Margins 0xfe2b +#define XK_ISO_Fast_Cursor_Left 0xfe2c +#define XK_ISO_Fast_Cursor_Right 0xfe2d +#define XK_ISO_Fast_Cursor_Up 0xfe2e +#define XK_ISO_Fast_Cursor_Down 0xfe2f +#define XK_ISO_Continuous_Underline 0xfe30 +#define XK_ISO_Discontinuous_Underline 0xfe31 +#define XK_ISO_Emphasize 0xfe32 +#define XK_ISO_Center_Object 0xfe33 +#define XK_ISO_Enter 0xfe34 + +#define XK_dead_grave 0xfe50 +#define XK_dead_acute 0xfe51 +#define XK_dead_circumflex 0xfe52 +#define XK_dead_tilde 0xfe53 +#define XK_dead_perispomeni 0xfe53 /* alias for dead_tilde */ +#define XK_dead_macron 0xfe54 +#define XK_dead_breve 0xfe55 +#define XK_dead_abovedot 0xfe56 +#define XK_dead_diaeresis 0xfe57 +#define XK_dead_abovering 0xfe58 +#define XK_dead_doubleacute 0xfe59 +#define XK_dead_caron 0xfe5a +#define XK_dead_cedilla 0xfe5b +#define XK_dead_ogonek 0xfe5c +#define XK_dead_iota 0xfe5d +#define XK_dead_voiced_sound 0xfe5e +#define XK_dead_semivoiced_sound 0xfe5f +#define XK_dead_belowdot 0xfe60 +#define XK_dead_hook 0xfe61 +#define XK_dead_horn 0xfe62 +#define XK_dead_stroke 0xfe63 +#define XK_dead_abovecomma 0xfe64 +#define XK_dead_psili 0xfe64 /* alias for dead_abovecomma */ +#define XK_dead_abovereversedcomma 0xfe65 +#define XK_dead_dasia 0xfe65 /* alias for dead_abovereversedcomma */ +#define XK_dead_doublegrave 0xfe66 +#define XK_dead_belowring 0xfe67 +#define XK_dead_belowmacron 0xfe68 +#define XK_dead_belowcircumflex 0xfe69 +#define XK_dead_belowtilde 0xfe6a +#define XK_dead_belowbreve 0xfe6b +#define XK_dead_belowdiaeresis 0xfe6c +#define XK_dead_invertedbreve 0xfe6d +#define XK_dead_belowcomma 0xfe6e +#define XK_dead_currency 0xfe6f + +/* extra dead elements for German T3 layout */ +#define XK_dead_lowline 0xfe90 +#define XK_dead_aboveverticalline 0xfe91 +#define XK_dead_belowverticalline 0xfe92 +#define XK_dead_longsolidusoverlay 0xfe93 + +/* dead vowels for universal syllable entry */ +#define XK_dead_a 0xfe80 +#define XK_dead_A 0xfe81 +#define XK_dead_e 0xfe82 +#define XK_dead_E 0xfe83 +#define XK_dead_i 0xfe84 +#define XK_dead_I 0xfe85 +#define XK_dead_o 0xfe86 +#define XK_dead_O 0xfe87 +#define XK_dead_u 0xfe88 +#define XK_dead_U 0xfe89 +#define XK_dead_small_schwa 0xfe8a +#define XK_dead_capital_schwa 0xfe8b + +#define XK_dead_greek 0xfe8c + +#define XK_First_Virtual_Screen 0xfed0 +#define XK_Prev_Virtual_Screen 0xfed1 +#define XK_Next_Virtual_Screen 0xfed2 +#define XK_Last_Virtual_Screen 0xfed4 +#define XK_Terminate_Server 0xfed5 + +#define XK_AccessX_Enable 0xfe70 +#define XK_AccessX_Feedback_Enable 0xfe71 +#define XK_RepeatKeys_Enable 0xfe72 +#define XK_SlowKeys_Enable 0xfe73 +#define XK_BounceKeys_Enable 0xfe74 +#define XK_StickyKeys_Enable 0xfe75 +#define XK_MouseKeys_Enable 0xfe76 +#define XK_MouseKeys_Accel_Enable 0xfe77 +#define XK_Overlay1_Enable 0xfe78 +#define XK_Overlay2_Enable 0xfe79 +#define XK_AudibleBell_Enable 0xfe7a + +#define XK_Pointer_Left 0xfee0 +#define XK_Pointer_Right 0xfee1 +#define XK_Pointer_Up 0xfee2 +#define XK_Pointer_Down 0xfee3 +#define XK_Pointer_UpLeft 0xfee4 +#define XK_Pointer_UpRight 0xfee5 +#define XK_Pointer_DownLeft 0xfee6 +#define XK_Pointer_DownRight 0xfee7 +#define XK_Pointer_Button_Dflt 0xfee8 +#define XK_Pointer_Button1 0xfee9 +#define XK_Pointer_Button2 0xfeea +#define XK_Pointer_Button3 0xfeeb +#define XK_Pointer_Button4 0xfeec +#define XK_Pointer_Button5 0xfeed +#define XK_Pointer_DblClick_Dflt 0xfeee +#define XK_Pointer_DblClick1 0xfeef +#define XK_Pointer_DblClick2 0xfef0 +#define XK_Pointer_DblClick3 0xfef1 +#define XK_Pointer_DblClick4 0xfef2 +#define XK_Pointer_DblClick5 0xfef3 +#define XK_Pointer_Drag_Dflt 0xfef4 +#define XK_Pointer_Drag1 0xfef5 +#define XK_Pointer_Drag2 0xfef6 +#define XK_Pointer_Drag3 0xfef7 +#define XK_Pointer_Drag4 0xfef8 +#define XK_Pointer_Drag5 0xfefd + +#define XK_Pointer_EnableKeys 0xfef9 +#define XK_Pointer_Accelerate 0xfefa +#define XK_Pointer_DfltBtnNext 0xfefb +#define XK_Pointer_DfltBtnPrev 0xfefc + +/* Single-Stroke Multiple-Character N-Graph Keysyms For The X Input Method */ + +#define XK_ch 0xfea0 +#define XK_Ch 0xfea1 +#define XK_CH 0xfea2 +#define XK_c_h 0xfea3 +#define XK_C_h 0xfea4 +#define XK_C_H 0xfea5 + +#endif /* XK_XKB_KEYS */ + +/* + * 3270 Terminal Keys + * Byte 3 = 0xfd + */ + +#ifdef XK_3270 +#define XK_3270_Duplicate 0xfd01 +#define XK_3270_FieldMark 0xfd02 +#define XK_3270_Right2 0xfd03 +#define XK_3270_Left2 0xfd04 +#define XK_3270_BackTab 0xfd05 +#define XK_3270_EraseEOF 0xfd06 +#define XK_3270_EraseInput 0xfd07 +#define XK_3270_Reset 0xfd08 +#define XK_3270_Quit 0xfd09 +#define XK_3270_PA1 0xfd0a +#define XK_3270_PA2 0xfd0b +#define XK_3270_PA3 0xfd0c +#define XK_3270_Test 0xfd0d +#define XK_3270_Attn 0xfd0e +#define XK_3270_CursorBlink 0xfd0f +#define XK_3270_AltCursor 0xfd10 +#define XK_3270_KeyClick 0xfd11 +#define XK_3270_Jump 0xfd12 +#define XK_3270_Ident 0xfd13 +#define XK_3270_Rule 0xfd14 +#define XK_3270_Copy 0xfd15 +#define XK_3270_Play 0xfd16 +#define XK_3270_Setup 0xfd17 +#define XK_3270_Record 0xfd18 +#define XK_3270_ChangeScreen 0xfd19 +#define XK_3270_DeleteWord 0xfd1a +#define XK_3270_ExSelect 0xfd1b +#define XK_3270_CursorSelect 0xfd1c +#define XK_3270_PrintScreen 0xfd1d +#define XK_3270_Enter 0xfd1e +#endif /* XK_3270 */ + +/* + * Latin 1 + * (ISO/IEC 8859-1 = Unicode U+0020..U+00FF) + * Byte 3 = 0 + */ +#ifdef XK_LATIN1 +#define XK_space 0x0020 /* U+0020 SPACE */ +#define XK_exclam 0x0021 /* U+0021 EXCLAMATION MARK */ +#define XK_quotedbl 0x0022 /* U+0022 QUOTATION MARK */ +#define XK_numbersign 0x0023 /* U+0023 NUMBER SIGN */ +#define XK_dollar 0x0024 /* U+0024 DOLLAR SIGN */ +#define XK_percent 0x0025 /* U+0025 PERCENT SIGN */ +#define XK_ampersand 0x0026 /* U+0026 AMPERSAND */ +#define XK_apostrophe 0x0027 /* U+0027 APOSTROPHE */ +#define XK_quoteright 0x0027 /* deprecated */ +#define XK_parenleft 0x0028 /* U+0028 LEFT PARENTHESIS */ +#define XK_parenright 0x0029 /* U+0029 RIGHT PARENTHESIS */ +#define XK_asterisk 0x002a /* U+002A ASTERISK */ +#define XK_plus 0x002b /* U+002B PLUS SIGN */ +#define XK_comma 0x002c /* U+002C COMMA */ +#define XK_minus 0x002d /* U+002D HYPHEN-MINUS */ +#define XK_period 0x002e /* U+002E FULL STOP */ +#define XK_slash 0x002f /* U+002F SOLIDUS */ +#define XK_0 0x0030 /* U+0030 DIGIT ZERO */ +#define XK_1 0x0031 /* U+0031 DIGIT ONE */ +#define XK_2 0x0032 /* U+0032 DIGIT TWO */ +#define XK_3 0x0033 /* U+0033 DIGIT THREE */ +#define XK_4 0x0034 /* U+0034 DIGIT FOUR */ +#define XK_5 0x0035 /* U+0035 DIGIT FIVE */ +#define XK_6 0x0036 /* U+0036 DIGIT SIX */ +#define XK_7 0x0037 /* U+0037 DIGIT SEVEN */ +#define XK_8 0x0038 /* U+0038 DIGIT EIGHT */ +#define XK_9 0x0039 /* U+0039 DIGIT NINE */ +#define XK_colon 0x003a /* U+003A COLON */ +#define XK_semicolon 0x003b /* U+003B SEMICOLON */ +#define XK_less 0x003c /* U+003C LESS-THAN SIGN */ +#define XK_equal 0x003d /* U+003D EQUALS SIGN */ +#define XK_greater 0x003e /* U+003E GREATER-THAN SIGN */ +#define XK_question 0x003f /* U+003F QUESTION MARK */ +#define XK_at 0x0040 /* U+0040 COMMERCIAL AT */ +#define XK_A 0x0041 /* U+0041 LATIN CAPITAL LETTER A */ +#define XK_B 0x0042 /* U+0042 LATIN CAPITAL LETTER B */ +#define XK_C 0x0043 /* U+0043 LATIN CAPITAL LETTER C */ +#define XK_D 0x0044 /* U+0044 LATIN CAPITAL LETTER D */ +#define XK_E 0x0045 /* U+0045 LATIN CAPITAL LETTER E */ +#define XK_F 0x0046 /* U+0046 LATIN CAPITAL LETTER F */ +#define XK_G 0x0047 /* U+0047 LATIN CAPITAL LETTER G */ +#define XK_H 0x0048 /* U+0048 LATIN CAPITAL LETTER H */ +#define XK_I 0x0049 /* U+0049 LATIN CAPITAL LETTER I */ +#define XK_J 0x004a /* U+004A LATIN CAPITAL LETTER J */ +#define XK_K 0x004b /* U+004B LATIN CAPITAL LETTER K */ +#define XK_L 0x004c /* U+004C LATIN CAPITAL LETTER L */ +#define XK_M 0x004d /* U+004D LATIN CAPITAL LETTER M */ +#define XK_N 0x004e /* U+004E LATIN CAPITAL LETTER N */ +#define XK_O 0x004f /* U+004F LATIN CAPITAL LETTER O */ +#define XK_P 0x0050 /* U+0050 LATIN CAPITAL LETTER P */ +#define XK_Q 0x0051 /* U+0051 LATIN CAPITAL LETTER Q */ +#define XK_R 0x0052 /* U+0052 LATIN CAPITAL LETTER R */ +#define XK_S 0x0053 /* U+0053 LATIN CAPITAL LETTER S */ +#define XK_T 0x0054 /* U+0054 LATIN CAPITAL LETTER T */ +#define XK_U 0x0055 /* U+0055 LATIN CAPITAL LETTER U */ +#define XK_V 0x0056 /* U+0056 LATIN CAPITAL LETTER V */ +#define XK_W 0x0057 /* U+0057 LATIN CAPITAL LETTER W */ +#define XK_X 0x0058 /* U+0058 LATIN CAPITAL LETTER X */ +#define XK_Y 0x0059 /* U+0059 LATIN CAPITAL LETTER Y */ +#define XK_Z 0x005a /* U+005A LATIN CAPITAL LETTER Z */ +#define XK_bracketleft 0x005b /* U+005B LEFT SQUARE BRACKET */ +#define XK_backslash 0x005c /* U+005C REVERSE SOLIDUS */ +#define XK_bracketright 0x005d /* U+005D RIGHT SQUARE BRACKET */ +#define XK_asciicircum 0x005e /* U+005E CIRCUMFLEX ACCENT */ +#define XK_underscore 0x005f /* U+005F LOW LINE */ +#define XK_grave 0x0060 /* U+0060 GRAVE ACCENT */ +#define XK_quoteleft 0x0060 /* deprecated */ +#define XK_a 0x0061 /* U+0061 LATIN SMALL LETTER A */ +#define XK_b 0x0062 /* U+0062 LATIN SMALL LETTER B */ +#define XK_c 0x0063 /* U+0063 LATIN SMALL LETTER C */ +#define XK_d 0x0064 /* U+0064 LATIN SMALL LETTER D */ +#define XK_e 0x0065 /* U+0065 LATIN SMALL LETTER E */ +#define XK_f 0x0066 /* U+0066 LATIN SMALL LETTER F */ +#define XK_g 0x0067 /* U+0067 LATIN SMALL LETTER G */ +#define XK_h 0x0068 /* U+0068 LATIN SMALL LETTER H */ +#define XK_i 0x0069 /* U+0069 LATIN SMALL LETTER I */ +#define XK_j 0x006a /* U+006A LATIN SMALL LETTER J */ +#define XK_k 0x006b /* U+006B LATIN SMALL LETTER K */ +#define XK_l 0x006c /* U+006C LATIN SMALL LETTER L */ +#define XK_m 0x006d /* U+006D LATIN SMALL LETTER M */ +#define XK_n 0x006e /* U+006E LATIN SMALL LETTER N */ +#define XK_o 0x006f /* U+006F LATIN SMALL LETTER O */ +#define XK_p 0x0070 /* U+0070 LATIN SMALL LETTER P */ +#define XK_q 0x0071 /* U+0071 LATIN SMALL LETTER Q */ +#define XK_r 0x0072 /* U+0072 LATIN SMALL LETTER R */ +#define XK_s 0x0073 /* U+0073 LATIN SMALL LETTER S */ +#define XK_t 0x0074 /* U+0074 LATIN SMALL LETTER T */ +#define XK_u 0x0075 /* U+0075 LATIN SMALL LETTER U */ +#define XK_v 0x0076 /* U+0076 LATIN SMALL LETTER V */ +#define XK_w 0x0077 /* U+0077 LATIN SMALL LETTER W */ +#define XK_x 0x0078 /* U+0078 LATIN SMALL LETTER X */ +#define XK_y 0x0079 /* U+0079 LATIN SMALL LETTER Y */ +#define XK_z 0x007a /* U+007A LATIN SMALL LETTER Z */ +#define XK_braceleft 0x007b /* U+007B LEFT CURLY BRACKET */ +#define XK_bar 0x007c /* U+007C VERTICAL LINE */ +#define XK_braceright 0x007d /* U+007D RIGHT CURLY BRACKET */ +#define XK_asciitilde 0x007e /* U+007E TILDE */ + +#define XK_nobreakspace 0x00a0 /* U+00A0 NO-BREAK SPACE */ +#define XK_exclamdown 0x00a1 /* U+00A1 INVERTED EXCLAMATION MARK */ +#define XK_cent 0x00a2 /* U+00A2 CENT SIGN */ +#define XK_sterling 0x00a3 /* U+00A3 POUND SIGN */ +#define XK_currency 0x00a4 /* U+00A4 CURRENCY SIGN */ +#define XK_yen 0x00a5 /* U+00A5 YEN SIGN */ +#define XK_brokenbar 0x00a6 /* U+00A6 BROKEN BAR */ +#define XK_section 0x00a7 /* U+00A7 SECTION SIGN */ +#define XK_diaeresis 0x00a8 /* U+00A8 DIAERESIS */ +#define XK_copyright 0x00a9 /* U+00A9 COPYRIGHT SIGN */ +#define XK_ordfeminine 0x00aa /* U+00AA FEMININE ORDINAL INDICATOR */ +#define XK_guillemotleft 0x00ab /* U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ +#define XK_notsign 0x00ac /* U+00AC NOT SIGN */ +#define XK_hyphen 0x00ad /* U+00AD SOFT HYPHEN */ +#define XK_registered 0x00ae /* U+00AE REGISTERED SIGN */ +#define XK_macron 0x00af /* U+00AF MACRON */ +#define XK_degree 0x00b0 /* U+00B0 DEGREE SIGN */ +#define XK_plusminus 0x00b1 /* U+00B1 PLUS-MINUS SIGN */ +#define XK_twosuperior 0x00b2 /* U+00B2 SUPERSCRIPT TWO */ +#define XK_threesuperior 0x00b3 /* U+00B3 SUPERSCRIPT THREE */ +#define XK_acute 0x00b4 /* U+00B4 ACUTE ACCENT */ +#define XK_mu 0x00b5 /* U+00B5 MICRO SIGN */ +#define XK_paragraph 0x00b6 /* U+00B6 PILCROW SIGN */ +#define XK_periodcentered 0x00b7 /* U+00B7 MIDDLE DOT */ +#define XK_cedilla 0x00b8 /* U+00B8 CEDILLA */ +#define XK_onesuperior 0x00b9 /* U+00B9 SUPERSCRIPT ONE */ +#define XK_masculine 0x00ba /* U+00BA MASCULINE ORDINAL INDICATOR */ +#define XK_guillemotright 0x00bb /* U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ +#define XK_onequarter 0x00bc /* U+00BC VULGAR FRACTION ONE QUARTER */ +#define XK_onehalf 0x00bd /* U+00BD VULGAR FRACTION ONE HALF */ +#define XK_threequarters 0x00be /* U+00BE VULGAR FRACTION THREE QUARTERS */ +#define XK_questiondown 0x00bf /* U+00BF INVERTED QUESTION MARK */ +#define XK_Agrave 0x00c0 /* U+00C0 LATIN CAPITAL LETTER A WITH GRAVE */ +#define XK_Aacute 0x00c1 /* U+00C1 LATIN CAPITAL LETTER A WITH ACUTE */ +#define XK_Acircumflex 0x00c2 /* U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX */ +#define XK_Atilde 0x00c3 /* U+00C3 LATIN CAPITAL LETTER A WITH TILDE */ +#define XK_Adiaeresis 0x00c4 /* U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS */ +#define XK_Aring 0x00c5 /* U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE */ +#define XK_AE 0x00c6 /* U+00C6 LATIN CAPITAL LETTER AE */ +#define XK_Ccedilla 0x00c7 /* U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA */ +#define XK_Egrave 0x00c8 /* U+00C8 LATIN CAPITAL LETTER E WITH GRAVE */ +#define XK_Eacute 0x00c9 /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */ +#define XK_Ecircumflex 0x00ca /* U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX */ +#define XK_Ediaeresis 0x00cb /* U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS */ +#define XK_Igrave 0x00cc /* U+00CC LATIN CAPITAL LETTER I WITH GRAVE */ +#define XK_Iacute 0x00cd /* U+00CD LATIN CAPITAL LETTER I WITH ACUTE */ +#define XK_Icircumflex 0x00ce /* U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX */ +#define XK_Idiaeresis 0x00cf /* U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS */ +#define XK_ETH 0x00d0 /* U+00D0 LATIN CAPITAL LETTER ETH */ +#define XK_Eth 0x00d0 /* deprecated */ +#define XK_Ntilde 0x00d1 /* U+00D1 LATIN CAPITAL LETTER N WITH TILDE */ +#define XK_Ograve 0x00d2 /* U+00D2 LATIN CAPITAL LETTER O WITH GRAVE */ +#define XK_Oacute 0x00d3 /* U+00D3 LATIN CAPITAL LETTER O WITH ACUTE */ +#define XK_Ocircumflex 0x00d4 /* U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX */ +#define XK_Otilde 0x00d5 /* U+00D5 LATIN CAPITAL LETTER O WITH TILDE */ +#define XK_Odiaeresis 0x00d6 /* U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS */ +#define XK_multiply 0x00d7 /* U+00D7 MULTIPLICATION SIGN */ +#define XK_Oslash 0x00d8 /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */ +#define XK_Ooblique 0x00d8 /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */ +#define XK_Ugrave 0x00d9 /* U+00D9 LATIN CAPITAL LETTER U WITH GRAVE */ +#define XK_Uacute 0x00da /* U+00DA LATIN CAPITAL LETTER U WITH ACUTE */ +#define XK_Ucircumflex 0x00db /* U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX */ +#define XK_Udiaeresis 0x00dc /* U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS */ +#define XK_Yacute 0x00dd /* U+00DD LATIN CAPITAL LETTER Y WITH ACUTE */ +#define XK_THORN 0x00de /* U+00DE LATIN CAPITAL LETTER THORN */ +#define XK_Thorn 0x00de /* deprecated */ +#define XK_ssharp 0x00df /* U+00DF LATIN SMALL LETTER SHARP S */ +#define XK_agrave 0x00e0 /* U+00E0 LATIN SMALL LETTER A WITH GRAVE */ +#define XK_aacute 0x00e1 /* U+00E1 LATIN SMALL LETTER A WITH ACUTE */ +#define XK_acircumflex 0x00e2 /* U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX */ +#define XK_atilde 0x00e3 /* U+00E3 LATIN SMALL LETTER A WITH TILDE */ +#define XK_adiaeresis 0x00e4 /* U+00E4 LATIN SMALL LETTER A WITH DIAERESIS */ +#define XK_aring 0x00e5 /* U+00E5 LATIN SMALL LETTER A WITH RING ABOVE */ +#define XK_ae 0x00e6 /* U+00E6 LATIN SMALL LETTER AE */ +#define XK_ccedilla 0x00e7 /* U+00E7 LATIN SMALL LETTER C WITH CEDILLA */ +#define XK_egrave 0x00e8 /* U+00E8 LATIN SMALL LETTER E WITH GRAVE */ +#define XK_eacute 0x00e9 /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */ +#define XK_ecircumflex 0x00ea /* U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX */ +#define XK_ediaeresis 0x00eb /* U+00EB LATIN SMALL LETTER E WITH DIAERESIS */ +#define XK_igrave 0x00ec /* U+00EC LATIN SMALL LETTER I WITH GRAVE */ +#define XK_iacute 0x00ed /* U+00ED LATIN SMALL LETTER I WITH ACUTE */ +#define XK_icircumflex 0x00ee /* U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX */ +#define XK_idiaeresis 0x00ef /* U+00EF LATIN SMALL LETTER I WITH DIAERESIS */ +#define XK_eth 0x00f0 /* U+00F0 LATIN SMALL LETTER ETH */ +#define XK_ntilde 0x00f1 /* U+00F1 LATIN SMALL LETTER N WITH TILDE */ +#define XK_ograve 0x00f2 /* U+00F2 LATIN SMALL LETTER O WITH GRAVE */ +#define XK_oacute 0x00f3 /* U+00F3 LATIN SMALL LETTER O WITH ACUTE */ +#define XK_ocircumflex 0x00f4 /* U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX */ +#define XK_otilde 0x00f5 /* U+00F5 LATIN SMALL LETTER O WITH TILDE */ +#define XK_odiaeresis 0x00f6 /* U+00F6 LATIN SMALL LETTER O WITH DIAERESIS */ +#define XK_division 0x00f7 /* U+00F7 DIVISION SIGN */ +#define XK_oslash 0x00f8 /* U+00F8 LATIN SMALL LETTER O WITH STROKE */ +#define XK_ooblique 0x00f8 /* U+00F8 LATIN SMALL LETTER O WITH STROKE */ +#define XK_ugrave 0x00f9 /* U+00F9 LATIN SMALL LETTER U WITH GRAVE */ +#define XK_uacute 0x00fa /* U+00FA LATIN SMALL LETTER U WITH ACUTE */ +#define XK_ucircumflex 0x00fb /* U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX */ +#define XK_udiaeresis 0x00fc /* U+00FC LATIN SMALL LETTER U WITH DIAERESIS */ +#define XK_yacute 0x00fd /* U+00FD LATIN SMALL LETTER Y WITH ACUTE */ +#define XK_thorn 0x00fe /* U+00FE LATIN SMALL LETTER THORN */ +#define XK_ydiaeresis 0x00ff /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */ +#endif /* XK_LATIN1 */ + +/* + * Latin 2 + * Byte 3 = 1 + */ + +#ifdef XK_LATIN2 +#define XK_Aogonek 0x01a1 /* U+0104 LATIN CAPITAL LETTER A WITH OGONEK */ +#define XK_breve 0x01a2 /* U+02D8 BREVE */ +#define XK_Lstroke 0x01a3 /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */ +#define XK_Lcaron 0x01a5 /* U+013D LATIN CAPITAL LETTER L WITH CARON */ +#define XK_Sacute 0x01a6 /* U+015A LATIN CAPITAL LETTER S WITH ACUTE */ +#define XK_Scaron 0x01a9 /* U+0160 LATIN CAPITAL LETTER S WITH CARON */ +#define XK_Scedilla 0x01aa /* U+015E LATIN CAPITAL LETTER S WITH CEDILLA */ +#define XK_Tcaron 0x01ab /* U+0164 LATIN CAPITAL LETTER T WITH CARON */ +#define XK_Zacute 0x01ac /* U+0179 LATIN CAPITAL LETTER Z WITH ACUTE */ +#define XK_Zcaron 0x01ae /* U+017D LATIN CAPITAL LETTER Z WITH CARON */ +#define XK_Zabovedot 0x01af /* U+017B LATIN CAPITAL LETTER Z WITH DOT ABOVE */ +#define XK_aogonek 0x01b1 /* U+0105 LATIN SMALL LETTER A WITH OGONEK */ +#define XK_ogonek 0x01b2 /* U+02DB OGONEK */ +#define XK_lstroke 0x01b3 /* U+0142 LATIN SMALL LETTER L WITH STROKE */ +#define XK_lcaron 0x01b5 /* U+013E LATIN SMALL LETTER L WITH CARON */ +#define XK_sacute 0x01b6 /* U+015B LATIN SMALL LETTER S WITH ACUTE */ +#define XK_caron 0x01b7 /* U+02C7 CARON */ +#define XK_scaron 0x01b9 /* U+0161 LATIN SMALL LETTER S WITH CARON */ +#define XK_scedilla 0x01ba /* U+015F LATIN SMALL LETTER S WITH CEDILLA */ +#define XK_tcaron 0x01bb /* U+0165 LATIN SMALL LETTER T WITH CARON */ +#define XK_zacute 0x01bc /* U+017A LATIN SMALL LETTER Z WITH ACUTE */ +#define XK_doubleacute 0x01bd /* U+02DD DOUBLE ACUTE ACCENT */ +#define XK_zcaron 0x01be /* U+017E LATIN SMALL LETTER Z WITH CARON */ +#define XK_zabovedot 0x01bf /* U+017C LATIN SMALL LETTER Z WITH DOT ABOVE */ +#define XK_Racute 0x01c0 /* U+0154 LATIN CAPITAL LETTER R WITH ACUTE */ +#define XK_Abreve 0x01c3 /* U+0102 LATIN CAPITAL LETTER A WITH BREVE */ +#define XK_Lacute 0x01c5 /* U+0139 LATIN CAPITAL LETTER L WITH ACUTE */ +#define XK_Cacute 0x01c6 /* U+0106 LATIN CAPITAL LETTER C WITH ACUTE */ +#define XK_Ccaron 0x01c8 /* U+010C LATIN CAPITAL LETTER C WITH CARON */ +#define XK_Eogonek 0x01ca /* U+0118 LATIN CAPITAL LETTER E WITH OGONEK */ +#define XK_Ecaron 0x01cc /* U+011A LATIN CAPITAL LETTER E WITH CARON */ +#define XK_Dcaron 0x01cf /* U+010E LATIN CAPITAL LETTER D WITH CARON */ +#define XK_Dstroke 0x01d0 /* U+0110 LATIN CAPITAL LETTER D WITH STROKE */ +#define XK_Nacute 0x01d1 /* U+0143 LATIN CAPITAL LETTER N WITH ACUTE */ +#define XK_Ncaron 0x01d2 /* U+0147 LATIN CAPITAL LETTER N WITH CARON */ +#define XK_Odoubleacute 0x01d5 /* U+0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */ +#define XK_Rcaron 0x01d8 /* U+0158 LATIN CAPITAL LETTER R WITH CARON */ +#define XK_Uring 0x01d9 /* U+016E LATIN CAPITAL LETTER U WITH RING ABOVE */ +#define XK_Udoubleacute 0x01db /* U+0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */ +#define XK_Tcedilla 0x01de /* U+0162 LATIN CAPITAL LETTER T WITH CEDILLA */ +#define XK_racute 0x01e0 /* U+0155 LATIN SMALL LETTER R WITH ACUTE */ +#define XK_abreve 0x01e3 /* U+0103 LATIN SMALL LETTER A WITH BREVE */ +#define XK_lacute 0x01e5 /* U+013A LATIN SMALL LETTER L WITH ACUTE */ +#define XK_cacute 0x01e6 /* U+0107 LATIN SMALL LETTER C WITH ACUTE */ +#define XK_ccaron 0x01e8 /* U+010D LATIN SMALL LETTER C WITH CARON */ +#define XK_eogonek 0x01ea /* U+0119 LATIN SMALL LETTER E WITH OGONEK */ +#define XK_ecaron 0x01ec /* U+011B LATIN SMALL LETTER E WITH CARON */ +#define XK_dcaron 0x01ef /* U+010F LATIN SMALL LETTER D WITH CARON */ +#define XK_dstroke 0x01f0 /* U+0111 LATIN SMALL LETTER D WITH STROKE */ +#define XK_nacute 0x01f1 /* U+0144 LATIN SMALL LETTER N WITH ACUTE */ +#define XK_ncaron 0x01f2 /* U+0148 LATIN SMALL LETTER N WITH CARON */ +#define XK_odoubleacute 0x01f5 /* U+0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE */ +#define XK_rcaron 0x01f8 /* U+0159 LATIN SMALL LETTER R WITH CARON */ +#define XK_uring 0x01f9 /* U+016F LATIN SMALL LETTER U WITH RING ABOVE */ +#define XK_udoubleacute 0x01fb /* U+0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE */ +#define XK_tcedilla 0x01fe /* U+0163 LATIN SMALL LETTER T WITH CEDILLA */ +#define XK_abovedot 0x01ff /* U+02D9 DOT ABOVE */ +#endif /* XK_LATIN2 */ + +/* + * Latin 3 + * Byte 3 = 2 + */ + +#ifdef XK_LATIN3 +#define XK_Hstroke 0x02a1 /* U+0126 LATIN CAPITAL LETTER H WITH STROKE */ +#define XK_Hcircumflex 0x02a6 /* U+0124 LATIN CAPITAL LETTER H WITH CIRCUMFLEX */ +#define XK_Iabovedot 0x02a9 /* U+0130 LATIN CAPITAL LETTER I WITH DOT ABOVE */ +#define XK_Gbreve 0x02ab /* U+011E LATIN CAPITAL LETTER G WITH BREVE */ +#define XK_Jcircumflex 0x02ac /* U+0134 LATIN CAPITAL LETTER J WITH CIRCUMFLEX */ +#define XK_hstroke 0x02b1 /* U+0127 LATIN SMALL LETTER H WITH STROKE */ +#define XK_hcircumflex 0x02b6 /* U+0125 LATIN SMALL LETTER H WITH CIRCUMFLEX */ +#define XK_idotless 0x02b9 /* U+0131 LATIN SMALL LETTER DOTLESS I */ +#define XK_gbreve 0x02bb /* U+011F LATIN SMALL LETTER G WITH BREVE */ +#define XK_jcircumflex 0x02bc /* U+0135 LATIN SMALL LETTER J WITH CIRCUMFLEX */ +#define XK_Cabovedot 0x02c5 /* U+010A LATIN CAPITAL LETTER C WITH DOT ABOVE */ +#define XK_Ccircumflex 0x02c6 /* U+0108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX */ +#define XK_Gabovedot 0x02d5 /* U+0120 LATIN CAPITAL LETTER G WITH DOT ABOVE */ +#define XK_Gcircumflex 0x02d8 /* U+011C LATIN CAPITAL LETTER G WITH CIRCUMFLEX */ +#define XK_Ubreve 0x02dd /* U+016C LATIN CAPITAL LETTER U WITH BREVE */ +#define XK_Scircumflex 0x02de /* U+015C LATIN CAPITAL LETTER S WITH CIRCUMFLEX */ +#define XK_cabovedot 0x02e5 /* U+010B LATIN SMALL LETTER C WITH DOT ABOVE */ +#define XK_ccircumflex 0x02e6 /* U+0109 LATIN SMALL LETTER C WITH CIRCUMFLEX */ +#define XK_gabovedot 0x02f5 /* U+0121 LATIN SMALL LETTER G WITH DOT ABOVE */ +#define XK_gcircumflex 0x02f8 /* U+011D LATIN SMALL LETTER G WITH CIRCUMFLEX */ +#define XK_ubreve 0x02fd /* U+016D LATIN SMALL LETTER U WITH BREVE */ +#define XK_scircumflex 0x02fe /* U+015D LATIN SMALL LETTER S WITH CIRCUMFLEX */ +#endif /* XK_LATIN3 */ + + +/* + * Latin 4 + * Byte 3 = 3 + */ + +#ifdef XK_LATIN4 +#define XK_kra 0x03a2 /* U+0138 LATIN SMALL LETTER KRA */ +#define XK_kappa 0x03a2 /* deprecated */ +#define XK_Rcedilla 0x03a3 /* U+0156 LATIN CAPITAL LETTER R WITH CEDILLA */ +#define XK_Itilde 0x03a5 /* U+0128 LATIN CAPITAL LETTER I WITH TILDE */ +#define XK_Lcedilla 0x03a6 /* U+013B LATIN CAPITAL LETTER L WITH CEDILLA */ +#define XK_Emacron 0x03aa /* U+0112 LATIN CAPITAL LETTER E WITH MACRON */ +#define XK_Gcedilla 0x03ab /* U+0122 LATIN CAPITAL LETTER G WITH CEDILLA */ +#define XK_Tslash 0x03ac /* U+0166 LATIN CAPITAL LETTER T WITH STROKE */ +#define XK_rcedilla 0x03b3 /* U+0157 LATIN SMALL LETTER R WITH CEDILLA */ +#define XK_itilde 0x03b5 /* U+0129 LATIN SMALL LETTER I WITH TILDE */ +#define XK_lcedilla 0x03b6 /* U+013C LATIN SMALL LETTER L WITH CEDILLA */ +#define XK_emacron 0x03ba /* U+0113 LATIN SMALL LETTER E WITH MACRON */ +#define XK_gcedilla 0x03bb /* U+0123 LATIN SMALL LETTER G WITH CEDILLA */ +#define XK_tslash 0x03bc /* U+0167 LATIN SMALL LETTER T WITH STROKE */ +#define XK_ENG 0x03bd /* U+014A LATIN CAPITAL LETTER ENG */ +#define XK_eng 0x03bf /* U+014B LATIN SMALL LETTER ENG */ +#define XK_Amacron 0x03c0 /* U+0100 LATIN CAPITAL LETTER A WITH MACRON */ +#define XK_Iogonek 0x03c7 /* U+012E LATIN CAPITAL LETTER I WITH OGONEK */ +#define XK_Eabovedot 0x03cc /* U+0116 LATIN CAPITAL LETTER E WITH DOT ABOVE */ +#define XK_Imacron 0x03cf /* U+012A LATIN CAPITAL LETTER I WITH MACRON */ +#define XK_Ncedilla 0x03d1 /* U+0145 LATIN CAPITAL LETTER N WITH CEDILLA */ +#define XK_Omacron 0x03d2 /* U+014C LATIN CAPITAL LETTER O WITH MACRON */ +#define XK_Kcedilla 0x03d3 /* U+0136 LATIN CAPITAL LETTER K WITH CEDILLA */ +#define XK_Uogonek 0x03d9 /* U+0172 LATIN CAPITAL LETTER U WITH OGONEK */ +#define XK_Utilde 0x03dd /* U+0168 LATIN CAPITAL LETTER U WITH TILDE */ +#define XK_Umacron 0x03de /* U+016A LATIN CAPITAL LETTER U WITH MACRON */ +#define XK_amacron 0x03e0 /* U+0101 LATIN SMALL LETTER A WITH MACRON */ +#define XK_iogonek 0x03e7 /* U+012F LATIN SMALL LETTER I WITH OGONEK */ +#define XK_eabovedot 0x03ec /* U+0117 LATIN SMALL LETTER E WITH DOT ABOVE */ +#define XK_imacron 0x03ef /* U+012B LATIN SMALL LETTER I WITH MACRON */ +#define XK_ncedilla 0x03f1 /* U+0146 LATIN SMALL LETTER N WITH CEDILLA */ +#define XK_omacron 0x03f2 /* U+014D LATIN SMALL LETTER O WITH MACRON */ +#define XK_kcedilla 0x03f3 /* U+0137 LATIN SMALL LETTER K WITH CEDILLA */ +#define XK_uogonek 0x03f9 /* U+0173 LATIN SMALL LETTER U WITH OGONEK */ +#define XK_utilde 0x03fd /* U+0169 LATIN SMALL LETTER U WITH TILDE */ +#define XK_umacron 0x03fe /* U+016B LATIN SMALL LETTER U WITH MACRON */ +#endif /* XK_LATIN4 */ + +/* + * Latin 8 + */ +#ifdef XK_LATIN8 +#define XK_Wcircumflex 0x1000174 /* U+0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX */ +#define XK_wcircumflex 0x1000175 /* U+0175 LATIN SMALL LETTER W WITH CIRCUMFLEX */ +#define XK_Ycircumflex 0x1000176 /* U+0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX */ +#define XK_ycircumflex 0x1000177 /* U+0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX */ +#define XK_Babovedot 0x1001e02 /* U+1E02 LATIN CAPITAL LETTER B WITH DOT ABOVE */ +#define XK_babovedot 0x1001e03 /* U+1E03 LATIN SMALL LETTER B WITH DOT ABOVE */ +#define XK_Dabovedot 0x1001e0a /* U+1E0A LATIN CAPITAL LETTER D WITH DOT ABOVE */ +#define XK_dabovedot 0x1001e0b /* U+1E0B LATIN SMALL LETTER D WITH DOT ABOVE */ +#define XK_Fabovedot 0x1001e1e /* U+1E1E LATIN CAPITAL LETTER F WITH DOT ABOVE */ +#define XK_fabovedot 0x1001e1f /* U+1E1F LATIN SMALL LETTER F WITH DOT ABOVE */ +#define XK_Mabovedot 0x1001e40 /* U+1E40 LATIN CAPITAL LETTER M WITH DOT ABOVE */ +#define XK_mabovedot 0x1001e41 /* U+1E41 LATIN SMALL LETTER M WITH DOT ABOVE */ +#define XK_Pabovedot 0x1001e56 /* U+1E56 LATIN CAPITAL LETTER P WITH DOT ABOVE */ +#define XK_pabovedot 0x1001e57 /* U+1E57 LATIN SMALL LETTER P WITH DOT ABOVE */ +#define XK_Sabovedot 0x1001e60 /* U+1E60 LATIN CAPITAL LETTER S WITH DOT ABOVE */ +#define XK_sabovedot 0x1001e61 /* U+1E61 LATIN SMALL LETTER S WITH DOT ABOVE */ +#define XK_Tabovedot 0x1001e6a /* U+1E6A LATIN CAPITAL LETTER T WITH DOT ABOVE */ +#define XK_tabovedot 0x1001e6b /* U+1E6B LATIN SMALL LETTER T WITH DOT ABOVE */ +#define XK_Wgrave 0x1001e80 /* U+1E80 LATIN CAPITAL LETTER W WITH GRAVE */ +#define XK_wgrave 0x1001e81 /* U+1E81 LATIN SMALL LETTER W WITH GRAVE */ +#define XK_Wacute 0x1001e82 /* U+1E82 LATIN CAPITAL LETTER W WITH ACUTE */ +#define XK_wacute 0x1001e83 /* U+1E83 LATIN SMALL LETTER W WITH ACUTE */ +#define XK_Wdiaeresis 0x1001e84 /* U+1E84 LATIN CAPITAL LETTER W WITH DIAERESIS */ +#define XK_wdiaeresis 0x1001e85 /* U+1E85 LATIN SMALL LETTER W WITH DIAERESIS */ +#define XK_Ygrave 0x1001ef2 /* U+1EF2 LATIN CAPITAL LETTER Y WITH GRAVE */ +#define XK_ygrave 0x1001ef3 /* U+1EF3 LATIN SMALL LETTER Y WITH GRAVE */ +#endif /* XK_LATIN8 */ + +/* + * Latin 9 + * Byte 3 = 0x13 + */ + +#ifdef XK_LATIN9 +#define XK_OE 0x13bc /* U+0152 LATIN CAPITAL LIGATURE OE */ +#define XK_oe 0x13bd /* U+0153 LATIN SMALL LIGATURE OE */ +#define XK_Ydiaeresis 0x13be /* U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS */ +#endif /* XK_LATIN9 */ + +/* + * Katakana + * Byte 3 = 4 + */ + +#ifdef XK_KATAKANA +#define XK_overline 0x047e /* U+203E OVERLINE */ +#define XK_kana_fullstop 0x04a1 /* U+3002 IDEOGRAPHIC FULL STOP */ +#define XK_kana_openingbracket 0x04a2 /* U+300C LEFT CORNER BRACKET */ +#define XK_kana_closingbracket 0x04a3 /* U+300D RIGHT CORNER BRACKET */ +#define XK_kana_comma 0x04a4 /* U+3001 IDEOGRAPHIC COMMA */ +#define XK_kana_conjunctive 0x04a5 /* U+30FB KATAKANA MIDDLE DOT */ +#define XK_kana_middledot 0x04a5 /* deprecated */ +#define XK_kana_WO 0x04a6 /* U+30F2 KATAKANA LETTER WO */ +#define XK_kana_a 0x04a7 /* U+30A1 KATAKANA LETTER SMALL A */ +#define XK_kana_i 0x04a8 /* U+30A3 KATAKANA LETTER SMALL I */ +#define XK_kana_u 0x04a9 /* U+30A5 KATAKANA LETTER SMALL U */ +#define XK_kana_e 0x04aa /* U+30A7 KATAKANA LETTER SMALL E */ +#define XK_kana_o 0x04ab /* U+30A9 KATAKANA LETTER SMALL O */ +#define XK_kana_ya 0x04ac /* U+30E3 KATAKANA LETTER SMALL YA */ +#define XK_kana_yu 0x04ad /* U+30E5 KATAKANA LETTER SMALL YU */ +#define XK_kana_yo 0x04ae /* U+30E7 KATAKANA LETTER SMALL YO */ +#define XK_kana_tsu 0x04af /* U+30C3 KATAKANA LETTER SMALL TU */ +#define XK_kana_tu 0x04af /* deprecated */ +#define XK_prolongedsound 0x04b0 /* U+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK */ +#define XK_kana_A 0x04b1 /* U+30A2 KATAKANA LETTER A */ +#define XK_kana_I 0x04b2 /* U+30A4 KATAKANA LETTER I */ +#define XK_kana_U 0x04b3 /* U+30A6 KATAKANA LETTER U */ +#define XK_kana_E 0x04b4 /* U+30A8 KATAKANA LETTER E */ +#define XK_kana_O 0x04b5 /* U+30AA KATAKANA LETTER O */ +#define XK_kana_KA 0x04b6 /* U+30AB KATAKANA LETTER KA */ +#define XK_kana_KI 0x04b7 /* U+30AD KATAKANA LETTER KI */ +#define XK_kana_KU 0x04b8 /* U+30AF KATAKANA LETTER KU */ +#define XK_kana_KE 0x04b9 /* U+30B1 KATAKANA LETTER KE */ +#define XK_kana_KO 0x04ba /* U+30B3 KATAKANA LETTER KO */ +#define XK_kana_SA 0x04bb /* U+30B5 KATAKANA LETTER SA */ +#define XK_kana_SHI 0x04bc /* U+30B7 KATAKANA LETTER SI */ +#define XK_kana_SU 0x04bd /* U+30B9 KATAKANA LETTER SU */ +#define XK_kana_SE 0x04be /* U+30BB KATAKANA LETTER SE */ +#define XK_kana_SO 0x04bf /* U+30BD KATAKANA LETTER SO */ +#define XK_kana_TA 0x04c0 /* U+30BF KATAKANA LETTER TA */ +#define XK_kana_CHI 0x04c1 /* U+30C1 KATAKANA LETTER TI */ +#define XK_kana_TI 0x04c1 /* deprecated */ +#define XK_kana_TSU 0x04c2 /* U+30C4 KATAKANA LETTER TU */ +#define XK_kana_TU 0x04c2 /* deprecated */ +#define XK_kana_TE 0x04c3 /* U+30C6 KATAKANA LETTER TE */ +#define XK_kana_TO 0x04c4 /* U+30C8 KATAKANA LETTER TO */ +#define XK_kana_NA 0x04c5 /* U+30CA KATAKANA LETTER NA */ +#define XK_kana_NI 0x04c6 /* U+30CB KATAKANA LETTER NI */ +#define XK_kana_NU 0x04c7 /* U+30CC KATAKANA LETTER NU */ +#define XK_kana_NE 0x04c8 /* U+30CD KATAKANA LETTER NE */ +#define XK_kana_NO 0x04c9 /* U+30CE KATAKANA LETTER NO */ +#define XK_kana_HA 0x04ca /* U+30CF KATAKANA LETTER HA */ +#define XK_kana_HI 0x04cb /* U+30D2 KATAKANA LETTER HI */ +#define XK_kana_FU 0x04cc /* U+30D5 KATAKANA LETTER HU */ +#define XK_kana_HU 0x04cc /* deprecated */ +#define XK_kana_HE 0x04cd /* U+30D8 KATAKANA LETTER HE */ +#define XK_kana_HO 0x04ce /* U+30DB KATAKANA LETTER HO */ +#define XK_kana_MA 0x04cf /* U+30DE KATAKANA LETTER MA */ +#define XK_kana_MI 0x04d0 /* U+30DF KATAKANA LETTER MI */ +#define XK_kana_MU 0x04d1 /* U+30E0 KATAKANA LETTER MU */ +#define XK_kana_ME 0x04d2 /* U+30E1 KATAKANA LETTER ME */ +#define XK_kana_MO 0x04d3 /* U+30E2 KATAKANA LETTER MO */ +#define XK_kana_YA 0x04d4 /* U+30E4 KATAKANA LETTER YA */ +#define XK_kana_YU 0x04d5 /* U+30E6 KATAKANA LETTER YU */ +#define XK_kana_YO 0x04d6 /* U+30E8 KATAKANA LETTER YO */ +#define XK_kana_RA 0x04d7 /* U+30E9 KATAKANA LETTER RA */ +#define XK_kana_RI 0x04d8 /* U+30EA KATAKANA LETTER RI */ +#define XK_kana_RU 0x04d9 /* U+30EB KATAKANA LETTER RU */ +#define XK_kana_RE 0x04da /* U+30EC KATAKANA LETTER RE */ +#define XK_kana_RO 0x04db /* U+30ED KATAKANA LETTER RO */ +#define XK_kana_WA 0x04dc /* U+30EF KATAKANA LETTER WA */ +#define XK_kana_N 0x04dd /* U+30F3 KATAKANA LETTER N */ +#define XK_voicedsound 0x04de /* U+309B KATAKANA-HIRAGANA VOICED SOUND MARK */ +#define XK_semivoicedsound 0x04df /* U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK */ +#define XK_kana_switch 0xff7e /* Alias for mode_switch */ +#endif /* XK_KATAKANA */ + +/* + * Arabic + * Byte 3 = 5 + */ + +#ifdef XK_ARABIC +#define XK_Farsi_0 0x10006f0 /* U+06F0 EXTENDED ARABIC-INDIC DIGIT ZERO */ +#define XK_Farsi_1 0x10006f1 /* U+06F1 EXTENDED ARABIC-INDIC DIGIT ONE */ +#define XK_Farsi_2 0x10006f2 /* U+06F2 EXTENDED ARABIC-INDIC DIGIT TWO */ +#define XK_Farsi_3 0x10006f3 /* U+06F3 EXTENDED ARABIC-INDIC DIGIT THREE */ +#define XK_Farsi_4 0x10006f4 /* U+06F4 EXTENDED ARABIC-INDIC DIGIT FOUR */ +#define XK_Farsi_5 0x10006f5 /* U+06F5 EXTENDED ARABIC-INDIC DIGIT FIVE */ +#define XK_Farsi_6 0x10006f6 /* U+06F6 EXTENDED ARABIC-INDIC DIGIT SIX */ +#define XK_Farsi_7 0x10006f7 /* U+06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN */ +#define XK_Farsi_8 0x10006f8 /* U+06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT */ +#define XK_Farsi_9 0x10006f9 /* U+06F9 EXTENDED ARABIC-INDIC DIGIT NINE */ +#define XK_Arabic_percent 0x100066a /* U+066A ARABIC PERCENT SIGN */ +#define XK_Arabic_superscript_alef 0x1000670 /* U+0670 ARABIC LETTER SUPERSCRIPT ALEF */ +#define XK_Arabic_tteh 0x1000679 /* U+0679 ARABIC LETTER TTEH */ +#define XK_Arabic_peh 0x100067e /* U+067E ARABIC LETTER PEH */ +#define XK_Arabic_tcheh 0x1000686 /* U+0686 ARABIC LETTER TCHEH */ +#define XK_Arabic_ddal 0x1000688 /* U+0688 ARABIC LETTER DDAL */ +#define XK_Arabic_rreh 0x1000691 /* U+0691 ARABIC LETTER RREH */ +#define XK_Arabic_comma 0x05ac /* U+060C ARABIC COMMA */ +#define XK_Arabic_fullstop 0x10006d4 /* U+06D4 ARABIC FULL STOP */ +#define XK_Arabic_0 0x1000660 /* U+0660 ARABIC-INDIC DIGIT ZERO */ +#define XK_Arabic_1 0x1000661 /* U+0661 ARABIC-INDIC DIGIT ONE */ +#define XK_Arabic_2 0x1000662 /* U+0662 ARABIC-INDIC DIGIT TWO */ +#define XK_Arabic_3 0x1000663 /* U+0663 ARABIC-INDIC DIGIT THREE */ +#define XK_Arabic_4 0x1000664 /* U+0664 ARABIC-INDIC DIGIT FOUR */ +#define XK_Arabic_5 0x1000665 /* U+0665 ARABIC-INDIC DIGIT FIVE */ +#define XK_Arabic_6 0x1000666 /* U+0666 ARABIC-INDIC DIGIT SIX */ +#define XK_Arabic_7 0x1000667 /* U+0667 ARABIC-INDIC DIGIT SEVEN */ +#define XK_Arabic_8 0x1000668 /* U+0668 ARABIC-INDIC DIGIT EIGHT */ +#define XK_Arabic_9 0x1000669 /* U+0669 ARABIC-INDIC DIGIT NINE */ +#define XK_Arabic_semicolon 0x05bb /* U+061B ARABIC SEMICOLON */ +#define XK_Arabic_question_mark 0x05bf /* U+061F ARABIC QUESTION MARK */ +#define XK_Arabic_hamza 0x05c1 /* U+0621 ARABIC LETTER HAMZA */ +#define XK_Arabic_maddaonalef 0x05c2 /* U+0622 ARABIC LETTER ALEF WITH MADDA ABOVE */ +#define XK_Arabic_hamzaonalef 0x05c3 /* U+0623 ARABIC LETTER ALEF WITH HAMZA ABOVE */ +#define XK_Arabic_hamzaonwaw 0x05c4 /* U+0624 ARABIC LETTER WAW WITH HAMZA ABOVE */ +#define XK_Arabic_hamzaunderalef 0x05c5 /* U+0625 ARABIC LETTER ALEF WITH HAMZA BELOW */ +#define XK_Arabic_hamzaonyeh 0x05c6 /* U+0626 ARABIC LETTER YEH WITH HAMZA ABOVE */ +#define XK_Arabic_alef 0x05c7 /* U+0627 ARABIC LETTER ALEF */ +#define XK_Arabic_beh 0x05c8 /* U+0628 ARABIC LETTER BEH */ +#define XK_Arabic_tehmarbuta 0x05c9 /* U+0629 ARABIC LETTER TEH MARBUTA */ +#define XK_Arabic_teh 0x05ca /* U+062A ARABIC LETTER TEH */ +#define XK_Arabic_theh 0x05cb /* U+062B ARABIC LETTER THEH */ +#define XK_Arabic_jeem 0x05cc /* U+062C ARABIC LETTER JEEM */ +#define XK_Arabic_hah 0x05cd /* U+062D ARABIC LETTER HAH */ +#define XK_Arabic_khah 0x05ce /* U+062E ARABIC LETTER KHAH */ +#define XK_Arabic_dal 0x05cf /* U+062F ARABIC LETTER DAL */ +#define XK_Arabic_thal 0x05d0 /* U+0630 ARABIC LETTER THAL */ +#define XK_Arabic_ra 0x05d1 /* U+0631 ARABIC LETTER REH */ +#define XK_Arabic_zain 0x05d2 /* U+0632 ARABIC LETTER ZAIN */ +#define XK_Arabic_seen 0x05d3 /* U+0633 ARABIC LETTER SEEN */ +#define XK_Arabic_sheen 0x05d4 /* U+0634 ARABIC LETTER SHEEN */ +#define XK_Arabic_sad 0x05d5 /* U+0635 ARABIC LETTER SAD */ +#define XK_Arabic_dad 0x05d6 /* U+0636 ARABIC LETTER DAD */ +#define XK_Arabic_tah 0x05d7 /* U+0637 ARABIC LETTER TAH */ +#define XK_Arabic_zah 0x05d8 /* U+0638 ARABIC LETTER ZAH */ +#define XK_Arabic_ain 0x05d9 /* U+0639 ARABIC LETTER AIN */ +#define XK_Arabic_ghain 0x05da /* U+063A ARABIC LETTER GHAIN */ +#define XK_Arabic_tatweel 0x05e0 /* U+0640 ARABIC TATWEEL */ +#define XK_Arabic_feh 0x05e1 /* U+0641 ARABIC LETTER FEH */ +#define XK_Arabic_qaf 0x05e2 /* U+0642 ARABIC LETTER QAF */ +#define XK_Arabic_kaf 0x05e3 /* U+0643 ARABIC LETTER KAF */ +#define XK_Arabic_lam 0x05e4 /* U+0644 ARABIC LETTER LAM */ +#define XK_Arabic_meem 0x05e5 /* U+0645 ARABIC LETTER MEEM */ +#define XK_Arabic_noon 0x05e6 /* U+0646 ARABIC LETTER NOON */ +#define XK_Arabic_ha 0x05e7 /* U+0647 ARABIC LETTER HEH */ +#define XK_Arabic_heh 0x05e7 /* deprecated */ +#define XK_Arabic_waw 0x05e8 /* U+0648 ARABIC LETTER WAW */ +#define XK_Arabic_alefmaksura 0x05e9 /* U+0649 ARABIC LETTER ALEF MAKSURA */ +#define XK_Arabic_yeh 0x05ea /* U+064A ARABIC LETTER YEH */ +#define XK_Arabic_fathatan 0x05eb /* U+064B ARABIC FATHATAN */ +#define XK_Arabic_dammatan 0x05ec /* U+064C ARABIC DAMMATAN */ +#define XK_Arabic_kasratan 0x05ed /* U+064D ARABIC KASRATAN */ +#define XK_Arabic_fatha 0x05ee /* U+064E ARABIC FATHA */ +#define XK_Arabic_damma 0x05ef /* U+064F ARABIC DAMMA */ +#define XK_Arabic_kasra 0x05f0 /* U+0650 ARABIC KASRA */ +#define XK_Arabic_shadda 0x05f1 /* U+0651 ARABIC SHADDA */ +#define XK_Arabic_sukun 0x05f2 /* U+0652 ARABIC SUKUN */ +#define XK_Arabic_madda_above 0x1000653 /* U+0653 ARABIC MADDAH ABOVE */ +#define XK_Arabic_hamza_above 0x1000654 /* U+0654 ARABIC HAMZA ABOVE */ +#define XK_Arabic_hamza_below 0x1000655 /* U+0655 ARABIC HAMZA BELOW */ +#define XK_Arabic_jeh 0x1000698 /* U+0698 ARABIC LETTER JEH */ +#define XK_Arabic_veh 0x10006a4 /* U+06A4 ARABIC LETTER VEH */ +#define XK_Arabic_keheh 0x10006a9 /* U+06A9 ARABIC LETTER KEHEH */ +#define XK_Arabic_gaf 0x10006af /* U+06AF ARABIC LETTER GAF */ +#define XK_Arabic_noon_ghunna 0x10006ba /* U+06BA ARABIC LETTER NOON GHUNNA */ +#define XK_Arabic_heh_doachashmee 0x10006be /* U+06BE ARABIC LETTER HEH DOACHASHMEE */ +#define XK_Farsi_yeh 0x10006cc /* U+06CC ARABIC LETTER FARSI YEH */ +#define XK_Arabic_farsi_yeh 0x10006cc /* U+06CC ARABIC LETTER FARSI YEH */ +#define XK_Arabic_yeh_baree 0x10006d2 /* U+06D2 ARABIC LETTER YEH BARREE */ +#define XK_Arabic_heh_goal 0x10006c1 /* U+06C1 ARABIC LETTER HEH GOAL */ +#define XK_Arabic_switch 0xff7e /* Alias for mode_switch */ +#endif /* XK_ARABIC */ + +/* + * Cyrillic + * Byte 3 = 6 + */ +#ifdef XK_CYRILLIC +#define XK_Cyrillic_GHE_bar 0x1000492 /* U+0492 CYRILLIC CAPITAL LETTER GHE WITH STROKE */ +#define XK_Cyrillic_ghe_bar 0x1000493 /* U+0493 CYRILLIC SMALL LETTER GHE WITH STROKE */ +#define XK_Cyrillic_ZHE_descender 0x1000496 /* U+0496 CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER */ +#define XK_Cyrillic_zhe_descender 0x1000497 /* U+0497 CYRILLIC SMALL LETTER ZHE WITH DESCENDER */ +#define XK_Cyrillic_KA_descender 0x100049a /* U+049A CYRILLIC CAPITAL LETTER KA WITH DESCENDER */ +#define XK_Cyrillic_ka_descender 0x100049b /* U+049B CYRILLIC SMALL LETTER KA WITH DESCENDER */ +#define XK_Cyrillic_KA_vertstroke 0x100049c /* U+049C CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE */ +#define XK_Cyrillic_ka_vertstroke 0x100049d /* U+049D CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE */ +#define XK_Cyrillic_EN_descender 0x10004a2 /* U+04A2 CYRILLIC CAPITAL LETTER EN WITH DESCENDER */ +#define XK_Cyrillic_en_descender 0x10004a3 /* U+04A3 CYRILLIC SMALL LETTER EN WITH DESCENDER */ +#define XK_Cyrillic_U_straight 0x10004ae /* U+04AE CYRILLIC CAPITAL LETTER STRAIGHT U */ +#define XK_Cyrillic_u_straight 0x10004af /* U+04AF CYRILLIC SMALL LETTER STRAIGHT U */ +#define XK_Cyrillic_U_straight_bar 0x10004b0 /* U+04B0 CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE */ +#define XK_Cyrillic_u_straight_bar 0x10004b1 /* U+04B1 CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE */ +#define XK_Cyrillic_HA_descender 0x10004b2 /* U+04B2 CYRILLIC CAPITAL LETTER HA WITH DESCENDER */ +#define XK_Cyrillic_ha_descender 0x10004b3 /* U+04B3 CYRILLIC SMALL LETTER HA WITH DESCENDER */ +#define XK_Cyrillic_CHE_descender 0x10004b6 /* U+04B6 CYRILLIC CAPITAL LETTER CHE WITH DESCENDER */ +#define XK_Cyrillic_che_descender 0x10004b7 /* U+04B7 CYRILLIC SMALL LETTER CHE WITH DESCENDER */ +#define XK_Cyrillic_CHE_vertstroke 0x10004b8 /* U+04B8 CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE */ +#define XK_Cyrillic_che_vertstroke 0x10004b9 /* U+04B9 CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE */ +#define XK_Cyrillic_SHHA 0x10004ba /* U+04BA CYRILLIC CAPITAL LETTER SHHA */ +#define XK_Cyrillic_shha 0x10004bb /* U+04BB CYRILLIC SMALL LETTER SHHA */ + +#define XK_Cyrillic_SCHWA 0x10004d8 /* U+04D8 CYRILLIC CAPITAL LETTER SCHWA */ +#define XK_Cyrillic_schwa 0x10004d9 /* U+04D9 CYRILLIC SMALL LETTER SCHWA */ +#define XK_Cyrillic_I_macron 0x10004e2 /* U+04E2 CYRILLIC CAPITAL LETTER I WITH MACRON */ +#define XK_Cyrillic_i_macron 0x10004e3 /* U+04E3 CYRILLIC SMALL LETTER I WITH MACRON */ +#define XK_Cyrillic_O_bar 0x10004e8 /* U+04E8 CYRILLIC CAPITAL LETTER BARRED O */ +#define XK_Cyrillic_o_bar 0x10004e9 /* U+04E9 CYRILLIC SMALL LETTER BARRED O */ +#define XK_Cyrillic_U_macron 0x10004ee /* U+04EE CYRILLIC CAPITAL LETTER U WITH MACRON */ +#define XK_Cyrillic_u_macron 0x10004ef /* U+04EF CYRILLIC SMALL LETTER U WITH MACRON */ + +#define XK_Serbian_dje 0x06a1 /* U+0452 CYRILLIC SMALL LETTER DJE */ +#define XK_Macedonia_gje 0x06a2 /* U+0453 CYRILLIC SMALL LETTER GJE */ +#define XK_Cyrillic_io 0x06a3 /* U+0451 CYRILLIC SMALL LETTER IO */ +#define XK_Ukrainian_ie 0x06a4 /* U+0454 CYRILLIC SMALL LETTER UKRAINIAN IE */ +#define XK_Ukranian_je 0x06a4 /* deprecated */ +#define XK_Macedonia_dse 0x06a5 /* U+0455 CYRILLIC SMALL LETTER DZE */ +#define XK_Ukrainian_i 0x06a6 /* U+0456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */ +#define XK_Ukranian_i 0x06a6 /* deprecated */ +#define XK_Ukrainian_yi 0x06a7 /* U+0457 CYRILLIC SMALL LETTER YI */ +#define XK_Ukranian_yi 0x06a7 /* deprecated */ +#define XK_Cyrillic_je 0x06a8 /* U+0458 CYRILLIC SMALL LETTER JE */ +#define XK_Serbian_je 0x06a8 /* deprecated */ +#define XK_Cyrillic_lje 0x06a9 /* U+0459 CYRILLIC SMALL LETTER LJE */ +#define XK_Serbian_lje 0x06a9 /* deprecated */ +#define XK_Cyrillic_nje 0x06aa /* U+045A CYRILLIC SMALL LETTER NJE */ +#define XK_Serbian_nje 0x06aa /* deprecated */ +#define XK_Serbian_tshe 0x06ab /* U+045B CYRILLIC SMALL LETTER TSHE */ +#define XK_Macedonia_kje 0x06ac /* U+045C CYRILLIC SMALL LETTER KJE */ +#define XK_Ukrainian_ghe_with_upturn 0x06ad /* U+0491 CYRILLIC SMALL LETTER GHE WITH UPTURN */ +#define XK_Byelorussian_shortu 0x06ae /* U+045E CYRILLIC SMALL LETTER SHORT U */ +#define XK_Cyrillic_dzhe 0x06af /* U+045F CYRILLIC SMALL LETTER DZHE */ +#define XK_Serbian_dze 0x06af /* deprecated */ +#define XK_numerosign 0x06b0 /* U+2116 NUMERO SIGN */ +#define XK_Serbian_DJE 0x06b1 /* U+0402 CYRILLIC CAPITAL LETTER DJE */ +#define XK_Macedonia_GJE 0x06b2 /* U+0403 CYRILLIC CAPITAL LETTER GJE */ +#define XK_Cyrillic_IO 0x06b3 /* U+0401 CYRILLIC CAPITAL LETTER IO */ +#define XK_Ukrainian_IE 0x06b4 /* U+0404 CYRILLIC CAPITAL LETTER UKRAINIAN IE */ +#define XK_Ukranian_JE 0x06b4 /* deprecated */ +#define XK_Macedonia_DSE 0x06b5 /* U+0405 CYRILLIC CAPITAL LETTER DZE */ +#define XK_Ukrainian_I 0x06b6 /* U+0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */ +#define XK_Ukranian_I 0x06b6 /* deprecated */ +#define XK_Ukrainian_YI 0x06b7 /* U+0407 CYRILLIC CAPITAL LETTER YI */ +#define XK_Ukranian_YI 0x06b7 /* deprecated */ +#define XK_Cyrillic_JE 0x06b8 /* U+0408 CYRILLIC CAPITAL LETTER JE */ +#define XK_Serbian_JE 0x06b8 /* deprecated */ +#define XK_Cyrillic_LJE 0x06b9 /* U+0409 CYRILLIC CAPITAL LETTER LJE */ +#define XK_Serbian_LJE 0x06b9 /* deprecated */ +#define XK_Cyrillic_NJE 0x06ba /* U+040A CYRILLIC CAPITAL LETTER NJE */ +#define XK_Serbian_NJE 0x06ba /* deprecated */ +#define XK_Serbian_TSHE 0x06bb /* U+040B CYRILLIC CAPITAL LETTER TSHE */ +#define XK_Macedonia_KJE 0x06bc /* U+040C CYRILLIC CAPITAL LETTER KJE */ +#define XK_Ukrainian_GHE_WITH_UPTURN 0x06bd /* U+0490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN */ +#define XK_Byelorussian_SHORTU 0x06be /* U+040E CYRILLIC CAPITAL LETTER SHORT U */ +#define XK_Cyrillic_DZHE 0x06bf /* U+040F CYRILLIC CAPITAL LETTER DZHE */ +#define XK_Serbian_DZE 0x06bf /* deprecated */ +#define XK_Cyrillic_yu 0x06c0 /* U+044E CYRILLIC SMALL LETTER YU */ +#define XK_Cyrillic_a 0x06c1 /* U+0430 CYRILLIC SMALL LETTER A */ +#define XK_Cyrillic_be 0x06c2 /* U+0431 CYRILLIC SMALL LETTER BE */ +#define XK_Cyrillic_tse 0x06c3 /* U+0446 CYRILLIC SMALL LETTER TSE */ +#define XK_Cyrillic_de 0x06c4 /* U+0434 CYRILLIC SMALL LETTER DE */ +#define XK_Cyrillic_ie 0x06c5 /* U+0435 CYRILLIC SMALL LETTER IE */ +#define XK_Cyrillic_ef 0x06c6 /* U+0444 CYRILLIC SMALL LETTER EF */ +#define XK_Cyrillic_ghe 0x06c7 /* U+0433 CYRILLIC SMALL LETTER GHE */ +#define XK_Cyrillic_ha 0x06c8 /* U+0445 CYRILLIC SMALL LETTER HA */ +#define XK_Cyrillic_i 0x06c9 /* U+0438 CYRILLIC SMALL LETTER I */ +#define XK_Cyrillic_shorti 0x06ca /* U+0439 CYRILLIC SMALL LETTER SHORT I */ +#define XK_Cyrillic_ka 0x06cb /* U+043A CYRILLIC SMALL LETTER KA */ +#define XK_Cyrillic_el 0x06cc /* U+043B CYRILLIC SMALL LETTER EL */ +#define XK_Cyrillic_em 0x06cd /* U+043C CYRILLIC SMALL LETTER EM */ +#define XK_Cyrillic_en 0x06ce /* U+043D CYRILLIC SMALL LETTER EN */ +#define XK_Cyrillic_o 0x06cf /* U+043E CYRILLIC SMALL LETTER O */ +#define XK_Cyrillic_pe 0x06d0 /* U+043F CYRILLIC SMALL LETTER PE */ +#define XK_Cyrillic_ya 0x06d1 /* U+044F CYRILLIC SMALL LETTER YA */ +#define XK_Cyrillic_er 0x06d2 /* U+0440 CYRILLIC SMALL LETTER ER */ +#define XK_Cyrillic_es 0x06d3 /* U+0441 CYRILLIC SMALL LETTER ES */ +#define XK_Cyrillic_te 0x06d4 /* U+0442 CYRILLIC SMALL LETTER TE */ +#define XK_Cyrillic_u 0x06d5 /* U+0443 CYRILLIC SMALL LETTER U */ +#define XK_Cyrillic_zhe 0x06d6 /* U+0436 CYRILLIC SMALL LETTER ZHE */ +#define XK_Cyrillic_ve 0x06d7 /* U+0432 CYRILLIC SMALL LETTER VE */ +#define XK_Cyrillic_softsign 0x06d8 /* U+044C CYRILLIC SMALL LETTER SOFT SIGN */ +#define XK_Cyrillic_yeru 0x06d9 /* U+044B CYRILLIC SMALL LETTER YERU */ +#define XK_Cyrillic_ze 0x06da /* U+0437 CYRILLIC SMALL LETTER ZE */ +#define XK_Cyrillic_sha 0x06db /* U+0448 CYRILLIC SMALL LETTER SHA */ +#define XK_Cyrillic_e 0x06dc /* U+044D CYRILLIC SMALL LETTER E */ +#define XK_Cyrillic_shcha 0x06dd /* U+0449 CYRILLIC SMALL LETTER SHCHA */ +#define XK_Cyrillic_che 0x06de /* U+0447 CYRILLIC SMALL LETTER CHE */ +#define XK_Cyrillic_hardsign 0x06df /* U+044A CYRILLIC SMALL LETTER HARD SIGN */ +#define XK_Cyrillic_YU 0x06e0 /* U+042E CYRILLIC CAPITAL LETTER YU */ +#define XK_Cyrillic_A 0x06e1 /* U+0410 CYRILLIC CAPITAL LETTER A */ +#define XK_Cyrillic_BE 0x06e2 /* U+0411 CYRILLIC CAPITAL LETTER BE */ +#define XK_Cyrillic_TSE 0x06e3 /* U+0426 CYRILLIC CAPITAL LETTER TSE */ +#define XK_Cyrillic_DE 0x06e4 /* U+0414 CYRILLIC CAPITAL LETTER DE */ +#define XK_Cyrillic_IE 0x06e5 /* U+0415 CYRILLIC CAPITAL LETTER IE */ +#define XK_Cyrillic_EF 0x06e6 /* U+0424 CYRILLIC CAPITAL LETTER EF */ +#define XK_Cyrillic_GHE 0x06e7 /* U+0413 CYRILLIC CAPITAL LETTER GHE */ +#define XK_Cyrillic_HA 0x06e8 /* U+0425 CYRILLIC CAPITAL LETTER HA */ +#define XK_Cyrillic_I 0x06e9 /* U+0418 CYRILLIC CAPITAL LETTER I */ +#define XK_Cyrillic_SHORTI 0x06ea /* U+0419 CYRILLIC CAPITAL LETTER SHORT I */ +#define XK_Cyrillic_KA 0x06eb /* U+041A CYRILLIC CAPITAL LETTER KA */ +#define XK_Cyrillic_EL 0x06ec /* U+041B CYRILLIC CAPITAL LETTER EL */ +#define XK_Cyrillic_EM 0x06ed /* U+041C CYRILLIC CAPITAL LETTER EM */ +#define XK_Cyrillic_EN 0x06ee /* U+041D CYRILLIC CAPITAL LETTER EN */ +#define XK_Cyrillic_O 0x06ef /* U+041E CYRILLIC CAPITAL LETTER O */ +#define XK_Cyrillic_PE 0x06f0 /* U+041F CYRILLIC CAPITAL LETTER PE */ +#define XK_Cyrillic_YA 0x06f1 /* U+042F CYRILLIC CAPITAL LETTER YA */ +#define XK_Cyrillic_ER 0x06f2 /* U+0420 CYRILLIC CAPITAL LETTER ER */ +#define XK_Cyrillic_ES 0x06f3 /* U+0421 CYRILLIC CAPITAL LETTER ES */ +#define XK_Cyrillic_TE 0x06f4 /* U+0422 CYRILLIC CAPITAL LETTER TE */ +#define XK_Cyrillic_U 0x06f5 /* U+0423 CYRILLIC CAPITAL LETTER U */ +#define XK_Cyrillic_ZHE 0x06f6 /* U+0416 CYRILLIC CAPITAL LETTER ZHE */ +#define XK_Cyrillic_VE 0x06f7 /* U+0412 CYRILLIC CAPITAL LETTER VE */ +#define XK_Cyrillic_SOFTSIGN 0x06f8 /* U+042C CYRILLIC CAPITAL LETTER SOFT SIGN */ +#define XK_Cyrillic_YERU 0x06f9 /* U+042B CYRILLIC CAPITAL LETTER YERU */ +#define XK_Cyrillic_ZE 0x06fa /* U+0417 CYRILLIC CAPITAL LETTER ZE */ +#define XK_Cyrillic_SHA 0x06fb /* U+0428 CYRILLIC CAPITAL LETTER SHA */ +#define XK_Cyrillic_E 0x06fc /* U+042D CYRILLIC CAPITAL LETTER E */ +#define XK_Cyrillic_SHCHA 0x06fd /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */ +#define XK_Cyrillic_CHE 0x06fe /* U+0427 CYRILLIC CAPITAL LETTER CHE */ +#define XK_Cyrillic_HARDSIGN 0x06ff /* U+042A CYRILLIC CAPITAL LETTER HARD SIGN */ +#endif /* XK_CYRILLIC */ + +/* + * Greek + * (based on an early draft of, and not quite identical to, ISO/IEC 8859-7) + * Byte 3 = 7 + */ + +#ifdef XK_GREEK +#define XK_Greek_ALPHAaccent 0x07a1 /* U+0386 GREEK CAPITAL LETTER ALPHA WITH TONOS */ +#define XK_Greek_EPSILONaccent 0x07a2 /* U+0388 GREEK CAPITAL LETTER EPSILON WITH TONOS */ +#define XK_Greek_ETAaccent 0x07a3 /* U+0389 GREEK CAPITAL LETTER ETA WITH TONOS */ +#define XK_Greek_IOTAaccent 0x07a4 /* U+038A GREEK CAPITAL LETTER IOTA WITH TONOS */ +#define XK_Greek_IOTAdieresis 0x07a5 /* U+03AA GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */ +#define XK_Greek_IOTAdiaeresis 0x07a5 /* old typo */ +#define XK_Greek_OMICRONaccent 0x07a7 /* U+038C GREEK CAPITAL LETTER OMICRON WITH TONOS */ +#define XK_Greek_UPSILONaccent 0x07a8 /* U+038E GREEK CAPITAL LETTER UPSILON WITH TONOS */ +#define XK_Greek_UPSILONdieresis 0x07a9 /* U+03AB GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */ +#define XK_Greek_OMEGAaccent 0x07ab /* U+038F GREEK CAPITAL LETTER OMEGA WITH TONOS */ +#define XK_Greek_accentdieresis 0x07ae /* U+0385 GREEK DIALYTIKA TONOS */ +#define XK_Greek_horizbar 0x07af /* U+2015 HORIZONTAL BAR */ +#define XK_Greek_alphaaccent 0x07b1 /* U+03AC GREEK SMALL LETTER ALPHA WITH TONOS */ +#define XK_Greek_epsilonaccent 0x07b2 /* U+03AD GREEK SMALL LETTER EPSILON WITH TONOS */ +#define XK_Greek_etaaccent 0x07b3 /* U+03AE GREEK SMALL LETTER ETA WITH TONOS */ +#define XK_Greek_iotaaccent 0x07b4 /* U+03AF GREEK SMALL LETTER IOTA WITH TONOS */ +#define XK_Greek_iotadieresis 0x07b5 /* U+03CA GREEK SMALL LETTER IOTA WITH DIALYTIKA */ +#define XK_Greek_iotaaccentdieresis 0x07b6 /* U+0390 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ +#define XK_Greek_omicronaccent 0x07b7 /* U+03CC GREEK SMALL LETTER OMICRON WITH TONOS */ +#define XK_Greek_upsilonaccent 0x07b8 /* U+03CD GREEK SMALL LETTER UPSILON WITH TONOS */ +#define XK_Greek_upsilondieresis 0x07b9 /* U+03CB GREEK SMALL LETTER UPSILON WITH DIALYTIKA */ +#define XK_Greek_upsilonaccentdieresis 0x07ba /* U+03B0 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS */ +#define XK_Greek_omegaaccent 0x07bb /* U+03CE GREEK SMALL LETTER OMEGA WITH TONOS */ +#define XK_Greek_ALPHA 0x07c1 /* U+0391 GREEK CAPITAL LETTER ALPHA */ +#define XK_Greek_BETA 0x07c2 /* U+0392 GREEK CAPITAL LETTER BETA */ +#define XK_Greek_GAMMA 0x07c3 /* U+0393 GREEK CAPITAL LETTER GAMMA */ +#define XK_Greek_DELTA 0x07c4 /* U+0394 GREEK CAPITAL LETTER DELTA */ +#define XK_Greek_EPSILON 0x07c5 /* U+0395 GREEK CAPITAL LETTER EPSILON */ +#define XK_Greek_ZETA 0x07c6 /* U+0396 GREEK CAPITAL LETTER ZETA */ +#define XK_Greek_ETA 0x07c7 /* U+0397 GREEK CAPITAL LETTER ETA */ +#define XK_Greek_THETA 0x07c8 /* U+0398 GREEK CAPITAL LETTER THETA */ +#define XK_Greek_IOTA 0x07c9 /* U+0399 GREEK CAPITAL LETTER IOTA */ +#define XK_Greek_KAPPA 0x07ca /* U+039A GREEK CAPITAL LETTER KAPPA */ +#define XK_Greek_LAMDA 0x07cb /* U+039B GREEK CAPITAL LETTER LAMDA */ +#define XK_Greek_LAMBDA 0x07cb /* U+039B GREEK CAPITAL LETTER LAMDA */ +#define XK_Greek_MU 0x07cc /* U+039C GREEK CAPITAL LETTER MU */ +#define XK_Greek_NU 0x07cd /* U+039D GREEK CAPITAL LETTER NU */ +#define XK_Greek_XI 0x07ce /* U+039E GREEK CAPITAL LETTER XI */ +#define XK_Greek_OMICRON 0x07cf /* U+039F GREEK CAPITAL LETTER OMICRON */ +#define XK_Greek_PI 0x07d0 /* U+03A0 GREEK CAPITAL LETTER PI */ +#define XK_Greek_RHO 0x07d1 /* U+03A1 GREEK CAPITAL LETTER RHO */ +#define XK_Greek_SIGMA 0x07d2 /* U+03A3 GREEK CAPITAL LETTER SIGMA */ +#define XK_Greek_TAU 0x07d4 /* U+03A4 GREEK CAPITAL LETTER TAU */ +#define XK_Greek_UPSILON 0x07d5 /* U+03A5 GREEK CAPITAL LETTER UPSILON */ +#define XK_Greek_PHI 0x07d6 /* U+03A6 GREEK CAPITAL LETTER PHI */ +#define XK_Greek_CHI 0x07d7 /* U+03A7 GREEK CAPITAL LETTER CHI */ +#define XK_Greek_PSI 0x07d8 /* U+03A8 GREEK CAPITAL LETTER PSI */ +#define XK_Greek_OMEGA 0x07d9 /* U+03A9 GREEK CAPITAL LETTER OMEGA */ +#define XK_Greek_alpha 0x07e1 /* U+03B1 GREEK SMALL LETTER ALPHA */ +#define XK_Greek_beta 0x07e2 /* U+03B2 GREEK SMALL LETTER BETA */ +#define XK_Greek_gamma 0x07e3 /* U+03B3 GREEK SMALL LETTER GAMMA */ +#define XK_Greek_delta 0x07e4 /* U+03B4 GREEK SMALL LETTER DELTA */ +#define XK_Greek_epsilon 0x07e5 /* U+03B5 GREEK SMALL LETTER EPSILON */ +#define XK_Greek_zeta 0x07e6 /* U+03B6 GREEK SMALL LETTER ZETA */ +#define XK_Greek_eta 0x07e7 /* U+03B7 GREEK SMALL LETTER ETA */ +#define XK_Greek_theta 0x07e8 /* U+03B8 GREEK SMALL LETTER THETA */ +#define XK_Greek_iota 0x07e9 /* U+03B9 GREEK SMALL LETTER IOTA */ +#define XK_Greek_kappa 0x07ea /* U+03BA GREEK SMALL LETTER KAPPA */ +#define XK_Greek_lamda 0x07eb /* U+03BB GREEK SMALL LETTER LAMDA */ +#define XK_Greek_lambda 0x07eb /* U+03BB GREEK SMALL LETTER LAMDA */ +#define XK_Greek_mu 0x07ec /* U+03BC GREEK SMALL LETTER MU */ +#define XK_Greek_nu 0x07ed /* U+03BD GREEK SMALL LETTER NU */ +#define XK_Greek_xi 0x07ee /* U+03BE GREEK SMALL LETTER XI */ +#define XK_Greek_omicron 0x07ef /* U+03BF GREEK SMALL LETTER OMICRON */ +#define XK_Greek_pi 0x07f0 /* U+03C0 GREEK SMALL LETTER PI */ +#define XK_Greek_rho 0x07f1 /* U+03C1 GREEK SMALL LETTER RHO */ +#define XK_Greek_sigma 0x07f2 /* U+03C3 GREEK SMALL LETTER SIGMA */ +#define XK_Greek_finalsmallsigma 0x07f3 /* U+03C2 GREEK SMALL LETTER FINAL SIGMA */ +#define XK_Greek_tau 0x07f4 /* U+03C4 GREEK SMALL LETTER TAU */ +#define XK_Greek_upsilon 0x07f5 /* U+03C5 GREEK SMALL LETTER UPSILON */ +#define XK_Greek_phi 0x07f6 /* U+03C6 GREEK SMALL LETTER PHI */ +#define XK_Greek_chi 0x07f7 /* U+03C7 GREEK SMALL LETTER CHI */ +#define XK_Greek_psi 0x07f8 /* U+03C8 GREEK SMALL LETTER PSI */ +#define XK_Greek_omega 0x07f9 /* U+03C9 GREEK SMALL LETTER OMEGA */ +#define XK_Greek_switch 0xff7e /* Alias for mode_switch */ +#endif /* XK_GREEK */ + +/* + * Technical + * (from the DEC VT330/VT420 Technical Character Set, http://vt100.net/charsets/technical.html) + * Byte 3 = 8 + */ + +#ifdef XK_TECHNICAL +#define XK_leftradical 0x08a1 /* U+23B7 RADICAL SYMBOL BOTTOM */ +#define XK_topleftradical 0x08a2 /*(U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT)*/ +#define XK_horizconnector 0x08a3 /*(U+2500 BOX DRAWINGS LIGHT HORIZONTAL)*/ +#define XK_topintegral 0x08a4 /* U+2320 TOP HALF INTEGRAL */ +#define XK_botintegral 0x08a5 /* U+2321 BOTTOM HALF INTEGRAL */ +#define XK_vertconnector 0x08a6 /*(U+2502 BOX DRAWINGS LIGHT VERTICAL)*/ +#define XK_topleftsqbracket 0x08a7 /* U+23A1 LEFT SQUARE BRACKET UPPER CORNER */ +#define XK_botleftsqbracket 0x08a8 /* U+23A3 LEFT SQUARE BRACKET LOWER CORNER */ +#define XK_toprightsqbracket 0x08a9 /* U+23A4 RIGHT SQUARE BRACKET UPPER CORNER */ +#define XK_botrightsqbracket 0x08aa /* U+23A6 RIGHT SQUARE BRACKET LOWER CORNER */ +#define XK_topleftparens 0x08ab /* U+239B LEFT PARENTHESIS UPPER HOOK */ +#define XK_botleftparens 0x08ac /* U+239D LEFT PARENTHESIS LOWER HOOK */ +#define XK_toprightparens 0x08ad /* U+239E RIGHT PARENTHESIS UPPER HOOK */ +#define XK_botrightparens 0x08ae /* U+23A0 RIGHT PARENTHESIS LOWER HOOK */ +#define XK_leftmiddlecurlybrace 0x08af /* U+23A8 LEFT CURLY BRACKET MIDDLE PIECE */ +#define XK_rightmiddlecurlybrace 0x08b0 /* U+23AC RIGHT CURLY BRACKET MIDDLE PIECE */ +#define XK_topleftsummation 0x08b1 +#define XK_botleftsummation 0x08b2 +#define XK_topvertsummationconnector 0x08b3 +#define XK_botvertsummationconnector 0x08b4 +#define XK_toprightsummation 0x08b5 +#define XK_botrightsummation 0x08b6 +#define XK_rightmiddlesummation 0x08b7 +#define XK_lessthanequal 0x08bc /* U+2264 LESS-THAN OR EQUAL TO */ +#define XK_notequal 0x08bd /* U+2260 NOT EQUAL TO */ +#define XK_greaterthanequal 0x08be /* U+2265 GREATER-THAN OR EQUAL TO */ +#define XK_integral 0x08bf /* U+222B INTEGRAL */ +#define XK_therefore 0x08c0 /* U+2234 THEREFORE */ +#define XK_variation 0x08c1 /* U+221D PROPORTIONAL TO */ +#define XK_infinity 0x08c2 /* U+221E INFINITY */ +#define XK_nabla 0x08c5 /* U+2207 NABLA */ +#define XK_approximate 0x08c8 /* U+223C TILDE OPERATOR */ +#define XK_similarequal 0x08c9 /* U+2243 ASYMPTOTICALLY EQUAL TO */ +#define XK_ifonlyif 0x08cd /* U+21D4 LEFT RIGHT DOUBLE ARROW */ +#define XK_implies 0x08ce /* U+21D2 RIGHTWARDS DOUBLE ARROW */ +#define XK_identical 0x08cf /* U+2261 IDENTICAL TO */ +#define XK_radical 0x08d6 /* U+221A SQUARE ROOT */ +#define XK_includedin 0x08da /* U+2282 SUBSET OF */ +#define XK_includes 0x08db /* U+2283 SUPERSET OF */ +#define XK_intersection 0x08dc /* U+2229 INTERSECTION */ +#define XK_union 0x08dd /* U+222A UNION */ +#define XK_logicaland 0x08de /* U+2227 LOGICAL AND */ +#define XK_logicalor 0x08df /* U+2228 LOGICAL OR */ +#define XK_partialderivative 0x08ef /* U+2202 PARTIAL DIFFERENTIAL */ +#define XK_function 0x08f6 /* U+0192 LATIN SMALL LETTER F WITH HOOK */ +#define XK_leftarrow 0x08fb /* U+2190 LEFTWARDS ARROW */ +#define XK_uparrow 0x08fc /* U+2191 UPWARDS ARROW */ +#define XK_rightarrow 0x08fd /* U+2192 RIGHTWARDS ARROW */ +#define XK_downarrow 0x08fe /* U+2193 DOWNWARDS ARROW */ +#endif /* XK_TECHNICAL */ + +/* + * Special + * (from the DEC VT100 Special Graphics Character Set) + * Byte 3 = 9 + */ + +#ifdef XK_SPECIAL +#define XK_blank 0x09df +#define XK_soliddiamond 0x09e0 /* U+25C6 BLACK DIAMOND */ +#define XK_checkerboard 0x09e1 /* U+2592 MEDIUM SHADE */ +#define XK_ht 0x09e2 /* U+2409 SYMBOL FOR HORIZONTAL TABULATION */ +#define XK_ff 0x09e3 /* U+240C SYMBOL FOR FORM FEED */ +#define XK_cr 0x09e4 /* U+240D SYMBOL FOR CARRIAGE RETURN */ +#define XK_lf 0x09e5 /* U+240A SYMBOL FOR LINE FEED */ +#define XK_nl 0x09e8 /* U+2424 SYMBOL FOR NEWLINE */ +#define XK_vt 0x09e9 /* U+240B SYMBOL FOR VERTICAL TABULATION */ +#define XK_lowrightcorner 0x09ea /* U+2518 BOX DRAWINGS LIGHT UP AND LEFT */ +#define XK_uprightcorner 0x09eb /* U+2510 BOX DRAWINGS LIGHT DOWN AND LEFT */ +#define XK_upleftcorner 0x09ec /* U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT */ +#define XK_lowleftcorner 0x09ed /* U+2514 BOX DRAWINGS LIGHT UP AND RIGHT */ +#define XK_crossinglines 0x09ee /* U+253C BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */ +#define XK_horizlinescan1 0x09ef /* U+23BA HORIZONTAL SCAN LINE-1 */ +#define XK_horizlinescan3 0x09f0 /* U+23BB HORIZONTAL SCAN LINE-3 */ +#define XK_horizlinescan5 0x09f1 /* U+2500 BOX DRAWINGS LIGHT HORIZONTAL */ +#define XK_horizlinescan7 0x09f2 /* U+23BC HORIZONTAL SCAN LINE-7 */ +#define XK_horizlinescan9 0x09f3 /* U+23BD HORIZONTAL SCAN LINE-9 */ +#define XK_leftt 0x09f4 /* U+251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT */ +#define XK_rightt 0x09f5 /* U+2524 BOX DRAWINGS LIGHT VERTICAL AND LEFT */ +#define XK_bott 0x09f6 /* U+2534 BOX DRAWINGS LIGHT UP AND HORIZONTAL */ +#define XK_topt 0x09f7 /* U+252C BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */ +#define XK_vertbar 0x09f8 /* U+2502 BOX DRAWINGS LIGHT VERTICAL */ +#endif /* XK_SPECIAL */ + +/* + * Publishing + * (these are probably from a long forgotten DEC Publishing + * font that once shipped with DECwrite) + * Byte 3 = 0x0a + */ + +#ifdef XK_PUBLISHING +#define XK_emspace 0x0aa1 /* U+2003 EM SPACE */ +#define XK_enspace 0x0aa2 /* U+2002 EN SPACE */ +#define XK_em3space 0x0aa3 /* U+2004 THREE-PER-EM SPACE */ +#define XK_em4space 0x0aa4 /* U+2005 FOUR-PER-EM SPACE */ +#define XK_digitspace 0x0aa5 /* U+2007 FIGURE SPACE */ +#define XK_punctspace 0x0aa6 /* U+2008 PUNCTUATION SPACE */ +#define XK_thinspace 0x0aa7 /* U+2009 THIN SPACE */ +#define XK_hairspace 0x0aa8 /* U+200A HAIR SPACE */ +#define XK_emdash 0x0aa9 /* U+2014 EM DASH */ +#define XK_endash 0x0aaa /* U+2013 EN DASH */ +#define XK_signifblank 0x0aac /*(U+2423 OPEN BOX)*/ +#define XK_ellipsis 0x0aae /* U+2026 HORIZONTAL ELLIPSIS */ +#define XK_doubbaselinedot 0x0aaf /* U+2025 TWO DOT LEADER */ +#define XK_onethird 0x0ab0 /* U+2153 VULGAR FRACTION ONE THIRD */ +#define XK_twothirds 0x0ab1 /* U+2154 VULGAR FRACTION TWO THIRDS */ +#define XK_onefifth 0x0ab2 /* U+2155 VULGAR FRACTION ONE FIFTH */ +#define XK_twofifths 0x0ab3 /* U+2156 VULGAR FRACTION TWO FIFTHS */ +#define XK_threefifths 0x0ab4 /* U+2157 VULGAR FRACTION THREE FIFTHS */ +#define XK_fourfifths 0x0ab5 /* U+2158 VULGAR FRACTION FOUR FIFTHS */ +#define XK_onesixth 0x0ab6 /* U+2159 VULGAR FRACTION ONE SIXTH */ +#define XK_fivesixths 0x0ab7 /* U+215A VULGAR FRACTION FIVE SIXTHS */ +#define XK_careof 0x0ab8 /* U+2105 CARE OF */ +#define XK_figdash 0x0abb /* U+2012 FIGURE DASH */ +#define XK_leftanglebracket 0x0abc /*(U+27E8 MATHEMATICAL LEFT ANGLE BRACKET)*/ +#define XK_decimalpoint 0x0abd /*(U+002E FULL STOP)*/ +#define XK_rightanglebracket 0x0abe /*(U+27E9 MATHEMATICAL RIGHT ANGLE BRACKET)*/ +#define XK_marker 0x0abf +#define XK_oneeighth 0x0ac3 /* U+215B VULGAR FRACTION ONE EIGHTH */ +#define XK_threeeighths 0x0ac4 /* U+215C VULGAR FRACTION THREE EIGHTHS */ +#define XK_fiveeighths 0x0ac5 /* U+215D VULGAR FRACTION FIVE EIGHTHS */ +#define XK_seveneighths 0x0ac6 /* U+215E VULGAR FRACTION SEVEN EIGHTHS */ +#define XK_trademark 0x0ac9 /* U+2122 TRADE MARK SIGN */ +#define XK_signaturemark 0x0aca /*(U+2613 SALTIRE)*/ +#define XK_trademarkincircle 0x0acb +#define XK_leftopentriangle 0x0acc /*(U+25C1 WHITE LEFT-POINTING TRIANGLE)*/ +#define XK_rightopentriangle 0x0acd /*(U+25B7 WHITE RIGHT-POINTING TRIANGLE)*/ +#define XK_emopencircle 0x0ace /*(U+25CB WHITE CIRCLE)*/ +#define XK_emopenrectangle 0x0acf /*(U+25AF WHITE VERTICAL RECTANGLE)*/ +#define XK_leftsinglequotemark 0x0ad0 /* U+2018 LEFT SINGLE QUOTATION MARK */ +#define XK_rightsinglequotemark 0x0ad1 /* U+2019 RIGHT SINGLE QUOTATION MARK */ +#define XK_leftdoublequotemark 0x0ad2 /* U+201C LEFT DOUBLE QUOTATION MARK */ +#define XK_rightdoublequotemark 0x0ad3 /* U+201D RIGHT DOUBLE QUOTATION MARK */ +#define XK_prescription 0x0ad4 /* U+211E PRESCRIPTION TAKE */ +#define XK_permille 0x0ad5 /* U+2030 PER MILLE SIGN */ +#define XK_minutes 0x0ad6 /* U+2032 PRIME */ +#define XK_seconds 0x0ad7 /* U+2033 DOUBLE PRIME */ +#define XK_latincross 0x0ad9 /* U+271D LATIN CROSS */ +#define XK_hexagram 0x0ada +#define XK_filledrectbullet 0x0adb /*(U+25AC BLACK RECTANGLE)*/ +#define XK_filledlefttribullet 0x0adc /*(U+25C0 BLACK LEFT-POINTING TRIANGLE)*/ +#define XK_filledrighttribullet 0x0add /*(U+25B6 BLACK RIGHT-POINTING TRIANGLE)*/ +#define XK_emfilledcircle 0x0ade /*(U+25CF BLACK CIRCLE)*/ +#define XK_emfilledrect 0x0adf /*(U+25AE BLACK VERTICAL RECTANGLE)*/ +#define XK_enopencircbullet 0x0ae0 /*(U+25E6 WHITE BULLET)*/ +#define XK_enopensquarebullet 0x0ae1 /*(U+25AB WHITE SMALL SQUARE)*/ +#define XK_openrectbullet 0x0ae2 /*(U+25AD WHITE RECTANGLE)*/ +#define XK_opentribulletup 0x0ae3 /*(U+25B3 WHITE UP-POINTING TRIANGLE)*/ +#define XK_opentribulletdown 0x0ae4 /*(U+25BD WHITE DOWN-POINTING TRIANGLE)*/ +#define XK_openstar 0x0ae5 /*(U+2606 WHITE STAR)*/ +#define XK_enfilledcircbullet 0x0ae6 /*(U+2022 BULLET)*/ +#define XK_enfilledsqbullet 0x0ae7 /*(U+25AA BLACK SMALL SQUARE)*/ +#define XK_filledtribulletup 0x0ae8 /*(U+25B2 BLACK UP-POINTING TRIANGLE)*/ +#define XK_filledtribulletdown 0x0ae9 /*(U+25BC BLACK DOWN-POINTING TRIANGLE)*/ +#define XK_leftpointer 0x0aea /*(U+261C WHITE LEFT POINTING INDEX)*/ +#define XK_rightpointer 0x0aeb /*(U+261E WHITE RIGHT POINTING INDEX)*/ +#define XK_club 0x0aec /* U+2663 BLACK CLUB SUIT */ +#define XK_diamond 0x0aed /* U+2666 BLACK DIAMOND SUIT */ +#define XK_heart 0x0aee /* U+2665 BLACK HEART SUIT */ +#define XK_maltesecross 0x0af0 /* U+2720 MALTESE CROSS */ +#define XK_dagger 0x0af1 /* U+2020 DAGGER */ +#define XK_doubledagger 0x0af2 /* U+2021 DOUBLE DAGGER */ +#define XK_checkmark 0x0af3 /* U+2713 CHECK MARK */ +#define XK_ballotcross 0x0af4 /* U+2717 BALLOT X */ +#define XK_musicalsharp 0x0af5 /* U+266F MUSIC SHARP SIGN */ +#define XK_musicalflat 0x0af6 /* U+266D MUSIC FLAT SIGN */ +#define XK_malesymbol 0x0af7 /* U+2642 MALE SIGN */ +#define XK_femalesymbol 0x0af8 /* U+2640 FEMALE SIGN */ +#define XK_telephone 0x0af9 /* U+260E BLACK TELEPHONE */ +#define XK_telephonerecorder 0x0afa /* U+2315 TELEPHONE RECORDER */ +#define XK_phonographcopyright 0x0afb /* U+2117 SOUND RECORDING COPYRIGHT */ +#define XK_caret 0x0afc /* U+2038 CARET */ +#define XK_singlelowquotemark 0x0afd /* U+201A SINGLE LOW-9 QUOTATION MARK */ +#define XK_doublelowquotemark 0x0afe /* U+201E DOUBLE LOW-9 QUOTATION MARK */ +#define XK_cursor 0x0aff +#endif /* XK_PUBLISHING */ + +/* + * APL + * Byte 3 = 0x0b + */ + +#ifdef XK_APL +#define XK_leftcaret 0x0ba3 /*(U+003C LESS-THAN SIGN)*/ +#define XK_rightcaret 0x0ba6 /*(U+003E GREATER-THAN SIGN)*/ +#define XK_downcaret 0x0ba8 /*(U+2228 LOGICAL OR)*/ +#define XK_upcaret 0x0ba9 /*(U+2227 LOGICAL AND)*/ +#define XK_overbar 0x0bc0 /*(U+00AF MACRON)*/ +#define XK_downtack 0x0bc2 /* U+22A4 DOWN TACK */ +#define XK_upshoe 0x0bc3 /*(U+2229 INTERSECTION)*/ +#define XK_downstile 0x0bc4 /* U+230A LEFT FLOOR */ +#define XK_underbar 0x0bc6 /*(U+005F LOW LINE)*/ +#define XK_jot 0x0bca /* U+2218 RING OPERATOR */ +#define XK_quad 0x0bcc /* U+2395 APL FUNCTIONAL SYMBOL QUAD */ +#define XK_uptack 0x0bce /* U+22A5 UP TACK */ +#define XK_circle 0x0bcf /* U+25CB WHITE CIRCLE */ +#define XK_upstile 0x0bd3 /* U+2308 LEFT CEILING */ +#define XK_downshoe 0x0bd6 /*(U+222A UNION)*/ +#define XK_rightshoe 0x0bd8 /*(U+2283 SUPERSET OF)*/ +#define XK_leftshoe 0x0bda /*(U+2282 SUBSET OF)*/ +#define XK_lefttack 0x0bdc /* U+22A3 LEFT TACK */ +#define XK_righttack 0x0bfc /* U+22A2 RIGHT TACK */ +#endif /* XK_APL */ + +/* + * Hebrew + * Byte 3 = 0x0c + */ + +#ifdef XK_HEBREW +#define XK_hebrew_doublelowline 0x0cdf /* U+2017 DOUBLE LOW LINE */ +#define XK_hebrew_aleph 0x0ce0 /* U+05D0 HEBREW LETTER ALEF */ +#define XK_hebrew_bet 0x0ce1 /* U+05D1 HEBREW LETTER BET */ +#define XK_hebrew_beth 0x0ce1 /* deprecated */ +#define XK_hebrew_gimel 0x0ce2 /* U+05D2 HEBREW LETTER GIMEL */ +#define XK_hebrew_gimmel 0x0ce2 /* deprecated */ +#define XK_hebrew_dalet 0x0ce3 /* U+05D3 HEBREW LETTER DALET */ +#define XK_hebrew_daleth 0x0ce3 /* deprecated */ +#define XK_hebrew_he 0x0ce4 /* U+05D4 HEBREW LETTER HE */ +#define XK_hebrew_waw 0x0ce5 /* U+05D5 HEBREW LETTER VAV */ +#define XK_hebrew_zain 0x0ce6 /* U+05D6 HEBREW LETTER ZAYIN */ +#define XK_hebrew_zayin 0x0ce6 /* deprecated */ +#define XK_hebrew_chet 0x0ce7 /* U+05D7 HEBREW LETTER HET */ +#define XK_hebrew_het 0x0ce7 /* deprecated */ +#define XK_hebrew_tet 0x0ce8 /* U+05D8 HEBREW LETTER TET */ +#define XK_hebrew_teth 0x0ce8 /* deprecated */ +#define XK_hebrew_yod 0x0ce9 /* U+05D9 HEBREW LETTER YOD */ +#define XK_hebrew_finalkaph 0x0cea /* U+05DA HEBREW LETTER FINAL KAF */ +#define XK_hebrew_kaph 0x0ceb /* U+05DB HEBREW LETTER KAF */ +#define XK_hebrew_lamed 0x0cec /* U+05DC HEBREW LETTER LAMED */ +#define XK_hebrew_finalmem 0x0ced /* U+05DD HEBREW LETTER FINAL MEM */ +#define XK_hebrew_mem 0x0cee /* U+05DE HEBREW LETTER MEM */ +#define XK_hebrew_finalnun 0x0cef /* U+05DF HEBREW LETTER FINAL NUN */ +#define XK_hebrew_nun 0x0cf0 /* U+05E0 HEBREW LETTER NUN */ +#define XK_hebrew_samech 0x0cf1 /* U+05E1 HEBREW LETTER SAMEKH */ +#define XK_hebrew_samekh 0x0cf1 /* deprecated */ +#define XK_hebrew_ayin 0x0cf2 /* U+05E2 HEBREW LETTER AYIN */ +#define XK_hebrew_finalpe 0x0cf3 /* U+05E3 HEBREW LETTER FINAL PE */ +#define XK_hebrew_pe 0x0cf4 /* U+05E4 HEBREW LETTER PE */ +#define XK_hebrew_finalzade 0x0cf5 /* U+05E5 HEBREW LETTER FINAL TSADI */ +#define XK_hebrew_finalzadi 0x0cf5 /* deprecated */ +#define XK_hebrew_zade 0x0cf6 /* U+05E6 HEBREW LETTER TSADI */ +#define XK_hebrew_zadi 0x0cf6 /* deprecated */ +#define XK_hebrew_qoph 0x0cf7 /* U+05E7 HEBREW LETTER QOF */ +#define XK_hebrew_kuf 0x0cf7 /* deprecated */ +#define XK_hebrew_resh 0x0cf8 /* U+05E8 HEBREW LETTER RESH */ +#define XK_hebrew_shin 0x0cf9 /* U+05E9 HEBREW LETTER SHIN */ +#define XK_hebrew_taw 0x0cfa /* U+05EA HEBREW LETTER TAV */ +#define XK_hebrew_taf 0x0cfa /* deprecated */ +#define XK_Hebrew_switch 0xff7e /* Alias for mode_switch */ +#endif /* XK_HEBREW */ + +/* + * Thai + * Byte 3 = 0x0d + */ + +#ifdef XK_THAI +#define XK_Thai_kokai 0x0da1 /* U+0E01 THAI CHARACTER KO KAI */ +#define XK_Thai_khokhai 0x0da2 /* U+0E02 THAI CHARACTER KHO KHAI */ +#define XK_Thai_khokhuat 0x0da3 /* U+0E03 THAI CHARACTER KHO KHUAT */ +#define XK_Thai_khokhwai 0x0da4 /* U+0E04 THAI CHARACTER KHO KHWAI */ +#define XK_Thai_khokhon 0x0da5 /* U+0E05 THAI CHARACTER KHO KHON */ +#define XK_Thai_khorakhang 0x0da6 /* U+0E06 THAI CHARACTER KHO RAKHANG */ +#define XK_Thai_ngongu 0x0da7 /* U+0E07 THAI CHARACTER NGO NGU */ +#define XK_Thai_chochan 0x0da8 /* U+0E08 THAI CHARACTER CHO CHAN */ +#define XK_Thai_choching 0x0da9 /* U+0E09 THAI CHARACTER CHO CHING */ +#define XK_Thai_chochang 0x0daa /* U+0E0A THAI CHARACTER CHO CHANG */ +#define XK_Thai_soso 0x0dab /* U+0E0B THAI CHARACTER SO SO */ +#define XK_Thai_chochoe 0x0dac /* U+0E0C THAI CHARACTER CHO CHOE */ +#define XK_Thai_yoying 0x0dad /* U+0E0D THAI CHARACTER YO YING */ +#define XK_Thai_dochada 0x0dae /* U+0E0E THAI CHARACTER DO CHADA */ +#define XK_Thai_topatak 0x0daf /* U+0E0F THAI CHARACTER TO PATAK */ +#define XK_Thai_thothan 0x0db0 /* U+0E10 THAI CHARACTER THO THAN */ +#define XK_Thai_thonangmontho 0x0db1 /* U+0E11 THAI CHARACTER THO NANGMONTHO */ +#define XK_Thai_thophuthao 0x0db2 /* U+0E12 THAI CHARACTER THO PHUTHAO */ +#define XK_Thai_nonen 0x0db3 /* U+0E13 THAI CHARACTER NO NEN */ +#define XK_Thai_dodek 0x0db4 /* U+0E14 THAI CHARACTER DO DEK */ +#define XK_Thai_totao 0x0db5 /* U+0E15 THAI CHARACTER TO TAO */ +#define XK_Thai_thothung 0x0db6 /* U+0E16 THAI CHARACTER THO THUNG */ +#define XK_Thai_thothahan 0x0db7 /* U+0E17 THAI CHARACTER THO THAHAN */ +#define XK_Thai_thothong 0x0db8 /* U+0E18 THAI CHARACTER THO THONG */ +#define XK_Thai_nonu 0x0db9 /* U+0E19 THAI CHARACTER NO NU */ +#define XK_Thai_bobaimai 0x0dba /* U+0E1A THAI CHARACTER BO BAIMAI */ +#define XK_Thai_popla 0x0dbb /* U+0E1B THAI CHARACTER PO PLA */ +#define XK_Thai_phophung 0x0dbc /* U+0E1C THAI CHARACTER PHO PHUNG */ +#define XK_Thai_fofa 0x0dbd /* U+0E1D THAI CHARACTER FO FA */ +#define XK_Thai_phophan 0x0dbe /* U+0E1E THAI CHARACTER PHO PHAN */ +#define XK_Thai_fofan 0x0dbf /* U+0E1F THAI CHARACTER FO FAN */ +#define XK_Thai_phosamphao 0x0dc0 /* U+0E20 THAI CHARACTER PHO SAMPHAO */ +#define XK_Thai_moma 0x0dc1 /* U+0E21 THAI CHARACTER MO MA */ +#define XK_Thai_yoyak 0x0dc2 /* U+0E22 THAI CHARACTER YO YAK */ +#define XK_Thai_rorua 0x0dc3 /* U+0E23 THAI CHARACTER RO RUA */ +#define XK_Thai_ru 0x0dc4 /* U+0E24 THAI CHARACTER RU */ +#define XK_Thai_loling 0x0dc5 /* U+0E25 THAI CHARACTER LO LING */ +#define XK_Thai_lu 0x0dc6 /* U+0E26 THAI CHARACTER LU */ +#define XK_Thai_wowaen 0x0dc7 /* U+0E27 THAI CHARACTER WO WAEN */ +#define XK_Thai_sosala 0x0dc8 /* U+0E28 THAI CHARACTER SO SALA */ +#define XK_Thai_sorusi 0x0dc9 /* U+0E29 THAI CHARACTER SO RUSI */ +#define XK_Thai_sosua 0x0dca /* U+0E2A THAI CHARACTER SO SUA */ +#define XK_Thai_hohip 0x0dcb /* U+0E2B THAI CHARACTER HO HIP */ +#define XK_Thai_lochula 0x0dcc /* U+0E2C THAI CHARACTER LO CHULA */ +#define XK_Thai_oang 0x0dcd /* U+0E2D THAI CHARACTER O ANG */ +#define XK_Thai_honokhuk 0x0dce /* U+0E2E THAI CHARACTER HO NOKHUK */ +#define XK_Thai_paiyannoi 0x0dcf /* U+0E2F THAI CHARACTER PAIYANNOI */ +#define XK_Thai_saraa 0x0dd0 /* U+0E30 THAI CHARACTER SARA A */ +#define XK_Thai_maihanakat 0x0dd1 /* U+0E31 THAI CHARACTER MAI HAN-AKAT */ +#define XK_Thai_saraaa 0x0dd2 /* U+0E32 THAI CHARACTER SARA AA */ +#define XK_Thai_saraam 0x0dd3 /* U+0E33 THAI CHARACTER SARA AM */ +#define XK_Thai_sarai 0x0dd4 /* U+0E34 THAI CHARACTER SARA I */ +#define XK_Thai_saraii 0x0dd5 /* U+0E35 THAI CHARACTER SARA II */ +#define XK_Thai_saraue 0x0dd6 /* U+0E36 THAI CHARACTER SARA UE */ +#define XK_Thai_sarauee 0x0dd7 /* U+0E37 THAI CHARACTER SARA UEE */ +#define XK_Thai_sarau 0x0dd8 /* U+0E38 THAI CHARACTER SARA U */ +#define XK_Thai_sarauu 0x0dd9 /* U+0E39 THAI CHARACTER SARA UU */ +#define XK_Thai_phinthu 0x0dda /* U+0E3A THAI CHARACTER PHINTHU */ +#define XK_Thai_maihanakat_maitho 0x0dde +#define XK_Thai_baht 0x0ddf /* U+0E3F THAI CURRENCY SYMBOL BAHT */ +#define XK_Thai_sarae 0x0de0 /* U+0E40 THAI CHARACTER SARA E */ +#define XK_Thai_saraae 0x0de1 /* U+0E41 THAI CHARACTER SARA AE */ +#define XK_Thai_sarao 0x0de2 /* U+0E42 THAI CHARACTER SARA O */ +#define XK_Thai_saraaimaimuan 0x0de3 /* U+0E43 THAI CHARACTER SARA AI MAIMUAN */ +#define XK_Thai_saraaimaimalai 0x0de4 /* U+0E44 THAI CHARACTER SARA AI MAIMALAI */ +#define XK_Thai_lakkhangyao 0x0de5 /* U+0E45 THAI CHARACTER LAKKHANGYAO */ +#define XK_Thai_maiyamok 0x0de6 /* U+0E46 THAI CHARACTER MAIYAMOK */ +#define XK_Thai_maitaikhu 0x0de7 /* U+0E47 THAI CHARACTER MAITAIKHU */ +#define XK_Thai_maiek 0x0de8 /* U+0E48 THAI CHARACTER MAI EK */ +#define XK_Thai_maitho 0x0de9 /* U+0E49 THAI CHARACTER MAI THO */ +#define XK_Thai_maitri 0x0dea /* U+0E4A THAI CHARACTER MAI TRI */ +#define XK_Thai_maichattawa 0x0deb /* U+0E4B THAI CHARACTER MAI CHATTAWA */ +#define XK_Thai_thanthakhat 0x0dec /* U+0E4C THAI CHARACTER THANTHAKHAT */ +#define XK_Thai_nikhahit 0x0ded /* U+0E4D THAI CHARACTER NIKHAHIT */ +#define XK_Thai_leksun 0x0df0 /* U+0E50 THAI DIGIT ZERO */ +#define XK_Thai_leknung 0x0df1 /* U+0E51 THAI DIGIT ONE */ +#define XK_Thai_leksong 0x0df2 /* U+0E52 THAI DIGIT TWO */ +#define XK_Thai_leksam 0x0df3 /* U+0E53 THAI DIGIT THREE */ +#define XK_Thai_leksi 0x0df4 /* U+0E54 THAI DIGIT FOUR */ +#define XK_Thai_lekha 0x0df5 /* U+0E55 THAI DIGIT FIVE */ +#define XK_Thai_lekhok 0x0df6 /* U+0E56 THAI DIGIT SIX */ +#define XK_Thai_lekchet 0x0df7 /* U+0E57 THAI DIGIT SEVEN */ +#define XK_Thai_lekpaet 0x0df8 /* U+0E58 THAI DIGIT EIGHT */ +#define XK_Thai_lekkao 0x0df9 /* U+0E59 THAI DIGIT NINE */ +#endif /* XK_THAI */ + +/* + * Korean + * Byte 3 = 0x0e + */ + +#ifdef XK_KOREAN + +#define XK_Hangul 0xff31 /* Hangul start/stop(toggle) */ +#define XK_Hangul_Start 0xff32 /* Hangul start */ +#define XK_Hangul_End 0xff33 /* Hangul end, English start */ +#define XK_Hangul_Hanja 0xff34 /* Start Hangul->Hanja Conversion */ +#define XK_Hangul_Jamo 0xff35 /* Hangul Jamo mode */ +#define XK_Hangul_Romaja 0xff36 /* Hangul Romaja mode */ +#define XK_Hangul_Codeinput 0xff37 /* Hangul code input mode */ +#define XK_Hangul_Jeonja 0xff38 /* Jeonja mode */ +#define XK_Hangul_Banja 0xff39 /* Banja mode */ +#define XK_Hangul_PreHanja 0xff3a /* Pre Hanja conversion */ +#define XK_Hangul_PostHanja 0xff3b /* Post Hanja conversion */ +#define XK_Hangul_SingleCandidate 0xff3c /* Single candidate */ +#define XK_Hangul_MultipleCandidate 0xff3d /* Multiple candidate */ +#define XK_Hangul_PreviousCandidate 0xff3e /* Previous candidate */ +#define XK_Hangul_Special 0xff3f /* Special symbols */ +#define XK_Hangul_switch 0xff7e /* Alias for mode_switch */ + +/* Hangul Consonant Characters */ +#define XK_Hangul_Kiyeog 0x0ea1 +#define XK_Hangul_SsangKiyeog 0x0ea2 +#define XK_Hangul_KiyeogSios 0x0ea3 +#define XK_Hangul_Nieun 0x0ea4 +#define XK_Hangul_NieunJieuj 0x0ea5 +#define XK_Hangul_NieunHieuh 0x0ea6 +#define XK_Hangul_Dikeud 0x0ea7 +#define XK_Hangul_SsangDikeud 0x0ea8 +#define XK_Hangul_Rieul 0x0ea9 +#define XK_Hangul_RieulKiyeog 0x0eaa +#define XK_Hangul_RieulMieum 0x0eab +#define XK_Hangul_RieulPieub 0x0eac +#define XK_Hangul_RieulSios 0x0ead +#define XK_Hangul_RieulTieut 0x0eae +#define XK_Hangul_RieulPhieuf 0x0eaf +#define XK_Hangul_RieulHieuh 0x0eb0 +#define XK_Hangul_Mieum 0x0eb1 +#define XK_Hangul_Pieub 0x0eb2 +#define XK_Hangul_SsangPieub 0x0eb3 +#define XK_Hangul_PieubSios 0x0eb4 +#define XK_Hangul_Sios 0x0eb5 +#define XK_Hangul_SsangSios 0x0eb6 +#define XK_Hangul_Ieung 0x0eb7 +#define XK_Hangul_Jieuj 0x0eb8 +#define XK_Hangul_SsangJieuj 0x0eb9 +#define XK_Hangul_Cieuc 0x0eba +#define XK_Hangul_Khieuq 0x0ebb +#define XK_Hangul_Tieut 0x0ebc +#define XK_Hangul_Phieuf 0x0ebd +#define XK_Hangul_Hieuh 0x0ebe + +/* Hangul Vowel Characters */ +#define XK_Hangul_A 0x0ebf +#define XK_Hangul_AE 0x0ec0 +#define XK_Hangul_YA 0x0ec1 +#define XK_Hangul_YAE 0x0ec2 +#define XK_Hangul_EO 0x0ec3 +#define XK_Hangul_E 0x0ec4 +#define XK_Hangul_YEO 0x0ec5 +#define XK_Hangul_YE 0x0ec6 +#define XK_Hangul_O 0x0ec7 +#define XK_Hangul_WA 0x0ec8 +#define XK_Hangul_WAE 0x0ec9 +#define XK_Hangul_OE 0x0eca +#define XK_Hangul_YO 0x0ecb +#define XK_Hangul_U 0x0ecc +#define XK_Hangul_WEO 0x0ecd +#define XK_Hangul_WE 0x0ece +#define XK_Hangul_WI 0x0ecf +#define XK_Hangul_YU 0x0ed0 +#define XK_Hangul_EU 0x0ed1 +#define XK_Hangul_YI 0x0ed2 +#define XK_Hangul_I 0x0ed3 + +/* Hangul syllable-final (JongSeong) Characters */ +#define XK_Hangul_J_Kiyeog 0x0ed4 +#define XK_Hangul_J_SsangKiyeog 0x0ed5 +#define XK_Hangul_J_KiyeogSios 0x0ed6 +#define XK_Hangul_J_Nieun 0x0ed7 +#define XK_Hangul_J_NieunJieuj 0x0ed8 +#define XK_Hangul_J_NieunHieuh 0x0ed9 +#define XK_Hangul_J_Dikeud 0x0eda +#define XK_Hangul_J_Rieul 0x0edb +#define XK_Hangul_J_RieulKiyeog 0x0edc +#define XK_Hangul_J_RieulMieum 0x0edd +#define XK_Hangul_J_RieulPieub 0x0ede +#define XK_Hangul_J_RieulSios 0x0edf +#define XK_Hangul_J_RieulTieut 0x0ee0 +#define XK_Hangul_J_RieulPhieuf 0x0ee1 +#define XK_Hangul_J_RieulHieuh 0x0ee2 +#define XK_Hangul_J_Mieum 0x0ee3 +#define XK_Hangul_J_Pieub 0x0ee4 +#define XK_Hangul_J_PieubSios 0x0ee5 +#define XK_Hangul_J_Sios 0x0ee6 +#define XK_Hangul_J_SsangSios 0x0ee7 +#define XK_Hangul_J_Ieung 0x0ee8 +#define XK_Hangul_J_Jieuj 0x0ee9 +#define XK_Hangul_J_Cieuc 0x0eea +#define XK_Hangul_J_Khieuq 0x0eeb +#define XK_Hangul_J_Tieut 0x0eec +#define XK_Hangul_J_Phieuf 0x0eed +#define XK_Hangul_J_Hieuh 0x0eee + +/* Ancient Hangul Consonant Characters */ +#define XK_Hangul_RieulYeorinHieuh 0x0eef +#define XK_Hangul_SunkyeongeumMieum 0x0ef0 +#define XK_Hangul_SunkyeongeumPieub 0x0ef1 +#define XK_Hangul_PanSios 0x0ef2 +#define XK_Hangul_KkogjiDalrinIeung 0x0ef3 +#define XK_Hangul_SunkyeongeumPhieuf 0x0ef4 +#define XK_Hangul_YeorinHieuh 0x0ef5 + +/* Ancient Hangul Vowel Characters */ +#define XK_Hangul_AraeA 0x0ef6 +#define XK_Hangul_AraeAE 0x0ef7 + +/* Ancient Hangul syllable-final (JongSeong) Characters */ +#define XK_Hangul_J_PanSios 0x0ef8 +#define XK_Hangul_J_KkogjiDalrinIeung 0x0ef9 +#define XK_Hangul_J_YeorinHieuh 0x0efa + +/* Korean currency symbol */ +#define XK_Korean_Won 0x0eff /*(U+20A9 WON SIGN)*/ + +#endif /* XK_KOREAN */ + +/* + * Armenian + */ + +#ifdef XK_ARMENIAN +#define XK_Armenian_ligature_ew 0x1000587 /* U+0587 ARMENIAN SMALL LIGATURE ECH YIWN */ +#define XK_Armenian_full_stop 0x1000589 /* U+0589 ARMENIAN FULL STOP */ +#define XK_Armenian_verjaket 0x1000589 /* U+0589 ARMENIAN FULL STOP */ +#define XK_Armenian_separation_mark 0x100055d /* U+055D ARMENIAN COMMA */ +#define XK_Armenian_but 0x100055d /* U+055D ARMENIAN COMMA */ +#define XK_Armenian_hyphen 0x100058a /* U+058A ARMENIAN HYPHEN */ +#define XK_Armenian_yentamna 0x100058a /* U+058A ARMENIAN HYPHEN */ +#define XK_Armenian_exclam 0x100055c /* U+055C ARMENIAN EXCLAMATION MARK */ +#define XK_Armenian_amanak 0x100055c /* U+055C ARMENIAN EXCLAMATION MARK */ +#define XK_Armenian_accent 0x100055b /* U+055B ARMENIAN EMPHASIS MARK */ +#define XK_Armenian_shesht 0x100055b /* U+055B ARMENIAN EMPHASIS MARK */ +#define XK_Armenian_question 0x100055e /* U+055E ARMENIAN QUESTION MARK */ +#define XK_Armenian_paruyk 0x100055e /* U+055E ARMENIAN QUESTION MARK */ +#define XK_Armenian_AYB 0x1000531 /* U+0531 ARMENIAN CAPITAL LETTER AYB */ +#define XK_Armenian_ayb 0x1000561 /* U+0561 ARMENIAN SMALL LETTER AYB */ +#define XK_Armenian_BEN 0x1000532 /* U+0532 ARMENIAN CAPITAL LETTER BEN */ +#define XK_Armenian_ben 0x1000562 /* U+0562 ARMENIAN SMALL LETTER BEN */ +#define XK_Armenian_GIM 0x1000533 /* U+0533 ARMENIAN CAPITAL LETTER GIM */ +#define XK_Armenian_gim 0x1000563 /* U+0563 ARMENIAN SMALL LETTER GIM */ +#define XK_Armenian_DA 0x1000534 /* U+0534 ARMENIAN CAPITAL LETTER DA */ +#define XK_Armenian_da 0x1000564 /* U+0564 ARMENIAN SMALL LETTER DA */ +#define XK_Armenian_YECH 0x1000535 /* U+0535 ARMENIAN CAPITAL LETTER ECH */ +#define XK_Armenian_yech 0x1000565 /* U+0565 ARMENIAN SMALL LETTER ECH */ +#define XK_Armenian_ZA 0x1000536 /* U+0536 ARMENIAN CAPITAL LETTER ZA */ +#define XK_Armenian_za 0x1000566 /* U+0566 ARMENIAN SMALL LETTER ZA */ +#define XK_Armenian_E 0x1000537 /* U+0537 ARMENIAN CAPITAL LETTER EH */ +#define XK_Armenian_e 0x1000567 /* U+0567 ARMENIAN SMALL LETTER EH */ +#define XK_Armenian_AT 0x1000538 /* U+0538 ARMENIAN CAPITAL LETTER ET */ +#define XK_Armenian_at 0x1000568 /* U+0568 ARMENIAN SMALL LETTER ET */ +#define XK_Armenian_TO 0x1000539 /* U+0539 ARMENIAN CAPITAL LETTER TO */ +#define XK_Armenian_to 0x1000569 /* U+0569 ARMENIAN SMALL LETTER TO */ +#define XK_Armenian_ZHE 0x100053a /* U+053A ARMENIAN CAPITAL LETTER ZHE */ +#define XK_Armenian_zhe 0x100056a /* U+056A ARMENIAN SMALL LETTER ZHE */ +#define XK_Armenian_INI 0x100053b /* U+053B ARMENIAN CAPITAL LETTER INI */ +#define XK_Armenian_ini 0x100056b /* U+056B ARMENIAN SMALL LETTER INI */ +#define XK_Armenian_LYUN 0x100053c /* U+053C ARMENIAN CAPITAL LETTER LIWN */ +#define XK_Armenian_lyun 0x100056c /* U+056C ARMENIAN SMALL LETTER LIWN */ +#define XK_Armenian_KHE 0x100053d /* U+053D ARMENIAN CAPITAL LETTER XEH */ +#define XK_Armenian_khe 0x100056d /* U+056D ARMENIAN SMALL LETTER XEH */ +#define XK_Armenian_TSA 0x100053e /* U+053E ARMENIAN CAPITAL LETTER CA */ +#define XK_Armenian_tsa 0x100056e /* U+056E ARMENIAN SMALL LETTER CA */ +#define XK_Armenian_KEN 0x100053f /* U+053F ARMENIAN CAPITAL LETTER KEN */ +#define XK_Armenian_ken 0x100056f /* U+056F ARMENIAN SMALL LETTER KEN */ +#define XK_Armenian_HO 0x1000540 /* U+0540 ARMENIAN CAPITAL LETTER HO */ +#define XK_Armenian_ho 0x1000570 /* U+0570 ARMENIAN SMALL LETTER HO */ +#define XK_Armenian_DZA 0x1000541 /* U+0541 ARMENIAN CAPITAL LETTER JA */ +#define XK_Armenian_dza 0x1000571 /* U+0571 ARMENIAN SMALL LETTER JA */ +#define XK_Armenian_GHAT 0x1000542 /* U+0542 ARMENIAN CAPITAL LETTER GHAD */ +#define XK_Armenian_ghat 0x1000572 /* U+0572 ARMENIAN SMALL LETTER GHAD */ +#define XK_Armenian_TCHE 0x1000543 /* U+0543 ARMENIAN CAPITAL LETTER CHEH */ +#define XK_Armenian_tche 0x1000573 /* U+0573 ARMENIAN SMALL LETTER CHEH */ +#define XK_Armenian_MEN 0x1000544 /* U+0544 ARMENIAN CAPITAL LETTER MEN */ +#define XK_Armenian_men 0x1000574 /* U+0574 ARMENIAN SMALL LETTER MEN */ +#define XK_Armenian_HI 0x1000545 /* U+0545 ARMENIAN CAPITAL LETTER YI */ +#define XK_Armenian_hi 0x1000575 /* U+0575 ARMENIAN SMALL LETTER YI */ +#define XK_Armenian_NU 0x1000546 /* U+0546 ARMENIAN CAPITAL LETTER NOW */ +#define XK_Armenian_nu 0x1000576 /* U+0576 ARMENIAN SMALL LETTER NOW */ +#define XK_Armenian_SHA 0x1000547 /* U+0547 ARMENIAN CAPITAL LETTER SHA */ +#define XK_Armenian_sha 0x1000577 /* U+0577 ARMENIAN SMALL LETTER SHA */ +#define XK_Armenian_VO 0x1000548 /* U+0548 ARMENIAN CAPITAL LETTER VO */ +#define XK_Armenian_vo 0x1000578 /* U+0578 ARMENIAN SMALL LETTER VO */ +#define XK_Armenian_CHA 0x1000549 /* U+0549 ARMENIAN CAPITAL LETTER CHA */ +#define XK_Armenian_cha 0x1000579 /* U+0579 ARMENIAN SMALL LETTER CHA */ +#define XK_Armenian_PE 0x100054a /* U+054A ARMENIAN CAPITAL LETTER PEH */ +#define XK_Armenian_pe 0x100057a /* U+057A ARMENIAN SMALL LETTER PEH */ +#define XK_Armenian_JE 0x100054b /* U+054B ARMENIAN CAPITAL LETTER JHEH */ +#define XK_Armenian_je 0x100057b /* U+057B ARMENIAN SMALL LETTER JHEH */ +#define XK_Armenian_RA 0x100054c /* U+054C ARMENIAN CAPITAL LETTER RA */ +#define XK_Armenian_ra 0x100057c /* U+057C ARMENIAN SMALL LETTER RA */ +#define XK_Armenian_SE 0x100054d /* U+054D ARMENIAN CAPITAL LETTER SEH */ +#define XK_Armenian_se 0x100057d /* U+057D ARMENIAN SMALL LETTER SEH */ +#define XK_Armenian_VEV 0x100054e /* U+054E ARMENIAN CAPITAL LETTER VEW */ +#define XK_Armenian_vev 0x100057e /* U+057E ARMENIAN SMALL LETTER VEW */ +#define XK_Armenian_TYUN 0x100054f /* U+054F ARMENIAN CAPITAL LETTER TIWN */ +#define XK_Armenian_tyun 0x100057f /* U+057F ARMENIAN SMALL LETTER TIWN */ +#define XK_Armenian_RE 0x1000550 /* U+0550 ARMENIAN CAPITAL LETTER REH */ +#define XK_Armenian_re 0x1000580 /* U+0580 ARMENIAN SMALL LETTER REH */ +#define XK_Armenian_TSO 0x1000551 /* U+0551 ARMENIAN CAPITAL LETTER CO */ +#define XK_Armenian_tso 0x1000581 /* U+0581 ARMENIAN SMALL LETTER CO */ +#define XK_Armenian_VYUN 0x1000552 /* U+0552 ARMENIAN CAPITAL LETTER YIWN */ +#define XK_Armenian_vyun 0x1000582 /* U+0582 ARMENIAN SMALL LETTER YIWN */ +#define XK_Armenian_PYUR 0x1000553 /* U+0553 ARMENIAN CAPITAL LETTER PIWR */ +#define XK_Armenian_pyur 0x1000583 /* U+0583 ARMENIAN SMALL LETTER PIWR */ +#define XK_Armenian_KE 0x1000554 /* U+0554 ARMENIAN CAPITAL LETTER KEH */ +#define XK_Armenian_ke 0x1000584 /* U+0584 ARMENIAN SMALL LETTER KEH */ +#define XK_Armenian_O 0x1000555 /* U+0555 ARMENIAN CAPITAL LETTER OH */ +#define XK_Armenian_o 0x1000585 /* U+0585 ARMENIAN SMALL LETTER OH */ +#define XK_Armenian_FE 0x1000556 /* U+0556 ARMENIAN CAPITAL LETTER FEH */ +#define XK_Armenian_fe 0x1000586 /* U+0586 ARMENIAN SMALL LETTER FEH */ +#define XK_Armenian_apostrophe 0x100055a /* U+055A ARMENIAN APOSTROPHE */ +#endif /* XK_ARMENIAN */ + +/* + * Georgian + */ + +#ifdef XK_GEORGIAN +#define XK_Georgian_an 0x10010d0 /* U+10D0 GEORGIAN LETTER AN */ +#define XK_Georgian_ban 0x10010d1 /* U+10D1 GEORGIAN LETTER BAN */ +#define XK_Georgian_gan 0x10010d2 /* U+10D2 GEORGIAN LETTER GAN */ +#define XK_Georgian_don 0x10010d3 /* U+10D3 GEORGIAN LETTER DON */ +#define XK_Georgian_en 0x10010d4 /* U+10D4 GEORGIAN LETTER EN */ +#define XK_Georgian_vin 0x10010d5 /* U+10D5 GEORGIAN LETTER VIN */ +#define XK_Georgian_zen 0x10010d6 /* U+10D6 GEORGIAN LETTER ZEN */ +#define XK_Georgian_tan 0x10010d7 /* U+10D7 GEORGIAN LETTER TAN */ +#define XK_Georgian_in 0x10010d8 /* U+10D8 GEORGIAN LETTER IN */ +#define XK_Georgian_kan 0x10010d9 /* U+10D9 GEORGIAN LETTER KAN */ +#define XK_Georgian_las 0x10010da /* U+10DA GEORGIAN LETTER LAS */ +#define XK_Georgian_man 0x10010db /* U+10DB GEORGIAN LETTER MAN */ +#define XK_Georgian_nar 0x10010dc /* U+10DC GEORGIAN LETTER NAR */ +#define XK_Georgian_on 0x10010dd /* U+10DD GEORGIAN LETTER ON */ +#define XK_Georgian_par 0x10010de /* U+10DE GEORGIAN LETTER PAR */ +#define XK_Georgian_zhar 0x10010df /* U+10DF GEORGIAN LETTER ZHAR */ +#define XK_Georgian_rae 0x10010e0 /* U+10E0 GEORGIAN LETTER RAE */ +#define XK_Georgian_san 0x10010e1 /* U+10E1 GEORGIAN LETTER SAN */ +#define XK_Georgian_tar 0x10010e2 /* U+10E2 GEORGIAN LETTER TAR */ +#define XK_Georgian_un 0x10010e3 /* U+10E3 GEORGIAN LETTER UN */ +#define XK_Georgian_phar 0x10010e4 /* U+10E4 GEORGIAN LETTER PHAR */ +#define XK_Georgian_khar 0x10010e5 /* U+10E5 GEORGIAN LETTER KHAR */ +#define XK_Georgian_ghan 0x10010e6 /* U+10E6 GEORGIAN LETTER GHAN */ +#define XK_Georgian_qar 0x10010e7 /* U+10E7 GEORGIAN LETTER QAR */ +#define XK_Georgian_shin 0x10010e8 /* U+10E8 GEORGIAN LETTER SHIN */ +#define XK_Georgian_chin 0x10010e9 /* U+10E9 GEORGIAN LETTER CHIN */ +#define XK_Georgian_can 0x10010ea /* U+10EA GEORGIAN LETTER CAN */ +#define XK_Georgian_jil 0x10010eb /* U+10EB GEORGIAN LETTER JIL */ +#define XK_Georgian_cil 0x10010ec /* U+10EC GEORGIAN LETTER CIL */ +#define XK_Georgian_char 0x10010ed /* U+10ED GEORGIAN LETTER CHAR */ +#define XK_Georgian_xan 0x10010ee /* U+10EE GEORGIAN LETTER XAN */ +#define XK_Georgian_jhan 0x10010ef /* U+10EF GEORGIAN LETTER JHAN */ +#define XK_Georgian_hae 0x10010f0 /* U+10F0 GEORGIAN LETTER HAE */ +#define XK_Georgian_he 0x10010f1 /* U+10F1 GEORGIAN LETTER HE */ +#define XK_Georgian_hie 0x10010f2 /* U+10F2 GEORGIAN LETTER HIE */ +#define XK_Georgian_we 0x10010f3 /* U+10F3 GEORGIAN LETTER WE */ +#define XK_Georgian_har 0x10010f4 /* U+10F4 GEORGIAN LETTER HAR */ +#define XK_Georgian_hoe 0x10010f5 /* U+10F5 GEORGIAN LETTER HOE */ +#define XK_Georgian_fi 0x10010f6 /* U+10F6 GEORGIAN LETTER FI */ +#endif /* XK_GEORGIAN */ + +/* + * Azeri (and other Turkic or Caucasian languages) + */ + +#ifdef XK_CAUCASUS +/* latin */ +#define XK_Xabovedot 0x1001e8a /* U+1E8A LATIN CAPITAL LETTER X WITH DOT ABOVE */ +#define XK_Ibreve 0x100012c /* U+012C LATIN CAPITAL LETTER I WITH BREVE */ +#define XK_Zstroke 0x10001b5 /* U+01B5 LATIN CAPITAL LETTER Z WITH STROKE */ +#define XK_Gcaron 0x10001e6 /* U+01E6 LATIN CAPITAL LETTER G WITH CARON */ +#define XK_Ocaron 0x10001d1 /* U+01D2 LATIN CAPITAL LETTER O WITH CARON */ +#define XK_Obarred 0x100019f /* U+019F LATIN CAPITAL LETTER O WITH MIDDLE TILDE */ +#define XK_xabovedot 0x1001e8b /* U+1E8B LATIN SMALL LETTER X WITH DOT ABOVE */ +#define XK_ibreve 0x100012d /* U+012D LATIN SMALL LETTER I WITH BREVE */ +#define XK_zstroke 0x10001b6 /* U+01B6 LATIN SMALL LETTER Z WITH STROKE */ +#define XK_gcaron 0x10001e7 /* U+01E7 LATIN SMALL LETTER G WITH CARON */ +#define XK_ocaron 0x10001d2 /* U+01D2 LATIN SMALL LETTER O WITH CARON */ +#define XK_obarred 0x1000275 /* U+0275 LATIN SMALL LETTER BARRED O */ +#define XK_SCHWA 0x100018f /* U+018F LATIN CAPITAL LETTER SCHWA */ +#define XK_schwa 0x1000259 /* U+0259 LATIN SMALL LETTER SCHWA */ +#define XK_EZH 0x10001b7 /* U+01B7 LATIN CAPITAL LETTER EZH */ +#define XK_ezh 0x1000292 /* U+0292 LATIN SMALL LETTER EZH */ +/* those are not really Caucasus */ +/* For Inupiak */ +#define XK_Lbelowdot 0x1001e36 /* U+1E36 LATIN CAPITAL LETTER L WITH DOT BELOW */ +#define XK_lbelowdot 0x1001e37 /* U+1E37 LATIN SMALL LETTER L WITH DOT BELOW */ +#endif /* XK_CAUCASUS */ + +/* + * Vietnamese + */ + +#ifdef XK_VIETNAMESE +#define XK_Abelowdot 0x1001ea0 /* U+1EA0 LATIN CAPITAL LETTER A WITH DOT BELOW */ +#define XK_abelowdot 0x1001ea1 /* U+1EA1 LATIN SMALL LETTER A WITH DOT BELOW */ +#define XK_Ahook 0x1001ea2 /* U+1EA2 LATIN CAPITAL LETTER A WITH HOOK ABOVE */ +#define XK_ahook 0x1001ea3 /* U+1EA3 LATIN SMALL LETTER A WITH HOOK ABOVE */ +#define XK_Acircumflexacute 0x1001ea4 /* U+1EA4 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE */ +#define XK_acircumflexacute 0x1001ea5 /* U+1EA5 LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE */ +#define XK_Acircumflexgrave 0x1001ea6 /* U+1EA6 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE */ +#define XK_acircumflexgrave 0x1001ea7 /* U+1EA7 LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE */ +#define XK_Acircumflexhook 0x1001ea8 /* U+1EA8 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE */ +#define XK_acircumflexhook 0x1001ea9 /* U+1EA9 LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE */ +#define XK_Acircumflextilde 0x1001eaa /* U+1EAA LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE */ +#define XK_acircumflextilde 0x1001eab /* U+1EAB LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE */ +#define XK_Acircumflexbelowdot 0x1001eac /* U+1EAC LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW */ +#define XK_acircumflexbelowdot 0x1001ead /* U+1EAD LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW */ +#define XK_Abreveacute 0x1001eae /* U+1EAE LATIN CAPITAL LETTER A WITH BREVE AND ACUTE */ +#define XK_abreveacute 0x1001eaf /* U+1EAF LATIN SMALL LETTER A WITH BREVE AND ACUTE */ +#define XK_Abrevegrave 0x1001eb0 /* U+1EB0 LATIN CAPITAL LETTER A WITH BREVE AND GRAVE */ +#define XK_abrevegrave 0x1001eb1 /* U+1EB1 LATIN SMALL LETTER A WITH BREVE AND GRAVE */ +#define XK_Abrevehook 0x1001eb2 /* U+1EB2 LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE */ +#define XK_abrevehook 0x1001eb3 /* U+1EB3 LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE */ +#define XK_Abrevetilde 0x1001eb4 /* U+1EB4 LATIN CAPITAL LETTER A WITH BREVE AND TILDE */ +#define XK_abrevetilde 0x1001eb5 /* U+1EB5 LATIN SMALL LETTER A WITH BREVE AND TILDE */ +#define XK_Abrevebelowdot 0x1001eb6 /* U+1EB6 LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW */ +#define XK_abrevebelowdot 0x1001eb7 /* U+1EB7 LATIN SMALL LETTER A WITH BREVE AND DOT BELOW */ +#define XK_Ebelowdot 0x1001eb8 /* U+1EB8 LATIN CAPITAL LETTER E WITH DOT BELOW */ +#define XK_ebelowdot 0x1001eb9 /* U+1EB9 LATIN SMALL LETTER E WITH DOT BELOW */ +#define XK_Ehook 0x1001eba /* U+1EBA LATIN CAPITAL LETTER E WITH HOOK ABOVE */ +#define XK_ehook 0x1001ebb /* U+1EBB LATIN SMALL LETTER E WITH HOOK ABOVE */ +#define XK_Etilde 0x1001ebc /* U+1EBC LATIN CAPITAL LETTER E WITH TILDE */ +#define XK_etilde 0x1001ebd /* U+1EBD LATIN SMALL LETTER E WITH TILDE */ +#define XK_Ecircumflexacute 0x1001ebe /* U+1EBE LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE */ +#define XK_ecircumflexacute 0x1001ebf /* U+1EBF LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE */ +#define XK_Ecircumflexgrave 0x1001ec0 /* U+1EC0 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE */ +#define XK_ecircumflexgrave 0x1001ec1 /* U+1EC1 LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE */ +#define XK_Ecircumflexhook 0x1001ec2 /* U+1EC2 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE */ +#define XK_ecircumflexhook 0x1001ec3 /* U+1EC3 LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE */ +#define XK_Ecircumflextilde 0x1001ec4 /* U+1EC4 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE */ +#define XK_ecircumflextilde 0x1001ec5 /* U+1EC5 LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE */ +#define XK_Ecircumflexbelowdot 0x1001ec6 /* U+1EC6 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW */ +#define XK_ecircumflexbelowdot 0x1001ec7 /* U+1EC7 LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW */ +#define XK_Ihook 0x1001ec8 /* U+1EC8 LATIN CAPITAL LETTER I WITH HOOK ABOVE */ +#define XK_ihook 0x1001ec9 /* U+1EC9 LATIN SMALL LETTER I WITH HOOK ABOVE */ +#define XK_Ibelowdot 0x1001eca /* U+1ECA LATIN CAPITAL LETTER I WITH DOT BELOW */ +#define XK_ibelowdot 0x1001ecb /* U+1ECB LATIN SMALL LETTER I WITH DOT BELOW */ +#define XK_Obelowdot 0x1001ecc /* U+1ECC LATIN CAPITAL LETTER O WITH DOT BELOW */ +#define XK_obelowdot 0x1001ecd /* U+1ECD LATIN SMALL LETTER O WITH DOT BELOW */ +#define XK_Ohook 0x1001ece /* U+1ECE LATIN CAPITAL LETTER O WITH HOOK ABOVE */ +#define XK_ohook 0x1001ecf /* U+1ECF LATIN SMALL LETTER O WITH HOOK ABOVE */ +#define XK_Ocircumflexacute 0x1001ed0 /* U+1ED0 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE */ +#define XK_ocircumflexacute 0x1001ed1 /* U+1ED1 LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE */ +#define XK_Ocircumflexgrave 0x1001ed2 /* U+1ED2 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE */ +#define XK_ocircumflexgrave 0x1001ed3 /* U+1ED3 LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE */ +#define XK_Ocircumflexhook 0x1001ed4 /* U+1ED4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE */ +#define XK_ocircumflexhook 0x1001ed5 /* U+1ED5 LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE */ +#define XK_Ocircumflextilde 0x1001ed6 /* U+1ED6 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE */ +#define XK_ocircumflextilde 0x1001ed7 /* U+1ED7 LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE */ +#define XK_Ocircumflexbelowdot 0x1001ed8 /* U+1ED8 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW */ +#define XK_ocircumflexbelowdot 0x1001ed9 /* U+1ED9 LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW */ +#define XK_Ohornacute 0x1001eda /* U+1EDA LATIN CAPITAL LETTER O WITH HORN AND ACUTE */ +#define XK_ohornacute 0x1001edb /* U+1EDB LATIN SMALL LETTER O WITH HORN AND ACUTE */ +#define XK_Ohorngrave 0x1001edc /* U+1EDC LATIN CAPITAL LETTER O WITH HORN AND GRAVE */ +#define XK_ohorngrave 0x1001edd /* U+1EDD LATIN SMALL LETTER O WITH HORN AND GRAVE */ +#define XK_Ohornhook 0x1001ede /* U+1EDE LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE */ +#define XK_ohornhook 0x1001edf /* U+1EDF LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE */ +#define XK_Ohorntilde 0x1001ee0 /* U+1EE0 LATIN CAPITAL LETTER O WITH HORN AND TILDE */ +#define XK_ohorntilde 0x1001ee1 /* U+1EE1 LATIN SMALL LETTER O WITH HORN AND TILDE */ +#define XK_Ohornbelowdot 0x1001ee2 /* U+1EE2 LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW */ +#define XK_ohornbelowdot 0x1001ee3 /* U+1EE3 LATIN SMALL LETTER O WITH HORN AND DOT BELOW */ +#define XK_Ubelowdot 0x1001ee4 /* U+1EE4 LATIN CAPITAL LETTER U WITH DOT BELOW */ +#define XK_ubelowdot 0x1001ee5 /* U+1EE5 LATIN SMALL LETTER U WITH DOT BELOW */ +#define XK_Uhook 0x1001ee6 /* U+1EE6 LATIN CAPITAL LETTER U WITH HOOK ABOVE */ +#define XK_uhook 0x1001ee7 /* U+1EE7 LATIN SMALL LETTER U WITH HOOK ABOVE */ +#define XK_Uhornacute 0x1001ee8 /* U+1EE8 LATIN CAPITAL LETTER U WITH HORN AND ACUTE */ +#define XK_uhornacute 0x1001ee9 /* U+1EE9 LATIN SMALL LETTER U WITH HORN AND ACUTE */ +#define XK_Uhorngrave 0x1001eea /* U+1EEA LATIN CAPITAL LETTER U WITH HORN AND GRAVE */ +#define XK_uhorngrave 0x1001eeb /* U+1EEB LATIN SMALL LETTER U WITH HORN AND GRAVE */ +#define XK_Uhornhook 0x1001eec /* U+1EEC LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE */ +#define XK_uhornhook 0x1001eed /* U+1EED LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE */ +#define XK_Uhorntilde 0x1001eee /* U+1EEE LATIN CAPITAL LETTER U WITH HORN AND TILDE */ +#define XK_uhorntilde 0x1001eef /* U+1EEF LATIN SMALL LETTER U WITH HORN AND TILDE */ +#define XK_Uhornbelowdot 0x1001ef0 /* U+1EF0 LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW */ +#define XK_uhornbelowdot 0x1001ef1 /* U+1EF1 LATIN SMALL LETTER U WITH HORN AND DOT BELOW */ +#define XK_Ybelowdot 0x1001ef4 /* U+1EF4 LATIN CAPITAL LETTER Y WITH DOT BELOW */ +#define XK_ybelowdot 0x1001ef5 /* U+1EF5 LATIN SMALL LETTER Y WITH DOT BELOW */ +#define XK_Yhook 0x1001ef6 /* U+1EF6 LATIN CAPITAL LETTER Y WITH HOOK ABOVE */ +#define XK_yhook 0x1001ef7 /* U+1EF7 LATIN SMALL LETTER Y WITH HOOK ABOVE */ +#define XK_Ytilde 0x1001ef8 /* U+1EF8 LATIN CAPITAL LETTER Y WITH TILDE */ +#define XK_ytilde 0x1001ef9 /* U+1EF9 LATIN SMALL LETTER Y WITH TILDE */ +#define XK_Ohorn 0x10001a0 /* U+01A0 LATIN CAPITAL LETTER O WITH HORN */ +#define XK_ohorn 0x10001a1 /* U+01A1 LATIN SMALL LETTER O WITH HORN */ +#define XK_Uhorn 0x10001af /* U+01AF LATIN CAPITAL LETTER U WITH HORN */ +#define XK_uhorn 0x10001b0 /* U+01B0 LATIN SMALL LETTER U WITH HORN */ + +#endif /* XK_VIETNAMESE */ + +#ifdef XK_CURRENCY +#define XK_EcuSign 0x10020a0 /* U+20A0 EURO-CURRENCY SIGN */ +#define XK_ColonSign 0x10020a1 /* U+20A1 COLON SIGN */ +#define XK_CruzeiroSign 0x10020a2 /* U+20A2 CRUZEIRO SIGN */ +#define XK_FFrancSign 0x10020a3 /* U+20A3 FRENCH FRANC SIGN */ +#define XK_LiraSign 0x10020a4 /* U+20A4 LIRA SIGN */ +#define XK_MillSign 0x10020a5 /* U+20A5 MILL SIGN */ +#define XK_NairaSign 0x10020a6 /* U+20A6 NAIRA SIGN */ +#define XK_PesetaSign 0x10020a7 /* U+20A7 PESETA SIGN */ +#define XK_RupeeSign 0x10020a8 /* U+20A8 RUPEE SIGN */ +#define XK_WonSign 0x10020a9 /* U+20A9 WON SIGN */ +#define XK_NewSheqelSign 0x10020aa /* U+20AA NEW SHEQEL SIGN */ +#define XK_DongSign 0x10020ab /* U+20AB DONG SIGN */ +#define XK_EuroSign 0x20ac /* U+20AC EURO SIGN */ +#endif /* XK_CURRENCY */ + +#ifdef XK_MATHEMATICAL +/* one, two and three are defined above. */ +#define XK_zerosuperior 0x1002070 /* U+2070 SUPERSCRIPT ZERO */ +#define XK_foursuperior 0x1002074 /* U+2074 SUPERSCRIPT FOUR */ +#define XK_fivesuperior 0x1002075 /* U+2075 SUPERSCRIPT FIVE */ +#define XK_sixsuperior 0x1002076 /* U+2076 SUPERSCRIPT SIX */ +#define XK_sevensuperior 0x1002077 /* U+2077 SUPERSCRIPT SEVEN */ +#define XK_eightsuperior 0x1002078 /* U+2078 SUPERSCRIPT EIGHT */ +#define XK_ninesuperior 0x1002079 /* U+2079 SUPERSCRIPT NINE */ +#define XK_zerosubscript 0x1002080 /* U+2080 SUBSCRIPT ZERO */ +#define XK_onesubscript 0x1002081 /* U+2081 SUBSCRIPT ONE */ +#define XK_twosubscript 0x1002082 /* U+2082 SUBSCRIPT TWO */ +#define XK_threesubscript 0x1002083 /* U+2083 SUBSCRIPT THREE */ +#define XK_foursubscript 0x1002084 /* U+2084 SUBSCRIPT FOUR */ +#define XK_fivesubscript 0x1002085 /* U+2085 SUBSCRIPT FIVE */ +#define XK_sixsubscript 0x1002086 /* U+2086 SUBSCRIPT SIX */ +#define XK_sevensubscript 0x1002087 /* U+2087 SUBSCRIPT SEVEN */ +#define XK_eightsubscript 0x1002088 /* U+2088 SUBSCRIPT EIGHT */ +#define XK_ninesubscript 0x1002089 /* U+2089 SUBSCRIPT NINE */ +#define XK_partdifferential 0x1002202 /* U+2202 PARTIAL DIFFERENTIAL */ +#define XK_emptyset 0x1002205 /* U+2205 NULL SET */ +#define XK_elementof 0x1002208 /* U+2208 ELEMENT OF */ +#define XK_notelementof 0x1002209 /* U+2209 NOT AN ELEMENT OF */ +#define XK_containsas 0x100220B /* U+220B CONTAINS AS MEMBER */ +#define XK_squareroot 0x100221A /* U+221A SQUARE ROOT */ +#define XK_cuberoot 0x100221B /* U+221B CUBE ROOT */ +#define XK_fourthroot 0x100221C /* U+221C FOURTH ROOT */ +#define XK_dintegral 0x100222C /* U+222C DOUBLE INTEGRAL */ +#define XK_tintegral 0x100222D /* U+222D TRIPLE INTEGRAL */ +#define XK_because 0x1002235 /* U+2235 BECAUSE */ +#define XK_approxeq 0x1002248 /* U+2245 ALMOST EQUAL TO */ +#define XK_notapproxeq 0x1002247 /* U+2247 NOT ALMOST EQUAL TO */ +#define XK_notidentical 0x1002262 /* U+2262 NOT IDENTICAL TO */ +#define XK_stricteq 0x1002263 /* U+2263 STRICTLY EQUIVALENT TO */ +#endif /* XK_MATHEMATICAL */ + +#ifdef XK_BRAILLE +#define XK_braille_dot_1 0xfff1 +#define XK_braille_dot_2 0xfff2 +#define XK_braille_dot_3 0xfff3 +#define XK_braille_dot_4 0xfff4 +#define XK_braille_dot_5 0xfff5 +#define XK_braille_dot_6 0xfff6 +#define XK_braille_dot_7 0xfff7 +#define XK_braille_dot_8 0xfff8 +#define XK_braille_dot_9 0xfff9 +#define XK_braille_dot_10 0xfffa +#define XK_braille_blank 0x1002800 /* U+2800 BRAILLE PATTERN BLANK */ +#define XK_braille_dots_1 0x1002801 /* U+2801 BRAILLE PATTERN DOTS-1 */ +#define XK_braille_dots_2 0x1002802 /* U+2802 BRAILLE PATTERN DOTS-2 */ +#define XK_braille_dots_12 0x1002803 /* U+2803 BRAILLE PATTERN DOTS-12 */ +#define XK_braille_dots_3 0x1002804 /* U+2804 BRAILLE PATTERN DOTS-3 */ +#define XK_braille_dots_13 0x1002805 /* U+2805 BRAILLE PATTERN DOTS-13 */ +#define XK_braille_dots_23 0x1002806 /* U+2806 BRAILLE PATTERN DOTS-23 */ +#define XK_braille_dots_123 0x1002807 /* U+2807 BRAILLE PATTERN DOTS-123 */ +#define XK_braille_dots_4 0x1002808 /* U+2808 BRAILLE PATTERN DOTS-4 */ +#define XK_braille_dots_14 0x1002809 /* U+2809 BRAILLE PATTERN DOTS-14 */ +#define XK_braille_dots_24 0x100280a /* U+280a BRAILLE PATTERN DOTS-24 */ +#define XK_braille_dots_124 0x100280b /* U+280b BRAILLE PATTERN DOTS-124 */ +#define XK_braille_dots_34 0x100280c /* U+280c BRAILLE PATTERN DOTS-34 */ +#define XK_braille_dots_134 0x100280d /* U+280d BRAILLE PATTERN DOTS-134 */ +#define XK_braille_dots_234 0x100280e /* U+280e BRAILLE PATTERN DOTS-234 */ +#define XK_braille_dots_1234 0x100280f /* U+280f BRAILLE PATTERN DOTS-1234 */ +#define XK_braille_dots_5 0x1002810 /* U+2810 BRAILLE PATTERN DOTS-5 */ +#define XK_braille_dots_15 0x1002811 /* U+2811 BRAILLE PATTERN DOTS-15 */ +#define XK_braille_dots_25 0x1002812 /* U+2812 BRAILLE PATTERN DOTS-25 */ +#define XK_braille_dots_125 0x1002813 /* U+2813 BRAILLE PATTERN DOTS-125 */ +#define XK_braille_dots_35 0x1002814 /* U+2814 BRAILLE PATTERN DOTS-35 */ +#define XK_braille_dots_135 0x1002815 /* U+2815 BRAILLE PATTERN DOTS-135 */ +#define XK_braille_dots_235 0x1002816 /* U+2816 BRAILLE PATTERN DOTS-235 */ +#define XK_braille_dots_1235 0x1002817 /* U+2817 BRAILLE PATTERN DOTS-1235 */ +#define XK_braille_dots_45 0x1002818 /* U+2818 BRAILLE PATTERN DOTS-45 */ +#define XK_braille_dots_145 0x1002819 /* U+2819 BRAILLE PATTERN DOTS-145 */ +#define XK_braille_dots_245 0x100281a /* U+281a BRAILLE PATTERN DOTS-245 */ +#define XK_braille_dots_1245 0x100281b /* U+281b BRAILLE PATTERN DOTS-1245 */ +#define XK_braille_dots_345 0x100281c /* U+281c BRAILLE PATTERN DOTS-345 */ +#define XK_braille_dots_1345 0x100281d /* U+281d BRAILLE PATTERN DOTS-1345 */ +#define XK_braille_dots_2345 0x100281e /* U+281e BRAILLE PATTERN DOTS-2345 */ +#define XK_braille_dots_12345 0x100281f /* U+281f BRAILLE PATTERN DOTS-12345 */ +#define XK_braille_dots_6 0x1002820 /* U+2820 BRAILLE PATTERN DOTS-6 */ +#define XK_braille_dots_16 0x1002821 /* U+2821 BRAILLE PATTERN DOTS-16 */ +#define XK_braille_dots_26 0x1002822 /* U+2822 BRAILLE PATTERN DOTS-26 */ +#define XK_braille_dots_126 0x1002823 /* U+2823 BRAILLE PATTERN DOTS-126 */ +#define XK_braille_dots_36 0x1002824 /* U+2824 BRAILLE PATTERN DOTS-36 */ +#define XK_braille_dots_136 0x1002825 /* U+2825 BRAILLE PATTERN DOTS-136 */ +#define XK_braille_dots_236 0x1002826 /* U+2826 BRAILLE PATTERN DOTS-236 */ +#define XK_braille_dots_1236 0x1002827 /* U+2827 BRAILLE PATTERN DOTS-1236 */ +#define XK_braille_dots_46 0x1002828 /* U+2828 BRAILLE PATTERN DOTS-46 */ +#define XK_braille_dots_146 0x1002829 /* U+2829 BRAILLE PATTERN DOTS-146 */ +#define XK_braille_dots_246 0x100282a /* U+282a BRAILLE PATTERN DOTS-246 */ +#define XK_braille_dots_1246 0x100282b /* U+282b BRAILLE PATTERN DOTS-1246 */ +#define XK_braille_dots_346 0x100282c /* U+282c BRAILLE PATTERN DOTS-346 */ +#define XK_braille_dots_1346 0x100282d /* U+282d BRAILLE PATTERN DOTS-1346 */ +#define XK_braille_dots_2346 0x100282e /* U+282e BRAILLE PATTERN DOTS-2346 */ +#define XK_braille_dots_12346 0x100282f /* U+282f BRAILLE PATTERN DOTS-12346 */ +#define XK_braille_dots_56 0x1002830 /* U+2830 BRAILLE PATTERN DOTS-56 */ +#define XK_braille_dots_156 0x1002831 /* U+2831 BRAILLE PATTERN DOTS-156 */ +#define XK_braille_dots_256 0x1002832 /* U+2832 BRAILLE PATTERN DOTS-256 */ +#define XK_braille_dots_1256 0x1002833 /* U+2833 BRAILLE PATTERN DOTS-1256 */ +#define XK_braille_dots_356 0x1002834 /* U+2834 BRAILLE PATTERN DOTS-356 */ +#define XK_braille_dots_1356 0x1002835 /* U+2835 BRAILLE PATTERN DOTS-1356 */ +#define XK_braille_dots_2356 0x1002836 /* U+2836 BRAILLE PATTERN DOTS-2356 */ +#define XK_braille_dots_12356 0x1002837 /* U+2837 BRAILLE PATTERN DOTS-12356 */ +#define XK_braille_dots_456 0x1002838 /* U+2838 BRAILLE PATTERN DOTS-456 */ +#define XK_braille_dots_1456 0x1002839 /* U+2839 BRAILLE PATTERN DOTS-1456 */ +#define XK_braille_dots_2456 0x100283a /* U+283a BRAILLE PATTERN DOTS-2456 */ +#define XK_braille_dots_12456 0x100283b /* U+283b BRAILLE PATTERN DOTS-12456 */ +#define XK_braille_dots_3456 0x100283c /* U+283c BRAILLE PATTERN DOTS-3456 */ +#define XK_braille_dots_13456 0x100283d /* U+283d BRAILLE PATTERN DOTS-13456 */ +#define XK_braille_dots_23456 0x100283e /* U+283e BRAILLE PATTERN DOTS-23456 */ +#define XK_braille_dots_123456 0x100283f /* U+283f BRAILLE PATTERN DOTS-123456 */ +#define XK_braille_dots_7 0x1002840 /* U+2840 BRAILLE PATTERN DOTS-7 */ +#define XK_braille_dots_17 0x1002841 /* U+2841 BRAILLE PATTERN DOTS-17 */ +#define XK_braille_dots_27 0x1002842 /* U+2842 BRAILLE PATTERN DOTS-27 */ +#define XK_braille_dots_127 0x1002843 /* U+2843 BRAILLE PATTERN DOTS-127 */ +#define XK_braille_dots_37 0x1002844 /* U+2844 BRAILLE PATTERN DOTS-37 */ +#define XK_braille_dots_137 0x1002845 /* U+2845 BRAILLE PATTERN DOTS-137 */ +#define XK_braille_dots_237 0x1002846 /* U+2846 BRAILLE PATTERN DOTS-237 */ +#define XK_braille_dots_1237 0x1002847 /* U+2847 BRAILLE PATTERN DOTS-1237 */ +#define XK_braille_dots_47 0x1002848 /* U+2848 BRAILLE PATTERN DOTS-47 */ +#define XK_braille_dots_147 0x1002849 /* U+2849 BRAILLE PATTERN DOTS-147 */ +#define XK_braille_dots_247 0x100284a /* U+284a BRAILLE PATTERN DOTS-247 */ +#define XK_braille_dots_1247 0x100284b /* U+284b BRAILLE PATTERN DOTS-1247 */ +#define XK_braille_dots_347 0x100284c /* U+284c BRAILLE PATTERN DOTS-347 */ +#define XK_braille_dots_1347 0x100284d /* U+284d BRAILLE PATTERN DOTS-1347 */ +#define XK_braille_dots_2347 0x100284e /* U+284e BRAILLE PATTERN DOTS-2347 */ +#define XK_braille_dots_12347 0x100284f /* U+284f BRAILLE PATTERN DOTS-12347 */ +#define XK_braille_dots_57 0x1002850 /* U+2850 BRAILLE PATTERN DOTS-57 */ +#define XK_braille_dots_157 0x1002851 /* U+2851 BRAILLE PATTERN DOTS-157 */ +#define XK_braille_dots_257 0x1002852 /* U+2852 BRAILLE PATTERN DOTS-257 */ +#define XK_braille_dots_1257 0x1002853 /* U+2853 BRAILLE PATTERN DOTS-1257 */ +#define XK_braille_dots_357 0x1002854 /* U+2854 BRAILLE PATTERN DOTS-357 */ +#define XK_braille_dots_1357 0x1002855 /* U+2855 BRAILLE PATTERN DOTS-1357 */ +#define XK_braille_dots_2357 0x1002856 /* U+2856 BRAILLE PATTERN DOTS-2357 */ +#define XK_braille_dots_12357 0x1002857 /* U+2857 BRAILLE PATTERN DOTS-12357 */ +#define XK_braille_dots_457 0x1002858 /* U+2858 BRAILLE PATTERN DOTS-457 */ +#define XK_braille_dots_1457 0x1002859 /* U+2859 BRAILLE PATTERN DOTS-1457 */ +#define XK_braille_dots_2457 0x100285a /* U+285a BRAILLE PATTERN DOTS-2457 */ +#define XK_braille_dots_12457 0x100285b /* U+285b BRAILLE PATTERN DOTS-12457 */ +#define XK_braille_dots_3457 0x100285c /* U+285c BRAILLE PATTERN DOTS-3457 */ +#define XK_braille_dots_13457 0x100285d /* U+285d BRAILLE PATTERN DOTS-13457 */ +#define XK_braille_dots_23457 0x100285e /* U+285e BRAILLE PATTERN DOTS-23457 */ +#define XK_braille_dots_123457 0x100285f /* U+285f BRAILLE PATTERN DOTS-123457 */ +#define XK_braille_dots_67 0x1002860 /* U+2860 BRAILLE PATTERN DOTS-67 */ +#define XK_braille_dots_167 0x1002861 /* U+2861 BRAILLE PATTERN DOTS-167 */ +#define XK_braille_dots_267 0x1002862 /* U+2862 BRAILLE PATTERN DOTS-267 */ +#define XK_braille_dots_1267 0x1002863 /* U+2863 BRAILLE PATTERN DOTS-1267 */ +#define XK_braille_dots_367 0x1002864 /* U+2864 BRAILLE PATTERN DOTS-367 */ +#define XK_braille_dots_1367 0x1002865 /* U+2865 BRAILLE PATTERN DOTS-1367 */ +#define XK_braille_dots_2367 0x1002866 /* U+2866 BRAILLE PATTERN DOTS-2367 */ +#define XK_braille_dots_12367 0x1002867 /* U+2867 BRAILLE PATTERN DOTS-12367 */ +#define XK_braille_dots_467 0x1002868 /* U+2868 BRAILLE PATTERN DOTS-467 */ +#define XK_braille_dots_1467 0x1002869 /* U+2869 BRAILLE PATTERN DOTS-1467 */ +#define XK_braille_dots_2467 0x100286a /* U+286a BRAILLE PATTERN DOTS-2467 */ +#define XK_braille_dots_12467 0x100286b /* U+286b BRAILLE PATTERN DOTS-12467 */ +#define XK_braille_dots_3467 0x100286c /* U+286c BRAILLE PATTERN DOTS-3467 */ +#define XK_braille_dots_13467 0x100286d /* U+286d BRAILLE PATTERN DOTS-13467 */ +#define XK_braille_dots_23467 0x100286e /* U+286e BRAILLE PATTERN DOTS-23467 */ +#define XK_braille_dots_123467 0x100286f /* U+286f BRAILLE PATTERN DOTS-123467 */ +#define XK_braille_dots_567 0x1002870 /* U+2870 BRAILLE PATTERN DOTS-567 */ +#define XK_braille_dots_1567 0x1002871 /* U+2871 BRAILLE PATTERN DOTS-1567 */ +#define XK_braille_dots_2567 0x1002872 /* U+2872 BRAILLE PATTERN DOTS-2567 */ +#define XK_braille_dots_12567 0x1002873 /* U+2873 BRAILLE PATTERN DOTS-12567 */ +#define XK_braille_dots_3567 0x1002874 /* U+2874 BRAILLE PATTERN DOTS-3567 */ +#define XK_braille_dots_13567 0x1002875 /* U+2875 BRAILLE PATTERN DOTS-13567 */ +#define XK_braille_dots_23567 0x1002876 /* U+2876 BRAILLE PATTERN DOTS-23567 */ +#define XK_braille_dots_123567 0x1002877 /* U+2877 BRAILLE PATTERN DOTS-123567 */ +#define XK_braille_dots_4567 0x1002878 /* U+2878 BRAILLE PATTERN DOTS-4567 */ +#define XK_braille_dots_14567 0x1002879 /* U+2879 BRAILLE PATTERN DOTS-14567 */ +#define XK_braille_dots_24567 0x100287a /* U+287a BRAILLE PATTERN DOTS-24567 */ +#define XK_braille_dots_124567 0x100287b /* U+287b BRAILLE PATTERN DOTS-124567 */ +#define XK_braille_dots_34567 0x100287c /* U+287c BRAILLE PATTERN DOTS-34567 */ +#define XK_braille_dots_134567 0x100287d /* U+287d BRAILLE PATTERN DOTS-134567 */ +#define XK_braille_dots_234567 0x100287e /* U+287e BRAILLE PATTERN DOTS-234567 */ +#define XK_braille_dots_1234567 0x100287f /* U+287f BRAILLE PATTERN DOTS-1234567 */ +#define XK_braille_dots_8 0x1002880 /* U+2880 BRAILLE PATTERN DOTS-8 */ +#define XK_braille_dots_18 0x1002881 /* U+2881 BRAILLE PATTERN DOTS-18 */ +#define XK_braille_dots_28 0x1002882 /* U+2882 BRAILLE PATTERN DOTS-28 */ +#define XK_braille_dots_128 0x1002883 /* U+2883 BRAILLE PATTERN DOTS-128 */ +#define XK_braille_dots_38 0x1002884 /* U+2884 BRAILLE PATTERN DOTS-38 */ +#define XK_braille_dots_138 0x1002885 /* U+2885 BRAILLE PATTERN DOTS-138 */ +#define XK_braille_dots_238 0x1002886 /* U+2886 BRAILLE PATTERN DOTS-238 */ +#define XK_braille_dots_1238 0x1002887 /* U+2887 BRAILLE PATTERN DOTS-1238 */ +#define XK_braille_dots_48 0x1002888 /* U+2888 BRAILLE PATTERN DOTS-48 */ +#define XK_braille_dots_148 0x1002889 /* U+2889 BRAILLE PATTERN DOTS-148 */ +#define XK_braille_dots_248 0x100288a /* U+288a BRAILLE PATTERN DOTS-248 */ +#define XK_braille_dots_1248 0x100288b /* U+288b BRAILLE PATTERN DOTS-1248 */ +#define XK_braille_dots_348 0x100288c /* U+288c BRAILLE PATTERN DOTS-348 */ +#define XK_braille_dots_1348 0x100288d /* U+288d BRAILLE PATTERN DOTS-1348 */ +#define XK_braille_dots_2348 0x100288e /* U+288e BRAILLE PATTERN DOTS-2348 */ +#define XK_braille_dots_12348 0x100288f /* U+288f BRAILLE PATTERN DOTS-12348 */ +#define XK_braille_dots_58 0x1002890 /* U+2890 BRAILLE PATTERN DOTS-58 */ +#define XK_braille_dots_158 0x1002891 /* U+2891 BRAILLE PATTERN DOTS-158 */ +#define XK_braille_dots_258 0x1002892 /* U+2892 BRAILLE PATTERN DOTS-258 */ +#define XK_braille_dots_1258 0x1002893 /* U+2893 BRAILLE PATTERN DOTS-1258 */ +#define XK_braille_dots_358 0x1002894 /* U+2894 BRAILLE PATTERN DOTS-358 */ +#define XK_braille_dots_1358 0x1002895 /* U+2895 BRAILLE PATTERN DOTS-1358 */ +#define XK_braille_dots_2358 0x1002896 /* U+2896 BRAILLE PATTERN DOTS-2358 */ +#define XK_braille_dots_12358 0x1002897 /* U+2897 BRAILLE PATTERN DOTS-12358 */ +#define XK_braille_dots_458 0x1002898 /* U+2898 BRAILLE PATTERN DOTS-458 */ +#define XK_braille_dots_1458 0x1002899 /* U+2899 BRAILLE PATTERN DOTS-1458 */ +#define XK_braille_dots_2458 0x100289a /* U+289a BRAILLE PATTERN DOTS-2458 */ +#define XK_braille_dots_12458 0x100289b /* U+289b BRAILLE PATTERN DOTS-12458 */ +#define XK_braille_dots_3458 0x100289c /* U+289c BRAILLE PATTERN DOTS-3458 */ +#define XK_braille_dots_13458 0x100289d /* U+289d BRAILLE PATTERN DOTS-13458 */ +#define XK_braille_dots_23458 0x100289e /* U+289e BRAILLE PATTERN DOTS-23458 */ +#define XK_braille_dots_123458 0x100289f /* U+289f BRAILLE PATTERN DOTS-123458 */ +#define XK_braille_dots_68 0x10028a0 /* U+28a0 BRAILLE PATTERN DOTS-68 */ +#define XK_braille_dots_168 0x10028a1 /* U+28a1 BRAILLE PATTERN DOTS-168 */ +#define XK_braille_dots_268 0x10028a2 /* U+28a2 BRAILLE PATTERN DOTS-268 */ +#define XK_braille_dots_1268 0x10028a3 /* U+28a3 BRAILLE PATTERN DOTS-1268 */ +#define XK_braille_dots_368 0x10028a4 /* U+28a4 BRAILLE PATTERN DOTS-368 */ +#define XK_braille_dots_1368 0x10028a5 /* U+28a5 BRAILLE PATTERN DOTS-1368 */ +#define XK_braille_dots_2368 0x10028a6 /* U+28a6 BRAILLE PATTERN DOTS-2368 */ +#define XK_braille_dots_12368 0x10028a7 /* U+28a7 BRAILLE PATTERN DOTS-12368 */ +#define XK_braille_dots_468 0x10028a8 /* U+28a8 BRAILLE PATTERN DOTS-468 */ +#define XK_braille_dots_1468 0x10028a9 /* U+28a9 BRAILLE PATTERN DOTS-1468 */ +#define XK_braille_dots_2468 0x10028aa /* U+28aa BRAILLE PATTERN DOTS-2468 */ +#define XK_braille_dots_12468 0x10028ab /* U+28ab BRAILLE PATTERN DOTS-12468 */ +#define XK_braille_dots_3468 0x10028ac /* U+28ac BRAILLE PATTERN DOTS-3468 */ +#define XK_braille_dots_13468 0x10028ad /* U+28ad BRAILLE PATTERN DOTS-13468 */ +#define XK_braille_dots_23468 0x10028ae /* U+28ae BRAILLE PATTERN DOTS-23468 */ +#define XK_braille_dots_123468 0x10028af /* U+28af BRAILLE PATTERN DOTS-123468 */ +#define XK_braille_dots_568 0x10028b0 /* U+28b0 BRAILLE PATTERN DOTS-568 */ +#define XK_braille_dots_1568 0x10028b1 /* U+28b1 BRAILLE PATTERN DOTS-1568 */ +#define XK_braille_dots_2568 0x10028b2 /* U+28b2 BRAILLE PATTERN DOTS-2568 */ +#define XK_braille_dots_12568 0x10028b3 /* U+28b3 BRAILLE PATTERN DOTS-12568 */ +#define XK_braille_dots_3568 0x10028b4 /* U+28b4 BRAILLE PATTERN DOTS-3568 */ +#define XK_braille_dots_13568 0x10028b5 /* U+28b5 BRAILLE PATTERN DOTS-13568 */ +#define XK_braille_dots_23568 0x10028b6 /* U+28b6 BRAILLE PATTERN DOTS-23568 */ +#define XK_braille_dots_123568 0x10028b7 /* U+28b7 BRAILLE PATTERN DOTS-123568 */ +#define XK_braille_dots_4568 0x10028b8 /* U+28b8 BRAILLE PATTERN DOTS-4568 */ +#define XK_braille_dots_14568 0x10028b9 /* U+28b9 BRAILLE PATTERN DOTS-14568 */ +#define XK_braille_dots_24568 0x10028ba /* U+28ba BRAILLE PATTERN DOTS-24568 */ +#define XK_braille_dots_124568 0x10028bb /* U+28bb BRAILLE PATTERN DOTS-124568 */ +#define XK_braille_dots_34568 0x10028bc /* U+28bc BRAILLE PATTERN DOTS-34568 */ +#define XK_braille_dots_134568 0x10028bd /* U+28bd BRAILLE PATTERN DOTS-134568 */ +#define XK_braille_dots_234568 0x10028be /* U+28be BRAILLE PATTERN DOTS-234568 */ +#define XK_braille_dots_1234568 0x10028bf /* U+28bf BRAILLE PATTERN DOTS-1234568 */ +#define XK_braille_dots_78 0x10028c0 /* U+28c0 BRAILLE PATTERN DOTS-78 */ +#define XK_braille_dots_178 0x10028c1 /* U+28c1 BRAILLE PATTERN DOTS-178 */ +#define XK_braille_dots_278 0x10028c2 /* U+28c2 BRAILLE PATTERN DOTS-278 */ +#define XK_braille_dots_1278 0x10028c3 /* U+28c3 BRAILLE PATTERN DOTS-1278 */ +#define XK_braille_dots_378 0x10028c4 /* U+28c4 BRAILLE PATTERN DOTS-378 */ +#define XK_braille_dots_1378 0x10028c5 /* U+28c5 BRAILLE PATTERN DOTS-1378 */ +#define XK_braille_dots_2378 0x10028c6 /* U+28c6 BRAILLE PATTERN DOTS-2378 */ +#define XK_braille_dots_12378 0x10028c7 /* U+28c7 BRAILLE PATTERN DOTS-12378 */ +#define XK_braille_dots_478 0x10028c8 /* U+28c8 BRAILLE PATTERN DOTS-478 */ +#define XK_braille_dots_1478 0x10028c9 /* U+28c9 BRAILLE PATTERN DOTS-1478 */ +#define XK_braille_dots_2478 0x10028ca /* U+28ca BRAILLE PATTERN DOTS-2478 */ +#define XK_braille_dots_12478 0x10028cb /* U+28cb BRAILLE PATTERN DOTS-12478 */ +#define XK_braille_dots_3478 0x10028cc /* U+28cc BRAILLE PATTERN DOTS-3478 */ +#define XK_braille_dots_13478 0x10028cd /* U+28cd BRAILLE PATTERN DOTS-13478 */ +#define XK_braille_dots_23478 0x10028ce /* U+28ce BRAILLE PATTERN DOTS-23478 */ +#define XK_braille_dots_123478 0x10028cf /* U+28cf BRAILLE PATTERN DOTS-123478 */ +#define XK_braille_dots_578 0x10028d0 /* U+28d0 BRAILLE PATTERN DOTS-578 */ +#define XK_braille_dots_1578 0x10028d1 /* U+28d1 BRAILLE PATTERN DOTS-1578 */ +#define XK_braille_dots_2578 0x10028d2 /* U+28d2 BRAILLE PATTERN DOTS-2578 */ +#define XK_braille_dots_12578 0x10028d3 /* U+28d3 BRAILLE PATTERN DOTS-12578 */ +#define XK_braille_dots_3578 0x10028d4 /* U+28d4 BRAILLE PATTERN DOTS-3578 */ +#define XK_braille_dots_13578 0x10028d5 /* U+28d5 BRAILLE PATTERN DOTS-13578 */ +#define XK_braille_dots_23578 0x10028d6 /* U+28d6 BRAILLE PATTERN DOTS-23578 */ +#define XK_braille_dots_123578 0x10028d7 /* U+28d7 BRAILLE PATTERN DOTS-123578 */ +#define XK_braille_dots_4578 0x10028d8 /* U+28d8 BRAILLE PATTERN DOTS-4578 */ +#define XK_braille_dots_14578 0x10028d9 /* U+28d9 BRAILLE PATTERN DOTS-14578 */ +#define XK_braille_dots_24578 0x10028da /* U+28da BRAILLE PATTERN DOTS-24578 */ +#define XK_braille_dots_124578 0x10028db /* U+28db BRAILLE PATTERN DOTS-124578 */ +#define XK_braille_dots_34578 0x10028dc /* U+28dc BRAILLE PATTERN DOTS-34578 */ +#define XK_braille_dots_134578 0x10028dd /* U+28dd BRAILLE PATTERN DOTS-134578 */ +#define XK_braille_dots_234578 0x10028de /* U+28de BRAILLE PATTERN DOTS-234578 */ +#define XK_braille_dots_1234578 0x10028df /* U+28df BRAILLE PATTERN DOTS-1234578 */ +#define XK_braille_dots_678 0x10028e0 /* U+28e0 BRAILLE PATTERN DOTS-678 */ +#define XK_braille_dots_1678 0x10028e1 /* U+28e1 BRAILLE PATTERN DOTS-1678 */ +#define XK_braille_dots_2678 0x10028e2 /* U+28e2 BRAILLE PATTERN DOTS-2678 */ +#define XK_braille_dots_12678 0x10028e3 /* U+28e3 BRAILLE PATTERN DOTS-12678 */ +#define XK_braille_dots_3678 0x10028e4 /* U+28e4 BRAILLE PATTERN DOTS-3678 */ +#define XK_braille_dots_13678 0x10028e5 /* U+28e5 BRAILLE PATTERN DOTS-13678 */ +#define XK_braille_dots_23678 0x10028e6 /* U+28e6 BRAILLE PATTERN DOTS-23678 */ +#define XK_braille_dots_123678 0x10028e7 /* U+28e7 BRAILLE PATTERN DOTS-123678 */ +#define XK_braille_dots_4678 0x10028e8 /* U+28e8 BRAILLE PATTERN DOTS-4678 */ +#define XK_braille_dots_14678 0x10028e9 /* U+28e9 BRAILLE PATTERN DOTS-14678 */ +#define XK_braille_dots_24678 0x10028ea /* U+28ea BRAILLE PATTERN DOTS-24678 */ +#define XK_braille_dots_124678 0x10028eb /* U+28eb BRAILLE PATTERN DOTS-124678 */ +#define XK_braille_dots_34678 0x10028ec /* U+28ec BRAILLE PATTERN DOTS-34678 */ +#define XK_braille_dots_134678 0x10028ed /* U+28ed BRAILLE PATTERN DOTS-134678 */ +#define XK_braille_dots_234678 0x10028ee /* U+28ee BRAILLE PATTERN DOTS-234678 */ +#define XK_braille_dots_1234678 0x10028ef /* U+28ef BRAILLE PATTERN DOTS-1234678 */ +#define XK_braille_dots_5678 0x10028f0 /* U+28f0 BRAILLE PATTERN DOTS-5678 */ +#define XK_braille_dots_15678 0x10028f1 /* U+28f1 BRAILLE PATTERN DOTS-15678 */ +#define XK_braille_dots_25678 0x10028f2 /* U+28f2 BRAILLE PATTERN DOTS-25678 */ +#define XK_braille_dots_125678 0x10028f3 /* U+28f3 BRAILLE PATTERN DOTS-125678 */ +#define XK_braille_dots_35678 0x10028f4 /* U+28f4 BRAILLE PATTERN DOTS-35678 */ +#define XK_braille_dots_135678 0x10028f5 /* U+28f5 BRAILLE PATTERN DOTS-135678 */ +#define XK_braille_dots_235678 0x10028f6 /* U+28f6 BRAILLE PATTERN DOTS-235678 */ +#define XK_braille_dots_1235678 0x10028f7 /* U+28f7 BRAILLE PATTERN DOTS-1235678 */ +#define XK_braille_dots_45678 0x10028f8 /* U+28f8 BRAILLE PATTERN DOTS-45678 */ +#define XK_braille_dots_145678 0x10028f9 /* U+28f9 BRAILLE PATTERN DOTS-145678 */ +#define XK_braille_dots_245678 0x10028fa /* U+28fa BRAILLE PATTERN DOTS-245678 */ +#define XK_braille_dots_1245678 0x10028fb /* U+28fb BRAILLE PATTERN DOTS-1245678 */ +#define XK_braille_dots_345678 0x10028fc /* U+28fc BRAILLE PATTERN DOTS-345678 */ +#define XK_braille_dots_1345678 0x10028fd /* U+28fd BRAILLE PATTERN DOTS-1345678 */ +#define XK_braille_dots_2345678 0x10028fe /* U+28fe BRAILLE PATTERN DOTS-2345678 */ +#define XK_braille_dots_12345678 0x10028ff /* U+28ff BRAILLE PATTERN DOTS-12345678 */ +#endif /* XK_BRAILLE */ + +/* + * Sinhala (http://unicode.org/charts/PDF/U0D80.pdf) + * http://www.nongnu.org/sinhala/doc/transliteration/sinhala-transliteration_6.html + */ + +#ifdef XK_SINHALA +#define XK_Sinh_ng 0x1000d82 /* U+0D82 SINHALA ANUSVARAYA */ +#define XK_Sinh_h2 0x1000d83 /* U+0D83 SINHALA VISARGAYA */ +#define XK_Sinh_a 0x1000d85 /* U+0D85 SINHALA AYANNA */ +#define XK_Sinh_aa 0x1000d86 /* U+0D86 SINHALA AAYANNA */ +#define XK_Sinh_ae 0x1000d87 /* U+0D87 SINHALA AEYANNA */ +#define XK_Sinh_aee 0x1000d88 /* U+0D88 SINHALA AEEYANNA */ +#define XK_Sinh_i 0x1000d89 /* U+0D89 SINHALA IYANNA */ +#define XK_Sinh_ii 0x1000d8a /* U+0D8A SINHALA IIYANNA */ +#define XK_Sinh_u 0x1000d8b /* U+0D8B SINHALA UYANNA */ +#define XK_Sinh_uu 0x1000d8c /* U+0D8C SINHALA UUYANNA */ +#define XK_Sinh_ri 0x1000d8d /* U+0D8D SINHALA IRUYANNA */ +#define XK_Sinh_rii 0x1000d8e /* U+0D8E SINHALA IRUUYANNA */ +#define XK_Sinh_lu 0x1000d8f /* U+0D8F SINHALA ILUYANNA */ +#define XK_Sinh_luu 0x1000d90 /* U+0D90 SINHALA ILUUYANNA */ +#define XK_Sinh_e 0x1000d91 /* U+0D91 SINHALA EYANNA */ +#define XK_Sinh_ee 0x1000d92 /* U+0D92 SINHALA EEYANNA */ +#define XK_Sinh_ai 0x1000d93 /* U+0D93 SINHALA AIYANNA */ +#define XK_Sinh_o 0x1000d94 /* U+0D94 SINHALA OYANNA */ +#define XK_Sinh_oo 0x1000d95 /* U+0D95 SINHALA OOYANNA */ +#define XK_Sinh_au 0x1000d96 /* U+0D96 SINHALA AUYANNA */ +#define XK_Sinh_ka 0x1000d9a /* U+0D9A SINHALA KAYANNA */ +#define XK_Sinh_kha 0x1000d9b /* U+0D9B SINHALA MAHA. KAYANNA */ +#define XK_Sinh_ga 0x1000d9c /* U+0D9C SINHALA GAYANNA */ +#define XK_Sinh_gha 0x1000d9d /* U+0D9D SINHALA MAHA. GAYANNA */ +#define XK_Sinh_ng2 0x1000d9e /* U+0D9E SINHALA KANTAJA NAASIKYAYA */ +#define XK_Sinh_nga 0x1000d9f /* U+0D9F SINHALA SANYAKA GAYANNA */ +#define XK_Sinh_ca 0x1000da0 /* U+0DA0 SINHALA CAYANNA */ +#define XK_Sinh_cha 0x1000da1 /* U+0DA1 SINHALA MAHA. CAYANNA */ +#define XK_Sinh_ja 0x1000da2 /* U+0DA2 SINHALA JAYANNA */ +#define XK_Sinh_jha 0x1000da3 /* U+0DA3 SINHALA MAHA. JAYANNA */ +#define XK_Sinh_nya 0x1000da4 /* U+0DA4 SINHALA TAALUJA NAASIKYAYA */ +#define XK_Sinh_jnya 0x1000da5 /* U+0DA5 SINHALA TAALUJA SANYOOGA NAASIKYAYA */ +#define XK_Sinh_nja 0x1000da6 /* U+0DA6 SINHALA SANYAKA JAYANNA */ +#define XK_Sinh_tta 0x1000da7 /* U+0DA7 SINHALA TTAYANNA */ +#define XK_Sinh_ttha 0x1000da8 /* U+0DA8 SINHALA MAHA. TTAYANNA */ +#define XK_Sinh_dda 0x1000da9 /* U+0DA9 SINHALA DDAYANNA */ +#define XK_Sinh_ddha 0x1000daa /* U+0DAA SINHALA MAHA. DDAYANNA */ +#define XK_Sinh_nna 0x1000dab /* U+0DAB SINHALA MUURDHAJA NAYANNA */ +#define XK_Sinh_ndda 0x1000dac /* U+0DAC SINHALA SANYAKA DDAYANNA */ +#define XK_Sinh_tha 0x1000dad /* U+0DAD SINHALA TAYANNA */ +#define XK_Sinh_thha 0x1000dae /* U+0DAE SINHALA MAHA. TAYANNA */ +#define XK_Sinh_dha 0x1000daf /* U+0DAF SINHALA DAYANNA */ +#define XK_Sinh_dhha 0x1000db0 /* U+0DB0 SINHALA MAHA. DAYANNA */ +#define XK_Sinh_na 0x1000db1 /* U+0DB1 SINHALA DANTAJA NAYANNA */ +#define XK_Sinh_ndha 0x1000db3 /* U+0DB3 SINHALA SANYAKA DAYANNA */ +#define XK_Sinh_pa 0x1000db4 /* U+0DB4 SINHALA PAYANNA */ +#define XK_Sinh_pha 0x1000db5 /* U+0DB5 SINHALA MAHA. PAYANNA */ +#define XK_Sinh_ba 0x1000db6 /* U+0DB6 SINHALA BAYANNA */ +#define XK_Sinh_bha 0x1000db7 /* U+0DB7 SINHALA MAHA. BAYANNA */ +#define XK_Sinh_ma 0x1000db8 /* U+0DB8 SINHALA MAYANNA */ +#define XK_Sinh_mba 0x1000db9 /* U+0DB9 SINHALA AMBA BAYANNA */ +#define XK_Sinh_ya 0x1000dba /* U+0DBA SINHALA YAYANNA */ +#define XK_Sinh_ra 0x1000dbb /* U+0DBB SINHALA RAYANNA */ +#define XK_Sinh_la 0x1000dbd /* U+0DBD SINHALA DANTAJA LAYANNA */ +#define XK_Sinh_va 0x1000dc0 /* U+0DC0 SINHALA VAYANNA */ +#define XK_Sinh_sha 0x1000dc1 /* U+0DC1 SINHALA TAALUJA SAYANNA */ +#define XK_Sinh_ssha 0x1000dc2 /* U+0DC2 SINHALA MUURDHAJA SAYANNA */ +#define XK_Sinh_sa 0x1000dc3 /* U+0DC3 SINHALA DANTAJA SAYANNA */ +#define XK_Sinh_ha 0x1000dc4 /* U+0DC4 SINHALA HAYANNA */ +#define XK_Sinh_lla 0x1000dc5 /* U+0DC5 SINHALA MUURDHAJA LAYANNA */ +#define XK_Sinh_fa 0x1000dc6 /* U+0DC6 SINHALA FAYANNA */ +#define XK_Sinh_al 0x1000dca /* U+0DCA SINHALA AL-LAKUNA */ +#define XK_Sinh_aa2 0x1000dcf /* U+0DCF SINHALA AELA-PILLA */ +#define XK_Sinh_ae2 0x1000dd0 /* U+0DD0 SINHALA AEDA-PILLA */ +#define XK_Sinh_aee2 0x1000dd1 /* U+0DD1 SINHALA DIGA AEDA-PILLA */ +#define XK_Sinh_i2 0x1000dd2 /* U+0DD2 SINHALA IS-PILLA */ +#define XK_Sinh_ii2 0x1000dd3 /* U+0DD3 SINHALA DIGA IS-PILLA */ +#define XK_Sinh_u2 0x1000dd4 /* U+0DD4 SINHALA PAA-PILLA */ +#define XK_Sinh_uu2 0x1000dd6 /* U+0DD6 SINHALA DIGA PAA-PILLA */ +#define XK_Sinh_ru2 0x1000dd8 /* U+0DD8 SINHALA GAETTA-PILLA */ +#define XK_Sinh_e2 0x1000dd9 /* U+0DD9 SINHALA KOMBUVA */ +#define XK_Sinh_ee2 0x1000dda /* U+0DDA SINHALA DIGA KOMBUVA */ +#define XK_Sinh_ai2 0x1000ddb /* U+0DDB SINHALA KOMBU DEKA */ +#define XK_Sinh_o2 0x1000ddc /* U+0DDC SINHALA KOMBUVA HAA AELA-PILLA*/ +#define XK_Sinh_oo2 0x1000ddd /* U+0DDD SINHALA KOMBUVA HAA DIGA AELA-PILLA*/ +#define XK_Sinh_au2 0x1000dde /* U+0DDE SINHALA KOMBUVA HAA GAYANUKITTA */ +#define XK_Sinh_lu2 0x1000ddf /* U+0DDF SINHALA GAYANUKITTA */ +#define XK_Sinh_ruu2 0x1000df2 /* U+0DF2 SINHALA DIGA GAETTA-PILLA */ +#define XK_Sinh_luu2 0x1000df3 /* U+0DF3 SINHALA DIGA GAYANUKITTA */ +#define XK_Sinh_kunddaliya 0x1000df4 /* U+0DF4 SINHALA KUNDDALIYA */ +#endif /* XK_SINHALA */ diff --git a/ThirdParty/X11/Include/X11/xpm.h b/ThirdParty/X11/Include/X11/xpm.h new file mode 100644 index 0000000..f108f1f --- /dev/null +++ b/ThirdParty/X11/Include/X11/xpm.h @@ -0,0 +1,477 @@ +/* + * Copyright (C) 1989-95 GROUPE BULL + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * GROUPE BULL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * Except as contained in this notice, the name of GROUPE BULL shall not be + * used in advertising or otherwise to promote the sale, use or other dealings + * in this Software without prior written authorization from GROUPE BULL. + */ + +/*****************************************************************************\ +* xpm.h: * +* * +* XPM library * +* Include file * +* * +* Developed by Arnaud Le Hors * +\*****************************************************************************/ + +/* + * The code related to FOR_MSW has been added by + * HeDu (hedu@cul-ipn.uni-kiel.de) 4/94 + */ + +/* + * The code related to AMIGA has been added by + * Lorens Younes (d93-hyo@nada.kth.se) 4/96 + */ + +#ifndef XPM_h +#define XPM_h + +/* + * first some identification numbers: + * the version and revision numbers are determined with the following rule: + * SO Major number = LIB minor version number. + * SO Minor number = LIB sub-minor version number. + * e.g: Xpm version 3.2f + * we forget the 3 which is the format number, 2 gives 2, and f gives 6. + * thus we have XpmVersion = 2 and XpmRevision = 6 + * which gives SOXPMLIBREV = 2.6 + * + * Then the XpmIncludeVersion number is built from these numbers. + */ +#define XpmFormat 3 +#define XpmVersion 4 +#define XpmRevision 11 +#define XpmIncludeVersion ((XpmFormat * 100 + XpmVersion) * 100 + XpmRevision) + +#ifndef XPM_NUMBERS + +#ifdef FOR_MSW +# define SYSV /* uses memcpy string.h etc. */ +# include <malloc.h> +# include "simx.h" /* defines some X stuff using MSW types */ +#define NEED_STRCASECMP /* at least for MSVC++ */ +#else /* FOR_MSW */ +# ifdef AMIGA +# include "amigax.h" +# else /* not AMIGA */ +# include <X11/Xlib.h> +# include <X11/Xutil.h> +# endif /* not AMIGA */ +#endif /* FOR_MSW */ + +/* let's define Pixel if it is not done yet */ +#if ! defined(_XtIntrinsic_h) && ! defined(PIXEL_ALREADY_TYPEDEFED) +typedef unsigned long Pixel; /* Index into colormap */ +# define PIXEL_ALREADY_TYPEDEFED +#endif + +/* Return ErrorStatus codes: + * null if full success + * positive if partial success + * negative if failure + */ + +#define XpmColorError 1 +#define XpmSuccess 0 +#define XpmOpenFailed -1 +#define XpmFileInvalid -2 +#define XpmNoMemory -3 +#define XpmColorFailed -4 + +typedef struct { + char *name; /* Symbolic color name */ + char *value; /* Color value */ + Pixel pixel; /* Color pixel */ +} XpmColorSymbol; + +typedef struct { + char *name; /* name of the extension */ + unsigned int nlines; /* number of lines in this extension */ + char **lines; /* pointer to the extension array of strings */ +} XpmExtension; + +typedef struct { + char *string; /* characters string */ + char *symbolic; /* symbolic name */ + char *m_color; /* monochrom default */ + char *g4_color; /* 4 level grayscale default */ + char *g_color; /* other level grayscale default */ + char *c_color; /* color default */ +} XpmColor; + +typedef struct { + unsigned int width; /* image width */ + unsigned int height; /* image height */ + unsigned int cpp; /* number of characters per pixel */ + unsigned int ncolors; /* number of colors */ + XpmColor *colorTable; /* list of related colors */ + unsigned int *data; /* image data */ +} XpmImage; + +typedef struct { + unsigned long valuemask; /* Specifies which attributes are defined */ + char *hints_cmt; /* Comment of the hints section */ + char *colors_cmt; /* Comment of the colors section */ + char *pixels_cmt; /* Comment of the pixels section */ + unsigned int x_hotspot; /* Returns the x hotspot's coordinate */ + unsigned int y_hotspot; /* Returns the y hotspot's coordinate */ + unsigned int nextensions; /* number of extensions */ + XpmExtension *extensions; /* pointer to array of extensions */ +} XpmInfo; + +typedef int (*XpmAllocColorFunc)( + Display* /* display */, + Colormap /* colormap */, + char* /* colorname */, + XColor* /* xcolor */, + void* /* closure */ +); + +typedef int (*XpmFreeColorsFunc)( + Display* /* display */, + Colormap /* colormap */, + Pixel* /* pixels */, + int /* npixels */, + void* /* closure */ +); + +typedef struct { + unsigned long valuemask; /* Specifies which attributes are + defined */ + + Visual *visual; /* Specifies the visual to use */ + Colormap colormap; /* Specifies the colormap to use */ + unsigned int depth; /* Specifies the depth */ + unsigned int width; /* Returns the width of the created + pixmap */ + unsigned int height; /* Returns the height of the created + pixmap */ + unsigned int x_hotspot; /* Returns the x hotspot's + coordinate */ + unsigned int y_hotspot; /* Returns the y hotspot's + coordinate */ + unsigned int cpp; /* Specifies the number of char per + pixel */ + Pixel *pixels; /* List of used color pixels */ + unsigned int npixels; /* Number of used pixels */ + XpmColorSymbol *colorsymbols; /* List of color symbols to override */ + unsigned int numsymbols; /* Number of symbols */ + char *rgb_fname; /* RGB text file name */ + unsigned int nextensions; /* Number of extensions */ + XpmExtension *extensions; /* List of extensions */ + + unsigned int ncolors; /* Number of colors */ + XpmColor *colorTable; /* List of colors */ +/* 3.2 backward compatibility code */ + char *hints_cmt; /* Comment of the hints section */ + char *colors_cmt; /* Comment of the colors section */ + char *pixels_cmt; /* Comment of the pixels section */ +/* end 3.2 bc */ + unsigned int mask_pixel; /* Color table index of transparent + color */ + + /* Color Allocation Directives */ + Bool exactColors; /* Only use exact colors for visual */ + unsigned int closeness; /* Allowable RGB deviation */ + unsigned int red_closeness; /* Allowable red deviation */ + unsigned int green_closeness; /* Allowable green deviation */ + unsigned int blue_closeness; /* Allowable blue deviation */ + int color_key; /* Use colors from this color set */ + + Pixel *alloc_pixels; /* Returns the list of alloc'ed color + pixels */ + int nalloc_pixels; /* Returns the number of alloc'ed + color pixels */ + + Bool alloc_close_colors; /* Specify whether close colors should + be allocated using XAllocColor + or not */ + int bitmap_format; /* Specify the format of 1bit depth + images: ZPixmap or XYBitmap */ + + /* Color functions */ + XpmAllocColorFunc alloc_color; /* Application color allocator */ + XpmFreeColorsFunc free_colors; /* Application color de-allocator */ + void *color_closure; /* Application private data to pass to + alloc_color and free_colors */ + +} XpmAttributes; + +/* XpmAttributes value masks bits */ +#define XpmVisual (1L<<0) +#define XpmColormap (1L<<1) +#define XpmDepth (1L<<2) +#define XpmSize (1L<<3) /* width & height */ +#define XpmHotspot (1L<<4) /* x_hotspot & y_hotspot */ +#define XpmCharsPerPixel (1L<<5) +#define XpmColorSymbols (1L<<6) +#define XpmRgbFilename (1L<<7) +/* 3.2 backward compatibility code */ +#define XpmInfos (1L<<8) +#define XpmReturnInfos XpmInfos +/* end 3.2 bc */ +#define XpmReturnPixels (1L<<9) +#define XpmExtensions (1L<<10) +#define XpmReturnExtensions XpmExtensions + +#define XpmExactColors (1L<<11) +#define XpmCloseness (1L<<12) +#define XpmRGBCloseness (1L<<13) +#define XpmColorKey (1L<<14) + +#define XpmColorTable (1L<<15) +#define XpmReturnColorTable XpmColorTable + +#define XpmReturnAllocPixels (1L<<16) +#define XpmAllocCloseColors (1L<<17) +#define XpmBitmapFormat (1L<<18) + +#define XpmAllocColor (1L<<19) +#define XpmFreeColors (1L<<20) +#define XpmColorClosure (1L<<21) + + +/* XpmInfo value masks bits */ +#define XpmComments XpmInfos +#define XpmReturnComments XpmComments + +/* XpmAttributes mask_pixel value when there is no mask */ +#ifndef FOR_MSW +#define XpmUndefPixel 0x80000000 +#else +/* int is only 16 bit for MSW */ +#define XpmUndefPixel 0x8000 +#endif + +/* + * color keys for visual type, they must fit along with the number key of + * each related element in xpmColorKeys[] defined in XpmI.h + */ +#define XPM_MONO 2 +#define XPM_GREY4 3 +#define XPM_GRAY4 3 +#define XPM_GREY 4 +#define XPM_GRAY 4 +#define XPM_COLOR 5 + + +/* macros for forward declarations of functions with prototypes */ +#define FUNC(f, t, p) extern t f p +#define LFUNC(f, t, p) static t f p + + +/* + * functions declarations + */ + +_XFUNCPROTOBEGIN + +/* FOR_MSW, all ..Pixmap.. are excluded, only the ..XImage.. are used */ +/* Same for Amiga! */ + +#if !defined(FOR_MSW) && !defined(AMIGA) + FUNC(XpmCreatePixmapFromData, int, (Display *display, + Drawable d, + char **data, + Pixmap *pixmap_return, + Pixmap *shapemask_return, + XpmAttributes *attributes)); + + FUNC(XpmCreateDataFromPixmap, int, (Display *display, + char ***data_return, + Pixmap pixmap, + Pixmap shapemask, + XpmAttributes *attributes)); + + FUNC(XpmReadFileToPixmap, int, (Display *display, + Drawable d, + const char *filename, + Pixmap *pixmap_return, + Pixmap *shapemask_return, + XpmAttributes *attributes)); + + FUNC(XpmWriteFileFromPixmap, int, (Display *display, + const char *filename, + Pixmap pixmap, + Pixmap shapemask, + XpmAttributes *attributes)); +#endif + + FUNC(XpmCreateImageFromData, int, (Display *display, + char **data, + XImage **image_return, + XImage **shapemask_return, + XpmAttributes *attributes)); + + FUNC(XpmCreateDataFromImage, int, (Display *display, + char ***data_return, + XImage *image, + XImage *shapeimage, + XpmAttributes *attributes)); + + FUNC(XpmReadFileToImage, int, (Display *display, + const char *filename, + XImage **image_return, + XImage **shapeimage_return, + XpmAttributes *attributes)); + + FUNC(XpmWriteFileFromImage, int, (Display *display, + const char *filename, + XImage *image, + XImage *shapeimage, + XpmAttributes *attributes)); + + FUNC(XpmCreateImageFromBuffer, int, (Display *display, + char *buffer, + XImage **image_return, + XImage **shapemask_return, + XpmAttributes *attributes)); +#if !defined(FOR_MSW) && !defined(AMIGA) + FUNC(XpmCreatePixmapFromBuffer, int, (Display *display, + Drawable d, + char *buffer, + Pixmap *pixmap_return, + Pixmap *shapemask_return, + XpmAttributes *attributes)); + + FUNC(XpmCreateBufferFromImage, int, (Display *display, + char **buffer_return, + XImage *image, + XImage *shapeimage, + XpmAttributes *attributes)); + + FUNC(XpmCreateBufferFromPixmap, int, (Display *display, + char **buffer_return, + Pixmap pixmap, + Pixmap shapemask, + XpmAttributes *attributes)); +#endif + FUNC(XpmReadFileToBuffer, int, (const char *filename, char **buffer_return)); + FUNC(XpmWriteFileFromBuffer, int, (const char *filename, char *buffer)); + + FUNC(XpmReadFileToData, int, (const char *filename, char ***data_return)); + FUNC(XpmWriteFileFromData, int, (const char *filename, char **data)); + + FUNC(XpmAttributesSize, int, (void)); + FUNC(XpmFreeAttributes, void, (XpmAttributes *attributes)); + FUNC(XpmFreeExtensions, void, (XpmExtension *extensions, + int nextensions)); + + FUNC(XpmFreeXpmImage, void, (XpmImage *image)); + FUNC(XpmFreeXpmInfo, void, (XpmInfo *info)); + FUNC(XpmGetErrorString, char *, (int errcode)); + FUNC(XpmLibraryVersion, int, (void)); + + /* XpmImage functions */ + FUNC(XpmReadFileToXpmImage, int, (const char *filename, + XpmImage *image, + XpmInfo *info)); + + FUNC(XpmWriteFileFromXpmImage, int, (const char *filename, + XpmImage *image, + XpmInfo *info)); +#if !defined(FOR_MSW) && !defined(AMIGA) + FUNC(XpmCreatePixmapFromXpmImage, int, (Display *display, + Drawable d, + XpmImage *image, + Pixmap *pixmap_return, + Pixmap *shapemask_return, + XpmAttributes *attributes)); +#endif + FUNC(XpmCreateImageFromXpmImage, int, (Display *display, + XpmImage *image, + XImage **image_return, + XImage **shapeimage_return, + XpmAttributes *attributes)); + + FUNC(XpmCreateXpmImageFromImage, int, (Display *display, + XImage *image, + XImage *shapeimage, + XpmImage *xpmimage, + XpmAttributes *attributes)); +#if !defined(FOR_MSW) && !defined(AMIGA) + FUNC(XpmCreateXpmImageFromPixmap, int, (Display *display, + Pixmap pixmap, + Pixmap shapemask, + XpmImage *xpmimage, + XpmAttributes *attributes)); +#endif + FUNC(XpmCreateDataFromXpmImage, int, (char ***data_return, + XpmImage *image, + XpmInfo *info)); + + FUNC(XpmCreateXpmImageFromData, int, (char **data, + XpmImage *image, + XpmInfo *info)); + + FUNC(XpmCreateXpmImageFromBuffer, int, (char *buffer, + XpmImage *image, + XpmInfo *info)); + + FUNC(XpmCreateBufferFromXpmImage, int, (char **buffer_return, + XpmImage *image, + XpmInfo *info)); + + FUNC(XpmGetParseError, int, (char *filename, + int *linenum_return, + int *charnum_return)); + + FUNC(XpmFree, void, (void *ptr)); + +_XFUNCPROTOEND + +/* backward compatibility */ + +/* for version 3.0c */ +#define XpmPixmapColorError XpmColorError +#define XpmPixmapSuccess XpmSuccess +#define XpmPixmapOpenFailed XpmOpenFailed +#define XpmPixmapFileInvalid XpmFileInvalid +#define XpmPixmapNoMemory XpmNoMemory +#define XpmPixmapColorFailed XpmColorFailed + +#define XpmReadPixmapFile(dpy, d, file, pix, mask, att) \ + XpmReadFileToPixmap(dpy, d, file, pix, mask, att) +#define XpmWritePixmapFile(dpy, file, pix, mask, att) \ + XpmWriteFileFromPixmap(dpy, file, pix, mask, att) + +/* for version 3.0b */ +#define PixmapColorError XpmColorError +#define PixmapSuccess XpmSuccess +#define PixmapOpenFailed XpmOpenFailed +#define PixmapFileInvalid XpmFileInvalid +#define PixmapNoMemory XpmNoMemory +#define PixmapColorFailed XpmColorFailed + +#define ColorSymbol XpmColorSymbol + +#define XReadPixmapFile(dpy, d, file, pix, mask, att) \ + XpmReadFileToPixmap(dpy, d, file, pix, mask, att) +#define XWritePixmapFile(dpy, file, pix, mask, att) \ + XpmWriteFileFromPixmap(dpy, file, pix, mask, att) +#define XCreatePixmapFromData(dpy, d, data, pix, mask, att) \ + XpmCreatePixmapFromData(dpy, d, data, pix, mask, att) +#define XCreateDataFromPixmap(dpy, data, pix, mask, att) \ + XpmCreateDataFromPixmap(dpy, data, pix, mask, att) + +#endif /* XPM_NUMBERS */ +#endif diff --git a/ThirdParty/X11/Include/X11/xshmfence.h b/ThirdParty/X11/Include/X11/xshmfence.h new file mode 100644 index 0000000..27d1b82 --- /dev/null +++ b/ThirdParty/X11/Include/X11/xshmfence.h @@ -0,0 +1,53 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifndef _XSHMFENCE_H_ +#define _XSHMFENCE_H_ + +#include <X11/Xfuncproto.h> + +#define HAVE_STRUCT_XSHMFENCE 1 + +struct xshmfence; + +_X_EXPORT int +xshmfence_trigger(struct xshmfence *f); + +_X_EXPORT int +xshmfence_await(struct xshmfence *f); + +_X_EXPORT int +xshmfence_query(struct xshmfence *f); + +_X_EXPORT void +xshmfence_reset(struct xshmfence *f); + +_X_EXPORT int +xshmfence_alloc_shm(void); + +_X_EXPORT struct xshmfence * +xshmfence_map_shm(int fd); + +_X_EXPORT void +xshmfence_unmap_shm(struct xshmfence *f); + +#endif /* _XSHMFENCE_H_ */ diff --git a/nDisplay.uplugin b/nDisplay.uplugin new file mode 100644 index 0000000..92f4b90 --- /dev/null +++ b/nDisplay.uplugin @@ -0,0 +1,40 @@ +{ + "FileVersion": 3, + "Version" : 1, + "VersionName" : "1.0", + "FriendlyName": "nDisplay", + "CreatedBy" : "Epic Games Inc", + "CreatedByURL" : "http://epicgames.com", + "Description": "Support for synchronized clustered rendering using multiple PCs in mono or stereo", + "Category": "Misc", + "DocsURL": "", + "MarketplaceURL": "", + "SupportURL": "", + "EnabledByDefault": false, + "CanContainContent": true, + "IsBetaVersion": true, + "Installed": false, + "Modules": [ + { + "Name": "DisplayCluster", + "Type": "Runtime", + "LoadingPhase": "Default", + "WhitelistPlatforms" : + [ + "Linux", + "Win64" + ] + }, + { + "Name": "DisplayClusterEditor", + "Type": "Editor", + "LoadingPhase": "Default", + "WhitelistPlatforms" : + [ + "Linux", + "Win64" + ] + } + + ] +} -- GitLab